@visactor/vchart 1.12.0-alpha.4 → 1.12.0-alpha.5

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 (271) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +7465 -7766
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.d.ts +0 -1
  6. package/cjs/chart/base/base-chart.js +3 -4
  7. package/cjs/chart/base/base-chart.js.map +1 -1
  8. package/cjs/chart/cartesian/cartesian-transformer.d.ts +0 -4
  9. package/cjs/chart/cartesian/cartesian-transformer.js +10 -25
  10. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  11. package/cjs/chart/index.d.ts +3 -5
  12. package/cjs/chart/index.js +2 -16
  13. package/cjs/chart/index.js.map +1 -1
  14. package/cjs/chart/interface/type.d.ts +1 -2
  15. package/cjs/chart/interface/type.js +1 -2
  16. package/cjs/chart/interface/type.js.map +1 -1
  17. package/cjs/chart/stack.d.ts +1 -11
  18. package/cjs/chart/stack.js +4 -5
  19. package/cjs/chart/stack.js.map +1 -1
  20. package/cjs/chart/util.js +2 -1
  21. package/cjs/chart/util.js.map +1 -1
  22. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  23. package/cjs/component/label/interface.d.ts +1 -2
  24. package/cjs/component/label/interface.js.map +1 -1
  25. package/cjs/component/label/label.js +5 -8
  26. package/cjs/component/label/label.js.map +1 -1
  27. package/cjs/component/label/util.d.ts +0 -9
  28. package/cjs/component/label/util.js +8 -35
  29. package/cjs/component/label/util.js.map +1 -1
  30. package/cjs/component/marker/base-marker.d.ts +3 -4
  31. package/cjs/component/marker/base-marker.js +45 -6
  32. package/cjs/component/marker/base-marker.js.map +1 -1
  33. package/cjs/component/marker/interface.d.ts +3 -3
  34. package/cjs/component/marker/interface.js.map +1 -1
  35. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +2 -2
  36. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  37. package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -3
  38. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  39. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +2 -2
  40. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  41. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +2 -2
  42. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  43. package/cjs/component/marker/mark-line/interface/spec.d.ts +5 -5
  44. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  45. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +2 -2
  46. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  47. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +2 -2
  48. package/cjs/component/marker/mark-point/cartesian-mark-point.js +1 -1
  49. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  50. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +1 -2
  51. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -1
  52. package/cjs/component/marker/mark-point/interface/spec.d.ts +3 -4
  53. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  54. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +1 -2
  55. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  56. package/cjs/component/marker/utils.d.ts +3 -2
  57. package/cjs/component/marker/utils.js +14 -16
  58. package/cjs/component/marker/utils.js.map +1 -1
  59. package/cjs/constant/index.d.ts +0 -5
  60. package/cjs/constant/index.js +2 -6
  61. package/cjs/constant/index.js.map +1 -1
  62. package/cjs/core/index.d.ts +2 -1
  63. package/cjs/core/index.js +2 -2
  64. package/cjs/core/index.js.map +1 -1
  65. package/cjs/core/vchart.d.ts +1 -0
  66. package/cjs/core/vchart.js +34 -28
  67. package/cjs/core/vchart.js.map +1 -1
  68. package/cjs/data/transforms/aggregation.d.ts +3 -8
  69. package/cjs/data/transforms/aggregation.js +2 -62
  70. package/cjs/data/transforms/aggregation.js.map +1 -1
  71. package/cjs/data/transforms/stack-split.js +2 -2
  72. package/cjs/data/transforms/stack-split.js.map +1 -1
  73. package/cjs/index-wx.d.ts +0 -1
  74. package/cjs/index-wx.js +1 -1
  75. package/cjs/index-wx.js.map +1 -1
  76. package/cjs/model/interface.d.ts +1 -0
  77. package/cjs/model/interface.js.map +1 -1
  78. package/cjs/series/base/base-series.js +13 -12
  79. package/cjs/series/base/base-series.js.map +1 -1
  80. package/cjs/series/interface/common.d.ts +0 -2
  81. package/cjs/series/interface/common.js.map +1 -1
  82. package/cjs/series/interface/series.d.ts +1 -3
  83. package/cjs/series/interface/series.js.map +1 -1
  84. package/cjs/series/interface/theme.d.ts +0 -2
  85. package/cjs/series/interface/theme.js +1 -2
  86. package/cjs/series/interface/theme.js.map +1 -1
  87. package/cjs/series/interface/type.d.ts +1 -2
  88. package/cjs/series/interface/type.js +1 -1
  89. package/cjs/series/interface/type.js.map +1 -1
  90. package/cjs/series/polar/animation.js +6 -6
  91. package/cjs/series/polar/animation.js.map +1 -1
  92. package/cjs/series/progress/linear/linear.d.ts +3 -1
  93. package/cjs/series/progress/linear/linear.js +61 -46
  94. package/cjs/series/progress/linear/linear.js.map +1 -1
  95. package/cjs/series/sankey/interface.d.ts +4 -5
  96. package/cjs/series/sankey/interface.js.map +1 -1
  97. package/cjs/series/sankey/sankey.d.ts +2 -7
  98. package/cjs/series/sankey/sankey.js +151 -47
  99. package/cjs/series/sankey/sankey.js.map +1 -1
  100. package/cjs/series/waterfall/waterfall-transformer.js +1 -1
  101. package/cjs/series/waterfall/waterfall-transformer.js.map +1 -1
  102. package/cjs/series/waterfall/waterfall.d.ts +1 -0
  103. package/cjs/series/waterfall/waterfall.js +13 -13
  104. package/cjs/series/waterfall/waterfall.js.map +1 -1
  105. package/cjs/theme/builtin/common/series/index.js +2 -3
  106. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  107. package/cjs/theme/builtin/common/series/pie.js +0 -1
  108. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  109. package/cjs/theme/builtin/common/series/pie3d.js +0 -1
  110. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
  111. package/cjs/util/data.d.ts +1 -24
  112. package/cjs/util/data.js +17 -88
  113. package/cjs/util/data.js.map +1 -1
  114. package/esm/chart/base/base-chart.d.ts +0 -1
  115. package/esm/chart/base/base-chart.js +3 -4
  116. package/esm/chart/base/base-chart.js.map +1 -1
  117. package/esm/chart/cartesian/cartesian-transformer.d.ts +0 -4
  118. package/esm/chart/cartesian/cartesian-transformer.js +10 -25
  119. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  120. package/esm/chart/index.d.ts +3 -5
  121. package/esm/chart/index.js +2 -4
  122. package/esm/chart/index.js.map +1 -1
  123. package/esm/chart/interface/type.d.ts +1 -2
  124. package/esm/chart/interface/type.js +1 -2
  125. package/esm/chart/interface/type.js.map +1 -1
  126. package/esm/chart/stack.d.ts +1 -11
  127. package/esm/chart/stack.js +4 -5
  128. package/esm/chart/stack.js.map +1 -1
  129. package/esm/chart/util.js +2 -1
  130. package/esm/chart/util.js.map +1 -1
  131. package/esm/component/axis/cartesian/axis.js.map +1 -1
  132. package/esm/component/label/interface.d.ts +1 -2
  133. package/esm/component/label/interface.js.map +1 -1
  134. package/esm/component/label/label.js +5 -9
  135. package/esm/component/label/label.js.map +1 -1
  136. package/esm/component/label/util.d.ts +0 -9
  137. package/esm/component/label/util.js +5 -34
  138. package/esm/component/label/util.js.map +1 -1
  139. package/esm/component/marker/base-marker.d.ts +3 -4
  140. package/esm/component/marker/base-marker.js +39 -6
  141. package/esm/component/marker/base-marker.js.map +1 -1
  142. package/esm/component/marker/interface.d.ts +3 -3
  143. package/esm/component/marker/interface.js.map +1 -1
  144. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +2 -2
  145. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  146. package/esm/component/marker/mark-area/interface/spec.d.ts +2 -3
  147. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  148. package/esm/component/marker/mark-area/polar-mark-area.d.ts +2 -2
  149. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  150. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +2 -2
  151. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  152. package/esm/component/marker/mark-line/interface/spec.d.ts +5 -5
  153. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  154. package/esm/component/marker/mark-line/polar-mark-line.d.ts +2 -2
  155. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  156. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +2 -2
  157. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  158. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  159. package/esm/component/marker/mark-point/geo-mark-point.d.ts +1 -2
  160. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -1
  161. package/esm/component/marker/mark-point/interface/spec.d.ts +3 -4
  162. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  163. package/esm/component/marker/mark-point/polar-mark-point.d.ts +1 -2
  164. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  165. package/esm/component/marker/utils.d.ts +3 -2
  166. package/esm/component/marker/utils.js +14 -16
  167. package/esm/component/marker/utils.js.map +1 -1
  168. package/esm/constant/index.d.ts +0 -5
  169. package/esm/constant/index.js +0 -10
  170. package/esm/constant/index.js.map +1 -1
  171. package/esm/core/index.d.ts +2 -1
  172. package/esm/core/index.js +3 -1
  173. package/esm/core/index.js.map +1 -1
  174. package/esm/core/vchart.d.ts +1 -0
  175. package/esm/core/vchart.js +34 -28
  176. package/esm/core/vchart.js.map +1 -1
  177. package/esm/data/transforms/aggregation.d.ts +3 -8
  178. package/esm/data/transforms/aggregation.js +2 -60
  179. package/esm/data/transforms/aggregation.js.map +1 -1
  180. package/esm/data/transforms/stack-split.js +2 -2
  181. package/esm/data/transforms/stack-split.js.map +1 -1
  182. package/esm/index-wx.d.ts +0 -1
  183. package/esm/index-wx.js +0 -2
  184. package/esm/index-wx.js.map +1 -1
  185. package/esm/model/interface.d.ts +1 -0
  186. package/esm/model/interface.js.map +1 -1
  187. package/esm/series/base/base-series.js +12 -11
  188. package/esm/series/base/base-series.js.map +1 -1
  189. package/esm/series/interface/common.d.ts +0 -2
  190. package/esm/series/interface/common.js.map +1 -1
  191. package/esm/series/interface/series.d.ts +1 -3
  192. package/esm/series/interface/series.js.map +1 -1
  193. package/esm/series/interface/theme.d.ts +0 -2
  194. package/esm/series/interface/theme.js +1 -2
  195. package/esm/series/interface/theme.js.map +1 -1
  196. package/esm/series/interface/type.d.ts +1 -2
  197. package/esm/series/interface/type.js +1 -1
  198. package/esm/series/interface/type.js.map +1 -1
  199. package/esm/series/polar/animation.js +5 -6
  200. package/esm/series/polar/animation.js.map +1 -1
  201. package/esm/series/progress/linear/linear.d.ts +3 -1
  202. package/esm/series/progress/linear/linear.js +62 -46
  203. package/esm/series/progress/linear/linear.js.map +1 -1
  204. package/esm/series/sankey/interface.d.ts +4 -5
  205. package/esm/series/sankey/interface.js.map +1 -1
  206. package/esm/series/sankey/sankey.d.ts +2 -7
  207. package/esm/series/sankey/sankey.js +147 -49
  208. package/esm/series/sankey/sankey.js.map +1 -1
  209. package/esm/series/waterfall/waterfall-transformer.js +1 -1
  210. package/esm/series/waterfall/waterfall-transformer.js.map +1 -1
  211. package/esm/series/waterfall/waterfall.d.ts +1 -0
  212. package/esm/series/waterfall/waterfall.js +12 -12
  213. package/esm/series/waterfall/waterfall.js.map +1 -1
  214. package/esm/theme/builtin/common/series/index.js +1 -4
  215. package/esm/theme/builtin/common/series/index.js.map +1 -1
  216. package/esm/theme/builtin/common/series/pie.js +0 -1
  217. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  218. package/esm/theme/builtin/common/series/pie3d.js +0 -1
  219. package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
  220. package/esm/util/data.d.ts +1 -24
  221. package/esm/util/data.js +17 -86
  222. package/esm/util/data.js.map +1 -1
  223. package/package.json +4 -4
  224. package/cjs/chart/mosaic/index.d.ts +0 -3
  225. package/cjs/chart/mosaic/index.js +0 -22
  226. package/cjs/chart/mosaic/index.js.map +0 -1
  227. package/cjs/chart/mosaic/interface.d.ts +0 -7
  228. package/cjs/chart/mosaic/interface.js +0 -6
  229. package/cjs/chart/mosaic/interface.js.map +0 -1
  230. package/cjs/chart/mosaic/mosaic-transformer.d.ts +0 -9
  231. package/cjs/chart/mosaic/mosaic-transformer.js +0 -43
  232. package/cjs/chart/mosaic/mosaic-transformer.js.map +0 -1
  233. package/cjs/chart/mosaic/mosaic.d.ts +0 -20
  234. package/cjs/chart/mosaic/mosaic.js +0 -39
  235. package/cjs/chart/mosaic/mosaic.js.map +0 -1
  236. package/cjs/series/mosaic/interface.d.ts +0 -16
  237. package/cjs/series/mosaic/interface.js +0 -6
  238. package/cjs/series/mosaic/interface.js.map +0 -1
  239. package/cjs/series/mosaic/mosaic.d.ts +0 -16
  240. package/cjs/series/mosaic/mosaic.js +0 -69
  241. package/cjs/series/mosaic/mosaic.js.map +0 -1
  242. package/cjs/series/sankey/sankey-transformer.d.ts +0 -5
  243. package/cjs/series/sankey/sankey-transformer.js +0 -16
  244. package/cjs/series/sankey/sankey-transformer.js.map +0 -1
  245. package/cjs/theme/builtin/common/series/mosaic.d.ts +0 -2
  246. package/cjs/theme/builtin/common/series/mosaic.js +0 -27
  247. package/cjs/theme/builtin/common/series/mosaic.js.map +0 -1
  248. package/esm/chart/mosaic/index.d.ts +0 -3
  249. package/esm/chart/mosaic/index.js +0 -6
  250. package/esm/chart/mosaic/index.js.map +0 -1
  251. package/esm/chart/mosaic/interface.d.ts +0 -7
  252. package/esm/chart/mosaic/interface.js +0 -2
  253. package/esm/chart/mosaic/interface.js.map +0 -1
  254. package/esm/chart/mosaic/mosaic-transformer.d.ts +0 -9
  255. package/esm/chart/mosaic/mosaic-transformer.js +0 -37
  256. package/esm/chart/mosaic/mosaic-transformer.js.map +0 -1
  257. package/esm/chart/mosaic/mosaic.d.ts +0 -20
  258. package/esm/chart/mosaic/mosaic.js +0 -41
  259. package/esm/chart/mosaic/mosaic.js.map +0 -1
  260. package/esm/series/mosaic/interface.d.ts +0 -16
  261. package/esm/series/mosaic/interface.js +0 -2
  262. package/esm/series/mosaic/interface.js.map +0 -1
  263. package/esm/series/mosaic/mosaic.d.ts +0 -16
  264. package/esm/series/mosaic/mosaic.js +0 -78
  265. package/esm/series/mosaic/mosaic.js.map +0 -1
  266. package/esm/series/sankey/sankey-transformer.d.ts +0 -5
  267. package/esm/series/sankey/sankey-transformer.js +0 -8
  268. package/esm/series/sankey/sankey-transformer.js.map +0 -1
  269. package/esm/theme/builtin/common/series/mosaic.d.ts +0 -2
  270. package/esm/theme/builtin/common/series/mosaic.js +0 -23
  271. package/esm/theme/builtin/common/series/mosaic.js.map +0 -1
