@visactor/vchart 2.0.12-alpha.4 → 2.0.12

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 (176) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +131 -106
  3. package/build/index.js +131 -106
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/callback-disappear.d.ts +10 -0
  7. package/cjs/animation/callback-disappear.js +26 -0
  8. package/cjs/animation/callback-disappear.js.map +1 -0
  9. package/cjs/animation/config.d.ts +0 -6
  10. package/cjs/animation/config.js +3 -29
  11. package/cjs/animation/config.js.map +1 -1
  12. package/cjs/animation/index.js +1 -2
  13. package/cjs/animation/interface.d.ts +6 -3
  14. package/cjs/animation/interface.js +2 -1
  15. package/cjs/animation/interface.js.map +1 -1
  16. package/cjs/chart/base/base-chart.d.ts +1 -0
  17. package/cjs/chart/base/base-chart.js +7 -2
  18. package/cjs/chart/base/base-chart.js.map +1 -1
  19. package/cjs/compile/compiler.d.ts +1 -1
  20. package/cjs/compile/compiler.js +14 -14
  21. package/cjs/compile/compiler.js.map +1 -1
  22. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  23. package/cjs/compile/interface/compilable-item.js.map +1 -1
  24. package/cjs/component/axis/cartesian/axis.js +4 -1
  25. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  26. package/cjs/component/axis/polar/axis.js +4 -2
  27. package/cjs/component/axis/polar/axis.js.map +1 -1
  28. package/cjs/component/axis/polar/interface/spec.d.ts +3 -1
  29. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  30. package/cjs/component/geo/geo-coordinate.js +3 -2
  31. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  32. package/cjs/component/index.js +2 -1
  33. package/cjs/component/util.js +1 -2
  34. package/cjs/constant/animate.d.ts +5 -0
  35. package/cjs/constant/animate.js +15 -0
  36. package/cjs/constant/animate.js.map +1 -0
  37. package/cjs/constant/box-plot.js +2 -1
  38. package/cjs/constant/gradient.js +1 -2
  39. package/cjs/constant/sunburst.js +1 -1
  40. package/cjs/constant/waterfall.js +1 -1
  41. package/cjs/constant/word-cloud.js +1 -1
  42. package/cjs/core/index.d.ts +1 -1
  43. package/cjs/core/index.js +1 -1
  44. package/cjs/core/index.js.map +1 -1
  45. package/cjs/core/vchart.d.ts +3 -0
  46. package/cjs/core/vchart.js +18 -5
  47. package/cjs/core/vchart.js.map +1 -1
  48. package/cjs/region/interface.d.ts +1 -0
  49. package/cjs/region/interface.js.map +1 -1
  50. package/cjs/series/bar/animation.js +4 -2
  51. package/cjs/series/bar/animation.js.map +1 -1
  52. package/cjs/series/base/base-series.d.ts +0 -1
  53. package/cjs/series/base/base-series.js +2 -7
  54. package/cjs/series/base/base-series.js.map +1 -1
  55. package/cjs/series/circle-packing/animation.js +2 -2
  56. package/cjs/series/circle-packing/animation.js.map +1 -1
  57. package/cjs/series/gauge/animation.js +2 -2
  58. package/cjs/series/gauge/animation.js.map +1 -1
  59. package/cjs/series/heatmap/heatmap.d.ts +1 -1
  60. package/cjs/series/heatmap/heatmap.js +2 -2
  61. package/cjs/series/heatmap/heatmap.js.map +1 -1
  62. package/cjs/series/pie/animation/animation.js +4 -2
  63. package/cjs/series/pie/animation/animation.js.map +1 -1
  64. package/cjs/series/polar/progress-like/animation.js +2 -2
  65. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  66. package/cjs/series/progress/linear/animation.js +4 -2
  67. package/cjs/series/progress/linear/animation.js.map +1 -1
  68. package/cjs/series/radar/animation.js +9 -3
  69. package/cjs/series/radar/animation.js.map +1 -1
  70. package/cjs/series/range-column/animation.js +4 -2
  71. package/cjs/series/range-column/animation.js.map +1 -1
  72. package/cjs/series/rose/animation.js +4 -2
  73. package/cjs/series/rose/animation.js.map +1 -1
  74. package/cjs/series/sankey/animation.js +3 -3
  75. package/cjs/series/sankey/animation.js.map +1 -1
  76. package/cjs/series/sunburst/animation/index.js +4 -2
  77. package/cjs/series/sunburst/animation/index.js.map +1 -1
  78. package/cjs/series/treemap/animation.js +2 -2
  79. package/cjs/series/treemap/animation.js.map +1 -1
  80. package/cjs/series/venn/animation.js +3 -3
  81. package/cjs/series/venn/animation.js.map +1 -1
  82. package/cjs/series/waterfall/animation.js +4 -2
  83. package/cjs/series/waterfall/animation.js.map +1 -1
  84. package/cjs/series/word-cloud/animation.js +1 -1
  85. package/cjs/series/word-cloud/animation.js.map +1 -1
  86. package/cjs/theme/builtin/common/series/heatmap.js +1 -1
  87. package/cjs/theme/builtin/common/series/heatmap.js.map +1 -1
  88. package/cjs/util/type.d.ts +1 -0
  89. package/cjs/util/type.js +6 -2
  90. package/cjs/util/type.js.map +1 -1
  91. package/esm/animation/callback-disappear.d.ts +10 -0
  92. package/esm/animation/callback-disappear.js +18 -0
  93. package/esm/animation/callback-disappear.js.map +1 -0
  94. package/esm/animation/config.d.ts +0 -6
  95. package/esm/animation/config.js +7 -26
  96. package/esm/animation/config.js.map +1 -1
  97. package/esm/animation/index.js +1 -2
  98. package/esm/animation/interface.d.ts +6 -3
  99. package/esm/animation/interface.js +2 -1
  100. package/esm/animation/interface.js.map +1 -1
  101. package/esm/chart/base/base-chart.d.ts +1 -0
  102. package/esm/chart/base/base-chart.js +7 -1
  103. package/esm/chart/base/base-chart.js.map +1 -1
  104. package/esm/compile/compiler.d.ts +1 -1
  105. package/esm/compile/compiler.js +16 -15
  106. package/esm/compile/compiler.js.map +1 -1
  107. package/esm/compile/interface/compilable-item.d.ts +1 -0
  108. package/esm/compile/interface/compilable-item.js.map +1 -1
  109. package/esm/component/axis/cartesian/axis.js +4 -1
  110. package/esm/component/axis/cartesian/axis.js.map +1 -1
  111. package/esm/component/axis/polar/axis.js +4 -2
  112. package/esm/component/axis/polar/axis.js.map +1 -1
  113. package/esm/component/axis/polar/interface/spec.d.ts +3 -1
  114. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  115. package/esm/component/geo/geo-coordinate.js +3 -2
  116. package/esm/component/geo/geo-coordinate.js.map +1 -1
  117. package/esm/component/index.js +2 -1
  118. package/esm/component/util.js +1 -2
  119. package/esm/constant/animate.d.ts +5 -0
  120. package/esm/constant/animate.js +10 -0
  121. package/esm/constant/animate.js.map +1 -0
  122. package/esm/constant/box-plot.js +2 -1
  123. package/esm/constant/gradient.js +1 -2
  124. package/esm/constant/sunburst.js +1 -1
  125. package/esm/constant/waterfall.js +1 -1
  126. package/esm/constant/word-cloud.js +1 -1
  127. package/esm/core/index.d.ts +1 -1
  128. package/esm/core/index.js +1 -1
  129. package/esm/core/index.js.map +1 -1
  130. package/esm/core/vchart.d.ts +3 -0
  131. package/esm/core/vchart.js +19 -4
  132. package/esm/core/vchart.js.map +1 -1
  133. package/esm/region/interface.d.ts +1 -0
  134. package/esm/region/interface.js.map +1 -1
  135. package/esm/series/bar/animation.js +5 -1
  136. package/esm/series/bar/animation.js.map +1 -1
  137. package/esm/series/base/base-series.d.ts +0 -1
  138. package/esm/series/base/base-series.js +2 -6
  139. package/esm/series/base/base-series.js.map +1 -1
  140. package/esm/series/circle-packing/animation.js +3 -1
  141. package/esm/series/circle-packing/animation.js.map +1 -1
  142. package/esm/series/gauge/animation.js +3 -1
  143. package/esm/series/gauge/animation.js.map +1 -1
  144. package/esm/series/heatmap/heatmap.d.ts +1 -1
  145. package/esm/series/heatmap/heatmap.js +2 -2
  146. package/esm/series/heatmap/heatmap.js.map +1 -1
  147. package/esm/series/pie/animation/animation.js +5 -1
  148. package/esm/series/pie/animation/animation.js.map +1 -1
  149. package/esm/series/polar/progress-like/animation.js +3 -1
  150. package/esm/series/polar/progress-like/animation.js.map +1 -1
  151. package/esm/series/progress/linear/animation.js +5 -1
  152. package/esm/series/progress/linear/animation.js.map +1 -1
  153. package/esm/series/radar/animation.js +9 -3
  154. package/esm/series/radar/animation.js.map +1 -1
  155. package/esm/series/range-column/animation.js +5 -1
  156. package/esm/series/range-column/animation.js.map +1 -1
  157. package/esm/series/rose/animation.js +5 -1
  158. package/esm/series/rose/animation.js.map +1 -1
  159. package/esm/series/sankey/animation.js +3 -1
  160. package/esm/series/sankey/animation.js.map +1 -1
  161. package/esm/series/sunburst/animation/index.js +5 -1
  162. package/esm/series/sunburst/animation/index.js.map +1 -1
  163. package/esm/series/treemap/animation.js +3 -1
  164. package/esm/series/treemap/animation.js.map +1 -1
  165. package/esm/series/venn/animation.js +4 -2
  166. package/esm/series/venn/animation.js.map +1 -1
  167. package/esm/series/waterfall/animation.js +5 -1
  168. package/esm/series/waterfall/animation.js.map +1 -1
  169. package/esm/series/word-cloud/animation.js +1 -1
  170. package/esm/series/word-cloud/animation.js.map +1 -1
  171. package/esm/theme/builtin/common/series/heatmap.js +1 -1
  172. package/esm/theme/builtin/common/series/heatmap.js.map +1 -1
  173. package/esm/util/type.d.ts +1 -0
  174. package/esm/util/type.js +4 -0
  175. package/esm/util/type.js.map +1 -1
  176. package/package.json +9 -9
