@visactor/vchart 2.1.0-alpha.5 → 2.1.0-alpha.7

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 (208) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +395 -246
  3. package/build/index.js +395 -246
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/base/base-chart.d.ts +2 -0
  7. package/cjs/chart/base/base-chart.js +27 -15
  8. package/cjs/chart/base/base-chart.js.map +1 -1
  9. package/cjs/chart/gauge/gauge-transformer.js +3 -2
  10. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  11. package/cjs/chart/polar/polar-transformer.js +1 -1
  12. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  13. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  14. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  15. package/cjs/chart/progress/circular/circular-progress-transformer.js +3 -2
  16. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  17. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  18. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  19. package/cjs/chart/radar/radar-transformer.js +3 -2
  20. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  21. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  22. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  23. package/cjs/chart/rose/rose-transformer.js +2 -1
  24. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  25. package/cjs/component/axis/polar/band-axis.d.ts +2 -0
  26. package/cjs/component/axis/polar/band-axis.js +3 -0
  27. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  28. package/cjs/component/axis/polar/linear-axis.js +3 -0
  29. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  30. package/cjs/component/index.js +2 -1
  31. package/cjs/component/indicator/indicator.js +2 -2
  32. package/cjs/component/indicator/indicator.js.map +1 -1
  33. package/cjs/component/indicator/util.d.ts +4 -3
  34. package/cjs/component/indicator/util.js +1 -1
  35. package/cjs/component/indicator/util.js.map +1 -1
  36. package/cjs/component/marker/base-marker.js +16 -6
  37. package/cjs/component/marker/base-marker.js.map +1 -1
  38. package/cjs/component/marker/mark-point/base-mark-point.js +19 -6
  39. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  40. package/cjs/constant/attribute.js +1 -2
  41. package/cjs/constant/scatter.js +2 -1
  42. package/cjs/constant/waterfall.js +1 -2
  43. package/cjs/data/transforms/box-plot.d.ts +4 -1
  44. package/cjs/data/transforms/box-plot.js +3 -3
  45. package/cjs/data/transforms/box-plot.js.map +1 -1
  46. package/cjs/data/transforms/correlation-center.d.ts +11 -4
  47. package/cjs/data/transforms/correlation-center.js +3 -2
  48. package/cjs/data/transforms/correlation-center.js.map +1 -1
  49. package/cjs/data/transforms/correlation.d.ts +18 -15
  50. package/cjs/data/transforms/correlation.js +22 -17
  51. package/cjs/data/transforms/correlation.js.map +1 -1
  52. package/cjs/data/transforms/funnel.d.ts +10 -8
  53. package/cjs/data/transforms/funnel.js +4 -3
  54. package/cjs/data/transforms/funnel.js.map +1 -1
  55. package/cjs/data/transforms/lookup.d.ts +3 -3
  56. package/cjs/data/transforms/lookup.js +12 -7
  57. package/cjs/data/transforms/lookup.js.map +1 -1
  58. package/cjs/data/transforms/map.d.ts +8 -2
  59. package/cjs/data/transforms/map.js +9 -6
  60. package/cjs/data/transforms/map.js.map +1 -1
  61. package/cjs/data/transforms/sankey.d.ts +12 -4
  62. package/cjs/data/transforms/sankey.js +18 -13
  63. package/cjs/data/transforms/sankey.js.map +1 -1
  64. package/cjs/data/transforms/stack-split.d.ts +2 -1
  65. package/cjs/data/transforms/stack-split.js +1 -1
  66. package/cjs/data/transforms/stack-split.js.map +1 -1
  67. package/cjs/data/transforms/treemap.d.ts +5 -3
  68. package/cjs/data/transforms/treemap.js +7 -6
  69. package/cjs/data/transforms/treemap.js.map +1 -1
  70. package/cjs/data/transforms/venn.d.ts +4 -2
  71. package/cjs/data/transforms/venn.js +4 -4
  72. package/cjs/data/transforms/venn.js.map +1 -1
  73. package/cjs/data/transforms/waterfall.d.ts +4 -2
  74. package/cjs/data/transforms/waterfall.js +7 -7
  75. package/cjs/data/transforms/waterfall.js.map +1 -1
  76. package/cjs/series/base/base-series.js +2 -2
  77. package/cjs/series/base/base-series.js.map +1 -1
  78. package/cjs/series/box-plot/box-plot.js +2 -2
  79. package/cjs/series/box-plot/box-plot.js.map +1 -1
  80. package/cjs/series/correlation/correlation.js +13 -11
  81. package/cjs/series/correlation/correlation.js.map +1 -1
  82. package/cjs/series/dot/dot.d.ts +11 -0
  83. package/cjs/series/dot/dot.js +16 -1
  84. package/cjs/series/dot/dot.js.map +1 -1
  85. package/cjs/series/funnel/funnel.js +5 -8
  86. package/cjs/series/funnel/funnel.js.map +1 -1
  87. package/cjs/series/map/map.js +3 -3
  88. package/cjs/series/map/map.js.map +1 -1
  89. package/cjs/series/polar/progress-like/progress-like.d.ts +2 -0
  90. package/cjs/series/polar/progress-like/progress-like.js +16 -1
  91. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  92. package/cjs/series/polar/rose-like/rose-like.d.ts +2 -0
  93. package/cjs/series/polar/rose-like/rose-like.js +15 -1
  94. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  95. package/cjs/series/progress/circular/circular.js +2 -1
  96. package/cjs/series/progress/circular/circular.js.map +1 -1
  97. package/cjs/series/progress/linear/linear.js +3 -1
  98. package/cjs/series/progress/linear/linear.js.map +1 -1
  99. package/cjs/series/sankey/sankey.js +35 -33
  100. package/cjs/series/sankey/sankey.js.map +1 -1
  101. package/cjs/series/treemap/treemap.js +23 -20
  102. package/cjs/series/treemap/treemap.js.map +1 -1
  103. package/cjs/series/venn/venn.js +2 -2
  104. package/cjs/series/venn/venn.js.map +1 -1
  105. package/cjs/series/waterfall/waterfall.js +26 -20
  106. package/cjs/series/waterfall/waterfall.js.map +1 -1
  107. package/esm/chart/base/base-chart.d.ts +2 -0
  108. package/esm/chart/base/base-chart.js +25 -15
  109. package/esm/chart/base/base-chart.js.map +1 -1
  110. package/esm/chart/gauge/gauge-transformer.js +3 -2
  111. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  112. package/esm/chart/polar/polar-transformer.js +1 -1
  113. package/esm/chart/polar/polar-transformer.js.map +1 -1
  114. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  115. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  116. package/esm/chart/progress/circular/circular-progress-transformer.js +3 -2
  117. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  118. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  119. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  120. package/esm/chart/radar/radar-transformer.js +3 -2
  121. package/esm/chart/radar/radar-transformer.js.map +1 -1
  122. package/esm/chart/range-area/range-area-transformer.js +2 -2
  123. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  124. package/esm/chart/rose/rose-transformer.js +2 -1
  125. package/esm/chart/rose/rose-transformer.js.map +1 -1
  126. package/esm/component/axis/polar/band-axis.d.ts +2 -0
  127. package/esm/component/axis/polar/band-axis.js +3 -0
  128. package/esm/component/axis/polar/band-axis.js.map +1 -1
  129. package/esm/component/axis/polar/linear-axis.js +3 -0
  130. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  131. package/esm/component/index.js +2 -1
  132. package/esm/component/indicator/indicator.js +2 -2
  133. package/esm/component/indicator/indicator.js.map +1 -1
  134. package/esm/component/indicator/util.d.ts +4 -3
  135. package/esm/component/indicator/util.js +2 -2
  136. package/esm/component/indicator/util.js.map +1 -1
  137. package/esm/component/marker/base-marker.js +16 -6
  138. package/esm/component/marker/base-marker.js.map +1 -1
  139. package/esm/component/marker/mark-point/base-mark-point.js +19 -6
  140. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  141. package/esm/constant/attribute.js +1 -2
  142. package/esm/constant/scatter.js +2 -1
  143. package/esm/constant/waterfall.js +1 -2
  144. package/esm/data/transforms/box-plot.d.ts +4 -1
  145. package/esm/data/transforms/box-plot.js +4 -4
  146. package/esm/data/transforms/box-plot.js.map +1 -1
  147. package/esm/data/transforms/correlation-center.d.ts +11 -4
  148. package/esm/data/transforms/correlation-center.js +4 -2
  149. package/esm/data/transforms/correlation-center.js.map +1 -1
  150. package/esm/data/transforms/correlation.d.ts +18 -15
  151. package/esm/data/transforms/correlation.js +13 -8
  152. package/esm/data/transforms/correlation.js.map +1 -1
  153. package/esm/data/transforms/funnel.d.ts +10 -8
  154. package/esm/data/transforms/funnel.js +5 -3
  155. package/esm/data/transforms/funnel.js.map +1 -1
  156. package/esm/data/transforms/lookup.d.ts +3 -3
  157. package/esm/data/transforms/lookup.js +12 -6
  158. package/esm/data/transforms/lookup.js.map +1 -1
  159. package/esm/data/transforms/map.d.ts +8 -2
  160. package/esm/data/transforms/map.js +11 -6
  161. package/esm/data/transforms/map.js.map +1 -1
  162. package/esm/data/transforms/sankey.d.ts +12 -4
  163. package/esm/data/transforms/sankey.js +19 -14
  164. package/esm/data/transforms/sankey.js.map +1 -1
  165. package/esm/data/transforms/stack-split.d.ts +2 -1
  166. package/esm/data/transforms/stack-split.js +2 -2
  167. package/esm/data/transforms/stack-split.js.map +1 -1
  168. package/esm/data/transforms/treemap.d.ts +5 -3
  169. package/esm/data/transforms/treemap.js +8 -5
  170. package/esm/data/transforms/treemap.js.map +1 -1
  171. package/esm/data/transforms/venn.d.ts +4 -2
  172. package/esm/data/transforms/venn.js +5 -3
  173. package/esm/data/transforms/venn.js.map +1 -1
  174. package/esm/data/transforms/waterfall.d.ts +4 -2
  175. package/esm/data/transforms/waterfall.js +7 -8
  176. package/esm/data/transforms/waterfall.js.map +1 -1
  177. package/esm/series/base/base-series.js +2 -2
  178. package/esm/series/base/base-series.js.map +1 -1
  179. package/esm/series/box-plot/box-plot.js +2 -2
  180. package/esm/series/box-plot/box-plot.js.map +1 -1
  181. package/esm/series/correlation/correlation.js +13 -11
  182. package/esm/series/correlation/correlation.js.map +1 -1
  183. package/esm/series/dot/dot.d.ts +11 -0
  184. package/esm/series/dot/dot.js +17 -0
  185. package/esm/series/dot/dot.js.map +1 -1
  186. package/esm/series/funnel/funnel.js +5 -8
  187. package/esm/series/funnel/funnel.js.map +1 -1
  188. package/esm/series/map/map.js +3 -3
  189. package/esm/series/map/map.js.map +1 -1
  190. package/esm/series/polar/progress-like/progress-like.d.ts +2 -0
  191. package/esm/series/polar/progress-like/progress-like.js +17 -0
  192. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  193. package/esm/series/polar/rose-like/rose-like.d.ts +2 -0
  194. package/esm/series/polar/rose-like/rose-like.js +16 -0
  195. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  196. package/esm/series/progress/circular/circular.js +2 -1
  197. package/esm/series/progress/circular/circular.js.map +1 -1
  198. package/esm/series/progress/linear/linear.js +3 -1
  199. package/esm/series/progress/linear/linear.js.map +1 -1
  200. package/esm/series/sankey/sankey.js +35 -33
  201. package/esm/series/sankey/sankey.js.map +1 -1
  202. package/esm/series/treemap/treemap.js +23 -20
  203. package/esm/series/treemap/treemap.js.map +1 -1
  204. package/esm/series/venn/venn.js +2 -2
  205. package/esm/series/venn/venn.js.map +1 -1
  206. package/esm/series/waterfall/waterfall.js +26 -20
  207. package/esm/series/waterfall/waterfall.js.map +1 -1
  208. package/package.json +10 -10