@@ -48,15 +48,10 @@ import { TransformLevel } from "../../data/initialize";
48
48
 
49
49
  import { addDataKey, initKeyMap } from "../../data/transforms/data-key";
50
50
 
51
- import { SankeySeriesSpecTransformer } from "./sankey-transformer";
52
-
53
- import { getFormatFunction } from "../../component/util";
54
-
55
51
  export class SankeySeries extends CartesianSeries {
56
52
  constructor() {
57
- super(...arguments), this.type = SeriesTypeEnum.sankey, this.transformerConstructor = SankeySeriesSpecTransformer,
58
- this._nodeLayoutZIndex = LayoutZIndex.Node, this._labelLayoutZIndex = LayoutZIndex.Label,
59
- this._viewBox = new Bounds, this._fillByNode = datum => {
53
+ super(...arguments), this.type = SeriesTypeEnum.sankey, this._nodeLayoutZIndex = LayoutZIndex.Node,
54
+ this._labelLayoutZIndex = LayoutZIndex.Label, this._viewBox = new Bounds, this._fillByNode = datum => {
60
55
  var _a, _b, _c, _d, _e;
61
56
  if (datum && datum.sourceRect && datum.targetRect) return this._fillByLink(datum);
62
57
  const fill = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill;
@@ -81,16 +76,20 @@ export class SankeySeries extends CartesianSeries {
81
76
  const emphasisSpec = null !== (_a = this._spec.emphasis) && void 0 !== _a ? _a : {}, element = params.item;
82
77
  "adjacency" === emphasisSpec.effect ? element && element.mark.id().includes("node") ? this._handleNodeAdjacencyClick(element) : element && element.mark.id().includes("link") ? this._handleLinkAdjacencyClick(element) : this._handleClearEmpty() : "related" === emphasisSpec.effect && (element && element.mark.id().includes("node") ? this._handleNodeRelatedClick(element) : element && element.mark.id().includes("link") ? this._handleLinkRelatedClick(element) : this._handleClearEmpty());
83
78
  }, this._handleClearEmpty = () => {
84
- var _a, _b;
79
+ var _a, _b, _c;
85
80
  const allNodeElements = null === (_a = this._nodeMark) || void 0 === _a ? void 0 : _a.getProductElements();
86
81
  if (!allNodeElements || !allNodeElements.length) return;
87
82
  const allLinkElements = null === (_b = this._linkMark) || void 0 === _b ? void 0 : _b.getProductElements();
88
83
  if (!allLinkElements || !allLinkElements.length) return;
84
+ const allLabelElements = null === (_c = this._labelMark) || void 0 === _c ? void 0 : _c.getProductElements();
85
+ if (!allLabelElements || !allLabelElements.length) return;
89
86
  const states = [ STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE ];
90
87
  allNodeElements.forEach((el => {
91
88
  el.removeState(states);
92
89
  })), allLinkElements.forEach((el => {
93
90
  el.removeState(states);
91
+ })), allLabelElements.forEach((el => {
92
+ el.removeState(states);
94
93
  }));
95
94
  }, this._handleNodeAdjacencyClick = element => {
96
95
  const nodeDatum = element.getDatum(), highlightNodes = [ nodeDatum.key ];
@@ -115,7 +114,8 @@ export class SankeySeries extends CartesianSeries {
115
114
  linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE));
116
115
  }));
117
116
  }