package/build/index.es.js CHANGED
@@ -26232,6 +26232,9 @@ function isDataDomainSpec(domain) {
26232
26232
  }
26233
26233
  return isArray$1(domain[0].fields);
26234
26234
  }
26235
+ function isClass(obj) {
26236
+ return typeof obj === 'function' && /^class\s/.test(obj.toString());
26237
+ }
26235
26238
 
26236
26239
  const GROUP_ATTRIBUTES = ["x", "y", "dx", "dy", "scaleX", "scaleY", "angle", "anchor", "postMatrix", "visible", "clip", "pickable", "childrenPickable", "zIndex", "cursor"];
26237
26240
  class AbstractComponent extends Group$1 {
@@ -26573,9 +26576,11 @@ class Gesture extends EventEmitter {
26573
26576
  }
26574
26577
  emitEvent(type, e) {
26575
26578
  if (!this.element) return;
26576
- const listeners = this.element._events[WILDCARD];
26579
+ const events = this.element._events;
26580
+ this._callListeners(type, e, events[WILDCARD]), this._callListeners(type, e, events[type]), this.emit(type, e);
26581
+ }
26582
+ _callListeners(type, e, listeners) {
26577
26583
  if (listeners) if ("fn" in listeners) listeners.fn.call(listeners.context, e, type);else for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) listeners[i].fn.call(listeners[i].context, e, type);
26578
- this.emit(type, e);
26579
26584
  }
