@visactor/vchart 2.0.3-alpha.2 → 2.0.3

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.
package/build/index.es.js CHANGED
@@ -16371,10 +16371,14 @@ class Glyph extends Graphic {
16371
16371
  attrs && (Object.assign(stateAttrs, attrs.attributes), (null === (_a = attrs.subAttributes) || void 0 === _a ? void 0 : _a.length) && subAttrs.forEach((subAttrs, index) => {
16372
16372
  Object.assign(subAttrs, attrs.subAttributes[index]);
16373
16373
  }));
16374
+ }), this.subGraphic.forEach((graphic, index) => {
16375
+ graphic.updateNormalAttrs(subAttrs[index]), graphic.applyStateAttrs(subAttrs[index], states, hasAnimation);
16374
16376
  }), this.updateNormalAttrs(stateAttrs), this.currentStates = states, this.applyStateAttrs(stateAttrs, states, hasAnimation);
16375
16377
  }
16376
16378
  clearStates(hasAnimation) {
16377
- this.stopStateAnimates(), this.hasState() && this.normalAttrs ? (this.currentStates = [], this.applyStateAttrs(this.normalAttrs, this.currentStates, hasAnimation, !0)) : this.currentStates = [], this.normalAttrs = null;
16379
+ this.stopStateAnimates(), this.hasState() && this.normalAttrs ? (this.currentStates = [], this.subGraphic.forEach(graphic => {
16380
+ graphic.applyStateAttrs(graphic.normalAttrs, this.currentStates, hasAnimation, !0), graphic.normalAttrs = null;
16381
+ }), this.applyStateAttrs(this.normalAttrs, this.currentStates, hasAnimation, !0)) : this.currentStates = [], this.normalAttrs = null;
16378
16382
  }