118
- this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
117
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
118
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
119
119
  }, this._handleLinkAdjacencyClick = element => {
120
120
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ];
121
121
  if (this._linkMark) {
@@ -128,7 +128,8 @@ export class SankeySeries extends CartesianSeries {
128
128
  })) : (linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS), linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE));
129
129
  }));
130
130
  }
131
- this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
131
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
132
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
132
133
  }, this._handleNodeRelatedClick = element => {
133
134
  var _a;
134
135
  const nodeDatum = element.getDatum(), allNodeElements = this._nodeMark.getProductElements();
@@ -186,7 +187,8 @@ export class SankeySeries extends CartesianSeries {
186
187
  linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE));
187
188
  }));
188
189
  }
189
- this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
190
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
191
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
190
192
  } else {
191
193
  const highlightNodes = [ nodeDatum.key ], upstreamLinks = nodeDatum.targetLinks.reduce(((res, link) => (array(link.datum).forEach((dividedLink => {
192
194
  const parents = dividedLink.parents, len = parents.length;
@@ -217,7 +219,8 @@ export class SankeySeries extends CartesianSeries {
217
219
  ratio: upSelectedLink.value / linkDatum.value
218
220
  });
219
221
  linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS), linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
220
- })), this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
222
+ })), this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
223
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
221
224
  }