26580
26585
  }
26581
26586
 
@@ -40711,8 +40716,9 @@ class LineAxis extends AxisBase {
40711
40716
  let tickLength = 0;
40712
40717
  (null === (_b = this.attribute.tick) || void 0 === _b ? void 0 : _b.visible) && !1 === this.attribute.tick.inside && (tickLength = this.attribute.tick.length || 4), (null === (_c = this.attribute.subTick) || void 0 === _c ? void 0 : _c.visible) && !1 === this.attribute.subTick.inside && (tickLength = Math.max(tickLength, this.attribute.subTick.length || 2));
40713
40718
  const offset = tickLength + labelLength + space,
40714
- titlePoint = this.getVerticalCoord(point, offset, !1),
40715
- vector = this.getVerticalVector(offset, !1, {
40719
+ actualOffset = this.getActualOffset(offset),
40720
+ titlePoint = this.getVerticalCoord(point, actualOffset, !1),
40721
+ vector = this.getVerticalVector(actualOffset, !1, {
40716
40722
  x: 0,
40717
40723
  y: 0
40718
40724
  });
@@ -40741,11 +40747,11 @@ class LineAxis extends AxisBase {
40741
40747
  if (angle !== Math.PI / 2) {
40742
40748
  const cosValue = Math.abs(Math.cos(null != angle ? angle : 0));
40743
40749
  maxTagWidth = cosValue < 1e-6 ? 1 / 0 : this.attribute.end.x / cosValue;
40744
- } else maxTagWidth = limitSize - offset;
40750
+ } else maxTagWidth = limitSize - actualOffset;
40745
40751
  } else if (angle && 0 !== angle) {
40746
40752
  const sinValue = Math.abs(Math.sin(angle));
40747
40753
  maxTagWidth = sinValue < 1e-6 ? 1 / 0 : this.attribute.end.y / sinValue;
40748
- } else maxTagWidth = limitSize - offset;
40754
+ } else maxTagWidth = limitSize - actualOffset;
40749
40755
  }
40750
40756
  }
40751
40757
  const attrs = Object.assign(Object.assign(Object.assign({}, titlePoint), restAttrs), {
@@ -41050,6 +41056,10 @@ class LineAxis extends AxisBase {
41050
41056
  visibleAll: !1
41051
41057
  });
41052
41058
  }
41059
+ getActualOffset(offset) {
41060
+ const orient = this.attribute.orient;
41061
+ return "left" === orient || "right" === orient ? this.attribute.width ? this.attribute.width : (this.attribute.maxWidth && (offset = Math.min(offset, this.attribute.maxWidth)), this.attribute.minWidth && (offset = Math.max(offset, this.attribute.minWidth)), offset) : offset;
41062
+ }
41053
41063
  release() {
41054
41064
  super.release(), this._breaks = null;
41055
41065
  }
@@ -54870,7 +54880,17 @@ function diffMarks(prevMarks, nextMarks, runningConfig) {
54870
54880
  return diffResult;
54871
54881
  }
54872
54882
 