package/build/index.es.js CHANGED
@@ -15769,13 +15769,11 @@ class Graphic extends Node {
15769
15769
  };
15770
15770
  }
15771
15771
  recomputeCurrentStatePatch() {
15772
- var _a, _b, _c, _d;
15772
+ var _a, _b;
15773
15773
  if (!(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length)) return this.effectiveStates = [], this.resolvedStatePatch = void 0, void this.syncSharedStateActiveRegistrations();
15774
- const stateResolveBaseAttrs = null !== (_b = this.baseAttributes) && void 0 !== _b ? _b : this.attribute,
15775
- stateModel = this.createStateModel();
15776
- null === (_c = this.stateEngine) || void 0 === _c || _c.setResolveContext(this, stateResolveBaseAttrs);
15777
- const transition = stateModel.useStates(this.currentStates),
15778
- effectiveStates = null !== (_d = transition.effectiveStates) && void 0 !== _d ? _d : transition.states,
15774
+ const stateResolveBaseAttrs = this.getStateResolveBaseAttrs(),
15775
+ transition = this.createStateModel(stateResolveBaseAttrs).useStates(this.currentStates),
15776
+ effectiveStates = null !== (_b = transition.effectiveStates) && void 0 !== _b ? _b : transition.states,
15779
15777
  resolvedStateAttrs = this.stateEngine && this.compiledStateDefinitions ? Object.assign({}, this.stateEngine.resolvedPatch) : this.getStateStyleResolver(this.stateMergeMode).resolve(stateResolveBaseAttrs, this.states, this.stateProxy, transition.states, this.stateSort);
15780
15778
  this.currentStates = transition.states, this.effectiveStates = [...effectiveStates], this.resolvedStatePatch = resolvedStateAttrs, this.syncSharedStateActiveRegistrations();
15781
15779
  }
@@ -16368,7 +16366,15 @@ class Graphic extends Node {
16368
16366
  var _a;
16369
16367
  return null === (_a = this.states) || void 0 === _a ? void 0 : _a[stateName];
16370
16368
  }