222
225
  }, this._handleLinkRelatedClick = element => {
223
226
  var _a;
@@ -227,11 +230,17 @@ export class SankeySeries extends CartesianSeries {
227
230
  if (!allLinkElements || !allLinkElements.length) return;
228
231
  if ("source" === ((null === (_a = element.getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
229
232
  const states = [ STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE ];
230
- this._linkMark && allLinkElements.forEach((linkEl => {
233
+ if (this._linkMark && allLinkElements.forEach((linkEl => {
231
234
  linkEl.removeState(states);
232
235
  })), this._nodeMark && allNodeElements.forEach((el => {
233
236
  el.removeState(states);
234
- }));
237
+ })), this._labelMark) {
238
+ const allLabelElements = this._labelMark.getProductElements();
239
+ if (!allLabelElements || !allLabelElements.length) return;
240
+ allLabelElements.forEach((el => {
241
+ el.removeState(states);
242
+ }));
243
+ }
235
244
  } else {
236
245
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ], upstreamLinks = [];
237
246
  array(curLinkDatum.datum).forEach((dividedLink => {
@@ -278,14 +287,10 @@ export class SankeySeries extends CartesianSeries {
278
287
  ratio: upSelectedLink.value / linkDatum.value
279
288
  });
280
289
  linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS), linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
281
- })), this._highLightElements(allNodeElements, highlightNodes);
290
+ })), this._highLightElements(allNodeElements, highlightNodes), this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
282
291
  }