16379
16383
  clone() {
16380
16384
  const glyph = new Glyph(Object.assign({}, this.attribute));
@@ -33690,7 +33694,7 @@ class GrowAngleBase extends ACustomAnimate {
33690
33694
  }
33691
33695
  class GrowAngleIn extends GrowAngleBase {
33692
33696
  onBind() {
33693
- var _a, _b, _c;
33697
+ var _a, _b;
33694
33698
  super.onBind();
33695
33699
  const {
33696
33700
  from: from,
@@ -33699,7 +33703,7 @@ class GrowAngleIn extends GrowAngleBase {
33699
33703
  fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
33700
33704
  this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
33701
33705
  const finalAttribute = this.target.getFinalAttribute();
33702
- finalAttribute && this.target.setAttributes(finalAttribute), !1 !== (null === (_c = this.params.controlOptions) || void 0 === _c ? void 0 : _c.immediatelyApply) && this.target.setAttributes(fromAttrs), this.determineUpdateFunction();
33706
+ finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs), this.determineUpdateFunction();
33703
33707
  }
33704
33708
  }
33705
33709
  class GrowAngleOut extends GrowAngleBase {
@@ -34307,7 +34311,7 @@ class GrowPointsBase extends ACustomAnimate {
34307
34311
  }
34308
34312
  class GrowRadiusIn extends GrowPointsBase {
34309
34313
  onBind() {
34310
- var _a, _b, _c;
34314
+ var _a, _b;
34311
34315
  super.onBind();
34312
34316
  const {
34313
34317
  from: from,
@@ -34316,7 +34320,7 @@ class GrowRadiusIn extends GrowPointsBase {
34316
34320
  fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
34317
34321
  this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
34318
34322
  const finalAttribute = this.target.getFinalAttribute();
34319
- finalAttribute && this.target.setAttributes(finalAttribute), !1 !== (null === (_c = this.params.controlOptions) || void 0 === _c ? void 0 : _c.immediatelyApply) && this.target.setAttributes(fromAttrs);
34323
+ finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs);
34320
34324
  }
34321
34325
  }
34322
34326
  class GrowRadiusOut extends GrowPointsBase {
@@ -34431,7 +34435,7 @@ class GrowWidthIn extends ACustomAnimate {
34431
34435
  super(from, to, duration, easing, params);
34432
34436
  }
34433
34437
  onBind() {
34434
- var _a, _b, _c;
34438
+ var _a, _b;
34435
34439
  super.onBind();
34436
34440
  const {
34437
34441
  from: from,
@@ -34440,7 +34444,7 @@ class GrowWidthIn extends ACustomAnimate {
34440
34444
  fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
34441
34445
  this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
34442
34446
  const finalAttribute = this.target.getFinalAttribute();
34443
- finalAttribute && this.target.setAttributes(finalAttribute), !1 !== (null === (_c = this.params.controlOptions) || void 0 === _c ? void 0 : _c.immediatelyApply) && this.target.setAttributes(fromAttrs);
34447
+ finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs);
34444
34448
  }
34445
34449
  onEnd(cb) {
34446
34450
  super.onEnd(cb);
@@ -37338,9 +37342,7 @@ class BandScale extends OrdinalScale {
37338
37342
  space = bandSpace(n, this._paddingInner, this._paddingOuter);
37339
37343
  return this._step = (stop - start) / Math.max(1, space || 1), this._round && (this._step = Math.floor(this._step)), start += (stop - start - this._step * (n - this._paddingInner)) * this._align, this.isBandwidthFixed() || (this._bandwidth = this._step * (1 - this._paddingInner)), this._round && (start = Math.round(start), this.isBandwidthFixed() || (this._bandwidth = Math.round(this._bandwidth))), this._bandRangeState = {
37340
37344
  reverse: reverse,
37341
- start: reverse ? clamp$1(start + this._step * (n - 1), wholeRange[1], wholeRange[0]) : clamp$1(start, wholeRange[0], wholeRange[1]),
37342
- min: reverse ? wholeRange[1] : wholeRange[0],
37343
- max: stop,
37345
+ start: reverse ? start + this._step * (n - 1) : start,
37344
37346
  count: n
37345
37347
  }, this.generateFishEyeTransform(), this;
37346
37348
  }
@@ -37357,12 +37359,10 @@ class BandScale extends OrdinalScale {
37357
37359
  const {
37358
37360
  count: count,
37359
37361
  start: start,
37360
- reverse: reverse,
37361
- min: min,
37362
- max: max
37362
+ reverse: reverse
37363
37363
  } = this._bandRangeState,
37364
37364
  output = start + (reverse ? -1 : 1) * ((i - 1) % count) * this._step;
37365
- return clamp$1(this._fishEyeTransform ? this._fishEyeTransform(output) : output, min, max);
37365
+ return this._fishEyeTransform ? this._fishEyeTransform(output) : output;
37366
37366
  }
37367
37367
  _calculateWholeRange(range, changeProperty) {
37368
37368
  if (this._wholeRange) return this._wholeRange;
@@ -54027,11 +54027,11 @@ class BaseMark extends GrammarItem {
54027
54027
  item.animation.customParameters = g.context;
54028
54028
  });
54029
54029
  const stateArray = [state];
54030
- if (state === 'enter' && animationConfig.normal) {
54031
- shouldRunNormal = true;
54032
- }
54033
54030
  g.applyAnimationState(stateArray, [configList.length === 1 ? configList[0] : configList]);
54034
54031
  }
54032
+ if (state === 'enter' && animationConfig.normal) {
54033
+ shouldRunNormal = true;
54034
+ }
54035
54035
  });
54036
54036
  if (shouldRunNormal && this._product && ((_b = animationConfig.normal) === null || _b === void 0 ? void 0 : _b.length)) {
54037
54037
  this._product.stopAnimationState('normal', 'start');
@@ -56926,7 +56926,7 @@ const lookup = (data, opt) => {
56926
56926
  });
56927
56927
  };
56928
56928
 
56929
- const version = "2.0.3-alpha.2";
56929
+ const version = "2.0.3";
56930
56930
 
56931
56931
  const addVChartProperty = (data, op) => {
56932
56932
  const context = op.beforeCall();
@@ -76942,72 +76942,6 @@ const calculateNodeValue = subTree => {
76942
76942
  isNil$1(node.value) && ((null === (_a = node.children) || void 0 === _a ? void 0 : _a.length) ? node.value = calculateNodeValue(node.children) : node.value = 0), sum += Math.abs(node.value);
76943
76943
  }), sum;
76944
76944
  };
76945
- function makeHierarchicNodes(originalNodes, nodeKeyFunc, nodes = [], nodeMap = {}, originalLinks) {
76946
- calculateNodeValue(originalNodes);
76947
- const doSubTree = (subTree, depth, parents) => {
76948
- subTree.forEach((node, index) => {
76949
- const nodeKey = nodeKeyFunc ? nodeKeyFunc(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
76950
- nodeValue = isNil$1(node.value) ? 0 : toValidNumber$1(node.value);
76951
- if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
76952
- const nodeElement = {
76953
- depth: depth,
76954
- datum: node,
76955
- index: index,
76956
- key: nodeKey,
76957
- value: nodeValue,
76958
- sourceLinks: [],
76959
- targetLinks: []
76960
- };
76961
- nodeMap[nodeKey] = nodeElement, nodes.push(nodeElement);
76962
- }
76963
- parents && originalLinks && originalLinks.push({
76964
- source: parents[parents.length - 1].key,
76965
- target: nodeKey,
76966
- value: nodeValue,
76967
- parents: parents
76968
- }), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
76969
- });
76970
- };
76971
- return doSubTree(originalNodes, 0, null), nodes;
76972
- }
76973
- function computeHierarchicNodeLinks(originalNodes, nodeKeyFunc) {
76974
- const nodes = [],
76975
- links = [],
76976
- nodeMap = {},
76977
- linkMap = {},
76978
- originalLinks = [];
76979
- return makeHierarchicNodes(originalNodes, nodeKeyFunc, nodes, nodeMap, originalLinks), originalLinks.forEach((link, index) => {
76980
- const key = `${link.source}-${link.target}`,
76981
- linkDatum = pickWithout(link, ["parents"]);
76982
- if (linkDatum.parents = link.parents.map(node => pickWithout(node, ["sourceLinks", "targetLinks"])), linkMap[key]) return linkMap[key].value += toValidNumber$1(link.value), void linkMap[key].datum.push(linkDatum);
76983
- const linkElement = {
76984
- index: index,
76985
- key: `${link.source}-${link.target}`,
76986
- source: link.source,
76987
- target: link.target,
76988
- datum: [linkDatum],
76989
- value: link.value,
76990
- parents: link.parents.map(parent => parent.key)
76991
- };
76992
- links.push(linkElement), nodeMap[link.source].sourceLinks.push(linkElement), nodeMap[link.target].targetLinks.push(linkElement), linkMap[key] = linkElement;
76993
- }), {
76994
- nodes: nodes,
76995
- links: links,
76996
- nodeMap: nodeMap
76997
- };
76998
- }
76999
- function computeNodeValues(nodes) {
77000
- for (let i = 0, len = nodes.length; i < len; i++) {
77001
- const node = nodes[i];
77002
- node.value = Math.max(isNil$1(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
77003
- var _a;
77004
- return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
77005
- }, 0), node.targetLinks.reduce((sum, link) => {
77006
- var _a;
77007
- return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
77008
- }, 0));
77009
- }
77010
- }
77011
76945
 
77012
76946
  function left(node) {
77013
76947
  return node.depth;
@@ -77141,7 +77075,55 @@ class SankeyLayout {
77141
77075
  };
77142
77076
  }
77143
77077
  computeHierarchicNodeLinks(originalNodes) {
77144
- return computeHierarchicNodeLinks(originalNodes, this._getNodeKey);
77078
+ const nodes = [],
77079
+ links = [],
77080
+ nodeMap = {},
77081
+ linkMap = {},
77082
+ originalLinks = [];
77083
+ calculateNodeValue(originalNodes);
77084
+ const doSubTree = (subTree, depth, parents) => {
77085
+ subTree.forEach((node, index) => {
77086
+ const nodeKey = this._getNodeKey ? this._getNodeKey(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
77087
+ nodeValue = isNil$1(node.value) ? 0 : toValidNumber$1(node.value);
77088
+ if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
77089
+ const nodeElement = {
77090
+ depth: depth,
77091
+ datum: node,
77092
+ index: index,
77093
+ key: nodeKey,
77094
+ value: nodeValue,
77095
+ sourceLinks: [],
77096
+ targetLinks: []
77097
+ };
77098
+ nodeMap[nodeKey] = nodeElement, nodes.push(nodeElement);
77099
+ }
77100
+ parents && originalLinks.push({
77101
+ source: parents[parents.length - 1].key,
77102
+ target: nodeKey,
77103
+ value: nodeValue,
77104
+ parents: parents
77105
+ }), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
77106
+ });
77107
+ };
77108
+ return doSubTree(originalNodes, 0, null), originalLinks.forEach((link, index) => {
77109
+ const key = `${link.source}-${link.target}`,
77110
+ linkDatum = pickWithout(link, ["parents"]);
77111
+ if (linkDatum.parents = link.parents.map(node => pickWithout(node, ["sourceLinks", "targetLinks"])), linkMap[key]) return linkMap[key].value += toValidNumber$1(link.value), void linkMap[key].datum.push(linkDatum);
77112
+ const linkElement = {
77113
+ index: index,
77114
+ key: `${link.source}-${link.target}`,
77115
+ source: link.source,
77116
+ target: link.target,
77117
+ datum: [linkDatum],
77118
+ value: link.value,
77119
+ parents: link.parents.map(parent => parent.key)
77120
+ };
77121
+ links.push(linkElement), nodeMap[link.source].sourceLinks.push(linkElement), nodeMap[link.target].targetLinks.push(linkElement), linkMap[key] = linkElement;
77122
+ }), {
77123
+ nodes: nodes,
77124
+ links: links,
77125
+ nodeMap: nodeMap
77126
+ };
77145
77127
  }
77146
77128
  computeSourceTargetNodeLinks(data) {
77147
77129
  const nodes = [],
@@ -77211,7 +77193,16 @@ class SankeyLayout {
77211
77193
  };
77212
77194
  }
77213
77195
  computeNodeValues(nodes) {
77214
- return computeNodeValues(nodes);
77196
+ for (let i = 0, len = nodes.length; i < len; i++) {
77197
+ const node = nodes[i];
77198
+ node.value = Math.max(isNil$1(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
77199
+ var _a;
77200
+ return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
77201
+ }, 0), node.targetLinks.reduce((sum, link) => {
77202
+ var _a;
77203
+ return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
77204
+ }, 0));
77205
+ }
77215
77206
  }
