@visactor/vchart 1.13.3 → 1.13.4

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.
Files changed (136) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +134 -193
  3. package/build/index.js +134 -193
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/spec.d.ts +9 -7
  7. package/cjs/animation/spec.js.map +1 -1
  8. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  9. package/cjs/component/axis/interface/common.js.map +1 -1
  10. package/cjs/component/axis/interface/spec.js.map +1 -1
  11. package/cjs/component/axis/mixin/util/break-data.js +3 -3
  12. package/cjs/component/axis/mixin/util/break-data.js.map +1 -1
  13. package/cjs/component/common/trigger/config.d.ts +2 -2
  14. package/cjs/component/common/trigger/config.js +2 -2
  15. package/cjs/component/common/trigger/config.js.map +1 -1
  16. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  17. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  18. package/cjs/component/label/interface.js.map +1 -1
  19. package/cjs/component/legend/continuous/interface.js.map +1 -1
  20. package/cjs/component/legend/interface.js.map +1 -1
  21. package/cjs/component/marker/interface.js.map +1 -1
  22. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  23. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  24. package/cjs/component/title/interface/spec.js.map +1 -1
  25. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  26. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  27. package/cjs/component/tooltip/tooltip.js +9 -7
  28. package/cjs/component/tooltip/tooltip.js.map +1 -1
  29. package/cjs/core/index.d.ts +1 -1
  30. package/cjs/core/index.js +1 -1
  31. package/cjs/core/index.js.map +1 -1
  32. package/cjs/interaction/interface.js.map +1 -1
  33. package/cjs/interaction/zoom/zoomable.js +13 -9
  34. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  35. package/cjs/layout/interface.js.map +1 -1
  36. package/cjs/mark/interface/common.js.map +1 -1
  37. package/cjs/plugin/components/tooltip-handler/base.js +5 -1
  38. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  39. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +5 -6
  40. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  41. package/cjs/plugin/components/tooltip-handler/utils/style.d.ts +2 -1
  42. package/cjs/plugin/components/tooltip-handler/utils/style.js +13 -8
  43. package/cjs/plugin/components/tooltip-handler/utils/style.js.map +1 -1
  44. package/cjs/region/interface.js.map +1 -1
  45. package/cjs/region/region.js +3 -1
  46. package/cjs/region/region.js.map +1 -1
  47. package/cjs/series/area/interface.d.ts +3 -1
  48. package/cjs/series/area/interface.js.map +1 -1
  49. package/cjs/series/box-plot/interface.d.ts +1 -1
  50. package/cjs/series/box-plot/interface.js.map +1 -1
  51. package/cjs/series/circle-packing/interface.js.map +1 -1
  52. package/cjs/series/interface/common.js.map +1 -1
  53. package/cjs/series/map/interface.js.map +1 -1
  54. package/cjs/series/mixin/interface.js.map +1 -1
  55. package/cjs/series/polar/interface.js.map +1 -1
  56. package/cjs/series/progress/linear/interface.d.ts +1 -1
  57. package/cjs/series/progress/linear/interface.js.map +1 -1
  58. package/cjs/series/radar/interface.js.map +1 -1
  59. package/cjs/series/scatter/interface.js.map +1 -1
  60. package/cjs/series/word-cloud/base.js +4 -3
  61. package/cjs/series/word-cloud/base.js.map +1 -1
  62. package/cjs/series/word-cloud/interface.d.ts +1 -1
  63. package/cjs/series/word-cloud/interface.js.map +1 -1
  64. package/cjs/typings/layout.js.map +1 -1
  65. package/cjs/typings/spec/common.d.ts +18 -9
  66. package/cjs/typings/spec/common.js.map +1 -1
  67. package/cjs/typings/tooltip/line.js.map +1 -1
  68. package/cjs/typings/tooltip/shape.js.map +1 -1
  69. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  70. package/cjs/typings/visual.js.map +1 -1
  71. package/esm/animation/spec.d.ts +9 -7
  72. package/esm/animation/spec.js.map +1 -1
  73. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  74. package/esm/component/axis/interface/common.js.map +1 -1
  75. package/esm/component/axis/interface/spec.js.map +1 -1
  76. package/esm/component/axis/mixin/util/break-data.js +3 -3
  77. package/esm/component/axis/mixin/util/break-data.js.map +1 -1
  78. package/esm/component/common/trigger/config.d.ts +2 -2
  79. package/esm/component/common/trigger/config.js +2 -2
  80. package/esm/component/common/trigger/config.js.map +1 -1
  81. package/esm/component/crosshair/interface/spec.js.map +1 -1
  82. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  83. package/esm/component/label/interface.js.map +1 -1
  84. package/esm/component/legend/continuous/interface.js.map +1 -1
  85. package/esm/component/legend/interface.js.map +1 -1
  86. package/esm/component/marker/interface.js.map +1 -1
  87. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  88. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  89. package/esm/component/title/interface/spec.js.map +1 -1
  90. package/esm/component/tooltip/interface/spec.js.map +1 -1
  91. package/esm/component/tooltip/interface/theme.js.map +1 -1
  92. package/esm/component/tooltip/tooltip.js +9 -7
  93. package/esm/component/tooltip/tooltip.js.map +1 -1
  94. package/esm/core/index.d.ts +1 -1
  95. package/esm/core/index.js +1 -1
  96. package/esm/core/index.js.map +1 -1
  97. package/esm/interaction/interface.js.map +1 -1
  98. package/esm/interaction/zoom/zoomable.js +13 -9
  99. package/esm/interaction/zoom/zoomable.js.map +1 -1
  100. package/esm/layout/interface.js.map +1 -1
  101. package/esm/mark/interface/common.js.map +1 -1
  102. package/esm/plugin/components/tooltip-handler/base.js +5 -1
  103. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  104. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +5 -4
  105. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  106. package/esm/plugin/components/tooltip-handler/utils/style.d.ts +2 -1
  107. package/esm/plugin/components/tooltip-handler/utils/style.js +11 -6
  108. package/esm/plugin/components/tooltip-handler/utils/style.js.map +1 -1
  109. package/esm/region/interface.js.map +1 -1
  110. package/esm/region/region.js +3 -1
  111. package/esm/region/region.js.map +1 -1
  112. package/esm/series/area/interface.d.ts +3 -1
  113. package/esm/series/area/interface.js.map +1 -1
  114. package/esm/series/box-plot/interface.d.ts +1 -1
  115. package/esm/series/box-plot/interface.js.map +1 -1
  116. package/esm/series/circle-packing/interface.js.map +1 -1
  117. package/esm/series/interface/common.js.map +1 -1
  118. package/esm/series/map/interface.js.map +1 -1
  119. package/esm/series/mixin/interface.js.map +1 -1
  120. package/esm/series/polar/interface.js.map +1 -1
  121. package/esm/series/progress/linear/interface.d.ts +1 -1
  122. package/esm/series/progress/linear/interface.js.map +1 -1
  123. package/esm/series/radar/interface.js.map +1 -1
  124. package/esm/series/scatter/interface.js.map +1 -1
  125. package/esm/series/word-cloud/base.js +4 -3
  126. package/esm/series/word-cloud/base.js.map +1 -1
  127. package/esm/series/word-cloud/interface.d.ts +1 -1
  128. package/esm/series/word-cloud/interface.js.map +1 -1
  129. package/esm/typings/layout.js.map +1 -1
  130. package/esm/typings/spec/common.d.ts +18 -9
  131. package/esm/typings/spec/common.js.map +1 -1
  132. package/esm/typings/tooltip/line.js.map +1 -1
  133. package/esm/typings/tooltip/shape.js.map +1 -1
  134. package/esm/typings/tooltip/tooltip.js.map +1 -1
  135. package/esm/typings/visual.js.map +1 -1
  136. package/package.json +15 -15