283
292
  };
284
293
  }
285
- get direction() {
286
- var _a;
287
- return null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal";
288
- }
289
294
  getCategoryField() {
290
295
  return this._categoryField;
291
296
  }
@@ -299,9 +304,10 @@ export class SankeySeries extends CartesianSeries {
299
304
  return this._valueField = f, this._valueField;
300
305
  }
301
306
  setAttrFromSpec() {
302
- var _a;
307
+ var _a, _b, _c;
303
308
  super.setAttrFromSpec(), this.setCategoryField(this._spec.categoryField), this.setValueField(this._spec.valueField),
304
- this.setSeriesField(null !== (_a = this._spec.seriesField) && void 0 !== _a ? _a : this._spec.categoryField);
309
+ this.setSeriesField(null !== (_a = this._spec.seriesField) && void 0 !== _a ? _a : this._spec.categoryField),
310
+ this._labelLimit = null !== (_c = null === (_b = this._spec.label) || void 0 === _b ? void 0 : _b.limit) && void 0 !== _c ? _c : 100;
305
311
  }
306
312
  initData() {
307
313
  var _a, _b, _c, _d;
@@ -323,7 +329,7 @@ export class SankeySeries extends CartesianSeries {
323
329
  sourceField: this._spec.sourceField,
324
330
  targetField: this._spec.targetField,
325
331
  valueField: this._spec.valueField,
326
- direction: this.direction,
332
+ direction: this._spec.direction,
327
333
  nodeAlign: null !== (_a = this._spec.nodeAlign) && void 0 !== _a ? _a : "justify",
328
334
  nodeGap: null !== (_b = this._spec.nodeGap) && void 0 !== _b ? _b : 8,
329
335
  nodeWidth: null !== (_c = this._spec.nodeWidth) && void 0 !== _c ? _c : 10,
@@ -403,7 +409,13 @@ export class SankeySeries extends CartesianSeries {
403
409
  customShape: null === (_c = this._spec.link) || void 0 === _c ? void 0 : _c.customShape,
404
410
  stateSort: null === (_d = this._spec.link) || void 0 === _d ? void 0 : _d.stateSort
405
411
  });
406
- linkMark && (this._linkMark = linkMark);
412
+ if (linkMark && (this._linkMark = linkMark), this._spec.label && this._spec.label.visible) {
413
+ const labelMark = this._createMark(SankeySeries.mark.label, {
414
+ dataView: this._nodesSeriesData.getDataView(),
415
+ dataProductId: this._nodesSeriesData.getProductId()
416
+ });
417
+ labelMark && (this._labelMark = labelMark);
418
+ }
407
419
  }