16371
- createStateModel() {
16369
+ getStateResolveBaseAttrs() {
16370
+ var _a;
16371
+ return null !== (_a = this.baseAttributes) && void 0 !== _a ? _a : this.attribute;
16372
+ }
16373
+ syncStateResolveContext(stateResolveBaseAttrs = this.getStateResolveBaseAttrs()) {
16374
+ var _a;
16375
+ return null === (_a = this.stateEngine) || void 0 === _a || _a.setResolveContext(this, stateResolveBaseAttrs), stateResolveBaseAttrs;
16376
+ }
16377
+ createStateModel(stateResolveBaseAttrs = this.getStateResolveBaseAttrs()) {
16372
16378
  const {
16373
16379
  compiledDefinitions: compiledDefinitions,
16374
16380
  stateProxyEligibility: stateProxyEligibility,
@@ -16381,7 +16387,7 @@ class Graphic extends Node {
16381
16387
  stateProxyEligibility: stateProxyEligibility,
16382
16388
  states: this.states,
16383
16389
  mergeMode: this.stateMergeMode
16384
- }), this.stateEngineCompiledDefinitions = compiledDefinitions, this.stateEngineStateProxy = this.stateProxy, this.stateEngineStateSort = this.stateSort, this.stateEngineMergeMode = this.stateMergeMode, this.stateEngineStateProxyModeKey = stateProxyModeKey) : (this.stateEngine = void 0, this.stateEngineCompiledDefinitions = void 0, this.stateEngineStateProxyModeKey = void 0), new StateModel({
16390
+ }), this.stateEngineCompiledDefinitions = compiledDefinitions, this.stateEngineStateProxy = this.stateProxy, this.stateEngineStateSort = this.stateSort, this.stateEngineMergeMode = this.stateMergeMode, this.stateEngineStateProxyModeKey = stateProxyModeKey) : (this.stateEngine = void 0, this.stateEngineCompiledDefinitions = void 0, this.stateEngineStateProxyModeKey = void 0), this.syncStateResolveContext(stateResolveBaseAttrs), new StateModel({
16385
16391
  states: this.states,
16386
16392
  currentStates: this.currentStates,
16387
16393
  stateSort: this.stateSort,
@@ -16451,18 +16457,18 @@ class Graphic extends Node {
16451
16457
  };
16452
16458
  }
16453
16459
  resolveGraphicStateTransition(states, previousStates, forceResolverRefresh = !1) {
16454
- var _a, _b, _c, _d;
16460
+ var _a, _b;
16455
16461
  let transition = this.resolveSimpleLocalStateTransition(states, previousStates);
16456
16462
  const isSimpleLocalTransition = !!transition;
16457
16463
  let resolvedStateAttrs;
16458
16464
  if (transition) resolvedStateAttrs = transition.resolvedStateAttrs;else {
16459
- const stateResolveBaseAttrs = null !== (_a = this.baseAttributes) && void 0 !== _a ? _a : this.attribute,
16460
- stateModel = this.createStateModel();
16461
- null === (_b = this.stateEngine) || void 0 === _b || _b.setResolveContext(this, stateResolveBaseAttrs), forceResolverRefresh && (null === (_c = this.stateEngine) || void 0 === _c || _c.invalidateResolverCache()), transition = stateModel.useStates(states), resolvedStateAttrs = this.stateEngine && this.compiledStateDefinitions ? Object.assign({}, this.stateEngine.resolvedPatch) : this.getStateStyleResolver(this.stateMergeMode).resolve(stateResolveBaseAttrs, this.states, this.stateProxy, transition.states, this.stateSort);
16465
+ const stateResolveBaseAttrs = this.getStateResolveBaseAttrs(),
16466
+ stateModel = this.createStateModel(stateResolveBaseAttrs);
16467
+ forceResolverRefresh && (null === (_a = this.stateEngine) || void 0 === _a || _a.invalidateResolverCache()), transition = stateModel.useStates(states), resolvedStateAttrs = this.stateEngine && this.compiledStateDefinitions ? Object.assign({}, this.stateEngine.resolvedPatch) : this.getStateStyleResolver(this.stateMergeMode).resolve(stateResolveBaseAttrs, this.states, this.stateProxy, transition.states, this.stateSort);
16462
16468
  }
16463
16469
  return {
16464
16470
  transition: transition,
16465
- effectiveStates: null !== (_d = transition.effectiveStates) && void 0 !== _d ? _d : transition.states,
16471
+ effectiveStates: null !== (_b = transition.effectiveStates) && void 0 !== _b ? _b : transition.states,
16466
16472
  resolvedStateAttrs: resolvedStateAttrs,
16467
16473
  isSimpleLocalTransition: isSimpleLocalTransition
16468
16474
  };
@@ -16633,10 +16639,10 @@ class Graphic extends Node {
16633
16639
  }
16634
16640
  }
16635
16641
  invalidateResolver() {
16636
- var _a, _b, _c;
16642
+ var _a, _b;
16637
16643
  if (!this.stateEngine || !(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) || !this.compiledStateDefinitions) return;
16638
- const stateResolveBaseAttrs = null !== (_b = this.baseAttributes) && void 0 !== _b ? _b : this.attribute;
16639
- this.stateEngine.setResolveContext(this, stateResolveBaseAttrs), this.resolverEpoch = (null !== (_c = this.resolverEpoch) && void 0 !== _c ? _c : 0) + 1, this.stateEngine.invalidateResolverCache();
16644
+ this.syncStateResolveContext();
16645
+ this.resolverEpoch = (null !== (_b = this.resolverEpoch) && void 0 !== _b ? _b : 0) + 1, this.stateEngine.invalidateResolverCache();
16640
16646
  const transition = this.stateEngine.applyStates(this.currentStates),
16641
16647
  resolvedStateAttrs = Object.assign({}, this.stateEngine.resolvedPatch);
16642
16648
  this.effectiveStates = [...transition.effectiveStates], this.resolvedStatePatch = resolvedStateAttrs, this.sharedStateDirty = !1, this.syncSharedStateActiveRegistrations(), this.stopStateAnimates(), this._restoreAttributeFromStaticTruth({
@@ -67802,32 +67808,35 @@ const getSpecInfo = (chartSpec, specKey, compType, filter) => {
67802
67808
  return specInfos;
67803
67809
  };
67804
67810
 
67811
+ const resolveOptionValue$3 = (option) => (isFunction$1(option) ? option() : option);
67805
67812
  const lookup = (data, opt) => {
67806
- if (!opt.from || !opt.from()) {
67813
+ var _a;
67814
+ const fromData = (_a = opt.from) === null || _a === void 0 ? void 0 : _a.call(opt);
67815
+ if (!fromData) {
67807
67816
  return data;
67808
67817
  }
67809
- const fields = opt.fields;
67818
+ const fields = resolveOptionValue$3(opt.fields);
67810
67819
  const key = opt.key;
67811
67820
  const values = opt.values;
67812
67821
  const defaultValue = opt.default;
67813
67822
  const as = opt.as || [fields];
67814
- const index = opt.from().reduce(function (map, obj) {
67823
+ const index = fromData.reduce(function (map, obj) {
67815
67824
  if (obj[fields]) {
67816
- map.set(obj[fields], obj);
67825
+ map.set(`${obj[fields]}`, obj);
67817
67826
  }
67818
67827
  return map;
67819
67828
  }, new Map());
67820
67829
  let set;
67821
67830
  if (isFunction$1(opt.set)) {
67822
67831
  set = function (d) {
67823
- const v = index.get(d[key]);
67832
+ const v = index.get(`${d[key]}`);
67824
67833
  opt.set(d, v);
67825
67834
  };
67826
67835
  }
67827
67836
  else if (values) {
67828
67837
  const m = values.length;
67829
67838
  set = function (d) {
67830
- const v = index.get(d[key]);
67839
+ const v = index.get(`${d[key]}`);
67831
67840
  if (isNil$1(v)) {
67832
67841
  for (let i = 0; i < m; ++i) {
67833
67842
  d[as[i]] = defaultValue;
@@ -67842,7 +67851,7 @@ const lookup = (data, opt) => {
67842
67851
  }
67843
67852
  else {
67844
67853
  set = function (d) {
67845
- const v = index.get(d[key]);
67854
+ const v = index.get(`${d[key]}`);
67846
67855
  d[as[0]] = isValid$1(v) ? v : defaultValue;
67847
67856
  };
67848
67857
  }
@@ -69143,9 +69152,9 @@ class BaseSeries extends BaseModel {
69143
69152
  });
69144
69153
  this._viewStackData.transform({
69145
69154
  type: 'stackSplit',
69146
- options: {
69155
+ options: () => ({
69147
69156
  fields: this.getStackGroupFields()
69148
- }
69157
+ })
69149
69158
  }, false);
69150
69159
  }
69151
69160
  _noAnimationDataKey(datum, index) {
@@ -75968,17 +75977,10 @@ const MARKER_COMPONENT_SPEC_KEYS = {
75968
75977
  [ComponentTypeEnum.markArea]: true
75969
75978
  };
75970
75979
  const MARKER_ADDITION_REMAKE_SPEC_KEYS = {
75971
- autoRange: true,
75972
75980
  regionId: true,
75973
75981
  regionIndex: true,
75974
75982
  seriesId: true,
75975
75983
  seriesIndex: true,
75976
- relativeSeriesId: true,
75977
- relativeSeriesIndex: true,
75978
- startRelativeSeriesId: true,
75979
- startRelativeSeriesIndex: true,
75980
- endRelativeSeriesId: true,
75981
- endRelativeSeriesIndex: true,
75982
75984
  specifiedDataSeriesId: true,
75983
75985
  specifiedDataSeriesIndex: true
75984
75986
  };
@@ -76157,10 +76159,14 @@ class BaseChart extends CompilableBase {
76157
76159
  return this._components.filter(c => c.type === type);
76158
76160
  };
76159
76161
  this._isMarkerAdditionSpecSafeWithoutRemake = (spec) => {
76160
- if (!spec || typeof spec !== 'object' || spec.visible === false) {
76162
+ if (!spec || typeof spec !== 'object') {
76163
+ return false;
76164
+ }
76165
+ const markerSpec = spec;
76166
+ if (markerSpec.visible === false) {
76161
76167
  return false;
76162
76168
  }
76163
- return !Object.keys(MARKER_ADDITION_REMAKE_SPEC_KEYS).some(key => !isNil$1(spec[key]));
76169
+ return !Object.keys(MARKER_ADDITION_REMAKE_SPEC_KEYS).some(key => !isNil$1(markerSpec[key]));
76164
76170
  };
76165
76171
  this._paddingSpec = normalizeLayoutPaddingSpec((_a = spec.padding) !== null && _a !== void 0 ? _a : option.getTheme('padding'));
76166
76172
  this._event = new Event$1(option.eventDispatcher, option.mode);
@@ -76597,6 +76603,9 @@ class BaseChart extends CompilableBase {
76597
76603
  const onlyMarkerComponentsRemoved = this._isOnlyMarkerComponentsRemoved(this._spec, spec, currentKeys);
76598
76604
  const onlyComponentSpecsChanged = this._isOnlyComponentSpecsChanged(this._spec, spec, currentKeys);
76599
76605
  const onlySeriesSpecsChanged = this._isOnlySeriesSpecsChanged(this._spec, spec, currentKeys);
76606
+ const onlyComponentOrSeriesSpecsChanged = onlyComponentSpecsChanged || onlySeriesSpecsChanged
76607
+ ? true
76608
+ : this._isOnlyComponentOrSeriesSpecsChanged(this._spec, spec, currentKeys);
76600
76609
  this._spec = spec;
76601
76610
  if (onlyMarkerComponentsRemoved) {
76602
76611
  this._removeMarkerComponentsForEmptySpecs(result);
@@ -76645,7 +76654,7 @@ class BaseChart extends CompilableBase {
76645
76654
  return result;
76646
76655
  }
76647
76656
  this.reInit();
76648
- if (!onlySeriesSpecsChanged || !this._canSkipChartDataStages(result)) {
76657
+ if (!onlyComponentOrSeriesSpecsChanged || !this._canSkipChartDataStages(result)) {
76649
76658
  this.updateDataSpec();
76650
76659
  this.reDataFlow();
76651
76660
  this._reRunStackDataFlow();
@@ -76778,6 +76787,9 @@ class BaseChart extends CompilableBase {
76778
76787
  }
76779
76788
  return nextSpec.slice(currentSpec.length).every(this._isMarkerAdditionSpecSafeWithoutRemake);
76780
76789
  }
76790
+ _isAutoRangeMarkerSpec(spec) {
76791
+ return !!spec && typeof spec === 'object' && spec.autoRange === true;
76792
+ }
76781
76793
  _canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76782
76794
  return (MARKER_COMPONENT_SPEC_KEYS[key] &&
76783
76795
  isArray$1(currentSpec) &&
@@ -76838,6 +76850,24 @@ class BaseChart extends CompilableBase {
76838
76850
  });
76839
76851
  return hasSeriesSpecChange && onlySeriesSpecChange;
76840
76852
  }
76853
+ _isOnlyComponentOrSeriesSpecsChanged(currentSpec, nextSpec, specKeys) {
76854
+ var _a, _b;
76855
+ let hasComponentOrSeriesSpecChange = false;
76856
+ const currentSpecRecord = currentSpec;
76857
+ const nextSpecRecord = nextSpec;
76858
+ const seriesRelatedSpecKeys = (_b = (_a = this._specTransformer) === null || _a === void 0 ? void 0 : _a.getSeriesRelatedSpecKeys()) !== null && _b !== void 0 ? _b : {};
76859
+ const onlyComponentOrSeriesSpecChange = specKeys.every(key => {
76860
+ if (isEqual(currentSpecRecord[key], nextSpecRecord[key])) {
76861
+ return true;
76862
+ }
76863
+ if (this._isComponentSpecKey(key) || seriesRelatedSpecKeys[key]) {
76864
+ hasComponentOrSeriesSpecChange = true;
76865
+ return true;
76866
+ }
76867
+ return false;
76868
+ });
76869
+ return hasComponentOrSeriesSpecChange && onlyComponentOrSeriesSpecChange;
76870
+ }
76841
76871
  _canSkipChartDataStages(result) {
76842
76872
  const effects = result.effects;
76843
76873
  return !!(effects === null || effects === void 0 ? void 0 : effects.series) && !effects.remake && !effects.data && !effects.scaleDomain && !result.reMake;
@@ -76886,6 +76916,7 @@ class BaseChart extends CompilableBase {
76886
76916
  _createMissingMarkerComponentsForSpecs(result, componentCache) {
76887
76917
  var _a;
76888
76918
  let createdCount = 0;
76919
+ let hasAutoRangeMarker = false;
76889
76920
  (_a = this._specTransformer) === null || _a === void 0 ? void 0 : _a.forEachComponentInSpec(this._spec, (constructor, specInfo) => {
76890
76921
  if (result.reMake) {
76891
76922
  return;
@@ -76903,12 +76934,13 @@ class BaseChart extends CompilableBase {
76903
76934
  componentCache[compSpecKey].componentCount++;
76904
76935
  }
76905
76936
  createdCount++;
76937
+ hasAutoRangeMarker = hasAutoRangeMarker || this._isAutoRangeMarkerSpec(specInfo.spec);
76906
76938
  }, this._option.getSpecInfo());
76907
76939
  if (!createdCount) {
76908
76940
  return;
76909
76941
  }
76910
76942
  result.change = true;
76911
- result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
76943
+ result.effects = Object.assign(Object.assign(Object.assign(Object.assign({}, result.effects), { component: true }), (hasAutoRangeMarker ? { scaleDomain: true } : null)), { layout: true, render: true });
76912
76944
  }
76913
76945
  _removeMarkerComponentsForEmptySpecs(result) {
76914
76946
  const removedComponents = this._components.filter(component => {
@@ -77739,7 +77771,7 @@ const stackSplit = (data, op) => {
77739
77771
  const result = {
77740
77772
  nodes: {}
77741
77773
  };
77742
- const { fields } = op;
77774
+ const { fields } = isFunction$1(op) ? op() : op;
77743
77775
  if (!(fields === null || fields === void 0 ? void 0 : fields.length)) {
77744
77776
  return result;
77745
77777
  }
@@ -80597,20 +80629,23 @@ class GeoSeries extends BaseSeries {
80597
80629
  }
80598
80630
 
80599
80631
  const map$1 = (data, opt) => {
80600
- if (data.features) {
80601
- data.features.forEach((f, index) => {
80602
- var _a;
80632
+ const options = isFunction$1(opt) ? opt() : opt;
80633
+ const features = data.features;
80634
+ if (features) {
80635
+ features.forEach((f, index) => {
80636
+ var _a, _b;
80603
80637
  f[DEFAULT_DATA_INDEX] = index;
80604
- const name = (_a = f.properties) === null || _a === void 0 ? void 0 : _a[opt.nameProperty];
80605
- if (opt.nameMap && opt.nameMap[name]) {
80606
- f[DEFAULT_MAP_LOOK_UP_KEY] = opt.nameMap[name];
80638
+ const name = (_a = f.properties) === null || _a === void 0 ? void 0 : _a[options.nameProperty];
80639
+ const mappedName = (_b = options.nameMap) === null || _b === void 0 ? void 0 : _b[`${name}`];
80640
+ if (mappedName) {
80641
+ f[DEFAULT_MAP_LOOK_UP_KEY] = mappedName;
80607
80642
  }
80608
80643
  else {
80609
80644
  f[DEFAULT_MAP_LOOK_UP_KEY] = name;
80610
80645
  }
80611
80646
  });
80612
80647
  }
80613
- return data.features;
80648
+ return features;
80614
80649
  };
80615
80650
 
80616
80651
  class MapSeriesTooltipHelper extends BaseSeriesTooltipHelper {
@@ -81517,17 +81552,17 @@ class MapSeries extends GeoSeries {
81517
81552
  .transform({ type: 'copyDataView', options: { deep: true }, level: TransformLevel.copyDataView })
81518
81553
  .transform({
81519
81554
  type: 'map',
81520
- options: {
81555
+ options: () => ({
81521
81556
  nameMap: this._nameMap,
81522
81557
  nameProperty: this._nameProperty
81523
- }
81558
+ })
81524
81559
  })
81525
81560
  .transform({
81526
81561
  type: 'lookup',
81527
81562
  options: {
81528
81563
  from: () => { var _a; return (_a = this._data) === null || _a === void 0 ? void 0 : _a.getLatestData(); },
81529
81564
  key: DEFAULT_MAP_LOOK_UP_KEY,
81530
- fields: this._nameField,
81565
+ fields: () => this._nameField,
81531
81566
  set: (feature, datum) => {
81532
81567
  if (datum) {
81533
81568
  Object.keys(datum).forEach(key => {
@@ -81746,7 +81781,8 @@ const waterfall$1 = (lastData, op) => {
81746
81781
  if (!lastData || lastData.length === 0) {
81747
81782
  return lastData;
81748
81783
  }
81749
- const { indexField, total: totalSpec, groupData, calculationMode } = op;
81784
+ const options = isFunction$1(op) ? op() : op;
81785
+ const { indexField, total: totalSpec, groupData, calculationMode } = options;
81750
81786
  const totalData = [];
81751
81787
  const { dimensionValues, dimensionData } = groupData().latestData;
81752
81788
  let indexValues = Array.from(dimensionValues[indexField]);
@@ -81771,7 +81807,7 @@ const waterfall$1 = (lastData, op) => {
81771
81807
  positive: temp.end,
81772
81808
  negative: temp.end
81773
81809
  };
81774
- const indexData = op.stackInverse === true ? dimensionData[key].reverse() : dimensionData[key];
81810
+ const indexData = options.stackInverse === true ? dimensionData[key].reverse() : dimensionData[key];
81775
81811
  indexData === null || indexData === void 0 ? void 0 : indexData.forEach((d, i) => {
81776
81812
  if (i === indexData.length - 1) {
81777
81813
  d[STACK_FIELD_TOTAL_TOP] = true;
@@ -81795,12 +81831,12 @@ const waterfall$1 = (lastData, op) => {
81795
81831
  };
81796
81832
  const isTotalTag = indexData.some(d => isTotalCheck(d));
81797
81833
  if (isTotalTag) {
81798
- temp = computeTotalWithMultipleData(indexData, key, total, totalData, temp, indexValues, index, op, isTotalCheck);
81834
+ temp = computeTotalWithMultipleData(indexData, key, total, totalData, temp, indexValues, index, options, isTotalCheck);
81799
81835
  totalData.push(total);
81800
81836
  return;
81801
81837
  }
81802
81838
  }
81803
- temp = computeNormalData(indexData, key, total, totalData, temp, indexValues, index, op);
81839
+ temp = computeNormalData(indexData, key, total, totalData, temp, indexValues, index, options);
81804
81840
  totalData.push(total);
81805
81841
  });
81806
81842
  return totalData;
@@ -81971,7 +82007,7 @@ const waterfallFillTotal = (data, op) => {
81971
82007
  if (!data) {
81972
82008
  return data;
81973
82009
  }
81974
- const { indexField, valueField, total, seriesField, calculationMode } = op;
82010
+ const { indexField, valueField, total, seriesField, calculationMode } = isFunction$1(op) ? op() : op;
81975
82011
  const totalData = {
81976
82012
  [indexField]: (total === null || total === void 0 ? void 0 : total.text) || 'total',
81977
82013
  [valueField]: data.reduce((pre, cur) => precisionAdd(pre, +cur[valueField]), 0)
@@ -81980,12 +82016,9 @@ const waterfallFillTotal = (data, op) => {
81980
82016
  totalData[seriesField] = 'total';
81981
82017
  }
81982
82018
  if (calculationMode === 'decrease') {
81983
- data.unshift(totalData);
82019
+ return [totalData, ...data];
81984
82020
  }
81985
- else {
81986
- data.push(totalData);
81987
- }
81988
- return data;
82021
+ return [...data, totalData];
81989
82022
  };
81990
82023
 
81991
82024
  const Appear_FadeIn$6 = {
@@ -82648,21 +82681,24 @@ class WaterfallSeries extends BarSeries {
82648
82681
  return super.getSeriesKeys();
82649
82682
  }
82650
82683
  initData() {
82651
- var _a, _b, _c;
82684
+ var _a;
82652
82685
  super.initData();
82653
82686
  registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);
82654
82687
  registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall$1);
82655
82688
  if (isNil$1(this._spec.total) || this._spec.total.type === 'end') {
82656
82689
  (_a = this._rawData) === null || _a === void 0 ? void 0 : _a.transform({
82657
82690
  type: 'waterfallFillTotal',
82658
- options: {
82659
- indexField: this.getGroupFields()[0],
82660
- valueField: this.getStackValueField(),
82661
- seriesField: this.getSeriesField(),
82662
- seriesFieldName: this._theme.seriesFieldName,
82663
- total: this._spec.total,
82664
- calculationMode: (_b = this._spec.calculationMode) !== null && _b !== void 0 ? _b : 'increase',
82665
- stackInverse: this.getRegion().getStackInverse()
82691
+ options: () => {
82692
+ var _a;
82693
+ return ({
82694
+ indexField: this.getGroupFields()[0],
82695
+ valueField: this.getStackValueField(),
82696
+ seriesField: this.getSeriesField(),
82697
+ seriesFieldName: this._theme.seriesFieldName,
82698
+ total: this._spec.total,
82699
+ calculationMode: (_a = this._spec.calculationMode) !== null && _a !== void 0 ? _a : 'increase',
82700
+ stackInverse: this.getRegion().getStackInverse()
82701
+ });
82666
82702
  }
82667
82703
  }, false);
82668
82704
  }
@@ -82673,17 +82709,20 @@ class WaterfallSeries extends BarSeries {
82673
82709
  this._totalData = new CompilableData(this._option, totalData);
82674
82710
  totalData.transform({
82675
82711
  type: 'waterfall',
82676
- options: {
82677
- indexField: this.getGroupFields()[0],
82678
- valueField: this.getStackValueField(),
82679
- seriesField: this.getSeriesField(),
82680
- seriesFieldName: this._theme.seriesFieldName,
82681
- startAs: STACK_FIELD_START,
82682
- endAs: STACK_FIELD_END,
82683
- total: this._spec.total,
82684
- calculationMode: (_c = this._spec.calculationMode) !== null && _c !== void 0 ? _c : 'increase',
82685
- groupData: () => this.getGroups().groupData,
82686
- stackInverse: this.getRegion().getStackInverse()
82712
+ options: () => {
82713
+ var _a;
82714
+ return ({
82715
+ indexField: this.getGroupFields()[0],
82716
+ valueField: this.getStackValueField(),
82717
+ seriesField: this.getSeriesField(),
82718
+ seriesFieldName: this._theme.seriesFieldName,
82719
+ startAs: STACK_FIELD_START,
82720
+ endAs: STACK_FIELD_END,
82721
+ total: this._spec.total,
82722
+ calculationMode: (_a = this._spec.calculationMode) !== null && _a !== void 0 ? _a : 'increase',
82723
+ groupData: () => this.getGroups().groupData,
82724
+ stackInverse: this.getRegion().getStackInverse()
82725
+ });
82687
82726
  }
82688
82727
  }, false);
82689
82728
  totalData.target.addListener('change', this._reStackTotal);
@@ -82874,13 +82913,12 @@ var BOX_PLOT_TOOLTIP_KEYS;
82874
82913
 
82875
82914
  const foldOutlierData = (data, op) => {
82876
82915
  const result = [];
82877
- const { outliersField, dimensionField, seriesField } = op;
82916
+ const options = isFunction$1(op) ? op() : op;
82917
+ const { outliersField, dimensionField, seriesField } = options;
82878
82918
  const latestData = data[0].latestData || [];
82879
- latestData.forEach((d) => {
82880
- let outlierValues = d[outliersField];
82881
- if (!isArray$1(outlierValues)) {
82882
- outlierValues = [outlierValues];
82883
- }
82919
+ latestData.forEach(d => {
82920
+ const rawOutlierValues = d[outliersField];
82921
+ const outlierValues = isArray$1(rawOutlierValues) ? rawOutlierValues : [rawOutlierValues];
82884
82922
  result.push(...outlierValues.map((v) => {
82885
82923
  const resData = {
82886
82924
  [BOX_PLOT_OUTLIER_VALUE_FIELD]: v
@@ -83869,11 +83907,11 @@ class BoxPlotSeries extends CartesianSeries {
83869
83907
  outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;
83870
83908
  outlierDataView.transform({
83871
83909
  type: 'foldOutlierData',
83872
- options: {
83910
+ options: () => ({
83873
83911
  dimensionField: this._direction === "horizontal" ? this._fieldY : this._fieldX,
83874
83912
  outliersField: this._outliersField,
83875
83913
  seriesField: this._seriesField
83876
- }
83914
+ })
83877
83915
  });
83878
83916
  outlierDataView.transform({
83879
83917
  type: 'addVChartProperty',
@@ -85560,7 +85598,20 @@ const registerRoseAnimation = () => {
85560
85598
  });
85561
85599
  };
85562
85600
 
85601
+ const ROSE_LIKE_SERIES_COMPILE_ONLY_KEYS = {
85602
+ radius: true,
85603
+ outerRadius: true,
85604
+ innerRadius: true,
85605
+ startAngle: true,
85606
+ endAngle: true,
85607
+ centerX: true,
85608
+ centerY: true
85609
+ };
85563
85610
  class RoseLikeSeries extends PolarSeries {
85611
+ _getSpecUpdatePolicy() {
85612
+ const policy = super._getSpecUpdatePolicy();
85613
+ return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), ROSE_LIKE_SERIES_COMPILE_ONLY_KEYS) });
85614
+ }
85564
85615
  getStackGroupFields() {
85565
85616
  return this._angleField;
85566
85617
  }
@@ -86028,8 +86079,11 @@ class PolarLinearAxis extends PolarAxis {
86028
86079
  this._scale = new LinearScale();
86029
86080
  }
86030
86081
  setAttrFromSpec() {
86082
+ var _a, _b;
86031
86083
  super.setAttrFromSpec();
86032
86084
  this.setExtraAttrFromSpec();
86085
+ const tickTransform = (_b = (_a = this._tickData) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.getDataView().transformsArr.find(t => t.type === this.registerTicksTransform());
86086
+ tickTransform && (tickTransform.options = this._tickTransformOption());
86033
86087
  }
86034
86088
  initScales() {
86035
86089
  super.initScales();
@@ -86100,6 +86154,10 @@ class PolarBandAxis extends PolarAxis {
86100
86154
  super.initScales();
86101
86155
  this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);
86102
86156
  }
86157
+ reInit(spec) {
86158
+ super.reInit(spec);
86159
+ this._updateData();
86160
+ }
86103
86161
  registerTicksTransform() {
86104
86162
  const name = `${this.type}-ticks`;
86105
86163
  registerDataSetInstanceTransform(this._option.dataSet, name, polarAngleAxisDiscreteTicks);
@@ -86785,6 +86843,16 @@ const dot = {
86785
86843
  }
86786
86844
  };
86787
86845
 
86846
+ const DOT_SERIES_COMPILE_ONLY_KEYS = {
86847
+ highLightSeriesGroup: true,
86848
+ titleField: true,
86849
+ subTitleField: true
86850
+ };
86851
+ const DOT_SERIES_COMPILE_ONLY_SUB_KEYS = {
86852
+ grid: {
86853
+ background: true
86854
+ }
86855
+ };
86788
86856
  class DotSeries extends CartesianSeries {
86789
86857
  constructor() {
86790
86858
  super(...arguments);
@@ -86835,6 +86903,10 @@ class DotSeries extends CartesianSeries {
86835
86903
  this._gridBackground = gridBackground;
86836
86904
  }
86837
86905
  }
86906
+ _getSpecUpdatePolicy() {
86907
+ const policy = super._getSpecUpdatePolicy();
86908
+ return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), DOT_SERIES_COMPILE_ONLY_KEYS), compileOnlySubKeys: Object.assign(Object.assign({}, policy.compileOnlySubKeys), DOT_SERIES_COMPILE_ONLY_SUB_KEYS) });
86909
+ }
86838
86910
  initData() {
86839
86911
  var _a;
86840
86912
  super.initData();
@@ -87434,6 +87506,16 @@ const registerLinkSeries = () => {
87434
87506
 
87435
87507
  const progressLikeSeriesMark = Object.assign(Object.assign({}, baseSeriesMark), { ["group"]: { name: "group", type: "group" } });
87436
87508
 
87509
+ const PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS = {
87510
+ radius: true,
87511
+ outerRadius: true,
87512
+ innerRadius: true,
87513
+ startAngle: true,
87514
+ endAngle: true,
87515
+ centerX: true,
87516
+ centerY: true,
87517
+ clamp: true
87518
+ };
87437
87519
  class ProgressLikeSeries extends PolarSeries {
87438
87520
  constructor() {
87439
87521
  super(...arguments);
@@ -87499,6 +87581,10 @@ class ProgressLikeSeries extends PolarSeries {
87499
87581
  return this._getAngleValueEndWithoutMask(datum);
87500
87582
  };
87501
87583
  }
87584
+ _getSpecUpdatePolicy() {
87585
+ const policy = super._getSpecUpdatePolicy();
87586
+ return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS) });
87587
+ }
87502
87588
  setAttrFromSpec() {
87503
87589
  var _a, _b, _c;
87504
87590
  super.setAttrFromSpec();
@@ -87714,7 +87800,8 @@ const circularProgress = {
87714
87800
  };
87715
87801
 
87716
87802
  const CIRCULAR_PROGRESS_SERIES_COMPILE_ONLY_KEYS = {
87717
- cornerRadius: true
87803
+ cornerRadius: true,
87804
+ roundCap: true
87718
87805
  };
87719
87806
  class CircularProgressSeries extends ProgressLikeSeries {
87720
87807
  constructor() {
@@ -87941,7 +88028,9 @@ const linearProgress = {
87941
88028
  };
87942
88029
 
87943
88030
  const LINEAR_PROGRESS_SERIES_COMPILE_ONLY_KEYS = {
87944
- bandWidth: true
88031
+ bandWidth: true,
88032
+ cornerRadius: true,
88033
+ clamp: true
87945
88034
  };
87946
88035
  const LINEAR_PROGRESS_SERIES_COMPILE_ONLY_SUB_KEYS = {
87947
88036
  progress: {
@@ -94012,16 +94101,21 @@ const registerWordCloudShapeSeries = () => {
94012
94101
  registerWordCloudSeries();
94013
94102
  };
94014
94103
 
94104
+ const resolveOptionValue$2 = (option) => (isFunction$1(option) ? option() : option);
94015
94105
  const funnel = (originData, op) => {
94016
- var _a, _b;
94106
+ var _a, _b, _c, _d;
94017
94107
  const data = originData.map(datum => (Object.assign({}, datum)));
94018
94108
  if (!data || data.length === 0) {
94019
94109
  return data;
94020
94110
  }
94021
- const { valueField, asTransformRatio, asReachRatio, asHeightRatio, asValueRatio, asNextValueRatio, asLastValueRatio, asLastValue, asCurrentValue, asNextValue, heightVisual = false, isCone = true, range } = op;
94111
+ const { asTransformRatio, asReachRatio, asHeightRatio, asValueRatio, asNextValueRatio, asLastValueRatio, asLastValue, asCurrentValue, asNextValue, } = op;
94112
+ const valueField = resolveOptionValue$2(op.valueField);
94113
+ const heightVisual = (_a = resolveOptionValue$2(op.heightVisual)) !== null && _a !== void 0 ? _a : false;
94114
+ const isCone = (_b = resolveOptionValue$2(op.isCone)) !== null && _b !== void 0 ? _b : true;
94115
+ const range = resolveOptionValue$2(op.range);
94022
94116
  const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[valueField]) || -Infinity), -Infinity);
94023
94117
  const min = data.reduce((m, d) => Math.min(m, Number.parseFloat(d[valueField]) || Infinity), Infinity);
94024
- const rangeArr = [(_a = range === null || range === void 0 ? void 0 : range.min) !== null && _a !== void 0 ? _a : min, (_b = range === null || range === void 0 ? void 0 : range.max) !== null && _b !== void 0 ? _b : max];
94118
+ const rangeArr = [(_c = range === null || range === void 0 ? void 0 : range.min) !== null && _c !== void 0 ? _c : min, (_d = range === null || range === void 0 ? void 0 : range.max) !== null && _d !== void 0 ? _d : max];
94025
94119
  data.forEach((d, i) => {
94026
94120
  var _a, _b;
94027
94121
  const currentValue = Number.parseFloat(d[valueField]);
@@ -94049,7 +94143,7 @@ const funnelTransform = (originData, op) => {
94049
94143
  return data;
94050
94144
  }
94051
94145
  data.shift();
94052
- data.forEach((d) => {
94146
+ data.forEach(d => {
94053
94147
  d[op.asIsTransformLevel] = true;
94054
94148
  });
94055
94149
  return data;
@@ -94227,13 +94321,13 @@ class FunnelSeries extends BaseSeries {
94227
94321
  return fields;
94228
94322
  }
94229
94323
  _statisticViewData() {
94230
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
94324
+ var _a;
94231
94325
  super._statisticViewData();
94232
94326
  this._data.getDataView().transform({
94233
94327
  type: 'funnel',
94234
94328
  options: {
94235
- valueField: this.getValueField(),
94236
- isCone: this._spec.isCone,
94329
+ valueField: () => this.getValueField(),
94330
+ isCone: () => this._spec.isCone,
94237
94331
  asCurrentValue: FUNNEL_CURRENT_VALUE,
94238
94332
  asTransformRatio: FUNNEL_TRANSFORM_RATIO,
94239
94333
  asReachRatio: FUNNEL_REACH_RATIO,
@@ -94243,13 +94337,10 @@ class FunnelSeries extends BaseSeries {
94243
94337
  asLastValueRatio: FUNNEL_LAST_VALUE_RATIO,
94244
94338
  asLastValue: FUNNEL_LAST_VALUE,
94245
94339
  asNextValue: FUNNEL_NEXT_VALUE,
94246
- range: {
94247
- min: (_b = (_a = this._spec.range) === null || _a === void 0 ? void 0 : _a.min) !== null && _b !== void 0 ? _b : (_d = (_c = this.getViewDataStatistics().latestData) === null || _c === void 0 ? void 0 : _c[this.getValueField()]) === null || _d === void 0 ? void 0 : _d.min,
94248
- max: (_f = (_e = this._spec.range) === null || _e === void 0 ? void 0 : _e.max) !== null && _f !== void 0 ? _f : (_h = (_g = this.getViewDataStatistics().latestData) === null || _g === void 0 ? void 0 : _g[this.getValueField()]) === null || _h === void 0 ? void 0 : _h.max
94249
- }
94340
+ range: () => this._spec.range
94250
94341
  }
94251
94342
  });
94252
- (_j = this._viewDataTransform.getDataView()) === null || _j === void 0 ? void 0 : _j.transform({
94343
+ (_a = this._viewDataTransform.getDataView()) === null || _a === void 0 ? void 0 : _a.transform({
94253
94344
  type: 'funnelTransform',
94254
94345
  options: { asIsTransformLevel: FUNNEL_TRANSFORM_LEVEL }
94255
94346
  });
@@ -95668,7 +95759,7 @@ const registerCirclePackingSeries = () => {
95668
95759
  };
95669
95760
 
95670
95761
  const collectHierarchyField = (set, data, field) => {
95671
- data.forEach((obj) => {
95762
+ data.forEach(obj => {
95672
95763
  if (!isNil$1(obj[field])) {
95673
95764
  set.add(obj[field]);
95674
95765
  }
@@ -95687,7 +95778,7 @@ const sankeyFormat = (data) => {
95687
95778
  links: [],
95688
95779
  nodes: []
95689
95780
  };
95690
- data.forEach((datum) => {
95781
+ data.forEach(datum => {
95691
95782
  if (datum.id === 'links' || datum.id === 'nodes') {
95692
95783
  updateData[datum.id] = datum.values;
95693
95784
  }
@@ -95700,10 +95791,11 @@ const sankeyFormat = (data) => {
95700
95791
  return data;
95701
95792
  };
95702
95793
  const sankeyLayout = (data, op) => {
95703
- if (!data || !(op === null || op === void 0 ? void 0 : op.view) || !data.length) {
95794
+ const options = isFunction$1(op) ? op() : op;
95795
+ if (!data || !(options === null || options === void 0 ? void 0 : options.view) || !data.length) {
95704
95796
  return [];
95705
95797
  }
95706
- const view = op.view();
95798
+ const view = options.view();
95707
95799
  if (view.x1 - view.x0 === 0 ||
95708
95800
  view.y1 - view.y0 === 0 ||
95709
95801
  view.x1 - view.x0 === -Infinity ||
@@ -95713,35 +95805,41 @@ const sankeyLayout = (data, op) => {
95713
95805
  return [];
95714
95806
  }
95715
95807
  const originalData = data[0];
95716
- if (op.sourceField !== 'source' || op.targetField !== 'target' || op.valueField !== 'value') {
95717
- if (originalData.links) {
95718
- const updatedData = [];
95719
- originalData.links.forEach((datum) => {
95720
- const updatedDatum = {};
95721
- for (const key in datum) {
95722
- if (key === op.sourceField) {
95723
- updatedDatum.source = datum[op.sourceField];
95724
- }
95725
- else if (key === op.targetField) {
95726
- updatedDatum.target = datum[op.targetField];
95727
- }
95728
- else if (key === op.valueField) {
95729
- updatedDatum.value = datum[op.valueField];
95730
- }
95731
- else {
95732
- updatedDatum[key] = datum[key];
95733
- }
95734
- }
95735
- updatedData.push(updatedDatum);
95736
- });
95737
- originalData.links = updatedData;
95738
- }
95739
- }
95740
- const layout = new SankeyLayout(op);
95808
+ const layoutData = normalizeSankeyData(originalData, options);
95809
+ const layout = new SankeyLayout(options);
95741
95810
  const result = [];
95742
- result.push(layout.layout(originalData, view));
95811
+ result.push(layout.layout(layoutData, view));
95743
95812
  return result;
95744
95813
  };
95814
+ const normalizeSankeyData = (data, options) => {
95815
+ if (options.sourceField === 'source' &&
95816
+ options.targetField === 'target' &&
95817
+ options.valueField === 'value') {
95818
+ return data;
95819
+ }
95820
+ const links = data.links;
95821
+ if (!links) {
95822
+ return data;
95823
+ }
95824
+ return Object.assign(Object.assign({}, data), { links: links.map(link => {
95825
+ const updatedLink = {};
95826
+ Object.keys(link).forEach(key => {
95827
+ if (key === options.sourceField) {
95828
+ updatedLink.source = link[options.sourceField];
95829
+ }
95830
+ else if (key === options.targetField) {
95831
+ updatedLink.target = link[options.targetField];
95832
+ }
95833
+ else if (key === options.valueField) {
95834
+ updatedLink.value = link[options.valueField];
95835
+ }
95836
+ else {
95837
+ updatedLink[key] = link[key];
95838
+ }
95839
+ });
95840
+ return updatedLink;
95841
+ }) });
95842
+ };
95745
95843
 
95746
95844
  const sankeyNodes = (data) => {
95747
95845
  var _a, _b;
@@ -96591,7 +96689,6 @@ class SankeySeries extends CartesianSeries {
96591
96689
  this.setSeriesField((_a = this._spec.seriesField) !== null && _a !== void 0 ? _a : this._spec.categoryField);
96592
96690
  }
96593
96691
  initData() {
96594
- var _a, _b, _c, _d;
96595
96692
  super.initData();
96596
96693
  const viewData = this.getViewData();
96597
96694
  const rawData = this.getRawData();
@@ -96603,40 +96700,43 @@ class SankeySeries extends CartesianSeries {
96603
96700
  }, false);
96604
96701
  viewData.transform({
96605
96702
  type: 'sankeyLayout',
96606
- options: {
96607
- view: () => {
96608
- return {
96609
- x0: this._viewBox.x1,
96610
- x1: this._viewBox.x2,
96611
- y0: this._viewBox.y1,
96612
- y1: this._viewBox.y2
96613
- };
96614
- },
96615
- sourceField: this._spec.sourceField,
96616
- targetField: this._spec.targetField,
96617
- valueField: this._spec.valueField,
96618
- direction: this.direction,
96619
- crossNodeAlign: this._spec.crossNodeAlign,
96620
- nodeAlign: (_a = this._spec.nodeAlign) !== null && _a !== void 0 ? _a : 'justify',
96621
- nodeGap: (_b = this._spec.nodeGap) !== null && _b !== void 0 ? _b : 8,
96622
- nodeWidth: (_c = this._spec.nodeWidth) !== null && _c !== void 0 ? _c : 10,
96623
- linkWidth: this._spec.linkWidth,
96624
- minStepWidth: this._spec.minStepWidth,
96625
- minNodeHeight: (_d = this._spec.minNodeHeight) !== null && _d !== void 0 ? _d : 4,
96626
- maxNodeHeight: this._spec.maxNodeHeight,
96627
- minLinkHeight: this._spec.minLinkHeight,
96628
- maxLinkHeight: this._spec.maxLinkHeight,
96629
- iterations: this._spec.iterations,
96630
- nodeKey: this._spec.nodeKey,
96631
- linkSortBy: this._spec.linkSortBy,
96632
- nodeSortBy: this._spec.nodeSortBy,
96633
- setNodeLayer: this._spec.setNodeLayer,
96634
- dropIsolatedNode: this._spec.dropIsolatedNode,
96635
- nodeHeight: this._spec.nodeHeight,
96636
- linkHeight: this._spec.linkHeight,
96637
- equalNodeHeight: this._spec.equalNodeHeight,
96638
- linkOverlap: this._spec.linkOverlap,
96639
- inverse: this._spec.inverse
96703
+ options: () => {
96704
+ var _a, _b, _c, _d;
96705
+ return ({
96706
+ view: () => {
96707
+ return {
96708
+ x0: this._viewBox.x1,
96709
+ x1: this._viewBox.x2,
96710
+ y0: this._viewBox.y1,
96711
+ y1: this._viewBox.y2
96712
+ };
96713
+ },
96714
+ sourceField: this._spec.sourceField,
96715
+ targetField: this._spec.targetField,
96716
+ valueField: this._spec.valueField,
96717
+ direction: this.direction,
96718
+ crossNodeAlign: this._spec.crossNodeAlign,
96719
+ nodeAlign: (_a = this._spec.nodeAlign) !== null && _a !== void 0 ? _a : 'justify',
96720
+ nodeGap: (_b = this._spec.nodeGap) !== null && _b !== void 0 ? _b : 8,
96721
+ nodeWidth: (_c = this._spec.nodeWidth) !== null && _c !== void 0 ? _c : 10,
96722
+ linkWidth: this._spec.linkWidth,
96723
+ minStepWidth: this._spec.minStepWidth,
96724
+ minNodeHeight: (_d = this._spec.minNodeHeight) !== null && _d !== void 0 ? _d : 4,
96725
+ maxNodeHeight: this._spec.maxNodeHeight,
96726
+ minLinkHeight: this._spec.minLinkHeight,
96727
+ maxLinkHeight: this._spec.maxLinkHeight,
96728
+ iterations: this._spec.iterations,
96729
+ nodeKey: this._spec.nodeKey,
96730
+ linkSortBy: this._spec.linkSortBy,
96731
+ nodeSortBy: this._spec.nodeSortBy,
96732
+ setNodeLayer: this._spec.setNodeLayer,
96733
+ dropIsolatedNode: this._spec.dropIsolatedNode,
96734
+ nodeHeight: this._spec.nodeHeight,
96735
+ linkHeight: this._spec.linkHeight,
96736
+ equalNodeHeight: this._spec.equalNodeHeight,
96737
+ linkOverlap: this._spec.linkOverlap,
96738
+ inverse: this._spec.inverse
96739
+ });
96640
96740
  },
96641
96741
  level: TransformLevel.sankeyLayout
96642
96742
  });
@@ -97135,16 +97235,17 @@ const registerMarkMapTransform = () => {
97135
97235
  };
97136
97236
 
97137
97237
  const treemapLayout = (data, op) => {
97138
- const viewBox = op.getViewBox();
97238
+ const options = isFunction$1(op) ? op() : op;
97239
+ const viewBox = options.getViewBox();
97139
97240
  if (viewBox) {
97140
- const layout = new TreemapLayout(op);
97141
- const res = layout.layout(data, op.getViewBox());
97241
+ const layout = new TreemapLayout(options);
97242
+ const res = layout.layout(data, viewBox);
97142
97243
  const nodes = [];
97143
- flattenNodes(res, nodes, { maxDepth: op === null || op === void 0 ? void 0 : op.maxDepth });
97144
- nodes.forEach((datum, i) => {
97244
+ flattenNodes(res, nodes, { maxDepth: options === null || options === void 0 ? void 0 : options.maxDepth });
97245
+ nodes.forEach(datum => {
97145
97246
  if (datum) {
97146
97247
  [DEFAULT_HIERARCHY_ROOT, 'name'].forEach(key => {
97147
- datum[key] = datum.datum[datum.depth][op.nameField];
97248
+ datum[key] = datum.datum[datum.depth][options.nameField];
97148
97249
  });
97149
97250
  }
97150
97251
  });
@@ -97235,34 +97336,37 @@ class TreemapSeries extends CartesianSeries {
97235
97336
  }
97236
97337
  }
97237
97338
  initData() {
97238
- var _a, _b, _c, _d, _e;
97339
+ var _a;
97239
97340
  super.initData();
97240
97341
  registerDataSetInstanceTransform(this._dataSet, 'treemap', treemapLayout);
97241
97342
  (_a = this._data.getDataView()) === null || _a === void 0 ? void 0 : _a.transform({
97242
97343
  type: 'treemap',
97243
- options: {
97244
- nameField: this._categoryField,
97245
- valueField: this._valueField,
97246
- getViewBox: () => {
97247
- return this._viewBox.empty()
97248
- ? null
97249
- : {
97250
- x0: this._viewBox.x1,
97251
- x1: this._viewBox.x2,
97252
- y0: this._viewBox.y1,
97253
- y1: this._viewBox.y2
97254
- };
97255
- },
97256
- maxDepth: this._maxDepth,
97257
- gapWidth: this._spec.gapWidth,
97258
- padding: this._spec.nodePadding,
97259
- splitType: this._spec.splitType,
97260
- aspectRatio: this._spec.aspectRatio,
97261
- labelPadding: ((_b = this._spec.nonLeafLabel) === null || _b === void 0 ? void 0 : _b.visible) ? (_c = this._spec.nonLeafLabel) === null || _c === void 0 ? void 0 : _c.padding : 0,
97262
- labelPosition: (_d = this._spec.nonLeafLabel) === null || _d === void 0 ? void 0 : _d.position,
97263
- minVisibleArea: (_e = this._spec.minVisibleArea) !== null && _e !== void 0 ? _e : 10,
97264
- minChildrenVisibleArea: this._spec.minChildrenVisibleArea,
97265
- minChildrenVisibleSize: this._spec.minChildrenVisibleSize
97344
+ options: () => {
97345
+ var _a, _b, _c, _d;
97346
+ return ({
97347
+ nameField: this._categoryField,
97348
+ valueField: this._valueField,
97349
+ getViewBox: () => {
97350
+ return this._viewBox.empty()
97351
+ ? null
97352
+ : {
97353
+ x0: this._viewBox.x1,
97354
+ x1: this._viewBox.x2,
97355
+ y0: this._viewBox.y1,
97356
+ y1: this._viewBox.y2
97357
+ };
97358
+ },
97359
+ maxDepth: this._maxDepth,
97360
+ gapWidth: this._spec.gapWidth,
97361
+ padding: this._spec.nodePadding,
97362
+ splitType: this._spec.splitType,
97363
+ aspectRatio: this._spec.aspectRatio,
97364
+ labelPadding: ((_a = this._spec.nonLeafLabel) === null || _a === void 0 ? void 0 : _a.visible) ? (_b = this._spec.nonLeafLabel) === null || _b === void 0 ? void 0 : _b.padding : 0,
97365
+ labelPosition: (_c = this._spec.nonLeafLabel) === null || _c === void 0 ? void 0 : _c.position,
97366
+ minVisibleArea: (_d = this._spec.minVisibleArea) !== null && _d !== void 0 ? _d : 10,
97367
+ minChildrenVisibleArea: this._spec.minChildrenVisibleArea,
97368
+ minChildrenVisibleSize: this._spec.minChildrenVisibleSize
97369
+ });
97266
97370
  }
97267
97371
  });
97268
97372
  if (this.getViewData()) {
@@ -98226,11 +98330,13 @@ const CORRELATION_X = `${PREFIX}_CORRELATION_X`;
98226
98330
  const CORRELATION_Y = `${PREFIX}_CORRELATION_Y`;
98227
98331
  const CORRELATION_SIZE = `${PREFIX}_CORRELATION_SIZE`;
98228
98332
 
98333
+ const resolveOptionValue$1 = (option) => (isFunction$1(option) ? option() : option);
98229
98334
  const correlation$1 = (data, options) => {
98230
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
98335
+ var _a, _b, _c, _d, _e, _f, _g, _h;
98231
98336
  if (!data || !(options === null || options === void 0 ? void 0 : options.view) || !isArray$1(data)) {
98232
98337
  return data;
98233
98338
  }
98339
+ const dataList = data;
98234
98340
  const viewBox = options.view();
98235
98341
  if (viewBox.x1 - viewBox.x0 === 0 ||
98236
98342
  viewBox.y1 - viewBox.y0 === 0 ||
@@ -98240,43 +98346,46 @@ const correlation$1 = (data, options) => {
98240
98346
  viewBox.y1 - viewBox.y0 === Infinity) {
98241
98347
  return data;
98242
98348
  }
98243
- const startAngle = degreeToRadian((_a = options.startAngle) !== null && _a !== void 0 ? _a : -90);
98244
- const endAngle = degreeToRadian((_b = options.endAngle) !== null && _b !== void 0 ? _b : 270);
98349
+ const startAngle = degreeToRadian((_a = resolveOptionValue$1(options.startAngle)) !== null && _a !== void 0 ? _a : -90);
98350
+ const endAngle = degreeToRadian((_b = resolveOptionValue$1(options.endAngle)) !== null && _b !== void 0 ? _b : 270);
98245
98351
  const maxRadius = Math.max((viewBox.x1 - viewBox.x0) / 2, (viewBox.y1 - viewBox.y0) / 2);
98246
- const innerRadius = toPercent((_c = options.innerRadius) !== null && _c !== void 0 ? _c : 0, maxRadius);
98247
- const outerRadius = toPercent(options.outerRadius, maxRadius);
98352
+ const innerRadius = toPercent((_c = resolveOptionValue$1(options.innerRadius)) !== null && _c !== void 0 ? _c : 0, maxRadius);
98353
+ const outerRadius = toPercent(resolveOptionValue$1(options.outerRadius), maxRadius);
98354
+ const centerOption = resolveOptionValue$1(options.center);
98248
98355
  const center = [
98249
- isNumber$2((_d = options.center) === null || _d === void 0 ? void 0 : _d[0])
98250
- ? options.center[0]
98251
- : viewBox.x0 + toPercent((_f = (_e = options.center) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : '50%', viewBox.x1 - viewBox.x0),
98252
- isNumber$2((_g = options.center) === null || _g === void 0 ? void 0 : _g[1])
98253
- ? options.center[1]
98254
- : viewBox.y0 + toPercent((_j = (_h = options.center) === null || _h === void 0 ? void 0 : _h[1]) !== null && _j !== void 0 ? _j : '50%', viewBox.y1 - viewBox.y0)
98356
+ isNumber$2(centerOption === null || centerOption === void 0 ? void 0 : centerOption[0])
98357
+ ? centerOption[0]
98358
+ : viewBox.x0 + toPercent((_d = centerOption === null || centerOption === void 0 ? void 0 : centerOption[0]) !== null && _d !== void 0 ? _d : '50%', viewBox.x1 - viewBox.x0),
98359
+ isNumber$2(centerOption === null || centerOption === void 0 ? void 0 : centerOption[1])
98360
+ ? centerOption[1]
98361
+ : viewBox.y0 + toPercent((_e = centerOption === null || centerOption === void 0 ? void 0 : centerOption[1]) !== null && _e !== void 0 ? _e : '50%', viewBox.y1 - viewBox.y0)
98255
98362
  ];
98256
- const fieldAccessor = field$2(options.field);
98257
- const values = data.map(fieldAccessor);
98363
+ const fieldAccessor = field$2(resolveOptionValue$1(options.field));
98364
+ const values = dataList.map(fieldAccessor);
98258
98365
  const [min, max] = extent$2(values);
98259
98366
  const radiusScale = min === max
98260
98367
  ? (val) => (innerRadius + outerRadius) / 2
98261
98368
  : (val) => innerRadius + ((outerRadius - innerRadius) * (val - min)) / (max - min);
98262
- const sizeAccessor = !isNil$1(options.radiusField) ? field$2(options.radiusField) : fieldAccessor;
98263
- const defaultSize = (_l = (_k = options === null || options === void 0 ? void 0 : options.radiusRange) === null || _k === void 0 ? void 0 : _k[1]) !== null && _l !== void 0 ? _l : 5;
98369
+ const radiusField = resolveOptionValue$1(options.radiusField);
98370
+ const radiusRange = resolveOptionValue$1(options.radiusRange);
98371
+ const sizeAccessor = !isNil$1(radiusField) ? field$2(radiusField) : fieldAccessor;
98372
+ const defaultSize = (_f = radiusRange === null || radiusRange === void 0 ? void 0 : radiusRange[1]) !== null && _f !== void 0 ? _f : 5;
98264
98373
  let sizeScale = (datum) => defaultSize;
98265
98374
  if (sizeAccessor) {
98266
- const [minSize, maxSize] = sizeAccessor !== fieldAccessor ? extent$2(data.map(sizeAccessor)) : [min, max];
98267
- const minR = (_o = (_m = options.radiusRange) === null || _m === void 0 ? void 0 : _m[0]) !== null && _o !== void 0 ? _o : 5;
98268
- const maxR = (_q = (_p = options.radiusRange) === null || _p === void 0 ? void 0 : _p[1]) !== null && _q !== void 0 ? _q : 5;
98375
+ const [minSize, maxSize] = sizeAccessor !== fieldAccessor ? extent$2(dataList.map(sizeAccessor)) : [min, max];
98376
+ const minR = (_g = radiusRange === null || radiusRange === void 0 ? void 0 : radiusRange[0]) !== null && _g !== void 0 ? _g : 5;
98377
+ const maxR = (_h = radiusRange === null || radiusRange === void 0 ? void 0 : radiusRange[1]) !== null && _h !== void 0 ? _h : 5;
98269
98378
  if (minSize !== maxSize) {
98270
98379
  sizeScale = (datum) => minR + ((maxR - minR) * (sizeAccessor(datum) - minSize)) / (maxSize - minSize);
98271
98380
  }
98272
98381
  }
98273
98382
  const minAngle = Math.min(startAngle, endAngle);
98274
98383
  const maxAngle = Math.max(startAngle, endAngle);
98275
- const angles = getPartialAngles(minAngle, maxAngle, data.length);
98384
+ const angles = getPartialAngles(minAngle, maxAngle, dataList.length);
98276
98385
  const res = [];
98277
98386
  const searchStep = 60;
98278
98387
  const searchAngle = (maxAngle - minAngle) / searchStep;
98279
- data.forEach((datum, index) => {
98388
+ dataList.forEach((datum, index) => {
98280
98389
  const radius = radiusScale(values[index]);
98281
98390
  const size = sizeScale(datum);
98282
98391
  let x;
@@ -98349,15 +98458,20 @@ const hasOverlap = (item, arr) => {
98349
98458
  return false;
98350
98459
  }
98351
98460
  return arr.some(entry => {
98352
- return Math.pow(item.x - entry.x, 2) + Math.pow(item.y - entry.y, 2) < Math.pow(item.size + entry.size, 2);
98461
+ const x = entry.x;
98462
+ const y = entry.y;
98463
+ const size = entry.size;
98464
+ return Math.pow(item.x - x, 2) + Math.pow(item.y - y, 2) < Math.pow(item.size + size, 2);
98353
98465
  });
98354
98466
  };
98355
98467
 
98468
+ const resolveOptionValue = (option) => (isFunction$1(option) ? option() : option);
98356
98469
  const correlationCenter = (data, options) => {
98357
98470
  if (!data || !isArray$1(data)) {
98358
98471
  return [];
98359
98472
  }
98360
- const { keyword, categoryField } = options;
98473
+ const keyword = resolveOptionValue(options.keyword);
98474
+ const categoryField = resolveOptionValue(options.categoryField);
98361
98475
  const nodeInfo = data[0].latestData[0];
98362
98476
  const centerInfo = {
98363
98477
  [categoryField]: keyword,
@@ -98518,7 +98632,6 @@ class CorrelationSeries extends PolarSeries {
98518
98632
  this.setSizeRange(this._spec.sizeRange);
98519
98633
  }
98520
98634
  initData() {
98521
- var _a, _b, _c;
98522
98635
  super.initData();
98523
98636
  if (!this._data) {
98524
98637
  return;
@@ -98534,8 +98647,8 @@ class CorrelationSeries extends PolarSeries {
98534
98647
  centerDataView.transform({
98535
98648
  type: 'correlationCenter',
98536
98649
  options: {
98537
- keyword: (_c = (_b = (_a = this._spec.centerLabel) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.text) !== null && _c !== void 0 ? _c : '',
98538
- categoryField: this._spec.categoryField
98650
+ keyword: () => { var _a, _b, _c; return (_c = (_b = (_a = this._spec.centerLabel) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.text) !== null && _c !== void 0 ? _c : ''; },
98651
+ categoryField: () => this._spec.categoryField
98539
98652
  }
98540
98653
  });
98541
98654
  this._centerSeriesData = new CompilableData(this._option, centerDataView);
@@ -98558,14 +98671,14 @@ class CorrelationSeries extends PolarSeries {
98558
98671
  y1: this._viewBox.y2
98559
98672
  };
98560
98673
  },
98561
- field: this._spec.valueField,
98562
- radiusRange: this._spec.sizeRange,
98563
- radiusField: this._spec.sizeField,
98564
- center: [this._spec.centerX, this._spec.centerY],
98565
- innerRadius: this._spec.innerRadius,
98566
- outerRadius: this._spec.outerRadius,
98567
- startAngle: this._spec.startAngle,
98568
- endAngle: this._spec.endAngle
98674
+ field: () => this._spec.valueField,
98675
+ radiusRange: () => this._spec.sizeRange,
98676
+ radiusField: () => this._spec.sizeField,
98677
+ center: () => [this._spec.centerX, this._spec.centerY],
98678
+ innerRadius: () => this._spec.innerRadius,
98679
+ outerRadius: () => this._spec.outerRadius,
98680
+ startAngle: () => this._spec.startAngle,
98681
+ endAngle: () => this._spec.endAngle
98569
98682
  }
98570
98683
  });
98571
98684
  }
@@ -99343,9 +99456,10 @@ class VennSeriesSpecTransformer extends BaseSeriesSpecTransformer {
99343
99456
  }
99344
99457
 
99345
99458
  const vennLayout = (data, op) => {
99346
- const viewBox = op.getViewBox();
99459
+ const options = isFunction$1(op) ? op() : op;
99460
+ const viewBox = options.getViewBox();
99347
99461
  if (viewBox && (data === null || data === void 0 ? void 0 : data.length)) {
99348
- return vennTransform(Object.assign({ setField: op.setField, valueField: op.valueField }, viewBox), data);
99462
+ return vennTransform(Object.assign({ setField: options.setField, valueField: options.valueField }, viewBox), data);
99349
99463
  }
99350
99464
  return [];
99351
99465
  };
@@ -99428,7 +99542,7 @@ class VennSeries extends BaseSeries {
99428
99542
  registerDataSetInstanceTransform(this._dataSet, 'venn', vennLayout);
99429
99543
  (_a = this._data.getDataView()) === null || _a === void 0 ? void 0 : _a.transform({
99430
99544
  type: 'venn',
99431
- options: {
99545
+ options: () => ({
99432
99546
  getViewBox: () => {
99433
99547
  return this._viewBox.empty()
99434
99548
  ? null
@@ -99441,7 +99555,7 @@ class VennSeries extends BaseSeries {
99441
99555
  },
99442
99556
  setField: this._categoryField,
99443
99557
  valueField: this._valueField
99444
- }
99558
+ })
99445
99559
  });
99446
99560
  }
99447
99561
  compile() {
@@ -99861,7 +99975,7 @@ class PolarChartSpecTransformer extends BaseChartSpecTransformer {
99861
99975
  return indicatorSpec;
99862
99976
  }
99863
99977
  _getDefaultSeriesSpec(spec, pickKeys) {
99864
- const series = super._getDefaultSeriesSpec(spec, ['radius', 'outerRadius', 'innerRadius', 'startAngle', 'endAngle', 'sortDataByAxis'], pickKeys);
99978
+ const series = super._getDefaultSeriesSpec(spec, ['radius', 'outerRadius', 'innerRadius', 'startAngle', 'endAngle', 'centerX', 'centerY', 'sortDataByAxis'], pickKeys);
99865
99979
  return series;
99866
99980
  }
99867
99981
  transformSpec(spec) {
@@ -99885,7 +99999,7 @@ class ProgressLikeChartSpecTransformer extends PolarChartSpecTransformer {
99885
99999
  return false;
99886
100000
  }
99887
100001
  _getDefaultSeriesSpec(spec) {
99888
- const series = super._getDefaultSeriesSpec(spec, ['startAngle', 'endAngle', 'centerX', 'centerY']);
100002
+ const series = super._getDefaultSeriesSpec(spec, ['startAngle', 'endAngle', 'centerX', 'centerY', 'clamp']);
99889
100003
  series.categoryField = spec.categoryField || spec.radiusField;
99890
100004
  series.valueField = spec.valueField || spec.angleField;
99891
100005
  return series;
@@ -100023,6 +100137,7 @@ class RoseChartSpecTransformer extends RoseLikeChartSpecTransformer {
100023
100137
  _getDefaultSeriesSpec(spec) {
100024
100138
  var _a, _b, _c;
100025
100139
  const series = super._getDefaultSeriesSpec(spec);
100140
+ this._addSeriesRelatedSpecKeys(['radius', 'outerRadius', 'innerRadius']);
100026
100141
  series.radius = (_a = spec.radius) !== null && _a !== void 0 ? _a : POLAR_DEFAULT_RADIUS;
100027
100142
  series.outerRadius = (_b = spec.outerRadius) !== null && _b !== void 0 ? _b : POLAR_DEFAULT_RADIUS;
100028
100143
  series.innerRadius = (_c = spec.innerRadius) !== null && _c !== void 0 ? _c : 0;
@@ -100186,6 +100301,7 @@ class RadarChartSpecTransformer extends RoseLikeChartSpecTransformer {
100186
100301
  var _a, _b, _c, _d;
100187
100302
  const series = super._getDefaultSeriesSpec(spec);
100188
100303
  const areaTheme = (_b = (_a = this._option).getTheme) === null || _b === void 0 ? void 0 : _b.call(_a, 'series', 'radar', 'area');
100304
+ this._addSeriesRelatedSpecKeys(['line', 'point', 'area']);
100189
100305
  series.line = spec.line;
100190
100306
  series.point = spec.point;
100191
100307
  series.stack = spec.stack;
@@ -100691,7 +100807,7 @@ class CircularProgressChartSpecTransformer extends ProgressLikeChartSpecTransfor
100691
100807
  _getDefaultSeriesSpec(spec) {
100692
100808
  var _a, _b;
100693
100809
  const series = super._getDefaultSeriesSpec(spec);
100694
- this._addSeriesRelatedSpecKeys(['cornerRadius']);
100810
+ this._addSeriesRelatedSpecKeys(['cornerRadius', 'progress', 'track', 'roundCap']);
100695
100811
  series.progress = spec.progress;
100696
100812
  series.track = spec.track;
100697
100813
  series.tickMask = spec.tickMask;
@@ -100740,6 +100856,7 @@ const registerCircularProgressChart = () => {
100740
100856
  class GaugeChartSpecTransformer extends ProgressLikeChartSpecTransformer {
100741
100857
  _getDefaultSeriesSpec(spec) {
100742
100858
  const series = super._getDefaultSeriesSpec(spec);
100859
+ this._addSeriesRelatedSpecKeys(['pin', 'pinBackground', 'pointer']);
100743
100860
  series.radiusField = spec.radiusField;
100744
100861
  series.pin = spec.pin;
100745
100862
  series.pinBackground = spec.pinBackground;
@@ -100981,6 +101098,7 @@ class LinearProgressChartSpecTransformer extends CartesianChartSpecTransformer {
100981
101098
  var _a, _b;
100982
101099
  const series = super._getDefaultSeriesSpec(spec, ['bandWidth', 'progress', 'track', 'clamp']);
100983
101100
  series.direction = (_a = spec.direction) !== null && _a !== void 0 ? _a : 'horizontal';
101101
+ this._addSeriesRelatedSpecKeys(['cornerRadius']);
100984
101102
  series.cornerRadius = (_b = spec.cornerRadius) !== null && _b !== void 0 ? _b : 0;
100985
101103
  return series;
100986
101104
  }
@@ -101496,6 +101614,7 @@ class RangeAreaChartSpecTransformer extends CartesianChartSpecTransformer {
101496
101614
  _getDefaultSeriesSpec(spec) {
101497
101615
  var _a, _b;
101498
101616
  const series = super._getDefaultSeriesSpec(spec);
101617
+ this._addSeriesRelatedSpecKeys(['area', 'point', 'line']);
101499
101618
  series.area = spec.area;
101500
101619
  series.point = spec.point;
101501
101620
  series.line = spec.line;
@@ -106676,7 +106795,7 @@ const registerScrollBar = () => {
106676
106795
  };
106677
106796
 
106678
106797
  const indicatorMapper = (data, op) => {
106679
- const { datum, title, content } = op;
106798
+ const { datum, title, content } = isFunction$1(op) ? op() : op;
106680
106799
  const mappedData = [];
106681
106800
  const datumResult = datum.call(null);
106682
106801
  if (title.visible) {
@@ -106808,11 +106927,11 @@ class Indicator extends BaseComponent {
106808
106927
  const displayData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });
106809
106928
  displayData.transform({
106810
106929
  type: 'indicatorFilter',
106811
- options: {
106930
+ options: () => ({
106812
106931
  title: this._title,
106813
106932
  content: this._content,
106814
106933
  datum: () => this._activeDatum
106815
- }
106934
+ })
106816
106935
  });
106817
106936
  displayData.target.addListener('change', this.updateDatum.bind(this));
106818
106937
  this._displayData = new CompilableData(this._option, displayData);
@@ -107769,6 +107888,7 @@ const MARKER_FORMAT_METHOD_PLACEHOLDER = '__vchart_marker_format_method__';
107769
107888
  const MARKER_COORDINATE_PLACEHOLDER = '__vchart_marker_coordinate__';
107770
107889
  const MARKER_TEXT_PLACEHOLDER = '__vchart_marker_text__';
107771
107890
  const MARKER_AUTO_RANGE_PLACEHOLDER = '__vchart_marker_auto_range__';
107891
+ const MARKER_STYLE_PLACEHOLDER = '__vchart_marker_style__';
107772
107892
  const MARKER_DOMAIN_POSITION_SPEC_KEYS = [
107773
107893
  'coordinate',
107774
107894
  'coordinates',
@@ -107794,6 +107914,24 @@ const normalizeMarkerLabelFormatMethod = (label) => {
107794
107914
  }
107795
107915
  return Object.assign(Object.assign({}, label), { formatMethod: MARKER_FORMAT_METHOD_PLACEHOLDER });
107796
107916
  };
107917
+ const normalizeMarkerStyles = (value) => {
107918
+ if (Array.isArray(value)) {
107919
+ return value.map(normalizeMarkerStyles);
107920
+ }
107921
+ if (!value || typeof value !== 'object') {
107922
+ return value;
107923
+ }
107924
+ const normalized = Object.assign({}, value);
107925
+ Object.keys(normalized).forEach(key => {
107926
+ if (key === 'style' || key.endsWith('Style')) {
107927
+ normalized[key] = MARKER_STYLE_PLACEHOLDER;
107928
+ }
107929
+ else {
107930
+ normalized[key] = normalizeMarkerStyles(normalized[key]);
107931
+ }
107932
+ });
107933
+ return normalized;
107934
+ };
107797
107935
  const normalizeMarkerSpecForComponentOnlyUpdate = (spec, options) => {
107798
107936
  var _a;
107799
107937
  if (!spec || typeof spec !== 'object') {
@@ -107802,9 +107940,7 @@ const normalizeMarkerSpecForComponentOnlyUpdate = (spec, options) => {
107802
107940
  const normalized = Object.assign({}, spec);
107803
107941
  if (options.normalizeDomainPosition) {
107804
107942
  MARKER_DOMAIN_POSITION_SPEC_KEYS.forEach(key => {
107805
- if (key in normalized) {
107806
- normalized[key] = MARKER_COORDINATE_PLACEHOLDER;
107807
- }
107943
+ normalized[key] = MARKER_COORDINATE_PLACEHOLDER;
107808
107944
  });
107809
107945
  }
107810
107946
  if (options.normalizeAutoRange && 'autoRange' in normalized) {
@@ -107818,6 +107954,9 @@ const normalizeMarkerSpecForComponentOnlyUpdate = (spec, options) => {
107818
107954
  if ('label' in normalized) {
107819
107955
  normalized.label = normalizeMarkerLabelFormatMethod(normalized.label);
107820
107956
  }
107957
+ Object.keys(normalized).forEach(key => {
107958
+ normalized[key] = normalizeMarkerStyles(normalized[key]);
107959
+ });
107821
107960
  const text = (_a = normalized.itemContent) === null || _a === void 0 ? void 0 : _a.text;
107822
107961
  if (text && typeof text === 'object') {
107823
107962
  normalized.itemContent = Object.assign(Object.assign({}, normalized.itemContent), { text: Object.assign(Object.assign({}, normalizeMarkerLabelFormatMethod(text)), { text: MARKER_TEXT_PLACEHOLDER }) });
@@ -108075,6 +108214,7 @@ class BaseMarker extends BaseComponent {
108075
108214
  }
108076
108215
  reInit(spec) {
108077
108216
  super.reInit(spec);
108217
+ this._releaseMarkerData();
108078
108218
  this._bindSeries();
108079
108219
  this._initDataView();
108080
108220
  this._buildMarkerAttributeContext();
@@ -110337,7 +110477,7 @@ class BaseMarkPoint extends BaseMarker {
110337
110477
  return markPoint;
110338
110478
  }
110339
110479
  _markerLayout() {
110340
- var _a, _b, _c, _d, _e, _f;
110480
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
110341
110481
  const spec = this._spec;
110342
110482
  const data = this._markerData;
110343
110483
  const relativeSeries = this._relativeSeries;
@@ -110348,8 +110488,16 @@ class BaseMarkPoint extends BaseMarker {
110348
110488
  ? data.latestData[0].latestData
110349
110489
  : data.latestData
110350
110490
  : seriesData;
110491
+ const { itemLine = {}, itemContent = {} } = this._spec;
110492
+ const { visible: itemLineVisible, line = {} } = itemLine, restItemLine = __rest$f(itemLine, ["visible", "line"]);
110493
+ const itemLineAttrs = itemLineVisible !== false
110494
+ ? Object.assign(Object.assign({}, restItemLine), { visible: true, lineStyle: transformToGraphic(line.style) })
110495
+ : {
110496
+ visible: false
110497
+ };
110498
+ const labelAttrs = transformLabelAttributes(Object.assign(Object.assign({}, itemContent.text), { style: merge$1({ dx: 0, dy: 0 }, (_b = (_a = itemContent.text) === null || _a === void 0 ? void 0 : _a.style) !== null && _b !== void 0 ? _b : itemContent.style) }), data, this._markAttributeContext);
110351
110499
  let limitRect;
110352
- if (spec.clip || ((_a = spec.itemContent) === null || _a === void 0 ? void 0 : _a.confine)) {
110500
+ if (spec.clip || ((_c = spec.itemContent) === null || _c === void 0 ? void 0 : _c.confine)) {
110353
110501
  const { minX, maxX, minY, maxY } = computeClipRange([relativeSeries.getRegion()]);
110354
110502
  limitRect = {
110355
110503
  x: minX,
@@ -110359,17 +110507,18 @@ class BaseMarkPoint extends BaseMarker {
110359
110507
  };
110360
110508
  }
110361
110509
  if (this._markerComponent) {
110362
- const attribute = (_b = this._markerComponent.attribute) !== null && _b !== void 0 ? _b : {};
110363
- const textStyle = (_d = (_c = attribute.itemContent) === null || _c === void 0 ? void 0 : _c.textStyle) !== null && _d !== void 0 ? _d : {};
110364
- const specText = (_e = this._spec.itemContent.text) === null || _e === void 0 ? void 0 : _e.text;
110510
+ const attribute = (_d = this._markerComponent.attribute) !== null && _d !== void 0 ? _d : {};
110511
+ const textStyle = (_f = (_e = attribute.itemContent) === null || _e === void 0 ? void 0 : _e.textStyle) !== null && _f !== void 0 ? _f : {};
110512
+ const specText = (_g = this._spec.itemContent.text) === null || _g === void 0 ? void 0 : _g.text;
110365
110513
  this._markerComponent.setAttributes({
110366
110514
  position: point === undefined ? { x: null, y: null } : point,
110367
- itemContent: Object.assign(Object.assign({}, attribute.itemContent), { textStyle: Object.assign(Object.assign({}, textStyle), { text: ((_f = this._spec.itemContent.text) === null || _f === void 0 ? void 0 : _f.formatMethod)
110515
+ itemContent: Object.assign(Object.assign({}, attribute.itemContent), { panel: (_h = labelAttrs.panel) !== null && _h !== void 0 ? _h : (_j = attribute.itemContent) === null || _j === void 0 ? void 0 : _j.panel, padding: (_k = labelAttrs.padding) !== null && _k !== void 0 ? _k : (_l = attribute.itemContent) === null || _l === void 0 ? void 0 : _l.padding, textStyle: Object.assign(Object.assign(Object.assign({}, textStyle), ((_m = labelAttrs.textStyle) !== null && _m !== void 0 ? _m : {})), { text: ((_o = this._spec.itemContent.text) === null || _o === void 0 ? void 0 : _o.formatMethod)
110368
110516
  ?
110369
110517
  this._spec.itemContent.text.formatMethod(dataPoints, seriesData)
110370
110518
  : isValid$1(specText)
110371
110519
  ? specText
110372
110520
  : textStyle.text }), offsetX: computeOffsetFromRegion(point, attribute.itemContent.offsetX, this._relativeSeries.getRegion()), offsetY: computeOffsetFromRegion(point, attribute.itemContent.offsetY, this._relativeSeries.getRegion()) }),
110521
+ itemLine: itemLineAttrs,
110373
110522
  limitRect,
110374
110523
  dx: this._layoutOffsetX,
110375
110524
  dy: this._layoutOffsetY