package/build/index.es.js CHANGED
@@ -8785,7 +8785,7 @@ let Step$1 = class Step {
8785
8785
  default:
8786
8786
  if (this._t <= 0) this.context.lineTo(this._x, y, !1 !== this._lastDefined && !1 !== p.defined, this.lastPoint), this.context.lineTo(x, y, !1 !== this._lastDefined && !1 !== p.defined, p);else {
8787
8787
  const x1 = this._x * (1 - this._t) + x * this._t;
8788
- this.context.lineTo(x1, this._y, !1 !== this._lastDefined && !1 !== p.defined, this.lastPoint), this.context.lineTo(x1, y, !1 !== this._lastDefined && !1 !== p.defined, p);
8788
+ .5 === this._t ? this.context.lineTo(x1, this._y, !1 !== this._lastDefined, this.lastPoint) : this.context.lineTo(x1, this._y, !1 !== this._lastDefined && !1 !== p.defined, this.lastPoint), this.context.lineTo(x1, y, !1 !== this._lastDefined && !1 !== p.defined, p);
8789
8789
  }
8790
8790
  }
8791
8791
  this._lastDefined = p.defined, this._x = x, this._y = y, this.lastPoint = p;
@@ -12515,7 +12515,7 @@ let Animate$1 = class Animate {
12515
12515
  let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Generator.GenAutoIncrementId();
12516
12516
  let timeline = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultTimeline;
12517
12517
  let slience = arguments.length > 2 ? arguments[2] : undefined;
12518
- this.id = id, this.timeline = timeline, this.status = AnimateStatus.INITIAL, this.tailAnimate = new SubAnimate(this), this.subAnimates = [this.tailAnimate], this.timeScale = 1, this.rawPosition = -1, this._startTime = 0, this._duringTime = 0, this.timeline.addAnimate(this), this.slience = slience;
12518
+ this.id = id, this.timeline = timeline || defaultTimeline, this.status = AnimateStatus.INITIAL, this.tailAnimate = new SubAnimate(this), this.subAnimates = [this.tailAnimate], this.timeScale = 1, this.rawPosition = -1, this._startTime = 0, this._duringTime = 0, this.timeline.addAnimate(this), this.slience = slience;
12519
12519
  }
12520
12520
  setTimeline(timeline) {
12521
12521
  timeline !== this.timeline && (this.timeline.removeAnimate(this, !1), timeline.addAnimate(this));
@@ -14377,7 +14377,7 @@ class ResourceLoader {
14377
14377
  }
14378
14378
  static GetFile(url, type) {
14379
14379
  let data = ResourceLoader.cache.get(url);
14380
- return data ? "init" === data.loadState || "fail" === data.loadState ? Promise.reject() : "loading" === data.loadState ? data.dataPromise.then(data => data.data) : Promise.resolve(data.data) : (data = {
14380
+ return data ? "fail" === data.loadState ? Promise.reject() : "init" === data.loadState || "loading" === data.loadState ? data.dataPromise.then(data => data.data) : Promise.resolve(data.data) : (data = {
14381
14381
  type: type,
14382
14382
  loadState: "init"
14383
14383
  }, ResourceLoader.cache.set(url, data), "arrayBuffer" === type ? data.dataPromise = application.global.loadArrayBuffer(url) : "blob" === type ? data.dataPromise = application.global.loadBlob(url) : "json" === type && (data.dataPromise = application.global.loadJson(url)), data.dataPromise.then(data => data.data));
@@ -17178,8 +17178,8 @@ class DefaultImageRenderContribution extends DefaultRectRenderContribution {
17178
17178
  constructor() {
17179
17179
  super(...arguments), this.time = BaseRenderContributionTime.afterFillStroke, this.useStyle = !0, this.order = 0;
17180
17180
  }
17181
- drawShape(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb) {
17182
- return super.drawShape(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb);
17181
+ drawShape(image, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb) {
17182
+ return super.drawShape(image, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb);
17183
17183
  }
17184
17184
  }
17185
17185
  const defaultImageRenderContribution = new DefaultImageRenderContribution();
@@ -17614,7 +17614,7 @@ let DefaultCanvasLineRender = class extends BaseRender {
17614
17614
  this._draw(line, lineAttribute, !1, drawContext, params);
17615
17615
  }
17616
17616
  drawSegmentItem(context, cache, fill, stroke, fillOpacity, strokeOpacity, attribute, defaultAttribute, clipRange, clipRangeByDimension, offsetX, offsetY, line, fillCb, strokeCb) {
17617
- var _a, _b, _c, _d, _e;
17617
+ var _a;
17618
17618
  if (!cache) return;
17619
17619
  context.beginPath();
17620
17620
  const z = null !== (_a = this.z) && void 0 !== _a ? _a : 0;
@@ -17627,27 +17627,7 @@ let DefaultCanvasLineRender = class extends BaseRender {
17627
17627
  x: originX = 0,
17628
17628
  x: originY = 0
17629
17629
  } = attribute;
17630
- !1 !== fill && (fillCb ? fillCb(context, attribute, defaultAttribute) : fillOpacity && (context.setCommonStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute), context.fill())), !1 !== stroke && (strokeCb ? strokeCb(context, attribute, defaultAttribute) : strokeOpacity && (context.setStrokeStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute), context.stroke()));
17631
- let {
17632
- connectedType: connectedType,
17633
- connectedX: connectedX,
17634
- connectedY: connectedY,
17635
- connectedStyle: connectedStyle
17636
- } = attribute;
17637
- if (isArray$1(defaultAttribute) ? (connectedType = null !== (_b = null != connectedType ? connectedType : defaultAttribute[0].connectedType) && void 0 !== _b ? _b : defaultAttribute[1].connectedType, connectedX = null !== (_c = null != connectedX ? connectedX : defaultAttribute[0].connectedX) && void 0 !== _c ? _c : defaultAttribute[1].connectedX, connectedY = null !== (_d = null != connectedY ? connectedY : defaultAttribute[0].connectedY) && void 0 !== _d ? _d : defaultAttribute[1].connectedY, connectedStyle = null !== (_e = null != connectedStyle ? connectedStyle : defaultAttribute[0].connectedStyle) && void 0 !== _e ? _e : defaultAttribute[1].connectedStyle) : (connectedType = null != connectedType ? connectedType : defaultAttribute.connectedType, connectedX = null != connectedX ? connectedX : defaultAttribute.connectedX, connectedY = null != connectedY ? connectedY : defaultAttribute.connectedY, connectedStyle = null != connectedStyle ? connectedStyle : defaultAttribute.connectedStyle), "connect" !== connectedType && "zero" !== connectedType && (connectedType = "none"), "none" !== connectedType) {
17638
- context.beginPath(), drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {
17639
- offsetX: offsetX,
17640
- offsetY: offsetY,
17641
- offsetZ: z,
17642
- drawConnect: !0,
17643
- mode: connectedType,
17644
- zeroX: connectedX,
17645
- zeroY: connectedY
17646
- });
17647
- const da = [];
17648
- isArray$1(defaultAttribute) ? defaultAttribute.forEach(i => da.push(i)) : da.push(defaultAttribute), da.push(attribute), !1 !== fill && (fillCb ? fillCb(context, attribute, defaultAttribute) : fillOpacity && (context.setCommonStyle(line, connectedStyle, originX - offsetX, originY - offsetY, da), context.fill())), !1 !== stroke && (strokeCb ? strokeCb(context, attribute, defaultAttribute) : strokeOpacity && (context.setStrokeStyle(line, connectedStyle, originX - offsetX, originY - offsetY, da), context.stroke()));
17649
- }
17650
- return !1;
17630
+ return !1 !== fill && (fillCb ? fillCb(context, attribute, defaultAttribute) : fillOpacity && (context.setCommonStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute), context.fill())), !1 !== stroke && (strokeCb ? strokeCb(context, attribute, defaultAttribute) : strokeOpacity && (context.setStrokeStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute), context.stroke())), !1;
17651
17631
  }