54883
+ const BuiltIn_DISAPPEAR_ANIMATE_NAME = `${PREFIX}_BuiltIn_CallBack_Disappear`;
54884
+ var RenderStateEnum;
54885
+ (function (RenderStateEnum) {
54886
+ RenderStateEnum["render"] = "render";
54887
+ RenderStateEnum["disappear"] = "disappear";
54888
+ })(RenderStateEnum || (RenderStateEnum = {}));
54889
+
54873
54890
  class Compiler {
54891
+ get stateAnimationConfig() {
54892
+ return this._stateAnimationConfig;
54893
+ }
54874
54894
  getRootGroup() {
54875
54895
  return this._rootGroup;
54876
54896
  }
@@ -55055,7 +55075,6 @@ class Compiler {
55055
55075
  var _a, _b, _c, _d, _e, _f;
55056
55076
  (_b = (_a = this._option.performanceHook) === null || _a === void 0 ? void 0 : _a.beforeDoRender) === null || _b === void 0 ? void 0 : _b.call(_a, this._compileChart.getOption().globalInstance);
55057
55077
  if (this._stage) {
55058
- this.runStageAnimation();
55059
55078
  this._rootMarks.forEach(g => {
55060
55079
  traverseGroupMark(g, m => {
55061
55080
  if (m.needClear) {
@@ -55149,14 +55168,26 @@ class Compiler {
55149
55168
  Object.keys(config).forEach(key => {
55150
55169
  const value = config[key];
55151
55170
  if (isArray$1(value)) {
55152
- animationConfig[key] = value.map(item => {
55153
- var _a;
55154
- const options = (_a = item.options) !== null && _a !== void 0 ? _a : {};
55155
- return Object.assign(Object.assign({}, item), { options: (...args) => {
55156
- const _options = typeof options === 'function' ? options(...args) : options;
55157
- return Object.assign({}, _options);
55158
- } });
55159
- });
55171
+ if (key === 'disappear') {
55172
+ animationConfig[key] = value.map(item => {
55173
+ if (isClass(item.callBack)) {
55174
+ return Object.assign(Object.assign({}, item), { custom: item.callBack });
55175
+ }
55176
+ return Object.assign(Object.assign({}, item), { type: BuiltIn_DISAPPEAR_ANIMATE_NAME, customParameters: {
55177
+ callBack: item.callBack
55178
+ } });
55179
+ });
55180
+ }
55181
+ else {
55182
+ animationConfig[key] = value.map(item => {
55183
+ var _a;
55184
+ const options = (_a = item.options) !== null && _a !== void 0 ? _a : {};
55185
+ return Object.assign(Object.assign({}, item), { options: (...args) => {
55186
+ const _options = typeof options === 'function' ? options(...args) : options;
55187
+ return Object.assign({}, _options);
55188
+ } });
55189
+ });
55190
+ }
55160
55191
  }
55161
55192
  else {
55162
55193
  animationConfig[key] = Object.assign({}, config[key]);
@@ -55182,29 +55213,6 @@ class Compiler {
55182
55213
  }
55183
55214
  this._stage.context.animationState = animationState;
55184
55215
  }
55185
- runStageAnimation() {
55186
- var _a;
55187
- const animationState = (_a = this._stage.context) === null || _a === void 0 ? void 0 : _a.animationState;
55188
- if (!this._stateAnimationConfig || animationState === AnimationStateEnum.none) {
55189
- return;
55190
- }
55191
- const animationConfigs = array(this._stateAnimationConfig[animationState]).filter(config => config.type);
55192
- if (!animationConfigs.length) {
55193
- return;
55194
- }
55195
- if (animationState === AnimationStateEnum.appear) {
55196
- this._stage.stopAnimationState(AnimationStateEnum.disappear);
55197
- }
55198
- else if (animationState === AnimationStateEnum.disappear) {
55199
- this._stage.stopAnimationState(AnimationStateEnum.appear);
55200
- }
55201
- this._stage.applyAnimationState([animationState], [
55202
- {
55203
- name: animationState,
55204
- animation: animationConfigs
55205
- }
55206
- ]);
55207
- }
55208
55216
  updateViewBox(viewBox, reRender = true) {
55209
55217
  if (!this._stage) {
55210
55218
  return;
@@ -59660,6 +59668,29 @@ function linePresetAnimation(params, preset) {
59660
59668
  }
59661
59669
  }
59662
59670
 
59671
+ class CallbackDisappearAnimate extends AStageAnimate {
59672
+ constructor(from, to, duration, easing, params) {
59673
+ super(from, to, duration, easing, params);
59674
+ this.currentAnimationRatio = 0;
59675
+ this.animationTime = 0;
59676
+ }
59677
+ onUpdate(end, ratio, out) {
59678
+ super.onUpdate(end, ratio, out);
59679
+ this.currentAnimationRatio = ratio;
59680
+ this.animationTime = ratio * Math.PI * 2;
59681
+ }
59682
+ getAnimationTime() {
59683
+ if (this.currentAnimationRatio > 0) {
59684
+ return this.animationTime;
59685
+ }
59686
+ return Date.now() / 1000.0;
59687
+ }
59688
+ afterStageRender(stage, canvas) {
59689
+ var _a, _b;
59690
+ (_b = (_a = this.params) === null || _a === void 0 ? void 0 : _a.callBack) === null || _b === void 0 ? void 0 : _b.call(_a, stage, canvas, this.currentAnimationRatio, this.animationTime);
59691
+ }
59692
+ }
59693
+
59663
59694
  const DEFAULT_ANIMATION_CONFIG = {
59664
59695
  appear: {
59665
59696
  duration: 1000,
@@ -59690,14 +59721,12 @@ const DEFAULT_ANIMATION_CONFIG = {
59690
59721
  const ScaleInOutAnimation = {
59691
59722
  appear: { type: 'scaleIn' },
59692
59723
  enter: { type: 'scaleIn' },
59693
- exit: { type: 'scaleOut' },
59694
- disappear: { type: 'scaleOut' }
59724
+ exit: { type: 'scaleOut' }
59695
59725
  };
59696
59726
  const FadeInOutAnimation = {
59697
59727
  appear: { type: 'fadeIn' },
59698
59728
  enter: { type: 'fadeIn' },
59699
- exit: { type: 'fadeOut' },
59700
- disappear: { type: 'fadeOut' }
59729
+ exit: { type: 'fadeOut' }
59701
59730
  };
59702
59731
  const registerScaleInOutAnimation = () => {
59703
59732
  Factory.registerAnimation('scaleInOut', () => ScaleInOutAnimation);
@@ -59720,19 +59749,6 @@ const registerCartesianGroupClipAnimation = () => {
59720
59749
  orient: params.orient()
59721
59750
  };
59722
59751
  }
59723
- },
59724
- disappear: {
59725
- custom: ClipDirectionAnimate,
59726
- customParameters: (datum, g) => {
59727
- return {
59728
- animationType: 'out',
59729
- group: g,
59730
- direction: params.direction(),
59731
- width: params.width(),
59732
- height: params.height(),
59733
- orient: params.orient()
59734
- };
59735
- }
59736
59752
  }
59737
59753
  };
59738
59754
  });
@@ -59756,8 +59772,7 @@ const lineOrAreaAnimation = (params, preset) => {
59756
59772
  clipRangeByDimension: params.direction === "horizontal" ? 'y' : 'x'
59757
59773
  }
59758
59774
  }
59759
- ],
59760
- disappear: { type: 'clipOut' }
59775
+ ]
59761
59776
  };
59762
59777
  };
59763
59778
  const registerLineAnimation = () => {
@@ -59807,13 +59822,7 @@ const registerPolygonAnimation = () => {
59807
59822
  AnimateExecutor.registerBuiltInAnimate('growPointsOut', GrowPointsOut);
59808
59823
  };
59809
59824
  const registerStageAnimation = () => {
59810
- AnimateExecutor.registerBuiltInAnimate('distortion', Distortion);
59811
- AnimateExecutor.registerBuiltInAnimate('particle', Particle);
59812
- AnimateExecutor.registerBuiltInAnimate('pixelation', Pixelation);
59813
- AnimateExecutor.registerBuiltInAnimate('gaussianBlur', GaussianBlur);
59814
- AnimateExecutor.registerBuiltInAnimate('glitch', Glitch);
59815
- AnimateExecutor.registerBuiltInAnimate('grayscale', Grayscale);
59816
- AnimateExecutor.registerBuiltInAnimate('dissolve', Dissolve);
59825
+ AnimateExecutor.registerBuiltInAnimate(BuiltIn_DISAPPEAR_ANIMATE_NAME, CallbackDisappearAnimate);
59817
59826
  };
59818
59827
 
59819
59828
  const registerAnimate = () => {
@@ -60360,6 +60369,7 @@ class VChart {
60360
60369
  };
60361
60370
  this._observer = null;
60362
60371
  this._context = {};
60372
+ this._renderState = RenderStateEnum.render;
60363
60373
  this._doResize = () => {
60364
60374
  const { width, height } = this.getCurrentSize();
60365
60375
  if (this._currentSize.width !== width || this._currentSize.height !== height) {
@@ -60380,6 +60390,7 @@ class VChart {
60380
60390
  };
60381
60391
  this._updateSpec = (spec, forceMerge = false, userUpdateOptions) => {
60382
60392
  var _a;
60393
+ this._reSetRenderState();
60383
60394
  const lastSpec = this._spec;
60384
60395
  const result = {
60385
60396
  changeBackground: false,
@@ -60852,6 +60863,7 @@ class VChart {
60852
60863
  });
60853
60864
  }
60854
60865
  updateDataSync(id, data, parserOptions, userUpdateOptions) {
60866
+ this._reSetRenderState();
60855
60867
  if (isNil$1(this._dataSet)) {
60856
60868
  return this;
60857
60869
  }
@@ -60869,6 +60881,7 @@ class VChart {
60869
60881
  return this;
60870
60882
  }
60871
60883
  updateFullDataSync(data, reRender = true, userUpdateOptions) {
60884
+ this._reSetRenderState();
60872
60885
  if (this._chart) {
60873
60886
  this._chart.updateFullData(data);
60874
60887
  if (reRender) {
@@ -61593,6 +61606,20 @@ class VChart {
61593
61606
  componentShowContent: this._option.componentShowContent
61594
61607
  };
61595
61608
  }
61609
+ runDisappearAnimation() {
61610
+ this._renderState = RenderStateEnum.disappear;
61611
+ this.getStage().eventSystem.pauseTriggerEvent();
61612
+ this.getStage().applyAnimationState(['disappear'], [
61613
+ {
61614
+ name: 'disappear',
61615
+ animation: this._compiler.stateAnimationConfig.disappear
61616
+ }
61617
+ ]);
61618
+ }
61619
+ _reSetRenderState() {
61620
+ this._renderState = RenderStateEnum.render;
61621
+ this.getStage().eventSystem.resumeTriggerEvent();
61622
+ }
61596
61623
  }
61597
61624
  VChart.InstanceManager = InstanceManager;
61598
61625
  VChart.ThemeManager = ThemeManager;
@@ -61709,7 +61736,7 @@ const lookup = (data, opt) => {
61709
61736
  });
61710
61737
  };
61711
61738
 
61712
- const version = "2.0.11";
61739
+ const version = "2.0.12";
61713
61740
 
61714
61741
  const addVChartProperty = (data, op) => {
61715
61742
  const context = op.beforeCall();
@@ -62759,7 +62786,6 @@ class BaseSeries extends BaseModel {
62759
62786
  this.initMarkState();
62760
62787
  if (hasAnimation) {
62761
62788
  this.initAnimation();
62762
- this.initStageAnimation();
62763
62789
  }
62764
62790
  this.afterInitMark();
62765
62791
  this.initEvent();
@@ -63216,13 +63242,6 @@ class BaseSeries extends BaseModel {
63216
63242
  }
63217
63243
  initAnimation() {
63218
63244
  }
63219
- initStageAnimation() {
63220
- const compiler = this._option.getCompiler();
63221
- if (!(compiler === null || compiler === void 0 ? void 0 : compiler.setStageAnimationConfig)) {
63222
- return;
63223
- }
63224
- compiler.setStageAnimationConfig(animationConfig({}, userAnimationConfig('stage', this._spec, this._markAttributeContext), null));
63225
- }
63226
63245
  initMarkState() {
63227
63246
  this.initSeriesStyleState();
63228
63247
  }
@@ -67082,7 +67101,10 @@ class CartesianAxis extends AxisComponent {
67082
67101
  maxWidth: this._getTitleLimit(isX)
67083
67102
  },
67084
67103
  items,
67085
- scale: this._scale.clone()
67104
+ scale: this._scale.clone(),
67105
+ maxWidth: this._layout.maxWidth,
67106
+ minWidth: this._layout.minWidth,
67107
+ width: this._spec.width ? this.getLayoutRect().width : undefined
67086
67108
  };
67087
67109
  if (!ignoreGrid) {
67088
67110
  attrs.grid = {
@@ -69738,6 +69760,14 @@ class BaseChart extends CompilableBase {
69738
69760
  (_d = (_c = this)._initStack) === null || _d === void 0 ? void 0 : _d.call(_c);
69739
69761
  this.reDataFlow();
69740
69762
  this._initInteractions();
69763
+ this.initStageAnimation();
69764
+ }
69765
+ initStageAnimation() {
69766
+ const compiler = this._option.getCompiler();
69767
+ if (!(compiler === null || compiler === void 0 ? void 0 : compiler.setStageAnimationConfig)) {
69768
+ return;
69769
+ }
69770
+ compiler.setStageAnimationConfig(animationConfig({}, userAnimationConfig('stage', this._spec, {}), null));
69741
69771
  }
69742
69772
  reDataFlow() {
69743
69773
  this._series.forEach(s => { var _a; return (_a = s.getRawData()) === null || _a === void 0 ? void 0 : _a.markRunning(); });
@@ -72413,7 +72443,7 @@ const registerBarAnimation = () => {
72413
72443
  appear: barPresetAnimation(params, preset),
72414
72444
  enter: barGrowIn(params, false),
72415
72445
  exit: barGrowOut(params, false),
72416
- disappear: barGrowOut(params)
72446
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
72417
72447
  };
72418
72448
  });
72419
72449
  };
@@ -74265,7 +74295,9 @@ class GeoCoordinate extends BaseComponent {
74265
74295
  };
74266
74296
  this._handleChartZoom = (params, event) => {
74267
74297
  var _a, _b, _c, _d, _e, _f;
74268
- let scale = params.zoomDelta;
74298
+ const rate = isValid$1(this._spec.zoomRate) ? Math.max(0, this._spec.zoomRate) : 1;
74299
+ const delta = Math.max(params.zoomDelta, 1e-6);
74300
+ let scale = Math.pow(delta, rate);
74269
74301
  const _lastActualScale = this._actualScale;
74270
74302
  this._actualScale *= scale;
74271
74303
  if (this._actualScale < ((_a = this._spec.zoomLimit) === null || _a === void 0 ? void 0 : _a.min)) {
@@ -74557,7 +74589,7 @@ class GeoCoordinate extends BaseComponent {
74557
74589
  _compareSpec(spec, prevSpec) {
74558
74590
  const result = super._compareSpec(spec, prevSpec);
74559
74591
  if (!result.reMake) {
74560
- result.reMake = ['roam', 'longitudeField', 'latitudeField', 'projection', 'zoomLimit'].some(k => {
74592
+ result.reMake = ['roam', 'longitudeField', 'latitudeField', 'projection', 'zoomLimit', 'zoomRate'].some(k => {
74561
74593
  return !isEqual(prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec[k], spec[k]);
74562
74594
  });
74563
74595
  }
@@ -75143,7 +75175,7 @@ const registerWaterfallAnimation = () => {
75143
75175
  appear: waterfallPresetAnimation(params, preset),
75144
75176
  enter: barGrowIn(params, false),
75145
75177
  exit: barGrowOut(params, false),
75146
- disappear: barGrowOut(params, false)
75178
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
75147
75179
  };
75148
75180
  });
75149
75181
  };
@@ -77381,7 +77413,7 @@ const registerRangeColumnAnimation = () => {
77381
77413
  appear: rangeColumnPresetAnimation(params, preset),
77382
77414
  enter: rangeColumnGrowIn(params),
77383
77415
  exit: rangeColumnGrowOut(params),
77384
- disappear: rangeColumnGrowOut(params)
77416
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
77385
77417
  }));
77386
77418
  };
77387
77419
 
@@ -78043,7 +78075,7 @@ const registerPieAnimation = () => {
78043
78075
  appear: piePresetAnimation(params, preset),
78044
78076
  enter: pieEnter(params),
78045
78077
  exit: pieExit(params),
78046
- disappear: pieDisappear(params)
78078
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
78047
78079
  };
78048
78080
  });
78049
78081
  };
@@ -78636,7 +78668,6 @@ const roseExit = (params) => {
78636
78668
  type: growOutType(params.growField)
78637
78669
  };
78638
78670
  };
78639
- const roseDisappear = roseExit;
78640
78671
  function rosePresetAnimation(params, preset) {
78641
78672
  if (preset === false) {
78642
78673
  return {};
@@ -78656,7 +78687,7 @@ const registerRoseAnimation = () => {
78656
78687
  appear: rosePresetAnimation(params, preset),
78657
78688
  enter: roseEnter(params),
78658
78689
  exit: roseExit(params),
78659
- disappear: roseDisappear(params)
78690
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
78660
78691
  };
78661
78692
  });
78662
78693
  };
@@ -78990,7 +79021,7 @@ class PolarAxis extends AxisComponent {
78990
79021
  return this._startAngle;
78991
79022
  }
78992
79023
  _layoutAngleAxis() {
78993
- var _a, _b, _c;
79024
+ var _a, _b, _c, _d, _e;
78994
79025
  const center = this.getCenter();
78995
79026
  const radius = this.computeLayoutOuterRadius();
78996
79027
  const innerRadius = this.computeLayoutInnerRadius();
@@ -78998,7 +79029,7 @@ class PolarAxis extends AxisComponent {
78998
79029
  const items = this.getLabelItems(angleRange);
78999
79030
  const commonAttrs = Object.assign(Object.assign({}, this.getLayoutStartPoint()), { inside: this._spec.inside, center,
79000
79031
  radius,
79001
- innerRadius, startAngle: this._startAngle, endAngle: this._endAngle, sides: ((_c = (_b = (_a = this._getRelatedAxis(this._option.radiusAxisIndex)) === null || _a === void 0 ? void 0 : _a.getSpec()) === null || _b === void 0 ? void 0 : _b.grid) === null || _c === void 0 ? void 0 : _c.smooth)
79032
+ innerRadius, startAngle: this._startAngle, endAngle: this._endAngle, layoutRect: this.getRefLayoutRect(), autoLabelMaxWidth: (_b = (_a = this._spec.label) === null || _a === void 0 ? void 0 : _a.autoLabelMaxWidth) !== null && _b !== void 0 ? _b : false, sides: ((_e = (_d = (_c = this._getRelatedAxis(this._option.radiusAxisIndex)) === null || _c === void 0 ? void 0 : _c.getSpec()) === null || _d === void 0 ? void 0 : _d.grid) === null || _e === void 0 ? void 0 : _e.smooth)
79002
79033
  ? undefined
79003
79034
  : this.getScale().domain().length });
79004
79035
  const attrs = Object.assign(Object.assign({}, commonAttrs), { size: this.getRefLayoutRect(), title: {
@@ -79543,7 +79574,7 @@ const registerRadarAnimation = () => {
79543
79574
  appear: preset === 'clipIn' ? undefined : radarPresetAnimation(params, preset, 'in'),
79544
79575
  enter: radarPresetAnimation(params, preset, 'in'),
79545
79576
  exit: radarPresetAnimation(params, preset, 'out'),
79546
- disappear: preset === 'clipIn' ? undefined : radarPresetAnimation(params, preset, 'out'),
79577
+ disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },
79547
79578
  update: [
79548
79579
  {
79549
79580
  channel: ['points', 'center'],
@@ -79563,7 +79594,7 @@ const registerRadarAnimation = () => {
79563
79594
  appear: preset === 'clipIn' ? undefined : radarSymbolPresetAnimation(params, preset, 'in'),
79564
79595
  enter: { type: 'scaleIn' },
79565
79596
  exit: { type: 'scaleOut' },
79566
- disappear: preset === 'clipIn' ? undefined : radarSymbolPresetAnimation(params, preset, 'out'),
79597
+ disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },
79567
79598
  update: [
79568
79599
  {
79569
79600
  options: { excludeChannels: ['x', 'y', 'center'] }
@@ -79580,7 +79611,7 @@ const registerRadarAnimation = () => {
79580
79611
  Factory.registerAnimation('radarGroup', (params, preset) => {
79581
79612
  return {
79582
79613
  appear: radarGroupClipAnimation(params, 'in'),
79583
- disappear: radarGroupClipAnimation(params, 'out')
79614
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
79584
79615
  };
79585
79616
  });
79586
79617
  registerArc();
@@ -80782,7 +80813,7 @@ const registerProgressLikeAnimation = () => {
80782
80813
  Factory.registerAnimation('circularProgress', (params, preset) => ({
80783
80814
  appear: progressLikePresetAnimation(params, preset),
80784
80815
  enter: { type: 'growAngleIn' },
80785
- disappear: { type: 'growAngleOut' }
80816
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
80786
80817
  }));
80787
80818
  };
80788
80819
 
@@ -80987,12 +81018,6 @@ const Appear_Grow$2 = (params) => {
80987
81018
  options: LinearProgressGrowOption(params)
80988
81019
  };
80989
81020
  };
80990
- const linearProgressDisappear = (params) => {
80991
- return {
80992
- type: params.direction === "horizontal" ? 'growWidthOut' : 'growHeightOut',
80993
- options: LinearProgressGrowOption(params)
80994
- };
80995
- };
80996
81021
  const Appear_FadeIn$1 = {
80997
81022
  type: 'fadeIn'
80998
81023
  };
@@ -81012,7 +81037,7 @@ const registerLinearProgressAnimation = () => {
81012
81037
  return {
81013
81038
  appear: linearProgressPresetAnimation(params, preset),
81014
81039
  enter: linearProgressPresetAnimation(params),
81015
- disappear: linearProgressDisappear(params)
81040
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
81016
81041
  };
81017
81042
  });
81018
81043
  };
@@ -81656,7 +81681,7 @@ const registerWordCloudAnimation = () => {
81656
81681
  appear: wordcloudPresetAnimation(params, preset),
81657
81682
  enter: { type: 'fadeIn' },
81658
81683
  exit: { type: 'fadeOut' },
81659
- disappear: { type: 'fadeOut' }
81684
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
81660
81685
  }));
81661
81686
  };
81662
81687
 
@@ -87926,7 +87951,7 @@ const registerSunburstAnimation = () => {
87926
87951
  appear: sunburstPresetAnimation(params, preset),
87927
87952
  enter: sunburstEnter(params),
87928
87953
  exit: sunburstExit(params),
87929
- disappear: sunburstExit(params)
87954
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
87930
87955
  }));
87931
87956
  };
87932
87957
 
@@ -88429,7 +88454,7 @@ const registerCirclePackingAnimation = () => {
88429
88454
  appear: circlePackingPresetAnimation(preset),
88430
88455
  enter: { type: 'growRadiusIn' },
88431
88456
  exit: { type: 'growRadiusOut' },
88432
- disappear: { type: 'growRadiusOut' }
88457
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
88433
88458
  }));
88434
88459
  };
88435
88460
 
@@ -88899,7 +88924,7 @@ const registerSankeyAnimation = () => {
88899
88924
  appear: sankeyLinkPresetAnimation(preset),
88900
88925
  enter: { type: 'linkPathGrowIn' },
88901
88926
  exit: { type: 'linkPathGrowOut' },
88902
- disappear: { type: 'linkPathGrowOut' }
88927
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
88903
88928
  }));
88904
88929
  AnimateExecutor.registerBuiltInAnimate('linkPathGrowOut', LinkPathGrowOut);
88905
88930
  AnimateExecutor.registerBuiltInAnimate('linkPathGrowIn', LinkPathGrowIn);
@@ -90093,7 +90118,7 @@ const registerTreemapAnimation = () => {
90093
90118
  appear: treemapPresetAnimation(preset),
90094
90119
  enter: { type: 'growCenterIn' },
90095
90120
  exit: { type: 'growCenterOut' },
90096
- disappear: { type: 'growCenterOut' }
90121
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
90097
90122
  };
90098
90123
  });