408
420
  _buildMarkAttributeContext() {
409
421
  super._buildMarkAttributeContext(), this._markAttributeContext.valueToNode = this.valueToNode.bind(this),
@@ -426,7 +438,7 @@ export class SankeySeries extends CartesianSeries {
426
438
  return null == node ? void 0 : node.y0;
427
439
  }
428
440
  initMarkStyle() {
429
- this._initNodeMarkStyle(), this._initLinkMarkStyle();
441
+ this._initNodeMarkStyle(), this._initLinkMarkStyle(), this._initLabelMarkStyle();
430
442
  }
431
443
  _initNodeMarkStyle() {
432
444
  const nodeMark = this._nodeMark;
@@ -439,6 +451,7 @@ export class SankeySeries extends CartesianSeries {
439
451
  }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Mark);
440
452
  }
441
453
  _initLinkMarkStyle() {
454
+ var _a;
442
455
  const linkMark = this._linkMark;
443
456
  linkMark && this.setMarkStyle(linkMark, {
444
457
  x0: datum => datum.x0,
@@ -447,35 +460,119 @@ export class SankeySeries extends CartesianSeries {
447
460
  y1: datum => datum.y1,
448
461
  thickness: datum => datum.thickness,
449
462
  fill: this._fillByLink,
450
- direction: this.direction
463
+ direction: null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal"
451
464
  }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);
452
465
  }
453
- initLabelMarkStyle(labelMark, labelSpec) {
454
- if (!labelMark) return;
455
- const position = labelSpec.position;
456
- position && position.includes("inside") ? this.setMarkStyle(labelMark, {
466
+ _initLabelMarkStyle() {
467
+ this._labelMark && ("vertical" === this._spec.direction ? "inside-start" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
468
+ x: datum => datum.x0,
469
+ y: datum => (datum.y0 + datum.y1) / 2,
457
470
  fill: "#ffffff",
458
- text: datum => this._createText(datum, labelSpec),
459
- maxLineWidth: datum => {
471
+ text: datum => this._createText(datum),
472
+ limit: datum => {
460
473
  var _a;
461
- return null !== (_a = labelSpec.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
462
- }
463
- }) : this.setMarkStyle(labelMark, {
474
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
475
+ },
476
+ textAlign: "left",
477
+ textBaseline: "middle"
478
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "inside-middle" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
479
+ x: datum => (datum.x0 + datum.x1) / 2,
480
+ y: datum => (datum.y0 + datum.y1) / 2,
481
+ fill: "#ffffff",
482
+ text: datum => this._createText(datum),
483
+ limit: datum => {
484
+ var _a;
485
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
486
+ },
487
+ textAlign: "center",
488
+ textBaseline: "middle"
489
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "inside-end" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
490
+ x: datum => datum.x1,
491
+ y: datum => (datum.y0 + datum.y1) / 2,
492
+ fill: "#ffffff",
493
+ text: datum => this._createText(datum),
494
+ limit: datum => {
495
+ var _a;
496
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
497
+ },
498
+ textAlign: "right",
499
+ textBaseline: "middle"
500
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : this.setMarkStyle(this._labelMark, {
501
+ x: datum => (datum.x0 + datum.x1) / 2,
502
+ y: datum => datum.y1 >= this._viewBox.y2 ? datum.y0 : datum.y1,
464
503
  fill: this._fillByNode,
465
- text: datum => this._createText(datum, labelSpec),
466
- maxLineWidth: labelSpec.limit
467
- }), labelMark.setZIndex(this._labelLayoutZIndex);
504
+ text: datum => this._createText(datum),
505
+ limit: this._labelLimit,
506
+ textAlign: "center",
507
+ textBaseline: datum => datum.y1 >= this._viewBox.y2 ? "bottom" : "top"
508
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "inside-start" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
509
+ x: datum => datum.x0,
510
+ y: datum => (datum.y0 + datum.y1) / 2,
511
+ fill: "#ffffff",
512
+ text: datum => this._createText(datum),
513
+ limit: datum => {
514
+ var _a;
515
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
516
+ },
517
+ textAlign: "left",
518
+ textBaseline: "middle"
519
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "inside-middle" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
520
+ x: datum => (datum.x0 + datum.x1) / 2,
521
+ y: datum => (datum.y0 + datum.y1) / 2,
522
+ fill: "#ffffff",
523
+ text: datum => this._createText(datum),
524
+ limit: datum => {
525
+ var _a;
526
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
527
+ },
528
+ textAlign: "center",
529
+ textBaseline: "middle"
530
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "inside-end" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
531
+ x: datum => datum.x1,
532
+ y: datum => (datum.y0 + datum.y1) / 2,
533
+ fill: "#ffffff",
534
+ text: datum => this._createText(datum),
535
+ limit: datum => {
536
+ var _a;
537
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
538
+ },
539
+ textAlign: "right",
540
+ textBaseline: "middle"
541
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "left" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
542
+ x: datum => datum.x0,
543
+ y: datum => (datum.y0 + datum.y1) / 2,
544
+ fill: this._fillByNode,
545
+ text: datum => this._createText(datum),
546
+ limit: this._labelLimit,
547
+ textAlign: "right",
548
+ textBaseline: "middle"
549
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "right" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
550
+ x: datum => datum.x1,
551
+ y: datum => (datum.y0 + datum.y1) / 2,
552
+ fill: this._fillByNode,
553
+ text: datum => this._createText(datum),
554
+ limit: this._labelLimit,
555
+ textAlign: "left",
556
+ textBaseline: "middle"
557
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : this.setMarkStyle(this._labelMark, {
558
+ x: datum => datum.x1 >= this._viewBox.x2 ? datum.x0 : datum.x1,
559
+ y: datum => (datum.y0 + datum.y1) / 2,
560
+ fill: this._fillByNode,
561
+ text: datum => this._createText(datum),
562
+ limit: this._labelLimit,
563
+ textAlign: datum => datum.x1 >= this._viewBox.x2 ? "right" : "left",
564
+ textBaseline: "middle"
565
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series), this._labelMark.setZIndex(this._labelLayoutZIndex));
468
566
  }
469
- _createText(datum, labelSpec) {
567
+ _createText(datum) {
568
+ var _a;
470
569
  if (isNil(datum) || isNil(datum.datum)) return "";
471
570
  let text = datum.datum[this._spec.categoryField] || "";
472
- const {formatMethod: formatMethod, formatter: formatter} = labelSpec || {}, {formatFunc: formatFunc, args: args} = getFormatFunction(formatMethod, formatter, text, datum.datum);
473
- return formatFunc && (text = formatFunc(...args, {
474
- series: this
475
- })), text;
571
+ return (null === (_a = this._spec.label) || void 0 === _a ? void 0 : _a.formatMethod) && (text = this._spec.label.formatMethod(text, datum.datum)),
572
+ text;
476
573
  }
477
574
  initAnimation() {
478
- var _a, _b, _c, _d;
575
+ var _a, _b, _c, _d, _e;
479
576
  const animationParams = {
480
577
  direction: this.direction,
481
578
  growFrom: () => {
@@ -484,7 +581,8 @@ export class SankeySeries extends CartesianSeries {
484
581
  }
485
582
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
486
583
  this._nodeMark && this._nodeMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("sankeyNode")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig("node", this._spec, this._markAttributeContext))),
487
- this._linkMark && this._linkMark.setAnimationConfig(animationConfig(null === (_d = Factory.getAnimationInKey("sankeyLinkPath")) || void 0 === _d ? void 0 : _d(animationParams, appearPreset), userAnimationConfig("link", this._spec, this._markAttributeContext)));
584
+ this._linkMark && this._linkMark.setAnimationConfig(animationConfig(null === (_d = Factory.getAnimationInKey("sankeyLinkPath")) || void 0 === _d ? void 0 : _d(animationParams, appearPreset), userAnimationConfig("link", this._spec, this._markAttributeContext))),
585
+ this._labelMark && this._labelMark.setAnimationConfig(animationConfig(null === (_e = Factory.getAnimationInKey("fadeInOut")) || void 0 === _e ? void 0 : _e(), userAnimationConfig("label", this._spec, this._markAttributeContext)));
488
586
  }
489
587
  initEvent() {
490
588
  var _a, _b, _c;
@@ -512,7 +610,8 @@ export class SankeySeries extends CartesianSeries {
512
610
  }
513
611
  initTooltip() {
514
612
  this._tooltipHelper = new SankeySeriesTooltipHelper(this), this._nodeMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nodeMark),
515
- this._linkMark && this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark);
613
+ this._linkMark && this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark),
614
+ this._labelMark && this._tooltipHelper.activeTriggerSet.mark.add(this._labelMark);
516
615
  }
517
616
  _setNodeOrdinalColorScale() {
518
617
  var _a, _b, _c, _d, _e;
@@ -527,9 +626,9 @@ export class SankeySeries extends CartesianSeries {
527
626
  this._colorScale = ordinalScale;
528
627
  }
529
628
  getNodeList() {
530
- var _a, _b;
629
+ var _a;
531
630
  if (this._nodeList) return this._nodeList;
532
- const data = this._rawData.latestData[0], nodeList = (null == data ? void 0 : data.nodes) ? (null === (_a = data.nodes[0]) || void 0 === _a ? void 0 : _a.children) ? Array.from(this.extractNamesFromTree(data.nodes, this._spec.categoryField)) : data.nodes.map(((datum, index) => datum[this._spec.categoryField])) : (null == data ? void 0 : data.links) ? Array.from(this.extractNamesFromLink(data.links)) : null === (_b = null == data ? void 0 : data.values) || void 0 === _b ? void 0 : _b.map(((datum, index) => datum[this._spec.categoryField]));
631
+ const data = this._rawData.latestData[0], nodeList = (null == data ? void 0 : data.nodes) ? (null === (_a = data.nodes[0]) || void 0 === _a ? void 0 : _a.children) ? Array.from(this.extractNamesFromTree(data.nodes, this._spec.categoryField)) : data.nodes.map(((datum, index) => datum[this._spec.categoryField])) : (null == data ? void 0 : data.links) ? Array.from(this.extractNamesFromLink(data.links)) : null == data ? void 0 : data.values.map(((datum, index) => datum[this._spec.categoryField]));
533
632
  return this._nodeList = nodeList, nodeList;
534
633
  }
535
634
  _getNodeNameFromData(datum) {
@@ -590,8 +689,7 @@ export class SankeySeries extends CartesianSeries {
590
689
  }
591
690
  }
592
691
 
593
- SankeySeries.type = SeriesTypeEnum.sankey, SankeySeries.transformerConstructor = SankeySeriesSpecTransformer,
594
- SankeySeries.mark = sankeySeriesMark;
692
+ SankeySeries.type = SeriesTypeEnum.sankey, SankeySeries.mark = sankeySeriesMark;
595
693
 
596
694
  export const registerSankeySeries = () => {
597
695
  registerSankeyTransforms(), registerRectMark(), registerLinkPathMark(), registerTextMark(),