17652
17632
  drawLinearLineHighPerformance(line, context, fill, stroke, fillOpacity, strokeOpacity, offsetX, offsetY, lineAttribute, drawContext, params, fillCb, strokeCb) {
17653
17633
  var _a;
@@ -17679,7 +17659,8 @@ let DefaultCanvasLineRender = class extends BaseRender {
17679
17659
  segments: segments,
17680
17660
  points: points,
17681
17661
  closePath: closePath,
17682
- curveTension = lineAttribute.curveTension
17662
+ curveTension = lineAttribute.curveTension,
17663
+ connectedType = lineAttribute.connectedType
17683
17664
  } = line.attribute;
17684
17665
  if (!this.valid(line, lineAttribute, fillCb, strokeCb)) return;
17685
17666
  let {
@@ -17691,6 +17672,9 @@ let DefaultCanvasLineRender = class extends BaseRender {
17691
17672
  clipRangeByDimension = lineAttribute.clipRangeByDimension
17692
17673
  } = line.attribute;
17693
17674
  if (1 === clipRange && !segments && !points.some(p => !1 === p.defined) && "linear" === curveType) return this.drawLinearLineHighPerformance(line, context, !!fill, !!stroke, fillOpacity, strokeOpacity, x, y, lineAttribute, drawContext, params, fillCb, strokeCb);
17675
+ function parsePoint(points, connectedType) {
17676
+ return "none" === connectedType ? points : points.filter(p => !1 !== p.defined);
17677
+ }
17694
17678
  if (line.shouldUpdateShape()) {
17695
17679
  const {
17696
17680
  points: points,
@@ -17712,7 +17696,7 @@ let DefaultCanvasLineRender = class extends BaseRender {
17712
17696
  y: lastSeg.endY,
17713
17697
  defined: lastSeg.curves[lastSeg.curves.length - 1].defined
17714
17698
  } : index > 1 && (startPoint.x = lastSeg.endX, startPoint.y = lastSeg.endY, startPoint.defined = lastSeg.curves[lastSeg.curves.length - 1].defined);
17715
- const data = calcLineCache(seg.points, curveType, {
17699
+ const data = calcLineCache(parsePoint(seg.points, connectedType), curveType, {
17716
17700
  startPoint: startPoint,
17717
17701
  curveTension: curveTension
17718
17702
  });
@@ -17731,7 +17715,7 @@ let DefaultCanvasLineRender = class extends BaseRender {
17731
17715
  }
17732
17716
  } else {
17733
17717
  if (!points || !points.length) return line.cache = null, void line.clearUpdateShapeTag();
17734
- line.cache = calcLineCache(_points, curveType, {
17718
+ line.cache = calcLineCache(parsePoint(_points, connectedType), curveType, {
17735
17719
  curveTension: curveTension
17736
17720
  });
17737
17721
  }
@@ -17763,11 +17747,6 @@ DefaultCanvasLineRender = __decorate$1q([injectable()], DefaultCanvasLineRender)
17763
17747
 
17764
17748
  function drawAreaSegments(path, segPath, percent, params) {
17765
17749
  var _a;
17766
- const {
17767
- drawConnect = !1,
17768
- mode = "none"
17769
- } = params || {};
17770
- if (drawConnect && "none" === mode) return;
17771
17750
  const {
17772
17751
  top: top,
17773
17752
  bottom: bottom
@@ -17777,34 +17756,11 @@ function drawAreaSegments(path, segPath, percent, params) {
17777
17756
  const topList = [],
17778
17757
  bottomList = [];
17779
17758
  let lastDefined = !0;
17780
- if (drawConnect) {
17781
- let lastCurve,
17782
- lastBottomCurve,
17783
- defined0 = !0;
17784
- const n = top.curves.length;
17785
- top.curves.forEach((curve, i) => {
17786
- const bototmCurve = bottom.curves[n - i - 1];
17787
- let currentTopCurve = curve,
17788
- currentBottomCurve = bototmCurve;
17789
- if (curve.originP1 === curve.originP2) return lastCurve = curve, void (lastBottomCurve = bototmCurve);
17790
- if (lastCurve && lastCurve.originP1 === lastCurve.originP2 && (currentTopCurve = lastCurve, currentBottomCurve = lastBottomCurve), curve.defined) defined0 || (topList.push(currentTopCurve), bottomList.push(currentBottomCurve), drawAreaConnectBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0, defined0 = !defined0);else {
17791
- const {
17792
- originP1: originP1,
17793
- originP2: originP2
17794
- } = curve;
17795
- let validTopCurve, validBottomCurve;
17796
- originP1 && !1 !== originP1.defined ? (validTopCurve = currentTopCurve, validBottomCurve = currentBottomCurve) : originP1 && !1 !== originP2.defined && (validTopCurve = curve, validBottomCurve = bototmCurve), defined0 ? (defined0 = !defined0, topList.push(validTopCurve || curve), bottomList.push(validBottomCurve || bototmCurve)) : validTopCurve && (defined0 = !defined0, topList.push(validTopCurve || curve), bottomList.push(validBottomCurve || bototmCurve), drawAreaConnectBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0);
17797
- }
17798
- lastCurve = curve;
17799
- }), drawAreaConnectBlock(path, topList, bottomList, params);
17800
- } else {
17801
- for (let i = 0, n = top.curves.length; i < n; i++) {
17802
- const topCurve = top.curves[i];
17803
- lastDefined !== topCurve.defined ? (lastDefined ? (drawAreaBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0) : (topList.push(topCurve), bottomList.push(bottom.curves[n - i - 1])), lastDefined = !lastDefined) : lastDefined && (topList.push(topCurve), bottomList.push(bottom.curves[n - i - 1]));
17804
- }
17805
- drawAreaBlock(path, topList, bottomList, params);
17759
+ for (let i = 0, n = top.curves.length; i < n; i++) {
17760
+ const topCurve = top.curves[i];
17761
+ lastDefined !== topCurve.defined ? (lastDefined ? (drawAreaBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0) : (topList.push(topCurve), bottomList.push(bottom.curves[n - i - 1])), lastDefined = !lastDefined) : lastDefined && (topList.push(topCurve), bottomList.push(bottom.curves[n - i - 1]));
17806
17762
  }
17807
- return;
17763
+ return void drawAreaBlock(path, topList, bottomList, params);
17808
17764
  }
17809
17765
  if (percent <= 0) return;
17810
17766
  let {
@@ -17822,51 +17778,17 @@ function drawAreaSegments(path, segPath, percent, params) {
17822
17778
  lastDefined = !0;
17823
17779
  const topList = [],
17824
17780
  bottomList = [];
17825
- let lastTopCurve,
17826
- lastBottomCurve,
17827
- defined0 = !0;
17828
17781
  for (let i = 0, n = top.curves.length; i < n; i++) {
17829
17782
  const topCurve = top.curves[i],
17830
17783
  curCurveLength = topCurve.getLength(direction),
17831
17784
  percent = (totalDrawLength - drawedLengthUntilLast) / curCurveLength;
17832
17785
  if (percent < 0) break;
17833
- if (drawedLengthUntilLast += curCurveLength, drawConnect) {
17834
- const bototmCurve = bottom.curves[n - i - 1];
17835
- let currentTopCurve = topCurve,
17836
- currentBottomCurve = bototmCurve;
17837
- if (topCurve.originP1 === topCurve.originP2) {
17838
- lastTopCurve = topCurve, lastBottomCurve = bototmCurve;
17839
- continue;
17840
- }
17841
- if (lastTopCurve && lastTopCurve.originP1 === lastTopCurve.originP2 && (currentTopCurve = lastTopCurve, currentBottomCurve = lastBottomCurve), topCurve.defined) defined0 || (topList.push(currentTopCurve), bottomList.push(currentBottomCurve), drawAreaConnectBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0, defined0 = !defined0);else {
17842
- const {
17843
- originP1: originP1,
17844
- originP2: originP2
17845
- } = topCurve;
17846
- let validTopCurve, validBottomCurve;
17847
- originP1 && !1 !== originP1.defined ? (validTopCurve = currentTopCurve, validBottomCurve = currentBottomCurve) : originP1 && !1 !== originP2.defined && (validTopCurve = topCurve, validBottomCurve = bototmCurve), defined0 ? (defined0 = !defined0, topList.push(validTopCurve || topCurve), bottomList.push(validBottomCurve || bototmCurve)) : validTopCurve && (defined0 = !defined0, topList.push(validTopCurve || topCurve), bottomList.push(validBottomCurve || bototmCurve), drawAreaConnectBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0);
17848
- }
17849
- lastTopCurve = topCurve;
17850
- } else {
17851
- let tc = null,
17852
- bc = null;
17853
- lastDefined !== topCurve.defined ? (lastDefined ? (drawAreaBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0) : (tc = topCurve, bc = bottom.curves[n - i - 1]), lastDefined = !lastDefined) : lastDefined && (tc = topCurve, bc = bottom.curves[n - i - 1]), tc && bc && (percent < 1 && (tc = tc.p2 && tc.p3 ? divideCubic(tc, percent)[0] : divideLinear(tc, percent)[0], bc = bc.p2 && bc.p3 ? divideCubic(bc, 1 - percent)[1] : divideLinear(bc, 1 - percent)[1]), tc.defined = lastDefined, bc.defined = lastDefined, topList.push(tc), bottomList.push(bc)), tc = null, bc = null;
17854
- }
17786
+ drawedLengthUntilLast += curCurveLength;
17787
+ let tc = null,
17788
+ bc = null;
17789
+ lastDefined !== topCurve.defined ? (lastDefined ? (drawAreaBlock(path, topList, bottomList, params), topList.length = 0, bottomList.length = 0) : (tc = topCurve, bc = bottom.curves[n - i - 1]), lastDefined = !lastDefined) : lastDefined && (tc = topCurve, bc = bottom.curves[n - i - 1]), tc && bc && (percent < 1 && (tc = tc.p2 && tc.p3 ? divideCubic(tc, percent)[0] : divideLinear(tc, percent)[0], bc = bc.p2 && bc.p3 ? divideCubic(bc, 1 - percent)[1] : divideLinear(bc, 1 - percent)[1]), tc.defined = lastDefined, bc.defined = lastDefined, topList.push(tc), bottomList.push(bc)), tc = null, bc = null;
17855
17790
  }
17856
- drawConnect ? drawAreaConnectBlock(path, topList, bottomList, params) : drawAreaBlock(path, topList, bottomList, params);
17857
- }
17858
- function drawAreaConnectBlock(path, topList, bottomList, params) {
17859
- if (topList.length < 2) return;
17860
- const {
17861
- offsetX = 0,
17862
- offsetY = 0,
17863
- offsetZ = 0,
17864
- mode: mode
17865
- } = params || {};
17866
- let curve = topList[0];
17867
- path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ), curve = topList[topList.length - 1];
17868
- let end = curve.p3 || curve.p1;
17869
- path.lineTo(end.x + offsetX, end.y + offsetY, offsetZ), curve = bottomList[bottomList.length - 1], path.lineTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ), curve = bottomList[0], end = curve.p3 || curve.p1, path.lineTo(end.x + offsetX, end.y + offsetY, offsetZ), path.closePath();
17791
+ drawAreaBlock(path, topList, bottomList, params);
17870
17792
  }
17871
17793
  function drawAreaBlock(path, topList, bottomList, params) {
17872
17794
  const {
@@ -17967,7 +17889,8 @@ let DefaultCanvasAreaRender = class extends BaseRender {
17967
17889
  fillOpacity = areaAttribute.fillOpacity,
17968
17890
  z = areaAttribute.z,
17969
17891
  strokeOpacity = areaAttribute.strokeOpacity,
17970
- curveTension = areaAttribute.curveTension
17892
+ curveTension = areaAttribute.curveTension,
17893
+ connectedType = areaAttribute.connectedType
17971
17894
  } = area.attribute,
17972
17895
  data = this.valid(area, areaAttribute, fillCb, strokeCb);
17973
17896
  if (!data) return;
@@ -17984,6 +17907,9 @@ let DefaultCanvasAreaRender = class extends BaseRender {
17984
17907
  let {
17985
17908
  curveType = areaAttribute.curveType
17986
17909
  } = area.attribute;
17910
+ function parsePoint(points, connectedType) {
17911
+ return "connect" !== connectedType ? points : points.filter(p => !1 !== p.defined);
17912
+ }
17987
17913
  if (closePath && "linear" === curveType && (curveType = "linearClosed"), 1 === clipRange && !segments && !points.some(p => !1 === p.defined) && "linear" === curveType) return this.drawLinearAreaHighPerformance(area, context, !!fill, doStroke, fillOpacity, strokeOpacity, x, y, areaAttribute, drawContext, params, fillCb, strokeCb);
17988
17914
  if (area.shouldUpdateShape()) {
17989
17915
  if (segments && segments.length) {
@@ -17997,7 +17923,7 @@ let DefaultCanvasAreaRender = class extends BaseRender {
17997
17923
  x: lastTopSeg.endX,
17998
17924
  y: lastTopSeg.endY
17999
17925
  } : index > 1 && (startPoint.x = lastTopSeg.endX, startPoint.y = lastTopSeg.endY);
18000
- const data = calcLineCache(seg.points, curveType, {
17926
+ const data = calcLineCache(parsePoint(seg.points, connectedType), curveType, {
18001
17927
  startPoint: startPoint,
18002
17928
  curveTension: curveTension
18003
17929
  });
@@ -18020,7 +17946,7 @@ let DefaultCanvasAreaRender = class extends BaseRender {
18020
17946
  y: null !== (_d = endPoint.y1) && void 0 !== _d ? _d : endPoint.y
18021
17947
  });
18022
17948
  }
18023
- bottomPoints.length > 1 && (lastBottomSeg = calcLineCache(bottomPoints, "stepBefore" === curveType ? "stepAfter" : "stepAfter" === curveType ? "stepBefore" : curveType, {
17949
+ bottomPoints.length > 1 && (lastBottomSeg = calcLineCache(parsePoint(bottomPoints, connectedType), "stepBefore" === curveType ? "stepAfter" : "stepAfter" === curveType ? "stepBefore" : curveType, {
18024
17950
  curveTension: curveTension
18025
17951
  }), bottomCaches.unshift(lastBottomSeg));
18026
17952
  }
@@ -18031,11 +17957,11 @@ let DefaultCanvasAreaRender = class extends BaseRender {
18031
17957
  } else {
18032
17958
  if (!points || !points.length) return area.cacheArea = null, void area.clearUpdateShapeTag();
18033
17959
  {
18034
- const topPoints = points,
17960
+ const topPoints = parsePoint(points, connectedType),
18035
17961
  bottomPoints = [];
18036
- for (let i = points.length - 1; i >= 0; i--) bottomPoints.push({
18037
- x: null !== (_e = points[i].x1) && void 0 !== _e ? _e : points[i].x,
18038
- y: null !== (_f = points[i].y1) && void 0 !== _f ? _f : points[i].y
17962
+ for (let i = topPoints.length - 1; i >= 0; i--) bottomPoints.push({
17963
+ x: null !== (_e = topPoints[i].x1) && void 0 !== _e ? _e : topPoints[i].x,
17964
+ y: null !== (_f = topPoints[i].y1) && void 0 !== _f ? _f : topPoints[i].y
18039
17965
  });
18040
17966
  const topCache = calcLineCache(topPoints, curveType, {
18041
17967
  curveTension: curveTension
@@ -18077,20 +18003,10 @@ let DefaultCanvasAreaRender = class extends BaseRender {
18077
18003
  this._draw(area, areaAttribute, !1, drawContext, params);
18078
18004
  }
18079
18005
  drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, fillCb, strokeCb) {
18080
- let ret = !1;
18081
- return ret = ret || this._drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, !1, fillCb, strokeCb), ret = ret || this._drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, !0, fillCb, strokeCb), ret;
18006
+ return this._drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, fillCb, strokeCb);
18082
18007
  }
18083
- _drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, connect, fillCb, strokeCb) {
18084
- var _a, _b, _c, _d;
18008
+ _drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, fillCb, strokeCb) {
18085
18009
  if (!(cache && cache.top && cache.bottom && cache.top.curves && cache.top.curves.length && cache.bottom.curves && cache.bottom.curves.length)) return;
18086
- let {
18087
- connectedType: connectedType,
18088
- connectedX: connectedX,
18089
- connectedY: connectedY,
18090
- connectedStyle: connectedStyle
18091
- } = attribute;
18092
- const da = [];
18093
- if (connect && (isArray$1(defaultAttribute) ? (connectedType = null !== (_a = null != connectedType ? connectedType : defaultAttribute[0].connectedType) && void 0 !== _a ? _a : defaultAttribute[1].connectedType, connectedX = null !== (_b = null != connectedX ? connectedX : defaultAttribute[0].connectedX) && void 0 !== _b ? _b : defaultAttribute[1].connectedX, connectedY = null !== (_c = null != connectedY ? connectedY : defaultAttribute[0].connectedY) && void 0 !== _c ? _c : defaultAttribute[1].connectedY, connectedStyle = null !== (_d = null != connectedStyle ? connectedStyle : defaultAttribute[0].connectedStyle) && void 0 !== _d ? _d : defaultAttribute[1].connectedStyle) : (connectedType = null != connectedType ? connectedType : defaultAttribute.connectedType, connectedX = null != connectedX ? connectedX : defaultAttribute.connectedX, connectedY = null != connectedY ? connectedY : defaultAttribute.connectedY, connectedStyle = null != connectedStyle ? connectedStyle : defaultAttribute.connectedStyle), "connect" !== connectedType && "zero" !== connectedType && (connectedType = "none"), isArray$1(defaultAttribute) ? defaultAttribute.forEach(i => da.push(i)) : da.push(defaultAttribute), da.push(attribute)), connect && "none" === connectedType) return !1;
18094
18010
  context.beginPath();
18095
18011
  const {
18096
18012
  points: points,
@@ -18109,11 +18025,7 @@ let DefaultCanvasAreaRender = class extends BaseRender {
18109
18025
  offsetX: offsetX,
18110
18026
  offsetY: offsetY,
18111
18027
  offsetZ: offsetZ,
18112
- direction: direction,
18113
- drawConnect: connect,
18114
- mode: connectedType,
18115
- zeroX: connectedX,
18116
- zeroY: connectedY
18028
+ direction: direction
18117
18029
  }), this.beforeRenderStep(area, context, offsetX, offsetY, !!fillOpacity, !1, fill, !1, defaultAttribute, drawContext, fillCb, null, {
18118
18030
  attribute: attribute
18119
18031
  }), context.setShadowBlendStyle && context.setShadowBlendStyle(area, attribute, defaultAttribute);
@@ -18121,7 +18033,7 @@ let DefaultCanvasAreaRender = class extends BaseRender {
18121
18033
  x: originX = 0,
18122
18034
  x: originY = 0
18123
18035
  } = attribute;
18124
- return !1 !== fill && (fillCb ? fillCb(context, attribute, defaultAttribute) : fillOpacity && (context.setCommonStyle(area, connect ? connectedStyle : attribute, originX - offsetX, originY - offsetY, connect ? da : defaultAttribute), context.fill())), this.afterRenderStep(area, context, offsetX, offsetY, !!fillOpacity, !1, fill, !1, defaultAttribute, drawContext, fillCb, null, {
18036
+ return !1 !== fill && (fillCb ? fillCb(context, attribute, defaultAttribute) : fillOpacity && (context.setCommonStyle(area, attribute, originX - offsetX, originY - offsetY, defaultAttribute), context.fill())), this.afterRenderStep(area, context, offsetX, offsetY, !!fillOpacity, !1, fill, !1, defaultAttribute, drawContext, fillCb, null, {
18125
18037
  attribute: attribute
18126
18038
  }), (() => {
18127
18039
  if (!1 !== stroke) if (strokeCb) strokeCb(context, attribute, defaultAttribute);else {
@@ -18131,12 +18043,8 @@ let DefaultCanvasAreaRender = class extends BaseRender {
18131
18043
  isArray$1(stroke) && (stroke[0] || stroke[2]) && !1 === stroke[1] && (context.beginPath(), drawSegments(context.camera ? context : context.nativeContext, stroke[0] ? cache.top : cache.bottom, clipRange, direction === Direction$1.ROW ? "x" : "y", {
18132
18044
  offsetX: offsetX,
18133
18045
  offsetY: offsetY,
18134
- offsetZ: offsetZ,
18135
- drawConnect: connect,
18136
- mode: connectedType,
18137
- zeroX: connectedX,
18138
- zeroY: connectedY
18139
- })), context.setStrokeStyle(area, connect ? connectedStyle : attribute, originX - offsetX, originY - offsetY, connect ? da : defaultAttribute), context.stroke();
18046
+ offsetZ: offsetZ
18047
+ })), context.setStrokeStyle(area, attribute, originX - offsetX, originY - offsetY, defaultAttribute), context.stroke();
18140
18048
  }
18141
18049
  })(), !1;
18142
18050
  }
@@ -20436,7 +20344,7 @@ let Line$1 = class Line extends Graphic {
20436
20344
  } = attribute,
20437
20345
  b = aabbBounds;
20438
20346
  return points.forEach(p => {
20439
- !1 === p.defined && "zero" !== connectedType && "connect" !== connectedType || b.add(p.x, p.y);
20347
+ !1 === p.defined && "connect" !== connectedType || b.add(p.x, p.y);
20440
20348
  }), b;
20441
20349
  }
20442
20350
  updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds, graphic) {
@@ -20447,7 +20355,7 @@ let Line$1 = class Line extends Graphic {
20447
20355
  b = aabbBounds;
20448
20356
  return segments.forEach(s => {
20449
20357
  s.points.forEach(p => {
20450
- !1 === p.defined && "zero" !== connectedType && "connect" !== connectedType || b.add(p.x, p.y);
20358
+ !1 === p.defined && "connect" !== connectedType || b.add(p.x, p.y);
20451
20359
  });
20452
20360
  }), b;
20453
20361
  }
@@ -27738,6 +27646,7 @@ var __decorate$G = undefined && undefined.__decorate || function (decorators, ta
27738
27646
  function makeUpCanvas$4(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList, pixelRatio) {
27739
27647
  const dpr = null != pixelRatio ? pixelRatio : tt.getSystemInfoSync().pixelRatio;
27740
27648
  canvasIdLists.forEach((id, i) => {
27649
+ if (canvasMap.has(id)) return;
27741
27650
  const ctx = tt.createCanvasContext(id),
27742
27651
  canvas = new CanvasWrapDisableWH(ctx.canvas || {}, ctx, dpr, domref.width, domref.height, id);
27743
27652
  ctx.canvas = canvas, canvasMap.set(id, canvas), i >= freeCanvasIdx && freeCanvasList.push(canvas);
@@ -27872,7 +27781,13 @@ let LynxContext2d = class extends BrowserContext2d {
27872
27781
  measureText(text) {
27873
27782
  let method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : application.global.measureTextMethod;
27874
27783
  this.setTransform(1, 0, 0, 1, 0, 0, !0, application.global.devicePixelRatio);
27875
- return super.measureText(text, method);
27784
+ return {
27785
+ width: super.measureText(text, method).width,
27786
+ fontBoundingBoxDescent: void 0,
27787
+ fontBoundingBoxAscent: void 0,
27788
+ actualBoundingBoxAscent: void 0,
27789
+ actualBoundingBoxDescent: void 0
27790
+ };
27876
27791
  }
27877
27792
  createPattern(image, repetition) {
27878
27793
  return null;
@@ -29066,7 +28981,7 @@ function makeUpCanvas$1(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCan
29066
28981
  const dpr = wx.getSystemInfoSync().pixelRatio;
29067
28982
  for (let i = 0; i < canvasIdLists.length; i++) {
29068
28983
  const id = canvasIdLists[i];
29069
- yield new Promise(resolve => {
28984
+ canvasMap.has(id) || (yield new Promise(resolve => {
29070
28985
  let data = wx.createSelectorQuery();
29071
28986
  component && (data = data.in(component)), data.select(`#${id}`).fields({
29072
28987
  node: !0,
@@ -29078,7 +28993,7 @@ function makeUpCanvas$1(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCan
29078
28993
  height = res[0].height;
29079
28994
  canvas.width = width * dpr, canvas.height = height * dpr, canvasMap.set(id, canvas), i >= freeCanvasIdx && freeCanvasList.push(canvas), resolve(null);
29080
28995
  });
29081
- });
28996
+ }));
29082
28997
  }
29083
28998
  });
29084
28999
  }
@@ -29396,7 +29311,7 @@ function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanva
29396
29311
  const dpr = tt.getSystemInfoSync().pixelRatio;
29397
29312
  for (let i = 0; i < canvasIdLists.length; i++) {
29398
29313
  const id = canvasIdLists[i];
29399
- yield new Promise(resolve => {
29314
+ canvasMap.has(id) || (yield new Promise(resolve => {
29400
29315
  let data = tt.createSelectorQuery();
29401
29316
  component && (data = data.in(component)), data.select(`#${id}`).node().exec(res => {
29402
29317
  const canvas = res[0].node,
@@ -29404,7 +29319,7 @@ function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanva
29404
29319
  height = canvas.height;
29405
29320
  canvas.width = width * dpr, canvas.height = height * dpr, canvasMap.set(id, canvas), i >= freeCanvasIdx && freeCanvasList.push(canvas), resolve(null);
29406
29321
  });
29407
- });
29322
+ }));
29408
29323
  }
29409
29324
  });
29410
29325
  }
@@ -36058,7 +35973,10 @@ class LabelBase extends AbstractComponent {
36058
35973
  customOverlapFunc: customOverlapFunc
36059
35974
  } = this.attribute;
36060
35975
  let data = this.attribute.data;
36061
- isFunction$1(dataFilter) && (data = dataFilter(data));
35976
+ if (isFunction$1(dataFilter) && (data = dataFilter(data)), data && data.length) {
35977
+ const seenIds = new Set();
35978
+ data = data.filter(d => !seenIds.has(d.id) && seenIds.add(d.id));
35979
+ }
36062
35980
  let labels = this._initText(data);
36063
35981
  labels = isFunction$1(customLayoutFunc) ? customLayoutFunc(data, labels, this.getRelatedGraphic.bind(this), this._isCollectionBase ? d => this._idToPoint.get(d.id) : null) : this._layout(labels), isFunction$1(customOverlapFunc) ? labels = customOverlapFunc(labels, this.getRelatedGraphic.bind(this), this._isCollectionBase ? d => this._idToPoint.get(d.id) : null) : !1 !== overlap && (labels = this._overlapping(labels)), isFunction$1(this.attribute.onAfterOverlapping) && this.attribute.onAfterOverlapping(labels, this.getRelatedGraphic.bind(this), this._isCollectionBase ? d => this._idToPoint.get(d.id) : null), labels && labels.length && labels.forEach(label => {
36064
35982
  this._bindEvent(label), this._setStatesOfText(label);
@@ -39667,27 +39585,16 @@ class MarkArea extends Marker {
39667
39585
  }
39668
39586
  getPointAttrByPosition(position) {
39669
39587
  const {
39670
- x1: x1,
39671
- x2: x2,
39672
- y1: y1,
39673
- y2: y2
39674
- } = this._area.AABBBounds;
39675
- return position.includes("left") || position.includes("Left") ? {
39676
- x: x1,
39677
- y: (y1 + y2) / 2
39678
- } : position.includes("right") || position.includes("Right") ? {
39679
- x: x2,
39680
- y: (y1 + y2) / 2
39681
- } : position.includes("top") || position.includes("Top") ? {
39682
- x: (x1 + x2) / 2,
39683
- y: y1
39684
- } : position.includes("bottom") || position.includes("Bottom") ? {
39685
- x: (x1 + x2) / 2,
39686
- y: y2
39687
- } : {
39688
- x: (x1 + x2) / 2,
39689
- y: (y1 + y2) / 2
39690
- };
39588
+ x1: x1,
39589
+ x2: x2,
39590
+ y1: y1,
39591
+ y2: y2
39592
+ } = this._area.AABBBounds,
39593
+ result = {
39594
+ x: (x1 + x2) / 2,
39595
+ y: (y1 + y2) / 2
39596
+ };
39597
+ return (position.includes("left") || position.includes("Left")) && (result.x = x1), (position.includes("right") || position.includes("Right")) && (result.x = x2), (position.includes("top") || position.includes("Top")) && (result.y = y1), (position.includes("bottom") || position.includes("Bottom")) && (result.y = y2), result;
39691
39598
  }
39692
39599
  setLabelPos() {
39693
39600
  var _a;
@@ -55299,8 +55206,7 @@ class Animator {
55299
55206
  animate(animationParameters, parameters) {
55300
55207
  return this.isAnimating = !0, this.animateElement(animationParameters, parameters), 0 === this.runnings.length && this.animationEnd(), this;
55301
55208
  }
55302
- stop() {
55303
- let stopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "end";
55209
+ stop(stopState) {
55304
55210
  let invokeCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
55305
55211
  return this.runnings.forEach(running => running.stop(stopState)), this.animationEnd(invokeCallback), this;
55306
55212
  }
@@ -55495,7 +55401,7 @@ class Animate {
55495
55401
  var _a;
55496
55402
  element.isReserved && element.diffState !== DiffState.exit && (element.isReserved = !1);
55497
55403
  const prevElementState = null === (_a = this.elementRecorder.get(element)) || void 0 === _a ? void 0 : _a.prevState;
55498
- this.configs.some(config => prevElementState !== element.diffState && config.state === prevElementState && config.timeline.controlOptions.stopWhenStateChange) && this.clearElementAnimation(element, !1);
55404
+ (this.configs.some(config => prevElementState !== element.diffState && config.state === prevElementState && config.timeline.controlOptions.stopWhenStateChange) || element.diffState === DiffState.exit) && this.clearElementAnimation(element, !1);
55499
55405
  }), this.configs.forEach(config => {
55500
55406
  this.animateByTimeline(config, elements, parameters);
55501
55407
  }), this.mark.cleanExitElements(), this;
@@ -55621,7 +55527,12 @@ class Animate {
55621
55527
  elementCount: animatedElements.length,
55622
55528
  elementIndex: 0
55623
55529
  };
55624
- animatedElements.forEach((element, index) => {
55530
+ animatedElements.forEach(element => {
55531
+ var _a;
55532
+ (null !== (_a = this.animators.get(config.state)) && void 0 !== _a ? _a : []).filter(animator => animator.element === element && animator.animationOptions.id === config.id).forEach(animator => {
55533
+ animator.stop(null, !1), this.handleAnimatorEnd(animator, !1);
55534
+ });
55535
+ }), animatedElements.forEach((element, index) => {
55625
55536
  animationParameters.elementIndex = index;
55626
55537
  const mergedParameters = Object.assign({
55627
55538
  [DefaultAnimationParameters]: animationParameters
@@ -59112,6 +59023,9 @@ class Region extends LayoutModel {
59112
59023
  super.created();
59113
59024
  const clip = (_a = this._spec.clip) !== null && _a !== void 0 ? _a : this._getClipDefaultValue();
59114
59025
  this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);
59026
+ if (this._spec.roam) {
59027
+ this._groupMark.setMarkConfig({ interactive: true });
59028
+ }
59115
59029
  this._interactionMark = this._createGroupMark('regionInteractionGroup', ((_b = this.userId) !== null && _b !== void 0 ? _b : this.type) + '_interaction', LayoutZIndex.Interaction);
59116
59030
  if (!isEmpty(this._spec.style)) {
59117
59031
  this._backgroundMark = this._createMark({ type: "rect", name: 'regionBackground' });
@@ -62578,7 +62492,7 @@ const registerVChartCore = () => {
62578
62492
  };
62579
62493
  registerVChartCore();
62580
62494
 
62581
- const version = "1.13.3";
62495
+ const version = "1.13.4";
62582
62496
 
62583
62497
  const addVChartProperty = (data, op) => {
62584
62498
  const context = op.beforeCall();
@@ -67765,16 +67679,18 @@ function breakScope(data, points, scopeType = 'count') {
67765
67679
  }, 0);
67766
67680
  const res = [];
67767
67681
  let acc = 0;
67682
+ let resIndex = 0;
67768
67683
  bins.forEach((bin, i) => {
67769
67684
  if (totalLength === 0) {
67770
67685
  res.push([0, i / bins.length - 1]);
67771
67686
  }
67772
67687
  else {
67773
67688
  const length = scopeType === 'count' ? bin.count : bin.max - bin.min;
67774
- const b0 = res[i - 1] ? res[i - 1][1] : 0;
67689
+ const b0 = res[resIndex - 1] ? res[resIndex - 1][1] : 0;
67775
67690
  const b1 = i === bins.length - 1 ? 1 : Math.min((acc + length) / totalLength, 1);
67776
67691
  if (b0 === b1 && (b0 === 0 || b0 === 1)) ;
67777
67692
  else {
67693
+ resIndex += 1;
67778
67694
  res.push([b0, b1]);
67779
67695
  acc += length;
67780
67696
  }
@@ -72707,7 +72623,7 @@ function getDefaultTriggerEventByMode(mode) {
72707
72623
  return {
72708
72624
  start: 'pointerdown',
72709
72625
  move: 'pointermove',
72710
- end: 'pointerup',
72626
+ end: ['pointerup', 'pointerupoutside'],
72711
72627
  zoom: 'wheel',
72712
72628
  zoomEnd: 'pointerup',
72713
72629
  scroll: 'wheel',
@@ -72718,7 +72634,7 @@ function getDefaultTriggerEventByMode(mode) {
72718
72634
  return {
72719
72635
  start: 'pointerdown',
72720
72636
  move: 'pointermove',
72721
- end: 'pointerup',
72637
+ end: ['pointerup', 'pointerupoutside'],
72722
72638
  zoom: 'pinch',
72723
72639
  zoomEnd: 'pinchend',
72724
72640
  scroll: 'pan',
@@ -72989,15 +72905,17 @@ class Zoomable {
72989
72905
  });
72990
72906
  this._zoomableTrigger.pointerId = null;
72991
72907
  this._eventObj.off(move, { level: Event_Bubble_Level.chart, source: Event_Source_Type.chart }, mousemove);
72992
- this._eventObj.off(end, { level: Event_Bubble_Level.chart, source: Event_Source_Type.window }, mouseup);
72993
- this._eventObj.allow(end);
72908
+ end.forEach(endEventType => {
72909
+ this._eventObj.off(endEventType, { level: Event_Bubble_Level.chart, source: Event_Source_Type.chart }, mouseup);
72910
+ this._eventObj.allow(endEventType);
72911
+ });
72994
72912
  }, delayTime);
72995
72913
  const mousemove = delayMap[delayType]((params) => {
72996
72914
  if (!this._zoomableTrigger.parserDragEvent(params.event)) {
72997
72915
  return;
72998
72916
  }
72999
72917
  this._clickEnable = false;
73000
- this._eventObj.prevent(end, mouseup);
72918
+ end.forEach(endEventType => this._eventObj.prevent(endEventType, mouseup));
73001
72919
  const event = params.event;
73002
72920
  const dx = event.canvasX - moveX;
73003
72921
  const dy = event.canvasY - moveY;
@@ -73013,7 +72931,9 @@ class Zoomable {
73013
72931
  });
73014
72932
  }, delayTime);
73015
72933
  this._eventObj.on(move, { level: Event_Bubble_Level.chart, source: Event_Source_Type.chart }, mousemove);
73016
- this._eventObj.on(end, { level: Event_Bubble_Level.chart, source: Event_Source_Type.chart }, mouseup);
72934
+ end.forEach(endEventType => {
72935
+ this._eventObj.on(endEventType, { level: Event_Bubble_Level.chart, source: Event_Source_Type.chart }, mouseup);
72936
+ });
73017
72937
  }
73018
72938
  }
73019
72939
 
@@ -79340,8 +79260,9 @@ class BaseWordCloudSeries extends BaseSeries {
79340
79260
  };
79341
79261
  }
79342
79262
  _wordCloudTransformOption() {
79343
- var _a;
79344
- return Object.assign(Object.assign({}, this._getCommonTransformOptions()), { layoutType: this._wordCloudConfig.layoutMode, rotate: this._rotateAngles, randomVisible: (_a = this._spec.random) !== null && _a !== void 0 ? _a : DEFAULT_RANDOM, clip: this._wordCloudConfig.drawOutOfBound === 'clip', shrink: this._wordCloudConfig.zoomToFit.shrink, enlarge: this._wordCloudConfig.zoomToFit.enlarge, minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin, progressiveTime: this._wordCloudConfig.progressiveTime, progressiveStep: this._wordCloudConfig.progressiveStep, repeatFill: this._wordCloudConfig.zoomToFit.repeat });
79263
+ var _a, _b;
79264
+ const wordCloudConfig = (_a = this._wordCloudConfig) !== null && _a !== void 0 ? _a : {};
79265
+ return Object.assign(Object.assign(Object.assign({}, wordCloudConfig), this._getCommonTransformOptions()), { layoutType: this._wordCloudConfig.layoutMode, rotate: this._rotateAngles, randomVisible: (_b = this._spec.random) !== null && _b !== void 0 ? _b : DEFAULT_RANDOM, clip: this._wordCloudConfig.drawOutOfBound === 'clip', shrink: this._wordCloudConfig.zoomToFit.shrink, enlarge: this._wordCloudConfig.zoomToFit.enlarge, minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin, progressiveTime: this._wordCloudConfig.progressiveTime, progressiveStep: this._wordCloudConfig.progressiveStep, repeatFill: this._wordCloudConfig.zoomToFit.repeat });
79345
79266
  }
79346
79267
  _wordCloudShapeTransformOption() {
79347
79268
  var _a, _b, _c, _d, _e, _f;
@@ -79721,6 +79642,7 @@ class CloudLayout extends BaseLayout {
79721
79642
  this.insertZerosToArray(board, 0, heightArr.length + diffWidth / 2), this._size = [w + (diffWidth << 5), h + diffHeight], bounds && (bounds[0].x += (diffWidth << 5) / 2, bounds[0].y += diffHeight / 2, bounds[1].x += (diffWidth << 5) / 2, bounds[1].y += diffHeight / 2);
79722
79643
  }
79723
79644
  insertZerosToArray(array, index, length) {
79645
+ if (this.options.customInsertZerosToArray) return this.options.customInsertZerosToArray(array, index, length);
79724
79646
  const len = Math.floor(length / 6e4),
79725
79647
  restLen = length % 6e4;
79726
79648
  for (let i = 0; i < len; i++) array.splice(index + 6e4 * i, 0, ...new Array(6e4).fill(0));
@@ -92543,7 +92465,7 @@ class Tooltip extends BaseComponent {
92543
92465
  }
92544
92466
  };
92545
92467
  this._getMouseOutHandler = (needPointerDetection) => (params) => {
92546
- var _a, _b, _c, _d;
92468
+ var _a, _b, _c, _d, _e;
92547
92469
  if (this._isReleased) {
92548
92470
  return;
92549
92471
  }
@@ -92561,14 +92483,14 @@ class Tooltip extends BaseComponent {
92561
92483
  if (this._enterable) {
92562
92484
  this._outTimer = setTimeout(() => {
92563
92485
  this._handleChartMouseOut(params);
92564
- }, (_d = this._spec.showDelay) !== null && _d !== void 0 ? _d : DEFAULT_SHOW_DELAY);
92486
+ }, (_e = (_d = this._spec) === null || _d === void 0 ? void 0 : _d.showDelay) !== null && _e !== void 0 ? _e : DEFAULT_SHOW_DELAY);
92565
92487
  }
92566
92488
  else {
92567
92489
  this._handleChartMouseOut(params);
92568
92490
  }
92569
92491
  };
92570
92492
  this._handleChartMouseOut = (params) => {
92571
- if (this._alwaysShow) {
92493
+ if (this._alwaysShow || this._isReleased) {
92572
92494
  return;
92573
92495
  }
92574
92496
  if (this._spec.triggerOff !== 'none') {
@@ -92583,7 +92505,7 @@ class Tooltip extends BaseComponent {
92583
92505
  }
92584
92506
  };
92585
92507
  this._getMouseMoveHandler = (isClick) => (params) => {
92586
- var _a, _b, _c;
92508
+ var _a, _b, _c, _d;
92587
92509
  if (this._isReleased) {
92588
92510
  return;
92589
92511
  }
@@ -92613,13 +92535,16 @@ class Tooltip extends BaseComponent {
92613
92535
  }
92614
92536
  this._showTimer = setTimeout(() => {
92615
92537
  this._handleChartMouseMove(params, isClick);
92616
- }, (_c = this._spec.showDelay) !== null && _c !== void 0 ? _c : DEFAULT_SHOW_DELAY);
92538
+ }, (_d = (_c = this._spec) === null || _c === void 0 ? void 0 : _c.showDelay) !== null && _d !== void 0 ? _d : DEFAULT_SHOW_DELAY);
92617
92539
  }
92618
92540
  else {
92619
92541
  this._handleChartMouseMove(params, isClick);
92620
92542
  }
92621
92543
  };
92622
92544
  this._handleChartMouseMove = (params, isClick) => {
92545
+ if (this._isReleased) {
92546
+ return;
92547
+ }
92623
92548
  const mouseEventData = this._getMouseEventData(params);
92624
92549
  const { tooltipInfo: { dimension: dimensionInfo }, ignore: { mark: ignoreMark } } = mouseEventData;
92625
92550
  const success = {
@@ -92722,6 +92647,9 @@ class Tooltip extends BaseComponent {
92722
92647
  return 1;
92723
92648
  };
92724
92649
  this.hideTooltip = () => {
92650
+ if (this._isReleased) {
92651
+ return false;
92652
+ }
92725
92653
  const params = {
92726
92654
  changePositionOnly: false,
92727
92655
  tooltip: this,
@@ -92834,7 +92762,7 @@ class Tooltip extends BaseComponent {
92834
92762
  }
92835
92763
  });
92836
92764
  element.addEventListener('pointerleave', () => {
92837
- var _a, _b;
92765
+ var _a, _b, _c;
92838
92766
  if (!this._enterable) {
92839
92767
  return;
92840
92768
  }
@@ -92843,7 +92771,7 @@ class Tooltip extends BaseComponent {
92843
92771
  if (newRect &&
92844
92772
  Object.keys(this._cacheEnterableRect).every(k => this._cacheEnterableRect[k] === newRect[k])) {
92845
92773
  this._cacheEnterableRect = null;
92846
- this._outTimer = setTimeout(this.hideTooltip, (_b = this._spec.showDelay) !== null && _b !== void 0 ? _b : DEFAULT_SHOW_DELAY);
92774
+ this._outTimer = setTimeout(this.hideTooltip, (_c = (_b = this._spec) === null || _b === void 0 ? void 0 : _b.showDelay) !== null && _c !== void 0 ? _c : DEFAULT_SHOW_DELAY);
92847
92775
  }
92848
92776
  }
92849
92777
  });
@@ -101068,8 +100996,14 @@ class BaseTooltipHandler extends BasePlugin {
101068
100996
  this._isReleased = true;
101069
100997
  }
101070
100998
  _getDefaultOption() {
100999
+ var _a, _b;
101071
101000
  const { offset } = this._component.getSpec();
101072
- return offset ? Object.assign(Object.assign({}, DEFAULT_OPTIONS), offset) : DEFAULT_OPTIONS;
101001
+ return offset
101002
+ ? {
101003
+ offsetX: (_a = offset.x) !== null && _a !== void 0 ? _a : DEFAULT_OPTIONS.offsetX,
101004
+ offsetY: (_b = offset.y) !== null && _b !== void 0 ? _b : DEFAULT_OPTIONS.offsetY
101005
+ }
101006
+ : DEFAULT_OPTIONS;
101073
101007
  }
101074
101008
  _getParentElement(spec) {
101075
101009
  return spec.parentElement;
@@ -101098,9 +101032,8 @@ const getPixelPropertyStr = (num, defaultStr) => {
101098
101032
  }
101099
101033
  return defaultStr !== null && defaultStr !== void 0 ? defaultStr : 'initial';
101100
101034
  };
101101
- const getTextStyle = (style = {}) => {
101035
+ const getTextStyle = (style = {}, textStyle = {}) => {
101102
101036
  var _a, _b;
101103
- const textStyle = {};
101104
101037
  if (isValid$1(style.fontFamily)) {
101105
101038
  textStyle.fontFamily = style.fontFamily;
101106
101039
  }
@@ -101130,8 +101063,15 @@ const getTextStyle = (style = {}) => {
101130
101063
  }
101131
101064
  return textStyle;
101132
101065
  };
101066
+ const getLineHeight = (style = {}) => {
101067
+ const { lineHeight } = style;
101068
+ if (style.fontSize) {
101069
+ return calcLayoutNumber(lineHeight, style.fontSize);
101070
+ }
101071
+ return 0;
101072
+ };
101133
101073
  const getDomStyle = (spec = {}) => {
101134
- var _a, _b, _c, _d, _e;
101074
+ var _a, _b, _c, _d;
101135
101075
  const { style = {}, enterable, transitionDuration } = spec;
101136
101076
  const { panel = {}, titleLabel, shape, keyLabel, valueLabel, spaceRow: commonSpaceRow, align } = style;
101137
101077
  const { panelStyle, panelPadding } = getPanelStyle(panel);
@@ -101169,10 +101109,8 @@ const getDomStyle = (spec = {}) => {
101169
101109
  shapeStyle[marginKey] = getPixelPropertyStr((_b = shape.spacing) !== null && _b !== void 0 ? _b : DEFAULT_SHAPE_SPACING);
101170
101110
  keyStyle[marginKey] = getPixelPropertyStr((_c = keyLabel.spacing) !== null && _c !== void 0 ? _c : DEFAULT_KEY_SPACING);
101171
101111
  valueStyle[marginKey] = getPixelPropertyStr((_d = valueLabel.spacing) !== null && _d !== void 0 ? _d : DEFAULT_VALUE_SPACING);
101172
- const lineHeight = (_e = keyStyle.lineHeight) !== null && _e !== void 0 ? _e : valueStyle.lineHeight;
101173
- if (isValid$1(lineHeight)) {
101174
- rowStyle.lineHeight = /^[0-9]*$/.test(`${lineHeight}`) ? `${lineHeight}px` : `${lineHeight}`;
101175
- }
101112
+ const lineHeight = Math.max(getLineHeight(valueLabel), getLineHeight(keyLabel));
101113
+ rowStyle.lineHeight = lineHeight > 0 ? `${lineHeight}px` : '20px';
101176
101114
  return {
101177
101115
  panelPadding,
101178
101116
  row: rowStyle,
@@ -101464,19 +101402,22 @@ class DomTooltipHandler extends BaseTooltipHandler {
101464
101402
  row.classList.add(`${TOOLTIP_PREFIX}-${colName}`);
101465
101403
  colDiv.appendChild(row);
101466
101404
  }
101467
- let styleByRow = index === content.length - 1 ? {} : Object.assign({}, rowStyle);
101405
+ const styleByRow = Object.assign({}, rowStyle);
101406
+ if (index === content.length - 1) {
101407
+ styleByRow.marginBottom = '0px';
101408
+ }
101468
101409
  styleByRow.display = entry.visible === false ? 'none' : 'block';
101469
101410
  styleByRow.height = 'initial';
101470
101411
  if (colName === 'key') {
101471
101412
  row.innerHTML = formatContent(entry.key);
101472
101413
  if (entry.keyStyle) {
101473
- styleByRow = Object.assign(Object.assign({}, styleByRow), getTextStyle(entry.keyStyle));
101414
+ getTextStyle(entry.keyStyle, styleByRow);
101474
101415
  }
101475
101416
  }
101476
101417
  else if (colName === 'value') {
101477
101418
  row.innerHTML = formatContent(entry.value);
101478
101419
  if (entry.valueStyle) {
101479
- styleByRow = Object.assign(Object.assign({}, styleByRow), getTextStyle(entry.valueStyle));
101420
+ getTextStyle(entry.valueStyle, styleByRow);
101480
101421
  }
101481
101422
  }
101482
101423
  else if (colName === 'shape') {