90099
90124
  };
@@ -90583,7 +90608,7 @@ const registerGaugePointerAnimation = () => {
90583
90608
  return {
90584
90609
  appear: animation,
90585
90610
  enter: animation,
90586
- disappear: { type: 'fadeOut' }
90611
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
90587
90612
  };
90588
90613
  });
90589
90614
  };
@@ -91059,7 +91084,7 @@ class HeatmapSeriesSpecTransformer extends BaseSeriesSpecTransformer {
91059
91084
  const heatmap = {
91060
91085
  cell: {
91061
91086
  style: {
91062
- shape: 'square',
91087
+ shape: 'rect',
91063
91088
  fillOpacity: 1
91064
91089
  }
91065
91090
  },
@@ -91151,7 +91176,7 @@ class HeatmapSeries extends CartesianSeries {
91151
91176
  var _a;
91152
91177
  return {
91153
91178
  scale: (_a = this._option.globalScale.getScale('color')) !== null && _a !== void 0 ? _a : this._getDefaultColorScale(),
91154
- field: this.getFieldValue[0]
91179
+ field: this.getFieldValue()[0]
91155
91180
  };
91156
91181
  }
91157
91182
  getInteractionTriggers() {
@@ -91172,7 +91197,7 @@ class HeatmapSeries extends CartesianSeries {
91172
91197
  this._cellMark && this._tooltipHelper.activeTriggerSet.mark.add(this._cellMark);
91173
91198
  }
91174
91199
  getDefaultShapeType() {
91175
- return 'square';
91200
+ return 'rect';
91176
91201
  }
91177
91202
  getDimensionField() {
91178
91203
  return [].concat(this.fieldX, this.fieldY);
@@ -92298,7 +92323,7 @@ const registerVennAnimation = () => {
92298
92323
  appear: vennCirclePresetAnimation(preset),
92299
92324
  enter: { type: 'growRadiusIn' },
92300
92325
  exit: { type: 'growRadiusOut' },
92301
- disappear: { type: 'growRadiusOut' }
92326
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
92302
92327
  };
92303
92328
  });
92304
92329
  Factory.registerAnimation('vennOverlap', (params, preset) => {
@@ -92307,7 +92332,7 @@ const registerVennAnimation = () => {
92307
92332
  update: { custom: VennOverlapAnimation },
92308
92333
  enter: { type: 'fadeIn' },
92309
92334
  exit: { type: 'fadeOut' },
92310
- disappear: { type: 'fadeOut' }
92335
+ disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }
92311
92336
  };
92312
92337
  });
92313
92338
  };