77216
77207
  computeNodeDepths(nodes) {
77217
77208
  var _a;
@@ -78276,7 +78267,7 @@ function normalizeSolution(solution, orientation, orientationOrder) {
78276
78267
  return ret;
78277
78268
  }
78278
78269
 
78279
- function scaleSolution(solution, width, height, x0, y0, hasEmptySet = !1) {
78270
+ function scaleSolution(solution, width, height, x0, y0) {
78280
78271
  width = Math.max(width, 1), height = Math.max(height, 1);
78281
78272
  const circles = [],
78282
78273
  setIds = [];
@@ -78286,20 +78277,9 @@ function scaleSolution(solution, width, height, x0, y0, hasEmptySet = !1) {
78286
78277
  yRange = bounds.yRange;
78287
78278
  if (xRange.max === xRange.min || yRange.max === yRange.min) return console.log("not scaling solution: zero size detected"), solution;
78288
78279
  const xScaling = width / (xRange.max - xRange.min),
78289
- yScaling = height / (yRange.max - yRange.min);
78290
- let scaling;
78291
- if (hasEmptySet) {
78292
- const containerRadius = Math.min(width, height) / 2,
78293
- centerX = (xRange.min + xRange.max) / 2,
78294
- centerY = (yRange.min + yRange.max) / 2;
78295
- let diagramRadius = 0;
78296
- for (const circle of circles) {
78297
- const maxDistanceForThisCircle = Math.sqrt(Math.pow(circle.x - centerX, 2) + Math.pow(circle.y - centerY, 2)) + circle.radius;
78298
- diagramRadius = Math.max(diagramRadius, maxDistanceForThisCircle);
78299
- }
78300
- scaling = containerRadius / diagramRadius;
78301
- } else scaling = Math.min(yScaling, xScaling);
78302
- const xOffset = (width - (xRange.max - xRange.min) * scaling) / 2,
78280
+ yScaling = height / (yRange.max - yRange.min),
78281
+ scaling = Math.min(yScaling, xScaling),
78282
+ xOffset = (width - (xRange.max - xRange.min) * scaling) / 2,
78303
78283
  yOffset = (height - (yRange.max - yRange.min) * scaling) / 2,
78304
78284
  scaled = {};
78305
78285
  for (let i = 0; i < circles.length; ++i) {
@@ -78514,39 +78494,21 @@ const transform$2 = (options, upstreamData) => {
78514
78494
  setField = "sets",
78515
78495
  valueField = "size",
78516
78496
  orientation = Math.PI / 2,
78517
- orientationOrder = null,
78518
- emptySetKey: emptySetKey
78497
+ orientationOrder = null
78519
78498
  } = options;
78520
78499
  let circles = {},
78521
78500
  textCenters = {};
78522
- const hasEmptySet = upstreamData.some(area => {
78523
- const sets = array(area[setField]);
78524
- return !sets || 0 === sets.length;
78525
- }),
78526
- nonEmptyData = hasEmptySet ? upstreamData.filter(area => !isEmpty(array(area[setField]))) : upstreamData;
78527
- if (nonEmptyData.length > 0) {
78528
- const vennData = nonEmptyData.map(area => ({
78501
+ if (upstreamData.length > 0) {
78502
+ const vennData = upstreamData.map(area => ({
78529
78503
  sets: array(area[setField]),
78530
78504
  size: area[valueField]
78531
78505
  }));
78532
78506
  let solution = venn$1(vennData, options);
78533
- solution = normalizeSolution(solution, orientation, orientationOrder), circles = scaleSolution(solution, x1 - x0, y1 - y0, x0, y0, hasEmptySet), textCenters = computeTextCenters(circles, vennData);
78507
+ solution = normalizeSolution(solution, orientation, orientationOrder), circles = scaleSolution(solution, x1 - x0, y1 - y0, x0, y0), textCenters = computeTextCenters(circles, vennData);
78534
78508
  }
78535
78509
  return upstreamData.map(area => {
78536
- const sets = array(area[setField]);
78537
- if (!sets || 0 === sets.length) return Object.assign(Object.assign({}, area), {
78538
- datum: area,
78539
- sets: sets,
78540
- key: emptySetKey || "others",
78541
- size: area[valueField],
78542
- labelX: void 0,
78543
- labelY: void 0,
78544
- type: "circle",
78545
- x: x0 + (x1 - x0) / 2,
78546
- y: y0 + (y1 - y0) / 2,
78547
- radius: Math.min(x1 - x0, y1 - y0) / 2
78548
- });
78549
- const key = sets.toString(),
78510
+ const sets = array(area[setField]),
78511
+ key = sets.toString(),
78550
78512
  textCenter = textCenters[key],
78551
78513
  basicDatum = Object.assign(Object.assign({}, area), {
78552
78514
  datum: area,
@@ -82930,6 +82892,380 @@ class SankeySeries extends CartesianSeries {
82930
82892
  }
82931
82893
  }
82932
82894
  };
82895
+ this._handleClearEmpty = () => {
82896
+ var _a, _b;
82897
+ if (!this._needClear) {
82898
+ return;
82899
+ }
82900
+ const allNodeElements = (_a = this._nodeMark) === null || _a === void 0 ? void 0 : _a.getGraphics();
82901
+ if (!allNodeElements || !allNodeElements.length) {
82902
+ return;
82903
+ }
82904
+ const allLinkElements = (_b = this._linkMark) === null || _b === void 0 ? void 0 : _b.getGraphics();
82905
+ if (!allLinkElements || !allLinkElements.length) {
82906
+ return;
82907
+ }
82908
+ allNodeElements.forEach(el => {
82909
+ el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
82910
+ el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
82911
+ });
82912
+ allLinkElements.forEach(el => {
82913
+ el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
82914
+ el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
82915
+ });
82916
+ this._needClear = false;
82917
+ };
82918
+ this._handleNodeAdjacencyClick = (graphic) => {
82919
+ const nodeDatum = getDatumOfGraphic(graphic);
82920
+ const highlightNodes = [nodeDatum.key];
82921
+ if (this._linkMark) {
82922
+ const allLinkElements = this._linkMark.getGraphics();
82923
+ if (!allLinkElements || !allLinkElements.length) {
82924
+ return;
82925
+ }
82926
+ allLinkElements.forEach((linkEl, i) => {
82927
+ const linkDatum = getDatumOfGraphic(linkEl);
82928
+ if (linkDatum.source === nodeDatum.key) {
82929
+ if (!highlightNodes.includes(linkDatum.target)) {
82930
+ highlightNodes.push(linkDatum.target);
82931
+ }
82932
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
82933
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
82934
+ }
82935
+ else if (linkDatum.target === nodeDatum.key) {
82936
+ if (!highlightNodes.includes(linkDatum.source)) {
82937
+ highlightNodes.push(linkDatum.source);
82938
+ }
82939
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
82940
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
82941
+ }
82942
+ else {
82943
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
82944
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
82945
+ }
82946
+ });
82947
+ }
82948
+ if (this._nodeMark) {
82949
+ this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
82950
+ }
82951
+ this._needClear = true;
82952
+ };
82953
+ this._handleLinkAdjacencyClick = (graphic) => {
82954
+ const curLinkDatum = getDatumOfGraphic(graphic);
82955
+ const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
82956
+ if (this._linkMark) {
82957
+ const allLinkElements = this._linkMark.getGraphics();
82958
+ if (!allLinkElements || !allLinkElements.length) {
82959
+ return;
82960
+ }
82961
+ allLinkElements.forEach(linkEl => {
82962
+ if (linkEl === graphic) {
82963
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
82964
+ addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
82965
+ }
82966
+ else {
82967
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
82968
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
82969
+ }
82970
+ });
82971
+ }
82972
+ if (this._nodeMark) {
82973
+ this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
82974
+ }
82975
+ this._needClear = true;
82976
+ };
82977
+ this._handleNodeRelatedClick = (graphic) => {
82978
+ var _a;
82979
+ const nodeDatum = getDatumOfGraphic(graphic);
82980
+ const allNodeElements = this._nodeMark.getGraphics();
82981
+ if (!allNodeElements || !allNodeElements.length) {
82982
+ return;
82983
+ }
82984
+ const allLinkElements = this._linkMark.getGraphics();
82985
+ if (!allLinkElements || !allLinkElements.length) {
82986
+ return;
82987
+ }
82988
+ const father = ((_a = getDatumOfGraphic(allLinkElements[0])) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
82989
+ if (father === 'source') {
82990
+ const highlightNodes = [nodeDatum.key];
82991
+ const highlightLinks = [];
82992
+ allLinkElements.forEach((linkEl, i) => {
82993
+ var _a, _b, _c, _d;
82994
+ const linkDatum = getDatumOfGraphic(linkEl);
82995
+ const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
82996
+ if (array(linkDatum[father]).includes(nodeDatum.key)) {
82997
+ if (!highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
82998
+ highlightLinks.push((_b = linkDatum.key) !== null && _b !== void 0 ? _b : linkDatum.index);
82999
+ }
83000
+ if (!highlightNodes.includes(linkDatum.source)) {
83001
+ highlightNodes.push(linkDatum.source);
83002
+ }
83003
+ if (!highlightNodes.includes(linkDatum.target)) {
83004
+ highlightNodes.push(linkDatum.target);
83005
+ const targetNode = allNodeElements.find(nodeElement => {
83006
+ return nodeElement.data[0].key === linkDatum.target;
83007
+ });
83008
+ let targetNodeSourceLinks = targetNode.data[0].sourceLinks;
83009
+ while ((targetNodeSourceLinks === null || targetNodeSourceLinks === void 0 ? void 0 : targetNodeSourceLinks.length) > 0) {
83010
+ const newTargetNodeSourceLinks = [];
83011
+ targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum) => {
83012
+ var _a, _b;
83013
+ if (!highlightLinks.includes((_a = targetNodeSourceLinkDatum.key) !== null && _a !== void 0 ? _a : targetNodeSourceLinkDatum.index)) {
83014
+ highlightLinks.push((_b = targetNodeSourceLinkDatum.key) !== null && _b !== void 0 ? _b : targetNodeSourceLinkDatum.index);
83015
+ if (!highlightNodes.includes(targetNodeSourceLinkDatum.target)) {
83016
+ highlightNodes.push(targetNodeSourceLinkDatum.target);
83017
+ const sourceNodeTemp = allNodeElements.find(nodeElement => {
83018
+ return nodeElement.data[0].key === targetNodeSourceLinkDatum.target;
83019
+ });
83020
+ newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
83021
+ }
83022
+ else {
83023
+ return;
83024
+ }
83025
+ }
83026
+ else {
83027
+ return;
83028
+ }
83029
+ });
83030
+ targetNodeSourceLinks = newTargetNodeSourceLinks;
83031
+ return;
83032
+ }
83033
+ }
83034
+ }
83035
+ else if (linkDatum.target === nodeDatum.key) {
83036
+ if (!highlightLinks.includes((_c = linkDatum.key) !== null && _c !== void 0 ? _c : linkDatum.index)) {
83037
+ highlightLinks.push((_d = linkDatum.key) !== null && _d !== void 0 ? _d : linkDatum.index);
83038
+ }
83039
+ if (!highlightNodes.includes(linkDatum.source)) {
83040
+ highlightNodes.push(linkDatum.source);
83041
+ const sourceNode = allNodeElements.find(nodeElement => {
83042
+ return nodeElement.data[0].key === linkDatum.source;
83043
+ });
83044
+ let sourceNodeTargetLinks = sourceNode.data[0].targetLinks;
83045
+ while ((sourceNodeTargetLinks === null || sourceNodeTargetLinks === void 0 ? void 0 : sourceNodeTargetLinks.length) > 0) {
83046
+ const newSourceNodeTargetLinks = [];
83047
+ sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum) => {
83048
+ var _a, _b;
83049
+ if (!highlightLinks.includes((_a = sourceNodeTargetLinkDatum.key) !== null && _a !== void 0 ? _a : sourceNodeTargetLinkDatum.index)) {
83050
+ highlightLinks.push((_b = sourceNodeTargetLinkDatum.key) !== null && _b !== void 0 ? _b : sourceNodeTargetLinkDatum.index);
83051
+ if (!highlightNodes.includes(sourceNodeTargetLinkDatum.source)) {
83052
+ highlightNodes.push(sourceNodeTargetLinkDatum.source);
83053
+ const sourceNodeTemp = allNodeElements.find(nodeElement => {
83054
+ return nodeElement.data[0].key === sourceNodeTargetLinkDatum.source;
83055
+ });
83056
+ newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
83057
+ }
83058
+ else {
83059
+ return;
83060
+ }
83061
+ }
83062
+ else {
83063
+ return;
83064
+ }
83065
+ });
83066
+ sourceNodeTargetLinks = newSourceNodeTargetLinks;
83067
+ return;
83068
+ }
83069
+ }
83070
+ }
83071
+ });
83072
+ if (this._linkMark) {
83073
+ const allLinkElements = this._linkMark.getGraphics();
83074
+ if (!allLinkElements || !allLinkElements.length) {
83075
+ return;
83076
+ }
83077
+ allLinkElements.forEach((linkEl, i) => {
83078
+ var _a;
83079
+ const linkDatum = getDatumOfGraphic(linkEl);
83080
+ if (highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
83081
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83082
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
83083
+ }
83084
+ else {
83085
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83086
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83087
+ }
83088
+ });
83089
+ }
83090
+ if (this._nodeMark) {
83091
+ this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
83092
+ }
83093
+ }
83094
+ else {
83095
+ const highlightNodes = [nodeDatum.key];
83096
+ const upstreamLinks = nodeDatum.targetLinks.reduce((res, link) => {
83097
+ const dividedLinks = array(link.datum);
83098
+ dividedLinks.forEach(dividedLink => {
83099
+ const parents = dividedLink.parents;
83100
+ const len = parents.length;
83101
+ for (let i = 0; i < len; i++) {
83102
+ const source = parents[i].key;
83103
+ const target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key;
83104
+ const value = dividedLink.value;
83105
+ const existingItem = res.find(item => item.source === source && item.target === target);
83106
+ if (existingItem) {
83107
+ existingItem.value += value;
83108
+ }
83109
+ else {
83110
+ res.push({ source, target, value });
83111
+ }
83112
+ }
83113
+ });
83114
+ return res;
83115
+ }, []);
83116
+ allLinkElements.forEach((linkEl, i) => {
83117
+ const linkDatum = getDatumOfGraphic(linkEl);
83118
+ const originalDatum = linkDatum.datum;
83119
+ const selectedDatum = originalDatum
83120
+ ? originalDatum.filter((entry) => entry[father].some((par) => par.key === nodeDatum.key))
83121
+ : null;
83122
+ const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
83123
+ if (selectedDatum && selectedDatum.length) {
83124
+ if (!highlightNodes.includes(linkDatum.source)) {
83125
+ highlightNodes.push(linkDatum.source);
83126
+ }
83127
+ if (!highlightNodes.includes(linkDatum.target)) {
83128
+ highlightNodes.push(linkDatum.target);
83129
+ }
83130
+ const val = selectedDatum.reduce((sum, d) => {
83131
+ return (sum += d.value);
83132
+ }, 0);
83133
+ const ratio = val / linkDatum.value;
83134
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83135
+ addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
83136
+ return;
83137
+ }
83138
+ if (upSelectedLink) {
83139
+ if (!highlightNodes.includes(linkDatum.source)) {
83140
+ highlightNodes.push(linkDatum.source);
83141
+ }
83142
+ if (!highlightNodes.includes(linkDatum.target)) {
83143
+ highlightNodes.push(linkDatum.target);
83144
+ }
83145
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83146
+ addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
83147
+ ratio: upSelectedLink.value / linkDatum.value
83148
+ });
83149
+ return;
83150
+ }
83151
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83152
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83153
+ return;
83154
+ });
83155
+ if (this._nodeMark) {
83156
+ this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
83157
+ }
83158
+ }
83159
+ this._needClear = true;
83160
+ };
83161
+ this._handleLinkRelatedClick = (graphic) => {
83162
+ const allNodeElements = this._nodeMark.getGraphics();
83163
+ if (!allNodeElements || !allNodeElements.length) {
83164
+ return;
83165
+ }
83166
+ const allLinkElements = this._linkMark.getGraphics();
83167
+ if (!allLinkElements || !allLinkElements.length) {
83168
+ return;
83169
+ }
83170
+ const father = getDatumOfGraphic(graphic) ? 'parents' : 'source';
83171
+ if (father === 'source') {
83172
+ if (this._linkMark) {
83173
+ allLinkElements.forEach(linkEl => {
83174
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83175
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83176
+ });
83177
+ }
83178
+ if (this._nodeMark) {
83179
+ allNodeElements.forEach(el => {
83180
+ el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83181
+ el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83182
+ });
83183
+ }
83184
+ }
83185
+ else {
83186
+ const curLinkDatum = getDatumOfGraphic(graphic);
83187
+ const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
83188
+ const upstreamLinks = [];
83189
+ const dividedLinks = array(curLinkDatum.datum);
83190
+ dividedLinks.forEach(dividedLink => {
83191
+ const parents = dividedLink.parents;
83192
+ const len = parents.length;
83193
+ for (let i = 0; i < len - 1; i++) {
83194
+ const source = parents[i].key;
83195
+ const target = parents[i + 1].key;
83196
+ const value = dividedLink.value;
83197
+ const existingItem = upstreamLinks.find(item => item.source === source && item.target === target);
83198
+ upstreamLinks.push({
83199
+ source: parents[i].key,
83200
+ target: parents[i + 1].key,
83201
+ value: dividedLink.value
83202
+ });
83203
+ if (existingItem) {
83204
+ existingItem.value += value;
83205
+ }
83206
+ else {
83207
+ upstreamLinks.push({ source, target, value });
83208
+ }
83209
+ }
83210
+ });
83211
+ allLinkElements.forEach(linkEl => {
83212
+ const linkDatum = getDatumOfGraphic(linkEl);
83213
+ const originalDatum = linkDatum.datum;
83214
+ if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
83215
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83216
+ addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
83217
+ return;
83218
+ }
83219
+ const selectedDatum = originalDatum
83220
+ ? originalDatum.filter((entry) => {
83221
+ const parentKeysList = entry.parents.map((item) => item.key);
83222
+ return parentKeysList.includes(curLinkDatum.source) && parentKeysList.includes(curLinkDatum.target);
83223
+ })
83224
+ : null;
83225
+ if (selectedDatum && selectedDatum.length) {
83226
+ if (!highlightNodes.includes(linkDatum.source)) {
83227
+ highlightNodes.push(linkDatum.source);
83228
+ }
83229
+ if (!highlightNodes.includes(linkDatum.target)) {
83230
+ highlightNodes.push(linkDatum.target);
83231
+ }
83232
+ const val = selectedDatum
83233
+ .filter((entry) => {
83234
+ return entry.parents.some((par, index) => {
83235
+ var _a;
83236
+ return par.key === curLinkDatum.source && ((_a = entry.parents[index + 1]) === null || _a === void 0 ? void 0 : _a.key) === curLinkDatum.target;
83237
+ });
83238
+ })
83239
+ .reduce((sum, d) => {
83240
+ return (sum += d.value);
83241
+ }, 0);
83242
+ const ratio = val / linkDatum.value;
83243
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83244
+ addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
83245
+ return;
83246
+ }
83247
+ const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
83248
+ if (upSelectedLink) {
83249
+ if (!highlightNodes.includes(linkDatum.source)) {
83250
+ highlightNodes.push(linkDatum.source);
83251
+ }
83252
+ if (!highlightNodes.includes(linkDatum.target)) {
83253
+ highlightNodes.push(linkDatum.target);
83254
+ }
83255
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83256
+ addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
83257
+ ratio: upSelectedLink.value / linkDatum.value
83258
+ });
83259
+ return;
83260
+ }
83261
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83262
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83263
+ return;
83264
+ });
83265
+ this._highLightElements(allNodeElements, highlightNodes);
83266
+ }
83267
+ this._needClear = true;
83268
+ };
82933
83269
  }
82934
83270
  get direction() {
82935
83271
  var _a;
@@ -83219,380 +83555,6 @@ class SankeySeries extends CartesianSeries {
83219
83555
  linksSeriesDataUpdate() {
83220
83556
  this._linkMark.getData().updateData();
83221
83557
  }
83222
- _handleClearEmpty() {
83223
- var _a, _b;
83224
- if (!this._needClear) {
83225
- return;
83226
- }
83227
- const allNodeElements = (_a = this._nodeMark) === null || _a === void 0 ? void 0 : _a.getGraphics();
83228
- if (!allNodeElements || !allNodeElements.length) {
83229
- return;
83230
- }
83231
- const allLinkElements = (_b = this._linkMark) === null || _b === void 0 ? void 0 : _b.getGraphics();
83232
- if (!allLinkElements || !allLinkElements.length) {
83233
- return;
83234
- }
83235
- allNodeElements.forEach(el => {
83236
- el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83237
- el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83238
- });
83239
- allLinkElements.forEach(el => {
83240
- el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83241
- el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83242
- });
83243
- this._needClear = false;
83244
- }
83245
- _handleNodeAdjacencyClick(graphic) {
83246
- const nodeDatum = getDatumOfGraphic(graphic);
83247
- const highlightNodes = [nodeDatum.key];
83248
- if (this._linkMark) {
83249
- const allLinkElements = this._linkMark.getGraphics();
83250
- if (!allLinkElements || !allLinkElements.length) {
83251
- return;
83252
- }
83253
- allLinkElements.forEach((linkEl, i) => {
83254
- const linkDatum = getDatumOfGraphic(linkEl);
83255
- if (linkDatum.source === nodeDatum.key) {
83256
- if (!highlightNodes.includes(linkDatum.target)) {
83257
- highlightNodes.push(linkDatum.target);
83258
- }
83259
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83260
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
83261
- }
83262
- else if (linkDatum.target === nodeDatum.key) {
83263
- if (!highlightNodes.includes(linkDatum.source)) {
83264
- highlightNodes.push(linkDatum.source);
83265
- }
83266
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83267
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
83268
- }
83269
- else {
83270
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83271
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83272
- }
83273
- });
83274
- }
83275
- if (this._nodeMark) {
83276
- this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
83277
- }
83278
- this._needClear = true;
83279
- }
83280
- _handleLinkAdjacencyClick(graphic) {
83281
- const curLinkDatum = getDatumOfGraphic(graphic);
83282
- const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
83283
- if (this._linkMark) {
83284
- const allLinkElements = this._linkMark.getGraphics();
83285
- if (!allLinkElements || !allLinkElements.length) {
83286
- return;
83287
- }
83288
- allLinkElements.forEach(linkEl => {
83289
- if (linkEl === graphic) {
83290
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83291
- addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
83292
- }
83293
- else {
83294
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83295
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83296
- }
83297
- });
83298
- }
83299
- if (this._nodeMark) {
83300
- this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
83301
- }
83302
- this._needClear = true;
83303
- }
83304
- _handleNodeRelatedClick(graphic) {
83305
- var _a;
83306
- const nodeDatum = getDatumOfGraphic(graphic);
83307
- const allNodeElements = this._nodeMark.getGraphics();
83308
- if (!allNodeElements || !allNodeElements.length) {
83309
- return;
83310
- }
83311
- const allLinkElements = this._linkMark.getGraphics();
83312
- if (!allLinkElements || !allLinkElements.length) {
83313
- return;
83314
- }
83315
- const father = ((_a = getDatumOfGraphic(allLinkElements[0])) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
83316
- if (father === 'source') {
83317
- const highlightNodes = [nodeDatum.key];
83318
- const highlightLinks = [];
83319
- allLinkElements.forEach((linkEl, i) => {
83320
- var _a, _b, _c, _d;
83321
- const linkDatum = getDatumOfGraphic(linkEl);
83322
- const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
83323
- if (array(linkDatum[father]).includes(nodeDatum.key)) {
83324
- if (!highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
83325
- highlightLinks.push((_b = linkDatum.key) !== null && _b !== void 0 ? _b : linkDatum.index);
83326
- }
83327
- if (!highlightNodes.includes(linkDatum.source)) {
83328
- highlightNodes.push(linkDatum.source);
83329
- }
83330
- if (!highlightNodes.includes(linkDatum.target)) {
83331
- highlightNodes.push(linkDatum.target);
83332
- const targetNode = allNodeElements.find(nodeElement => {
83333
- return nodeElement.data[0].key === linkDatum.target;
83334
- });
83335
- let targetNodeSourceLinks = targetNode.data[0].sourceLinks;
83336
- while ((targetNodeSourceLinks === null || targetNodeSourceLinks === void 0 ? void 0 : targetNodeSourceLinks.length) > 0) {
83337
- const newTargetNodeSourceLinks = [];
83338
- targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum) => {
83339
- var _a, _b;
83340
- if (!highlightLinks.includes((_a = targetNodeSourceLinkDatum.key) !== null && _a !== void 0 ? _a : targetNodeSourceLinkDatum.index)) {
83341
- highlightLinks.push((_b = targetNodeSourceLinkDatum.key) !== null && _b !== void 0 ? _b : targetNodeSourceLinkDatum.index);
83342
- if (!highlightNodes.includes(targetNodeSourceLinkDatum.target)) {
83343
- highlightNodes.push(targetNodeSourceLinkDatum.target);
83344
- const sourceNodeTemp = allNodeElements.find(nodeElement => {
83345
- return nodeElement.data[0].key === targetNodeSourceLinkDatum.target;
83346
- });
83347
- newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
83348
- }
83349
- else {
83350
- return;
83351
- }
83352
- }
83353
- else {
83354
- return;
83355
- }
83356
- });
83357
- targetNodeSourceLinks = newTargetNodeSourceLinks;
83358
- return;
83359
- }
83360
- }
83361
- }
83362
- else if (linkDatum.target === nodeDatum.key) {
83363
- if (!highlightLinks.includes((_c = linkDatum.key) !== null && _c !== void 0 ? _c : linkDatum.index)) {
83364
- highlightLinks.push((_d = linkDatum.key) !== null && _d !== void 0 ? _d : linkDatum.index);
83365
- }
83366
- if (!highlightNodes.includes(linkDatum.source)) {
83367
- highlightNodes.push(linkDatum.source);
83368
- const sourceNode = allNodeElements.find(nodeElement => {
83369
- return nodeElement.data[0].key === linkDatum.source;
83370
- });
83371
- let sourceNodeTargetLinks = sourceNode.data[0].targetLinks;
83372
- while ((sourceNodeTargetLinks === null || sourceNodeTargetLinks === void 0 ? void 0 : sourceNodeTargetLinks.length) > 0) {
83373
- const newSourceNodeTargetLinks = [];
83374
- sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum) => {
83375
- var _a, _b;
83376
- if (!highlightLinks.includes((_a = sourceNodeTargetLinkDatum.key) !== null && _a !== void 0 ? _a : sourceNodeTargetLinkDatum.index)) {
83377
- highlightLinks.push((_b = sourceNodeTargetLinkDatum.key) !== null && _b !== void 0 ? _b : sourceNodeTargetLinkDatum.index);
83378
- if (!highlightNodes.includes(sourceNodeTargetLinkDatum.source)) {
83379
- highlightNodes.push(sourceNodeTargetLinkDatum.source);
83380
- const sourceNodeTemp = allNodeElements.find(nodeElement => {
83381
- return nodeElement.data[0].key === sourceNodeTargetLinkDatum.source;
83382
- });
83383
- newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
83384
- }
83385
- else {
83386
- return;
83387
- }
83388
- }
83389
- else {
83390
- return;
83391
- }
83392
- });
83393
- sourceNodeTargetLinks = newSourceNodeTargetLinks;
83394
- return;
83395
- }
83396
- }
83397
- }
83398
- });
83399
- if (this._linkMark) {
83400
- const allLinkElements = this._linkMark.getGraphics();
83401
- if (!allLinkElements || !allLinkElements.length) {
83402
- return;
83403
- }
83404
- allLinkElements.forEach((linkEl, i) => {
83405
- var _a;
83406
- const linkDatum = getDatumOfGraphic(linkEl);
83407
- if (highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
83408
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83409
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
83410
- }
83411
- else {
83412
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83413
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83414
- }
83415
- });
83416
- }
83417
- if (this._nodeMark) {
83418
- this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
83419
- }
83420
- }
83421
- else {
83422
- const highlightNodes = [nodeDatum.key];
83423
- const upstreamLinks = nodeDatum.targetLinks.reduce((res, link) => {
83424
- const dividedLinks = array(link.datum);
83425
- dividedLinks.forEach(dividedLink => {
83426
- const parents = dividedLink.parents;
83427
- const len = parents.length;
83428
- for (let i = 0; i < len; i++) {
83429
- const source = parents[i].key;
83430
- const target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key;
83431
- const value = dividedLink.value;
83432
- const existingItem = res.find(item => item.source === source && item.target === target);
83433
- if (existingItem) {
83434
- existingItem.value += value;
83435
- }
83436
- else {
83437
- res.push({ source, target, value });
83438
- }
83439
- }
83440
- });
83441
- return res;
83442
- }, []);
83443
- allLinkElements.forEach((linkEl, i) => {
83444
- const linkDatum = getDatumOfGraphic(linkEl);
83445
- const originalDatum = linkDatum.datum;
83446
- const selectedDatum = originalDatum
83447
- ? originalDatum.filter((entry) => entry[father].some((par) => par.key === nodeDatum.key))
83448
- : null;
83449
- const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
83450
- if (selectedDatum && selectedDatum.length) {
83451
- if (!highlightNodes.includes(linkDatum.source)) {
83452
- highlightNodes.push(linkDatum.source);
83453
- }
83454
- if (!highlightNodes.includes(linkDatum.target)) {
83455
- highlightNodes.push(linkDatum.target);
83456
- }
83457
- const val = selectedDatum.reduce((sum, d) => {
83458
- return (sum += d.value);
83459
- }, 0);
83460
- const ratio = val / linkDatum.value;
83461
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83462
- addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
83463
- return;
83464
- }
83465
- if (upSelectedLink) {
83466
- if (!highlightNodes.includes(linkDatum.source)) {
83467
- highlightNodes.push(linkDatum.source);
83468
- }
83469
- if (!highlightNodes.includes(linkDatum.target)) {
83470
- highlightNodes.push(linkDatum.target);
83471
- }
83472
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83473
- addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
83474
- ratio: upSelectedLink.value / linkDatum.value
83475
- });
83476
- return;
83477
- }
83478
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83479
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83480
- return;
83481
- });
83482
- if (this._nodeMark) {
83483
- this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
83484
- }
83485
- }
83486
- this._needClear = true;
83487
- }
83488
- _handleLinkRelatedClick(graphic) {
83489
- const allNodeElements = this._nodeMark.getGraphics();
83490
- if (!allNodeElements || !allNodeElements.length) {
83491
- return;
83492
- }
83493
- const allLinkElements = this._linkMark.getGraphics();
83494
- if (!allLinkElements || !allLinkElements.length) {
83495
- return;
83496
- }
83497
- const father = getDatumOfGraphic(graphic) ? 'parents' : 'source';
83498
- if (father === 'source') {
83499
- if (this._linkMark) {
83500
- allLinkElements.forEach(linkEl => {
83501
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83502
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83503
- });
83504
- }
83505
- if (this._nodeMark) {
83506
- allNodeElements.forEach(el => {
83507
- el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83508
- el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83509
- });
83510
- }
83511
- }
83512
- else {
83513
- const curLinkDatum = getDatumOfGraphic(graphic);
83514
- const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
83515
- const upstreamLinks = [];
83516
- const dividedLinks = array(curLinkDatum.datum);
83517
- dividedLinks.forEach(dividedLink => {
83518
- const parents = dividedLink.parents;
83519
- const len = parents.length;
83520
- for (let i = 0; i < len - 1; i++) {
83521
- const source = parents[i].key;
83522
- const target = parents[i + 1].key;
83523
- const value = dividedLink.value;
83524
- const existingItem = upstreamLinks.find(item => item.source === source && item.target === target);
83525
- upstreamLinks.push({
83526
- source: parents[i].key,
83527
- target: parents[i + 1].key,
83528
- value: dividedLink.value
83529
- });
83530
- if (existingItem) {
83531
- existingItem.value += value;
83532
- }
83533
- else {
83534
- upstreamLinks.push({ source, target, value });
83535
- }
83536
- }
83537
- });
83538
- allLinkElements.forEach(linkEl => {
83539
- const linkDatum = getDatumOfGraphic(linkEl);
83540
- const originalDatum = linkDatum.datum;
83541
- if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
83542
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83543
- addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
83544
- return;
83545
- }
83546
- const selectedDatum = originalDatum
83547
- ? originalDatum.filter((entry) => {
83548
- const parentKeysList = entry.parents.map((item) => item.key);
83549
- return parentKeysList.includes(curLinkDatum.source) && parentKeysList.includes(curLinkDatum.target);
83550
- })
83551
- : null;
83552
- if (selectedDatum && selectedDatum.length) {
83553
- if (!highlightNodes.includes(linkDatum.source)) {
83554
- highlightNodes.push(linkDatum.source);
83555
- }
83556
- if (!highlightNodes.includes(linkDatum.target)) {
83557
- highlightNodes.push(linkDatum.target);
83558
- }
83559
- const val = selectedDatum
83560
- .filter((entry) => {
83561
- return entry.parents.some((par, index) => {
83562
- var _a;
83563
- return par.key === curLinkDatum.source && ((_a = entry.parents[index + 1]) === null || _a === void 0 ? void 0 : _a.key) === curLinkDatum.target;
83564
- });
83565
- })
83566
- .reduce((sum, d) => {
83567
- return (sum += d.value);
83568
- }, 0);
83569
- const ratio = val / linkDatum.value;
83570
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83571
- addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
83572
- return;
83573
- }
83574
- const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
83575
- if (upSelectedLink) {
83576
- if (!highlightNodes.includes(linkDatum.source)) {
83577
- highlightNodes.push(linkDatum.source);
83578
- }
83579
- if (!highlightNodes.includes(linkDatum.target)) {
83580
- highlightNodes.push(linkDatum.target);
83581
- }
83582
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
83583
- addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
83584
- ratio: upSelectedLink.value / linkDatum.value
83585
- });
83586
- return;
83587
- }
83588
- linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
83589
- linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
83590
- return;
83591
- });
83592
- this._highLightElements(allNodeElements, highlightNodes);
83593
- }
83594
- this._needClear = true;
83595
- }
83596
83558
  _highLightElements(graphics, highlightNodes) {
83597
83559
  if (!graphics || !graphics.length) {
83598
83560
  return;
@@ -100270,4 +100232,4 @@ function registerSequentialAnimate() {
100270
100232
  mixin(BaseMark, SequentialAnimate);
100271
100233
  }
100272
100234
 
100273
- export { ArcMark, AreaChart, AreaMark, AreaSeries, AttributeLevel, AxisSyncPlugin, BandAxisMixin, BarChart, BarChartSpecTransformer, BarSeries, BarSeriesSpecTransformer, BaseArcMark, BaseChart, BaseChartSpecTransformer, BaseComponent, BaseComponentSpecTransformer, BaseHistogramChart, BaseMark, BasePieChart, BasePieChartSpecTransformer, BasePieSeries, BasePlugin, BasePolygonMark, BaseSeries, BaseSeriesSpecTransformer, BaseSeriesTooltipHelper, BaseWordCloudChart, BaseWordCloudChartSpecTransformer, BaseWordCloudSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, ChartEvent, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, CompilableData, ComponentMark, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_ANIMATION_CONFIG, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CLOSE_STROKE_JOIN, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_KEY, DEFAULT_LAYOUT_RECT_LEVEL, DEFAULT_LAYOUT_RECT_LEVEL_MIN, DEFAULT_LINEAR_INTERPOLATE, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DEFAULT_SMOOTH_INTERPOLATE, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, Direction, DiscreteLegend, DomTooltipHandler, DotSeries, ElementHighlight, ElementSelect, Event$1 as Event, Factory, FormatterPlugin, FunnelChart, FunnelChartSpecTransformer, FunnelSeries, FunnelSeriesSpecTransformer, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GeoSeries, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, HistogramChart, HistogramChartSpecTransformer, ImageMark, Indicator, Label, Layout$1 as Layout, LayoutLevel, LayoutZIndex, LineChart, LineMark, LineSeries, LinearAxisMixin, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapSeries, MarkTypeEnum, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PieChart, PieSeries, PieSeriesSpecTransformer, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, PositionEnum, ProgressLikeSeries, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumnChart, RangeColumnSeries, RangeColumnSeriesSpecTransformer, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, STATE_VALUE_ENUM, SankeyChart, SankeyChartSpecTransformer, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, StreamLight, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TransformLevel, TreemapChart, TreemapSeries, USER_LAYOUT_RECT_LEVEL, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloudChart, WordCloudSeries, alternatingWave, animationConfig, barGrowIn, barGrowOut, barPresetAnimation, baseSeriesMark, boundsInRect, builtinThemes, calcLayoutNumber, calcPadding, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, convertPoint, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, findMarkGraphic, functionTransform, getActualColor, getActualNumValue, getCartesianCrosshairRect, getCartesianDimensionInfo, getColorSchemeBySeries, getCombinedSizeOfRegions, getDataScheme, getDatumOfGraphic, getDiffAttributesOfGraphic, getDimensionInfoByValue, getFieldAlias, getFunnelTheme, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getSpecInfo, getTheme, hasThemeMerged, isCollectionMark, isColorKey, isPercent, isPercentOffset, isProgressiveDataColorScheme, isTokenKey, isValidOrient, isXAxis, isYAxis, isZAxis, lightTheme, lookup, measureText, mergeFields, normalizeLayoutPaddingSpec, particleEffect, pieDisappear, pieEnter, pieExit, piePresetAnimation, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, registerAllEnv, registerAllMarks, registerAnimate, registerArcAnimation, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomAnimate, registerCustomMark, registerDataSetInstanceParser, registerDataSetInstanceTransform, registerDataZoom, registerDimensionEvents, registerDimensionHover, registerDimensionTooltipProcessor, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerElementActive, registerElementActiveByLegend, registerElementHighlight, registerElementHighlightByGroup, registerElementHighlightByKey, registerElementHighlightByLegend, registerElementHighlightByName, registerElementSelect, registerFormatPlugin, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerGroupTooltipProcessor, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapSeries, registerMarkArea, registerMarkFilterTransform, registerMarkLine, registerMarkMapTransform, registerMarkPoint, registerMarkTooltipProcessor, registerMediaQuery, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonAnimation, registerPolygonMark, registerPoptip, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRectAnimation, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSequentialAnimate, registerStateTransition, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerAnimate$1 as registerVRenderAnimate, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, shouldMarkDoMorph, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, transformToGraphic, userAnimationConfig, version, vglobal, warn };
100235
+ export { ArcMark, AreaChart, AreaMark, AreaSeries, AttributeLevel, AxisSyncPlugin, BandAxisMixin, BarChart, BarChartSpecTransformer, BarSeries, BarSeriesSpecTransformer, BaseArcMark, BaseChart, BaseChartSpecTransformer, BaseComponent, BaseComponentSpecTransformer, BaseHistogramChart, BaseMark, BasePieChart, BasePieChartSpecTransformer, BasePieSeries, BasePlugin, BasePolygonMark, BaseSeries, BaseSeriesSpecTransformer, BaseSeriesTooltipHelper, BaseWordCloudChart, BaseWordCloudChartSpecTransformer, BaseWordCloudSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, ChartEvent, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, CompilableData, ComponentMark, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_ANIMATION_CONFIG, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CLOSE_STROKE_JOIN, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_KEY, DEFAULT_LAYOUT_RECT_LEVEL, DEFAULT_LAYOUT_RECT_LEVEL_MIN, DEFAULT_LINEAR_INTERPOLATE, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DEFAULT_SMOOTH_INTERPOLATE, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, Direction, DiscreteLegend, DomTooltipHandler, DotSeries, ElementHighlight, ElementSelect, Event$1 as Event, Factory, FormatterPlugin, FunnelChart, FunnelChartSpecTransformer, FunnelSeries, FunnelSeriesSpecTransformer, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GeoSeries, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, HistogramChart, HistogramChartSpecTransformer, ImageMark, Indicator, Label, Layout$1 as Layout, LayoutLevel, LayoutZIndex, LineChart, LineMark, LineSeries, LinearAxisMixin, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapSeries, MarkTypeEnum, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PieChart, PieSeries, PieSeriesSpecTransformer, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, PositionEnum, ProgressLikeSeries, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumnChart, RangeColumnSeries, RangeColumnSeriesSpecTransformer, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, STATE_VALUE_ENUM, SankeyChart, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, StreamLight, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TransformLevel, TreemapChart, TreemapSeries, USER_LAYOUT_RECT_LEVEL, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloudChart, WordCloudSeries, alternatingWave, animationConfig, barGrowIn, barGrowOut, barPresetAnimation, baseSeriesMark, boundsInRect, builtinThemes, calcLayoutNumber, calcPadding, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, convertPoint, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, findMarkGraphic, functionTransform, getActualColor, getActualNumValue, getCartesianCrosshairRect, getCartesianDimensionInfo, getColorSchemeBySeries, getCombinedSizeOfRegions, getDataScheme, getDatumOfGraphic, getDiffAttributesOfGraphic, getDimensionInfoByValue, getFieldAlias, getFunnelTheme, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getSpecInfo, getTheme, hasThemeMerged, isCollectionMark, isColorKey, isPercent, isPercentOffset, isProgressiveDataColorScheme, isTokenKey, isValidOrient, isXAxis, isYAxis, isZAxis, lightTheme, lookup, measureText, mergeFields, normalizeLayoutPaddingSpec, particleEffect, pieDisappear, pieEnter, pieExit, piePresetAnimation, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, registerAllEnv, registerAllMarks, registerAnimate, registerArcAnimation, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomAnimate, registerCustomMark, registerDataSetInstanceParser, registerDataSetInstanceTransform, registerDataZoom, registerDimensionEvents, registerDimensionHover, registerDimensionTooltipProcessor, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerElementActive, registerElementActiveByLegend, registerElementHighlight, registerElementHighlightByGroup, registerElementHighlightByKey, registerElementHighlightByLegend, registerElementHighlightByName, registerElementSelect, registerFormatPlugin, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerGroupTooltipProcessor, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapSeries, registerMarkArea, registerMarkFilterTransform, registerMarkLine, registerMarkMapTransform, registerMarkPoint, registerMarkTooltipProcessor, registerMediaQuery, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonAnimation, registerPolygonMark, registerPoptip, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRectAnimation, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSequentialAnimate, registerStateTransition, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerAnimate$1 as registerVRenderAnimate, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, shouldMarkDoMorph, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, transformToGraphic, userAnimationConfig, version, vglobal, warn };