@visactor/vchart 1.2.3 → 1.3.0-beta.10

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 (741) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +23611 -20832
  3. package/build/index.min.js +15 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/spec.d.ts +1 -1
  6. package/cjs/animation/spec.js.map +1 -1
  7. package/cjs/chart/area/area.js +2 -3
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +2 -2
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base-chart.d.ts +4 -2
  14. package/cjs/chart/base-chart.js +33 -34
  15. package/cjs/chart/base-chart.js.map +1 -1
  16. package/cjs/chart/box-plot/box-plot.js +2 -2
  17. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian.js +2 -1
  19. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  20. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  21. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  22. package/cjs/chart/funnel/funnel-3d.js +2 -2
  23. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  24. package/cjs/chart/funnel/funnel.js +2 -2
  25. package/cjs/chart/funnel/funnel.js.map +1 -1
  26. package/cjs/chart/gauge/gauge.js +2 -2
  27. package/cjs/chart/gauge/gauge.js.map +1 -1
  28. package/cjs/chart/heatmap/heatmap.js +2 -2
  29. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  30. package/cjs/chart/histogram/histogram-3d.js +2 -2
  31. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  32. package/cjs/chart/histogram/histogram.js +2 -2
  33. package/cjs/chart/histogram/histogram.js.map +1 -1
  34. package/cjs/chart/interface/chart.d.ts +4 -2
  35. package/cjs/chart/interface/chart.js.map +1 -1
  36. package/cjs/chart/line/line.js +2 -3
  37. package/cjs/chart/line/line.js.map +1 -1
  38. package/cjs/chart/map/map.js +2 -2
  39. package/cjs/chart/map/map.js.map +1 -1
  40. package/cjs/chart/pie/pie-3d.js +2 -2
  41. package/cjs/chart/pie/pie-3d.js.map +1 -1
  42. package/cjs/chart/pie/pie.js +2 -2
  43. package/cjs/chart/pie/pie.js.map +1 -1
  44. package/cjs/chart/progress/circular/circular.js +2 -2
  45. package/cjs/chart/progress/circular/circular.js.map +1 -1
  46. package/cjs/chart/progress/linear/linear.js +2 -2
  47. package/cjs/chart/progress/linear/linear.js.map +1 -1
  48. package/cjs/chart/radar/radar.js +2 -3
  49. package/cjs/chart/radar/radar.js.map +1 -1
  50. package/cjs/chart/range-area/range-area.js +2 -2
  51. package/cjs/chart/range-area/range-area.js.map +1 -1
  52. package/cjs/chart/range-column/range-column-3d.js +2 -2
  53. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  54. package/cjs/chart/range-column/range-column.js +2 -2
  55. package/cjs/chart/range-column/range-column.js.map +1 -1
  56. package/cjs/chart/rose/rose.js +2 -2
  57. package/cjs/chart/rose/rose.js.map +1 -1
  58. package/cjs/chart/sankey/sankey.js +2 -2
  59. package/cjs/chart/sankey/sankey.js.map +1 -1
  60. package/cjs/chart/scatter/scatter.js +2 -2
  61. package/cjs/chart/scatter/scatter.js.map +1 -1
  62. package/cjs/chart/sequence/sequence.js +2 -2
  63. package/cjs/chart/sequence/sequence.js.map +1 -1
  64. package/cjs/chart/stack.d.ts +1 -0
  65. package/cjs/chart/stack.js +14 -0
  66. package/cjs/chart/stack.js.map +1 -1
  67. package/cjs/chart/sunburst/sunburst.js +2 -2
  68. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  69. package/cjs/chart/treemap/treemap.js +2 -2
  70. package/cjs/chart/treemap/treemap.js.map +1 -1
  71. package/cjs/chart/util.d.ts +8 -0
  72. package/cjs/chart/util.js +32 -3
  73. package/cjs/chart/util.js.map +1 -1
  74. package/cjs/chart/waterfall/waterfall.js +2 -2
  75. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  76. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  77. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  78. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  79. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  80. package/cjs/compile/compiler.d.ts +1 -1
  81. package/cjs/compile/compiler.js +4 -3
  82. package/cjs/compile/compiler.js.map +1 -1
  83. package/cjs/compile/mark/compilable-mark.js +9 -10
  84. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  85. package/cjs/compile/mark/interface.d.ts +2 -1
  86. package/cjs/compile/mark/interface.js.map +1 -1
  87. package/cjs/compile/mark/util.d.ts +2 -1
  88. package/cjs/compile/mark/util.js +21 -5
  89. package/cjs/compile/mark/util.js.map +1 -1
  90. package/cjs/component/axis/base-axis.d.ts +1 -12
  91. package/cjs/component/axis/base-axis.js +7 -17
  92. package/cjs/component/axis/base-axis.js.map +1 -1
  93. package/cjs/component/axis/cartesian/axis.js +15 -6
  94. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  95. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  96. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  97. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  98. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  99. package/cjs/component/axis/cartesian/index.js +2 -1
  100. package/cjs/component/axis/cartesian/index.js.map +1 -1
  101. package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
  102. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  103. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  104. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  105. package/cjs/component/axis/cartesian/linear-axis.js +4 -3
  106. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  107. package/cjs/component/axis/cartesian/symlog-axis.d.ts +15 -0
  108. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  109. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  110. package/cjs/component/axis/interface.d.ts +3 -1
  111. package/cjs/component/axis/interface.js.map +1 -1
  112. package/cjs/component/axis/polar/axis.d.ts +1 -0
  113. package/cjs/component/axis/polar/axis.js +5 -2
  114. package/cjs/component/axis/polar/axis.js.map +1 -1
  115. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  116. package/cjs/component/base/base-component.d.ts +3 -2
  117. package/cjs/component/base/base-component.js +3 -3
  118. package/cjs/component/base/base-component.js.map +1 -1
  119. package/cjs/component/base/util.js +3 -0
  120. package/cjs/component/base/util.js.map +1 -1
  121. package/cjs/component/brush/brush.d.ts +11 -1
  122. package/cjs/component/brush/brush.js +61 -51
  123. package/cjs/component/brush/brush.js.map +1 -1
  124. package/cjs/component/crosshair/base.d.ts +1 -0
  125. package/cjs/component/crosshair/cartesian.js +1 -1
  126. package/cjs/component/crosshair/cartesian.js.map +1 -1
  127. package/cjs/component/crosshair/polar.js +3 -3
  128. package/cjs/component/crosshair/polar.js.map +1 -1
  129. package/cjs/component/custom-mark/custom-mark.d.ts +1 -0
  130. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
  131. package/cjs/component/geo/geo-coordinate.d.ts +7 -2
  132. package/cjs/component/geo/geo-coordinate.js +54 -14
  133. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  134. package/cjs/component/index.d.ts +3 -2
  135. package/cjs/component/index.js +15 -1
  136. package/cjs/component/index.js.map +1 -1
  137. package/cjs/component/indicator/indicator.js.map +1 -1
  138. package/cjs/component/interface/theme.d.ts +2 -0
  139. package/cjs/component/interface/theme.js.map +1 -1
  140. package/cjs/component/interface/type.d.ts +2 -0
  141. package/cjs/component/interface/type.js +13 -12
  142. package/cjs/component/interface/type.js.map +1 -1
  143. package/cjs/component/label/base-label.d.ts +40 -0
  144. package/cjs/component/label/base-label.js +44 -0
  145. package/cjs/component/label/base-label.js.map +1 -0
  146. package/cjs/component/label/interface.d.ts +7 -0
  147. package/cjs/component/label/interface.js.map +1 -1
  148. package/cjs/component/label/label.d.ts +5 -27
  149. package/cjs/component/label/label.js +31 -38
  150. package/cjs/component/label/label.js.map +1 -1
  151. package/cjs/component/label/pie.d.ts +5 -0
  152. package/cjs/component/label/pie.js +21 -0
  153. package/cjs/component/label/pie.js.map +1 -0
  154. package/cjs/component/label/totalLabel.d.ts +27 -0
  155. package/cjs/component/label/totalLabel.js +107 -0
  156. package/cjs/component/label/totalLabel.js.map +1 -0
  157. package/cjs/component/label/util.d.ts +3 -1
  158. package/cjs/component/label/util.js +5 -5
  159. package/cjs/component/label/util.js.map +1 -1
  160. package/cjs/component/legend/base-legend.d.ts +1 -0
  161. package/cjs/component/marker/base-marker.d.ts +6 -0
  162. package/cjs/component/marker/base-marker.js +14 -0
  163. package/cjs/component/marker/base-marker.js.map +1 -1
  164. package/cjs/component/marker/interface.d.ts +1 -0
  165. package/cjs/component/marker/interface.js.map +1 -1
  166. package/cjs/component/marker/mark-area/mark-area.js +17 -6
  167. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  168. package/cjs/component/marker/mark-line/mark-line.js +17 -6
  169. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  170. package/cjs/component/marker/mark-point/mark-point.js +18 -7
  171. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  172. package/cjs/component/title/title.d.ts +1 -0
  173. package/cjs/component/title/title.js +2 -1
  174. package/cjs/component/title/title.js.map +1 -1
  175. package/cjs/component/tooltip/handler/base.js.map +1 -1
  176. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  177. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  178. package/cjs/component/tooltip/handler/dom/interface.d.ts +9 -12
  179. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  180. package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  181. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +17 -15
  182. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  183. package/cjs/component/tooltip/handler/dom/model/title-model.js +3 -3
  184. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  185. package/cjs/component/tooltip/handler/dom/util.js +18 -11
  186. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  187. package/cjs/component/tooltip/handler/utils/attribute.js +25 -24
  188. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  189. package/cjs/component/tooltip/handler/utils/compose.d.ts +2 -2
  190. package/cjs/component/tooltip/handler/utils/compose.js +13 -10
  191. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  192. package/cjs/component/tooltip/handler/utils/get-spec.js +2 -2
  193. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  194. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  195. package/cjs/component/tooltip/handler/utils/style.js +15 -10
  196. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  197. package/cjs/component/tooltip/interface/theme.d.ts +1 -0
  198. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  199. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  200. package/cjs/component/tooltip/tooltip.js +10 -7
  201. package/cjs/component/tooltip/tooltip.js.map +1 -1
  202. package/cjs/constant/index.d.ts +3 -0
  203. package/cjs/constant/index.js +4 -3
  204. package/cjs/constant/index.js.map +1 -1
  205. package/cjs/core/index.d.ts +1 -1
  206. package/cjs/core/index.js +1 -1
  207. package/cjs/core/index.js.map +1 -1
  208. package/cjs/core/interface.d.ts +3 -0
  209. package/cjs/core/interface.js.map +1 -1
  210. package/cjs/core/vchart.d.ts +6 -1
  211. package/cjs/core/vchart.js +51 -11
  212. package/cjs/core/vchart.js.map +1 -1
  213. package/cjs/data/initialize.js +9 -7
  214. package/cjs/data/initialize.js.map +1 -1
  215. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  216. package/cjs/data/transforms/dimension-statistics.js +34 -22
  217. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  218. package/cjs/data/transforms/invalid-travel.js +1 -2
  219. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  220. package/cjs/data/transforms/tick-data/continuous.js +6 -3
  221. package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
  222. package/cjs/data/transforms/tick-data/interface.d.ts +3 -0
  223. package/cjs/data/transforms/tick-data/interface.js.map +1 -1
  224. package/cjs/event/event-dispatcher.js +4 -2
  225. package/cjs/event/event-dispatcher.js.map +1 -1
  226. package/cjs/event/events/dimension/dimension-click.d.ts +1 -3
  227. package/cjs/event/events/dimension/dimension-click.js +9 -10
  228. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  229. package/cjs/event/events/dimension/dimension-hover.d.ts +2 -3
  230. package/cjs/event/events/dimension/dimension-hover.js +26 -17
  231. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  232. package/cjs/event/interface.d.ts +3 -3
  233. package/cjs/event/interface.js.map +1 -1
  234. package/cjs/interaction/trigger.js +4 -0
  235. package/cjs/interaction/trigger.js.map +1 -1
  236. package/cjs/layout/label/arc-label.js.map +1 -1
  237. package/cjs/mark/base/base-mark.d.ts +1 -0
  238. package/cjs/mark/base/base-mark.js +20 -3
  239. package/cjs/mark/base/base-mark.js.map +1 -1
  240. package/cjs/mark/symbol.js +1 -1
  241. package/cjs/mark/symbol.js.map +1 -1
  242. package/cjs/model/base-model.d.ts +2 -0
  243. package/cjs/model/base-model.js +2 -0
  244. package/cjs/model/base-model.js.map +1 -1
  245. package/cjs/model/interface.d.ts +6 -1
  246. package/cjs/model/interface.js.map +1 -1
  247. package/cjs/model/layout-item.d.ts +4 -4
  248. package/cjs/model/layout-item.js.map +1 -1
  249. package/cjs/plugin/components/index.d.ts +0 -2
  250. package/cjs/plugin/components/index.js +1 -2
  251. package/cjs/plugin/components/index.js.map +1 -1
  252. package/cjs/region/region.d.ts +1 -0
  253. package/cjs/series/area/area.d.ts +6 -3
  254. package/cjs/series/area/area.js +36 -12
  255. package/cjs/series/area/area.js.map +1 -1
  256. package/cjs/series/area/tooltip-helpter.d.ts +5 -0
  257. package/cjs/series/area/tooltip-helpter.js +24 -0
  258. package/cjs/series/area/tooltip-helpter.js.map +1 -0
  259. package/cjs/series/bar/bar.d.ts +1 -0
  260. package/cjs/series/bar/bar.js +1 -1
  261. package/cjs/series/bar/bar.js.map +1 -1
  262. package/cjs/series/base/base-series.d.ts +4 -0
  263. package/cjs/series/base/base-series.js +62 -16
  264. package/cjs/series/base/base-series.js.map +1 -1
  265. package/cjs/series/base/tooltip-helper.js +4 -2
  266. package/cjs/series/base/tooltip-helper.js.map +1 -1
  267. package/cjs/series/box-plot/box-plot.js +1 -1
  268. package/cjs/series/box-plot/box-plot.js.map +1 -1
  269. package/cjs/series/cartesian/cartesian.d.ts +7 -3
  270. package/cjs/series/cartesian/cartesian.js +27 -17
  271. package/cjs/series/cartesian/cartesian.js.map +1 -1
  272. package/cjs/series/dot/dot.d.ts +1 -0
  273. package/cjs/series/dot/dot.js +3 -0
  274. package/cjs/series/dot/dot.js.map +1 -1
  275. package/cjs/series/funnel/funnel.d.ts +1 -0
  276. package/cjs/series/geo/geo.d.ts +2 -0
  277. package/cjs/series/geo/geo.js +5 -1
  278. package/cjs/series/geo/geo.js.map +1 -1
  279. package/cjs/series/heatmap/heatmap.d.ts +1 -0
  280. package/cjs/series/interface/common.d.ts +1 -0
  281. package/cjs/series/interface/common.js.map +1 -1
  282. package/cjs/series/interface/series.d.ts +3 -2
  283. package/cjs/series/interface/series.js.map +1 -1
  284. package/cjs/series/line/interface.d.ts +0 -2
  285. package/cjs/series/line/interface.js.map +1 -1
  286. package/cjs/series/line/line.d.ts +1 -2
  287. package/cjs/series/line/line.js +1 -1
  288. package/cjs/series/line/line.js.map +1 -1
  289. package/cjs/series/link/link.js +1 -1
  290. package/cjs/series/link/link.js.map +1 -1
  291. package/cjs/series/map/interface.d.ts +1 -0
  292. package/cjs/series/map/interface.js.map +1 -1
  293. package/cjs/series/map/map.d.ts +1 -2
  294. package/cjs/series/map/map.js +9 -9
  295. package/cjs/series/map/map.js.map +1 -1
  296. package/cjs/series/mixin/line-mixin.d.ts +4 -1
  297. package/cjs/series/mixin/line-mixin.js +37 -21
  298. package/cjs/series/mixin/line-mixin.js.map +1 -1
  299. package/cjs/series/pie/interface.d.ts +4 -7
  300. package/cjs/series/pie/interface.js.map +1 -1
  301. package/cjs/series/pie/pie.d.ts +2 -0
  302. package/cjs/series/pie/pie.js +19 -56
  303. package/cjs/series/pie/pie.js.map +1 -1
  304. package/cjs/series/polar/polar.d.ts +1 -0
  305. package/cjs/series/polar/polar.js +2 -1
  306. package/cjs/series/polar/polar.js.map +1 -1
  307. package/cjs/series/range-area/range-area.d.ts +2 -0
  308. package/cjs/series/range-area/range-area.js +8 -2
  309. package/cjs/series/range-area/range-area.js.map +1 -1
  310. package/cjs/series/range-column/range-column.js +1 -1
  311. package/cjs/series/range-column/range-column.js.map +1 -1
  312. package/cjs/series/rose/interface.d.ts +3 -0
  313. package/cjs/series/rose/interface.js.map +1 -1
  314. package/cjs/series/rose/rose.d.ts +1 -2
  315. package/cjs/series/rose/rose.js +17 -36
  316. package/cjs/series/rose/rose.js.map +1 -1
  317. package/cjs/series/sankey/interface.d.ts +3 -2
  318. package/cjs/series/sankey/interface.js.map +1 -1
  319. package/cjs/series/sankey/sankey.d.ts +2 -0
  320. package/cjs/series/sankey/sankey.js +198 -79
  321. package/cjs/series/sankey/sankey.js.map +1 -1
  322. package/cjs/series/scatter/interface.d.ts +1 -2
  323. package/cjs/series/scatter/interface.js.map +1 -1
  324. package/cjs/series/scatter/scatter.d.ts +2 -3
  325. package/cjs/series/scatter/scatter.js +19 -13
  326. package/cjs/series/scatter/scatter.js.map +1 -1
  327. package/cjs/series/word-cloud/base.d.ts +1 -0
  328. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  329. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js +22 -0
  330. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  331. package/cjs/theme/buildin-theme/light/component/index.js +3 -2
  332. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -1
  333. package/cjs/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  334. package/cjs/theme/buildin-theme/light/component/total-label.js +24 -0
  335. package/cjs/theme/buildin-theme/light/component/total-label.js.map +1 -0
  336. package/cjs/theme/buildin-theme/light/series/rose.js +0 -1
  337. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -1
  338. package/cjs/theme/buildin-theme/light/series/sankey.js +0 -1
  339. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -1
  340. package/cjs/typings/spec/common.d.ts +10 -4
  341. package/cjs/typings/spec/common.js.map +1 -1
  342. package/cjs/typings/tooltip/label.d.ts +10 -0
  343. package/cjs/typings/tooltip/label.js +6 -0
  344. package/cjs/typings/tooltip/label.js.map +1 -0
  345. package/cjs/typings/tooltip/line.d.ts +3 -2
  346. package/cjs/typings/tooltip/line.js.map +1 -1
  347. package/cjs/typings/tooltip/shape.d.ts +2 -0
  348. package/cjs/typings/tooltip/shape.js.map +1 -1
  349. package/cjs/typings/visual.d.ts +11 -21
  350. package/cjs/typings/visual.js.map +1 -1
  351. package/cjs/util/data.d.ts +0 -8
  352. package/cjs/util/data.js +2 -9
  353. package/cjs/util/data.js.map +1 -1
  354. package/cjs/util/object.d.ts +0 -2
  355. package/cjs/util/object.js +2 -13
  356. package/cjs/util/object.js.map +1 -1
  357. package/cjs/util/scale.d.ts +2 -6
  358. package/cjs/util/scale.js +1 -6
  359. package/cjs/util/scale.js.map +1 -1
  360. package/cjs/util/space.d.ts +3 -9
  361. package/cjs/util/space.js +14 -30
  362. package/cjs/util/space.js.map +1 -1
  363. package/cjs/util/text.d.ts +1 -2
  364. package/cjs/util/text.js +1 -11
  365. package/cjs/util/text.js.map +1 -1
  366. package/cjs/vchart-all.js +1 -1
  367. package/cjs/vchart-all.js.map +1 -1
  368. package/cjs/vchart-simple.js +3 -4
  369. package/cjs/vchart-simple.js.map +1 -1
  370. package/esm/animation/spec.d.ts +1 -1
  371. package/esm/animation/spec.js.map +1 -1
  372. package/esm/chart/area/area.js +3 -4
  373. package/esm/chart/area/area.js.map +1 -1
  374. package/esm/chart/bar/bar-3d.js +2 -2
  375. package/esm/chart/bar/bar-3d.js.map +1 -1
  376. package/esm/chart/bar/bar.js +2 -2
  377. package/esm/chart/bar/bar.js.map +1 -1
  378. package/esm/chart/base-chart.d.ts +4 -2
  379. package/esm/chart/base-chart.js +36 -35
  380. package/esm/chart/base-chart.js.map +1 -1
  381. package/esm/chart/box-plot/box-plot.js +1 -1
  382. package/esm/chart/box-plot/box-plot.js.map +1 -1
  383. package/esm/chart/cartesian/cartesian.js +2 -1
  384. package/esm/chart/cartesian/cartesian.js.map +1 -1
  385. package/esm/chart/circle-packing/circle-packing.js +1 -1
  386. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  387. package/esm/chart/funnel/funnel-3d.js +1 -1
  388. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  389. package/esm/chart/funnel/funnel.js +1 -1
  390. package/esm/chart/funnel/funnel.js.map +1 -1
  391. package/esm/chart/gauge/gauge.js +2 -2
  392. package/esm/chart/gauge/gauge.js.map +1 -1
  393. package/esm/chart/heatmap/heatmap.js +1 -1
  394. package/esm/chart/heatmap/heatmap.js.map +1 -1
  395. package/esm/chart/histogram/histogram-3d.js +2 -2
  396. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  397. package/esm/chart/histogram/histogram.js +2 -2
  398. package/esm/chart/histogram/histogram.js.map +1 -1
  399. package/esm/chart/interface/chart.d.ts +4 -2
  400. package/esm/chart/interface/chart.js.map +1 -1
  401. package/esm/chart/line/line.js +1 -2
  402. package/esm/chart/line/line.js.map +1 -1
  403. package/esm/chart/map/map.js +2 -2
  404. package/esm/chart/map/map.js.map +1 -1
  405. package/esm/chart/pie/pie-3d.js +2 -2
  406. package/esm/chart/pie/pie-3d.js.map +1 -1
  407. package/esm/chart/pie/pie.js +2 -2
  408. package/esm/chart/pie/pie.js.map +1 -1
  409. package/esm/chart/progress/circular/circular.js +1 -1
  410. package/esm/chart/progress/circular/circular.js.map +1 -1
  411. package/esm/chart/progress/linear/linear.js +1 -1
  412. package/esm/chart/progress/linear/linear.js.map +1 -1
  413. package/esm/chart/radar/radar.js +2 -3
  414. package/esm/chart/radar/radar.js.map +1 -1
  415. package/esm/chart/range-area/range-area.js +1 -1
  416. package/esm/chart/range-area/range-area.js.map +1 -1
  417. package/esm/chart/range-column/range-column-3d.js +1 -1
  418. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  419. package/esm/chart/range-column/range-column.js +1 -1
  420. package/esm/chart/range-column/range-column.js.map +1 -1
  421. package/esm/chart/rose/rose.js +2 -2
  422. package/esm/chart/rose/rose.js.map +1 -1
  423. package/esm/chart/sankey/sankey.js +1 -1
  424. package/esm/chart/sankey/sankey.js.map +1 -1
  425. package/esm/chart/scatter/scatter.js +2 -2
  426. package/esm/chart/scatter/scatter.js.map +1 -1
  427. package/esm/chart/sequence/sequence.js +4 -2
  428. package/esm/chart/sequence/sequence.js.map +1 -1
  429. package/esm/chart/stack.d.ts +1 -0
  430. package/esm/chart/stack.js +16 -2
  431. package/esm/chart/stack.js.map +1 -1
  432. package/esm/chart/sunburst/sunburst.js +1 -1
  433. package/esm/chart/sunburst/sunburst.js.map +1 -1
  434. package/esm/chart/treemap/treemap.js +1 -1
  435. package/esm/chart/treemap/treemap.js.map +1 -1
  436. package/esm/chart/util.d.ts +8 -0
  437. package/esm/chart/util.js +33 -1
  438. package/esm/chart/util.js.map +1 -1
  439. package/esm/chart/waterfall/waterfall.js +1 -1
  440. package/esm/chart/waterfall/waterfall.js.map +1 -1
  441. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  442. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  443. package/esm/chart/word-cloud/word-cloud.js +1 -1
  444. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  445. package/esm/compile/compiler.d.ts +1 -1
  446. package/esm/compile/compiler.js +5 -4
  447. package/esm/compile/compiler.js.map +1 -1
  448. package/esm/compile/mark/compilable-mark.js +9 -11
  449. package/esm/compile/mark/compilable-mark.js.map +1 -1
  450. package/esm/compile/mark/interface.d.ts +2 -1
  451. package/esm/compile/mark/interface.js.map +1 -1
  452. package/esm/compile/mark/util.d.ts +2 -1
  453. package/esm/compile/mark/util.js +19 -3
  454. package/esm/compile/mark/util.js.map +1 -1
  455. package/esm/component/axis/base-axis.d.ts +1 -12
  456. package/esm/component/axis/base-axis.js +8 -18
  457. package/esm/component/axis/base-axis.js.map +1 -1
  458. package/esm/component/axis/cartesian/axis.js +15 -6
  459. package/esm/component/axis/cartesian/axis.js.map +1 -1
  460. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  461. package/esm/component/axis/cartesian/band-axis.js +1 -0
  462. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  463. package/esm/component/axis/cartesian/index.d.ts +1 -0
  464. package/esm/component/axis/cartesian/index.js +2 -0
  465. package/esm/component/axis/cartesian/index.js.map +1 -1
  466. package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
  467. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  468. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  469. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  470. package/esm/component/axis/cartesian/linear-axis.js +3 -4
  471. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  472. package/esm/component/axis/cartesian/symlog-axis.d.ts +15 -0
  473. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  474. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  475. package/esm/component/axis/interface.d.ts +3 -1
  476. package/esm/component/axis/interface.js.map +1 -1
  477. package/esm/component/axis/polar/axis.d.ts +1 -0
  478. package/esm/component/axis/polar/axis.js +5 -2
  479. package/esm/component/axis/polar/axis.js.map +1 -1
  480. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  481. package/esm/component/base/base-component.d.ts +3 -2
  482. package/esm/component/base/base-component.js +3 -3
  483. package/esm/component/base/base-component.js.map +1 -1
  484. package/esm/component/base/util.js +3 -0
  485. package/esm/component/base/util.js.map +1 -1
  486. package/esm/component/brush/brush.d.ts +11 -1
  487. package/esm/component/brush/brush.js +60 -51
  488. package/esm/component/brush/brush.js.map +1 -1
  489. package/esm/component/crosshair/base.d.ts +1 -0
  490. package/esm/component/crosshair/cartesian.js +1 -1
  491. package/esm/component/crosshair/cartesian.js.map +1 -1
  492. package/esm/component/crosshair/polar.js +3 -3
  493. package/esm/component/crosshair/polar.js.map +1 -1
  494. package/esm/component/custom-mark/custom-mark.d.ts +1 -0
  495. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
  496. package/esm/component/geo/geo-coordinate.d.ts +7 -2
  497. package/esm/component/geo/geo-coordinate.js +56 -14
  498. package/esm/component/geo/geo-coordinate.js.map +1 -1
  499. package/esm/component/index.d.ts +3 -2
  500. package/esm/component/index.js +4 -2
  501. package/esm/component/index.js.map +1 -1
  502. package/esm/component/indicator/indicator.js.map +1 -1
  503. package/esm/component/interface/theme.d.ts +2 -0
  504. package/esm/component/interface/theme.js.map +1 -1
  505. package/esm/component/interface/type.d.ts +2 -0
  506. package/esm/component/interface/type.js +13 -12
  507. package/esm/component/interface/type.js.map +1 -1
  508. package/esm/component/label/base-label.d.ts +40 -0
  509. package/esm/component/label/base-label.js +42 -0
  510. package/esm/component/label/base-label.js.map +1 -0
  511. package/esm/component/label/interface.d.ts +7 -0
  512. package/esm/component/label/interface.js.map +1 -1
  513. package/esm/component/label/label.d.ts +5 -27
  514. package/esm/component/label/label.js +34 -40
  515. package/esm/component/label/label.js.map +1 -1
  516. package/esm/component/label/pie.d.ts +5 -0
  517. package/esm/component/label/pie.js +13 -0
  518. package/esm/component/label/pie.js.map +1 -0
  519. package/esm/component/label/totalLabel.d.ts +27 -0
  520. package/esm/component/label/totalLabel.js +110 -0
  521. package/esm/component/label/totalLabel.js.map +1 -0
  522. package/esm/component/label/util.d.ts +3 -1
  523. package/esm/component/label/util.js +6 -4
  524. package/esm/component/label/util.js.map +1 -1
  525. package/esm/component/legend/base-legend.d.ts +1 -0
  526. package/esm/component/marker/base-marker.d.ts +6 -0
  527. package/esm/component/marker/base-marker.js +14 -0
  528. package/esm/component/marker/base-marker.js.map +1 -1
  529. package/esm/component/marker/interface.d.ts +1 -0
  530. package/esm/component/marker/interface.js.map +1 -1
  531. package/esm/component/marker/mark-area/mark-area.js +17 -6
  532. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  533. package/esm/component/marker/mark-line/mark-line.js +17 -6
  534. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  535. package/esm/component/marker/mark-point/mark-point.js +18 -7
  536. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  537. package/esm/component/title/title.d.ts +1 -0
  538. package/esm/component/title/title.js +2 -1
  539. package/esm/component/title/title.js.map +1 -1
  540. package/esm/component/tooltip/handler/base.js.map +1 -1
  541. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  542. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  543. package/esm/component/tooltip/handler/dom/interface.d.ts +9 -12
  544. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  545. package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  546. package/esm/component/tooltip/handler/dom/model/content-column-model.js +16 -14
  547. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  548. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  549. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  550. package/esm/component/tooltip/handler/dom/util.js +18 -11
  551. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  552. package/esm/component/tooltip/handler/utils/attribute.js +24 -24
  553. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  554. package/esm/component/tooltip/handler/utils/compose.d.ts +2 -2
  555. package/esm/component/tooltip/handler/utils/compose.js +11 -10
  556. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  557. package/esm/component/tooltip/handler/utils/get-spec.js +3 -1
  558. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  559. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  560. package/esm/component/tooltip/handler/utils/style.js +16 -9
  561. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  562. package/esm/component/tooltip/interface/theme.d.ts +1 -0
  563. package/esm/component/tooltip/interface/theme.js.map +1 -1
  564. package/esm/component/tooltip/tooltip.d.ts +1 -1
  565. package/esm/component/tooltip/tooltip.js +10 -7
  566. package/esm/component/tooltip/tooltip.js.map +1 -1
  567. package/esm/constant/index.d.ts +3 -0
  568. package/esm/constant/index.js +6 -0
  569. package/esm/constant/index.js.map +1 -1
  570. package/esm/core/index.d.ts +1 -1
  571. package/esm/core/index.js +1 -1
  572. package/esm/core/index.js.map +1 -1
  573. package/esm/core/interface.d.ts +3 -0
  574. package/esm/core/interface.js.map +1 -1
  575. package/esm/core/vchart.d.ts +6 -1
  576. package/esm/core/vchart.js +54 -11
  577. package/esm/core/vchart.js.map +1 -1
  578. package/esm/data/initialize.js +10 -7
  579. package/esm/data/initialize.js.map +1 -1
  580. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  581. package/esm/data/transforms/dimension-statistics.js +33 -22
  582. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  583. package/esm/data/transforms/invalid-travel.js +1 -2
  584. package/esm/data/transforms/invalid-travel.js.map +1 -1
  585. package/esm/data/transforms/tick-data/continuous.js +6 -3
  586. package/esm/data/transforms/tick-data/continuous.js.map +1 -1
  587. package/esm/data/transforms/tick-data/interface.d.ts +3 -0
  588. package/esm/data/transforms/tick-data/interface.js.map +1 -1
  589. package/esm/event/event-dispatcher.js +3 -2
  590. package/esm/event/event-dispatcher.js.map +1 -1
  591. package/esm/event/events/dimension/dimension-click.d.ts +1 -3
  592. package/esm/event/events/dimension/dimension-click.js +9 -10
  593. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  594. package/esm/event/events/dimension/dimension-hover.d.ts +2 -3
  595. package/esm/event/events/dimension/dimension-hover.js +25 -16
  596. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  597. package/esm/event/interface.d.ts +3 -3
  598. package/esm/event/interface.js.map +1 -1
  599. package/esm/interaction/trigger.js +4 -0
  600. package/esm/interaction/trigger.js.map +1 -1
  601. package/esm/layout/label/arc-label.js.map +1 -1
  602. package/esm/mark/base/base-mark.d.ts +1 -0
  603. package/esm/mark/base/base-mark.js +20 -3
  604. package/esm/mark/base/base-mark.js.map +1 -1
  605. package/esm/mark/symbol.js +1 -1
  606. package/esm/mark/symbol.js.map +1 -1
  607. package/esm/model/base-model.d.ts +2 -0
  608. package/esm/model/base-model.js +2 -0
  609. package/esm/model/base-model.js.map +1 -1
  610. package/esm/model/interface.d.ts +6 -1
  611. package/esm/model/interface.js.map +1 -1
  612. package/esm/model/layout-item.d.ts +4 -4
  613. package/esm/model/layout-item.js.map +1 -1
  614. package/esm/plugin/components/index.d.ts +0 -2
  615. package/esm/plugin/components/index.js +0 -3
  616. package/esm/plugin/components/index.js.map +1 -1
  617. package/esm/region/region.d.ts +1 -0
  618. package/esm/series/area/area.d.ts +6 -3
  619. package/esm/series/area/area.js +39 -10
  620. package/esm/series/area/area.js.map +1 -1
  621. package/esm/series/area/tooltip-helpter.d.ts +5 -0
  622. package/esm/series/area/tooltip-helpter.js +18 -0
  623. package/esm/series/area/tooltip-helpter.js.map +1 -0
  624. package/esm/series/bar/bar.d.ts +1 -0
  625. package/esm/series/bar/bar.js +1 -1
  626. package/esm/series/bar/bar.js.map +1 -1
  627. package/esm/series/base/base-series.d.ts +4 -0
  628. package/esm/series/base/base-series.js +62 -17
  629. package/esm/series/base/base-series.js.map +1 -1
  630. package/esm/series/base/tooltip-helper.js +4 -2
  631. package/esm/series/base/tooltip-helper.js.map +1 -1
  632. package/esm/series/box-plot/box-plot.js +1 -1
  633. package/esm/series/box-plot/box-plot.js.map +1 -1
  634. package/esm/series/cartesian/cartesian.d.ts +7 -3
  635. package/esm/series/cartesian/cartesian.js +26 -17
  636. package/esm/series/cartesian/cartesian.js.map +1 -1
  637. package/esm/series/dot/dot.d.ts +1 -0
  638. package/esm/series/dot/dot.js +3 -0
  639. package/esm/series/dot/dot.js.map +1 -1
  640. package/esm/series/funnel/funnel.d.ts +1 -0
  641. package/esm/series/geo/geo.d.ts +2 -0
  642. package/esm/series/geo/geo.js +4 -1
  643. package/esm/series/geo/geo.js.map +1 -1
  644. package/esm/series/heatmap/heatmap.d.ts +1 -0
  645. package/esm/series/interface/common.d.ts +1 -0
  646. package/esm/series/interface/common.js.map +1 -1
  647. package/esm/series/interface/series.d.ts +3 -2
  648. package/esm/series/interface/series.js.map +1 -1
  649. package/esm/series/line/interface.d.ts +0 -2
  650. package/esm/series/line/interface.js.map +1 -1
  651. package/esm/series/line/line.d.ts +1 -2
  652. package/esm/series/line/line.js +1 -1
  653. package/esm/series/line/line.js.map +1 -1
  654. package/esm/series/link/link.js +1 -1
  655. package/esm/series/link/link.js.map +1 -1
  656. package/esm/series/map/interface.d.ts +1 -0
  657. package/esm/series/map/interface.js.map +1 -1
  658. package/esm/series/map/map.d.ts +1 -2
  659. package/esm/series/map/map.js +10 -8
  660. package/esm/series/map/map.js.map +1 -1
  661. package/esm/series/mixin/line-mixin.d.ts +4 -1
  662. package/esm/series/mixin/line-mixin.js +39 -19
  663. package/esm/series/mixin/line-mixin.js.map +1 -1
  664. package/esm/series/pie/interface.d.ts +4 -7
  665. package/esm/series/pie/interface.js.map +1 -1
  666. package/esm/series/pie/pie.d.ts +2 -0
  667. package/esm/series/pie/pie.js +22 -54
  668. package/esm/series/pie/pie.js.map +1 -1
  669. package/esm/series/polar/polar.d.ts +1 -0
  670. package/esm/series/polar/polar.js +2 -1
  671. package/esm/series/polar/polar.js.map +1 -1
  672. package/esm/series/range-area/range-area.d.ts +2 -0
  673. package/esm/series/range-area/range-area.js +7 -3
  674. package/esm/series/range-area/range-area.js.map +1 -1
  675. package/esm/series/range-column/range-column.js +1 -1
  676. package/esm/series/range-column/range-column.js.map +1 -1
  677. package/esm/series/rose/interface.d.ts +3 -0
  678. package/esm/series/rose/interface.js.map +1 -1
  679. package/esm/series/rose/rose.d.ts +1 -2
  680. package/esm/series/rose/rose.js +17 -37
  681. package/esm/series/rose/rose.js.map +1 -1
  682. package/esm/series/sankey/interface.d.ts +3 -2
  683. package/esm/series/sankey/interface.js.map +1 -1
  684. package/esm/series/sankey/sankey.d.ts +2 -0
  685. package/esm/series/sankey/sankey.js +198 -80
  686. package/esm/series/sankey/sankey.js.map +1 -1
  687. package/esm/series/scatter/interface.d.ts +1 -2
  688. package/esm/series/scatter/interface.js.map +1 -1
  689. package/esm/series/scatter/scatter.d.ts +2 -3
  690. package/esm/series/scatter/scatter.js +20 -14
  691. package/esm/series/scatter/scatter.js.map +1 -1
  692. package/esm/series/word-cloud/base.d.ts +1 -0
  693. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  694. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js +18 -0
  695. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  696. package/esm/theme/buildin-theme/light/component/index.js +4 -1
  697. package/esm/theme/buildin-theme/light/component/index.js.map +1 -1
  698. package/esm/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  699. package/esm/theme/buildin-theme/light/component/total-label.js +20 -0
  700. package/esm/theme/buildin-theme/light/component/total-label.js.map +1 -0
  701. package/esm/theme/buildin-theme/light/series/rose.js +0 -1
  702. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -1
  703. package/esm/theme/buildin-theme/light/series/sankey.js +0 -1
  704. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -1
  705. package/esm/typings/spec/common.d.ts +10 -4
  706. package/esm/typings/spec/common.js.map +1 -1
  707. package/esm/typings/tooltip/label.d.ts +10 -0
  708. package/esm/typings/tooltip/label.js +2 -0
  709. package/esm/typings/tooltip/label.js.map +1 -0
  710. package/esm/typings/tooltip/line.d.ts +3 -2
  711. package/esm/typings/tooltip/line.js.map +1 -1
  712. package/esm/typings/tooltip/shape.d.ts +2 -0
  713. package/esm/typings/tooltip/shape.js.map +1 -1
  714. package/esm/typings/visual.d.ts +11 -21
  715. package/esm/typings/visual.js.map +1 -1
  716. package/esm/util/data.d.ts +0 -8
  717. package/esm/util/data.js +1 -7
  718. package/esm/util/data.js.map +1 -1
  719. package/esm/util/object.d.ts +0 -2
  720. package/esm/util/object.js +0 -11
  721. package/esm/util/object.js.map +1 -1
  722. package/esm/util/scale.d.ts +2 -6
  723. package/esm/util/scale.js +1 -5
  724. package/esm/util/scale.js.map +1 -1
  725. package/esm/util/space.d.ts +3 -9
  726. package/esm/util/space.js +8 -26
  727. package/esm/util/space.js.map +1 -1
  728. package/esm/util/text.d.ts +1 -2
  729. package/esm/util/text.js +1 -9
  730. package/esm/util/text.js.map +1 -1
  731. package/esm/vchart-all.js +2 -2
  732. package/esm/vchart-all.js.map +1 -1
  733. package/esm/vchart-simple.js +18 -2
  734. package/esm/vchart-simple.js.map +1 -1
  735. package/package.json +21 -14
  736. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  737. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  738. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  739. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  740. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  741. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/rose/rose.ts"],"names":[],"mappings":"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","file":"rose.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IArcMark } from '../../mark/arc';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { Maybe, Datum } from '../../typings';\nimport { valueInScaleRange, degrees } from '../../util';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IRoseAnimationParams, RoseAppearPreset } from './animation';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IRoseSeriesSpec, IRoseSeriesTheme } from './interface';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport { AttributeLevel } from '../../constant';\nimport { BarSeries } from '../bar/bar';\nimport { VChart } from '../../core/vchart';\nimport { ArcMark } from '../../mark/arc';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([ArcMark, TextMark]);\n\nexport const DefaultBandWidth = 0.5;\n\nexport class RoseSeries extends RoseLikeSeries<IRoseSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.rose;\n type = SeriesTypeEnum.rose;\n\n static readonly mark: SeriesMarkMap = {\n ...BarSeries.mark,\n [SeriesMarkNameEnum.rose]: { name: SeriesMarkNameEnum.rose, type: MarkTypeEnum.arc }\n };\n\n protected declare _theme: Maybe<IRoseSeriesTheme>;\n protected _stack: boolean = true;\n\n private _roseMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n\n initMark(): void {\n this.initRoseMark();\n this.initLabelMark();\n }\n\n initMarkStyle(): void {\n this.initRoseMarkStyle();\n this.initLabelMarkStyle();\n }\n\n // getStackValueField() {\n // return array(this._spec.valueField)[0] || array(this._spec.radiusField)[0];\n // }\n\n private initRoseMark() {\n this._roseMark = this._createMark(RoseSeries.mark.rose, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('rose', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as IArcMark;\n }\n\n private initLabelMark() {\n if (this._spec?.label?.visible) {\n this._labelMark = this._createMark(RoseSeries.mark.label, {\n themeSpec: this._theme?.label,\n markSpec: {\n visible: true,\n ...this.getSpec()?.label\n }\n }) as ITextMark;\n }\n }\n\n private getRoseAngle() {\n const angleBandWidth =\n this.angleAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n return angleBandWidth;\n }\n\n private initRoseMarkStyle() {\n const roseMark = this._roseMark;\n if (roseMark) {\n this.setMarkStyle(roseMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n endAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.getRoseAngle() -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n fill: this.getColorAttribute(),\n outerRadius: (datum: Datum) =>\n valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n ),\n innerRadius: (datum: Datum) => {\n if (!this._stack) {\n return 0;\n }\n const stackStart = valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._innerRadiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n );\n return stackStart <= Number.MIN_VALUE\n ? this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n : stackStart;\n }\n });\n this._trigger.registerMark(roseMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(roseMark);\n }\n }\n\n initLabelMarkStyle() {\n const labelMark = this._labelMark;\n if (labelMark) {\n let angle: number = 0;\n let radius: number = 0;\n this.setMarkStyle(\n labelMark,\n {\n visible: true,\n x: (datum: Datum) => {\n const baseAngle = this.angleAxisHelper.dataToPosition(\n this.getDatumPositionValues(datum, this.getGroupFields())\n );\n const bandAngle = this.angleAxisHelper.getBandwidth(0) * 0.5;\n const startAngle = baseAngle - bandAngle;\n const endAngle = baseAngle + this.getRoseAngle() - bandAngle;\n angle = (startAngle + endAngle) / 2;\n radius =\n valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n ) -\n (this._spec.label?.style?.size || 10) / 2;\n return this.angleAxisHelper.center().x + radius * Math.cos(angle);\n },\n y: () => this.angleAxisHelper.center().y + radius * Math.sin(angle),\n text: (datum: Datum) => {\n return datum[this._radiusField[0]];\n },\n stroke: this._spec.label?.style?.stroke || this.getColorAttribute(),\n angle: () => (this._spec.label?.style?.angle || (degrees(angle) ?? 0) + 90) as number\n },\n undefined,\n // 标签属性基于用户配置生成,样式优先级应当为用户级\n AttributeLevel.User_Mark\n );\n\n this._trigger.registerMark(labelMark);\n }\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RoseAppearPreset>)?.preset;\n\n if (this._roseMark) {\n const animationParams: IRoseAnimationParams = {\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n };\n this._roseMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.rose(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.rose, this._spec)\n )\n );\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/rose/rose.ts"],"names":[],"mappings":"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","file":"rose.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IArcMark } from '../../mark/arc';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { Maybe, Datum } from '../../typings';\nimport { valueInScaleRange, degrees, merge } from '../../util';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IRoseAnimationParams, RoseAppearPreset } from './animation';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IRoseSeriesSpec, IRoseSeriesTheme } from './interface';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport { AttributeLevel } from '../../constant';\nimport { BarSeries } from '../bar/bar';\nimport { VChart } from '../../core/vchart';\nimport { ArcMark } from '../../mark/arc';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([ArcMark, TextMark]);\n\nexport const DefaultBandWidth = 0.5;\n\nexport class RoseSeries extends RoseLikeSeries<IRoseSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.rose;\n type = SeriesTypeEnum.rose;\n\n static readonly mark: SeriesMarkMap = {\n ...BarSeries.mark,\n [SeriesMarkNameEnum.rose]: { name: SeriesMarkNameEnum.rose, type: MarkTypeEnum.arc }\n };\n\n protected declare _theme: Maybe<IRoseSeriesTheme>;\n protected _stack: boolean = true;\n\n private _roseMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n\n initMark(): void {\n this.initRoseMark();\n }\n\n initMarkStyle(): void {\n this.initRoseMarkStyle();\n }\n\n private initRoseMark() {\n this._roseMark = this._createMark(RoseSeries.mark.rose, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('rose', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label)\n }) as IArcMark;\n }\n\n private getRoseAngle() {\n const angleBandWidth =\n this.angleAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n return angleBandWidth;\n }\n\n private initRoseMarkStyle() {\n const roseMark = this._roseMark;\n if (roseMark) {\n this.setMarkStyle(roseMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n endAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.getRoseAngle() -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n fill: this.getColorAttribute(),\n outerRadius: (datum: Datum) =>\n valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n ),\n innerRadius: (datum: Datum) => {\n if (!this._stack) {\n return 0;\n }\n const stackStart = valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._innerRadiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n );\n return stackStart <= Number.MIN_VALUE\n ? this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n : stackStart;\n }\n });\n this._trigger.registerMark(roseMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(roseMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: this._spec?.label?.visible,\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this._spec.label?.style?.fill || this.getColorAttribute(),\n angle: this._spec.label?.style?.angle,\n limit: this._spec.label?.style?.limit,\n z: 0\n });\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RoseAppearPreset>)?.preset;\n\n if (this._roseMark) {\n const animationParams: IRoseAnimationParams = {\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n };\n this._roseMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.rose(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.rose, this._spec)\n )\n );\n }\n }\n}\n"]}
@@ -1,9 +1,10 @@
1
1
  import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';
2
2
  import type { IMarkSpec } from '../../typings/spec/common';
3
- import type { IRectMarkSpec, ITextMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';
3
+ import type { IRectMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';
4
4
  import type { IAnimationSpec } from '../../animation/spec';
5
5
  import type { SankeyAppearPreset, SankeyMark } from './animation';
6
6
  import type { SeriesMarkNameEnum } from '../interface';
7
+ import type { ILabelSpec } from '../../component/label';
7
8
  export interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {
8
9
  type: 'sankey';
9
10
  categoryField: string;
@@ -30,7 +31,7 @@ export interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimation
30
31
  trigger?: 'click' | 'hover';
31
32
  effect: 'self' | 'adjacency' | 'related';
32
33
  };
33
- [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec> & {
34
+ [SeriesMarkNameEnum.label]?: ILabelSpec & {
34
35
  position: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';
35
36
  limit: number;
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport type { IRectMarkSpec, ITextMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SankeyAppearPreset, SankeyMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n type: 'sankey';\n\n /**\n * 数据字段配置\n */\n /** 节点名称字段配置 */\n categoryField: string;\n /** 节点之间关系的权重字段 */\n valueField: string;\n /** 来源节点数据字段\n * 层级数据不提供\n */\n sourceField?: string;\n /** 目标节点数据字段\n * 层级数据不提供\n */\n targetField?: string;\n\n /**\n * 图表布局方向\n */\n direction?: DirectionType;\n /**\n * 节点的对齐类型\n */\n nodeAlign?: 'left' | 'right' | 'center' | 'justify' | 'start' | 'end';\n /**\n * 同一层中两个节点之间的间隙大小\n */\n nodeGap?: number;\n /**\n * 每个节点的宽度,支持三种取值\n * 1. 百分比字符串,例如:{ nodeWidth: '12%' }\n * 2. 以'px'为单位的简单数字,eg: { nodeWidth: 20 }\n * 3. function,通过自定义计算指定nodeWidth\n */\n nodeWidth?: string | number | ((node: SankeyNodeElement) => number);\n /**\n * link宽度,单位px\n */\n linkWidth?: number | ((link: SankeyLinkElement) => number);\n /**\n * link + node 的最小宽度\n */\n minStepWidth?: number;\n /**\n * 数据不为零或空时节点的最小大小\n * - 这个配置可以用来避免数据太小时看不到太细的节点\n * - 建议小于5px\n */\n minNodeHeight?: number;\n /**\n * 数据不为零或空时边的最小大小\n * - 这个配置可以用来避免数据太小的时候看不到太细的链接\n * - 建议小于5px\n * - 当同时指定 `minNodeHeight` 和 `minLinkHeight` 两个选项时,此选项应小于 `minNodeHeight`\n */\n minLinkHeight?: number;\n /** 布局的迭代次数 */\n iterations?: number;\n /** 解析node的key,defaultValue */\n nodeKey?: string | number | ((datum: SankeyNodeDatum) => string | number);\n /** 按此funtion排序link */\n linkSortBy?: (a: SankeyLinkElement, b: SankeyLinkElement) => number;\n /** 按此funtion排序node */\n nodeSortBy?: (a: SankeyNodeElement, b: SankeyNodeElement) => number;\n /** 自定义指定节点层 */\n setNodeLayer?: (datum: SankeyNodeDatum) => number;\n\n /** 节点配置 */\n [SeriesMarkNameEnum.node]?: IMarkSpec<IRectMarkSpec>;\n\n /** 边配置 */\n [SeriesMarkNameEnum.link]?: IMarkSpec<ILinkPathMarkSpec>;\n\n /** 联动交互配置 */\n emphasis?: {\n /** 是否开启交互 */\n enable: boolean;\n /**\n * 交互触发类型\n * 默认为‘click'\n */\n trigger?: 'click' | 'hover';\n /**桑基图提供3种在节点上的交互联动效果\n * self: 仅高亮当前节点。\n * adjacency: 高亮当前节点上下游节点和关联的边,淡化其它图形元素。\n * related: 高亮与当前节点相关的整条路径上的节点和边,淡化其它图形元素。 */\n effect: 'self' | 'adjacency' | 'related';\n };\n\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec> & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';\n /** 标签文字缩略 */\n limit: number;\n };\n\n /** 进度条配置 */\n // scroll?: IScrollSpec & {\n // /** 是否开启进度条 */\n // enable: boolean;\n // };\n}\n\nexport interface SankeyLinkDatum {\n source: string | number;\n target: string | number;\n value?: number;\n}\n\nexport interface SankeyNodeDatum {\n value?: number;\n}\n\nexport interface HierarchyNodeDatum {\n value?: number;\n children?: HierarchyNodeDatum[];\n}\n\nexport type SankeyData =\n | {\n nodes?: SankeyNodeDatum[];\n links: SankeyLinkDatum[];\n }\n | {\n nodes: HierarchyNodeDatum[];\n };\n\n/**\n * The node element after sankey layout\n */\nexport interface SankeyNodeElement {\n key: string | number;\n index: number;\n /** the depth of node, from source to target */\n depth: number;\n\n /** the depth of node, from target to source */\n endDepth?: number;\n /** the final layer index after layout */\n layer?: number;\n isLastLayer?: boolean;\n value: number;\n datum: SankeyNodeDatum;\n sourceLinks: SankeyLinkElement[];\n targetLinks: SankeyLinkElement[];\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n}\n/**\n * the link element after sankey layout\n */\nexport interface SankeyLinkElement {\n vertical?: boolean;\n index: number;\n source: string | number;\n target: string | number;\n value: number;\n datum: SankeyLinkDatum | SankeyLinkDatum[];\n thickness?: number;\n sourceRect?: { x0: number; x1: number; y0: number; y1: number };\n targetRect?: { x0: number; x1: number; y0: number; y1: number };\n /** this will only be generate in hierarchy node data*/\n parents?: (string | number)[];\n y0?: number;\n y1?: number;\n x0?: number;\n x1?: number;\n}\n\nexport type SankeyLayoutResult = {\n nodes: SankeyNodeElement[];\n links: SankeyLinkElement[];\n columns: SankeyNodeElement[][];\n}[];\n\nexport interface ISankeySeriesTheme {\n [SeriesMarkNameEnum.node]?: IMarkTheme<IRectMarkSpec>;\n [SeriesMarkNameEnum.link]?: IMarkTheme<ILinkPathMarkSpec>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport type { IRectMarkSpec, ITextMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SankeyAppearPreset, SankeyMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface';\nimport type { ILabelSpec } from '../../component/label';\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n type: 'sankey';\n\n /**\n * 数据字段配置\n */\n /** 节点名称字段配置 */\n categoryField: string;\n /** 节点之间关系的权重字段 */\n valueField: string;\n /** 来源节点数据字段\n * 层级数据不提供\n */\n sourceField?: string;\n /** 目标节点数据字段\n * 层级数据不提供\n */\n targetField?: string;\n\n /**\n * 图表布局方向\n */\n direction?: DirectionType;\n /**\n * 节点的对齐类型\n */\n nodeAlign?: 'left' | 'right' | 'center' | 'justify' | 'start' | 'end';\n /**\n * 同一层中两个节点之间的间隙大小\n */\n nodeGap?: number;\n /**\n * 每个节点的宽度,支持三种取值\n * 1. 百分比字符串,例如:{ nodeWidth: '12%' }\n * 2. 以'px'为单位的简单数字,eg: { nodeWidth: 20 }\n * 3. function,通过自定义计算指定nodeWidth\n */\n nodeWidth?: string | number | ((node: SankeyNodeElement) => number);\n /**\n * link宽度,单位px\n */\n linkWidth?: number | ((link: SankeyLinkElement) => number);\n /**\n * link + node 的最小宽度\n */\n minStepWidth?: number;\n /**\n * 数据不为零或空时节点的最小大小\n * - 这个配置可以用来避免数据太小时看不到太细的节点\n * - 建议小于5px\n */\n minNodeHeight?: number;\n /**\n * 数据不为零或空时边的最小大小\n * - 这个配置可以用来避免数据太小的时候看不到太细的链接\n * - 建议小于5px\n * - 当同时指定 `minNodeHeight` 和 `minLinkHeight` 两个选项时,此选项应小于 `minNodeHeight`\n */\n minLinkHeight?: number;\n /** 布局的迭代次数 */\n iterations?: number;\n /** 解析node的key,defaultValue */\n nodeKey?: string | number | ((datum: SankeyNodeDatum) => string | number);\n /** 按此funtion排序link */\n linkSortBy?: (a: SankeyLinkElement, b: SankeyLinkElement) => number;\n /** 按此funtion排序node */\n nodeSortBy?: (a: SankeyNodeElement, b: SankeyNodeElement) => number;\n /** 自定义指定节点层 */\n setNodeLayer?: (datum: SankeyNodeDatum) => number;\n\n /** 节点配置 */\n [SeriesMarkNameEnum.node]?: IMarkSpec<IRectMarkSpec>;\n\n /** 边配置 */\n [SeriesMarkNameEnum.link]?: IMarkSpec<ILinkPathMarkSpec>;\n\n /** 联动交互配置 */\n emphasis?: {\n /** 是否开启交互 */\n enable: boolean;\n /**\n * 交互触发类型\n * 默认为‘click'\n */\n trigger?: 'click' | 'hover';\n /**桑基图提供3种在节点上的交互联动效果\n * self: 仅高亮当前节点。\n * adjacency: 高亮当前节点上下游节点和关联的边,淡化其它图形元素。\n * related: 高亮与当前节点相关的整条路径上的节点和边,淡化其它图形元素。 */\n effect: 'self' | 'adjacency' | 'related';\n };\n\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';\n /** 标签文字缩略 */\n limit: number;\n };\n\n /** 进度条配置 */\n // scroll?: IScrollSpec & {\n // /** 是否开启进度条 */\n // enable: boolean;\n // };\n}\n\nexport interface SankeyLinkDatum {\n source: string | number;\n target: string | number;\n value?: number;\n}\n\nexport interface SankeyNodeDatum {\n value?: number;\n}\n\nexport interface HierarchyNodeDatum {\n value?: number;\n children?: HierarchyNodeDatum[];\n}\n\nexport type SankeyData =\n | {\n nodes?: SankeyNodeDatum[];\n links: SankeyLinkDatum[];\n }\n | {\n nodes: HierarchyNodeDatum[];\n };\n\n/**\n * The node element after sankey layout\n */\nexport interface SankeyNodeElement {\n key: string | number;\n index: number;\n /** the depth of node, from source to target */\n depth: number;\n\n /** the depth of node, from target to source */\n endDepth?: number;\n /** the final layer index after layout */\n layer?: number;\n isLastLayer?: boolean;\n value: number;\n datum: SankeyNodeDatum;\n sourceLinks: SankeyLinkElement[];\n targetLinks: SankeyLinkElement[];\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n}\n/**\n * the link element after sankey layout\n */\nexport interface SankeyLinkElement {\n vertical?: boolean;\n index: number;\n source: string | number;\n target: string | number;\n value: number;\n datum: SankeyLinkDatum | SankeyLinkDatum[];\n thickness?: number;\n sourceRect?: { x0: number; x1: number; y0: number; y1: number };\n targetRect?: { x0: number; x1: number; y0: number; y1: number };\n /** this will only be generate in hierarchy node data*/\n parents?: (string | number)[];\n y0?: number;\n y1?: number;\n x0?: number;\n x1?: number;\n}\n\nexport type SankeyLayoutResult = {\n nodes: SankeyNodeElement[];\n links: SankeyLinkElement[];\n columns: SankeyNodeElement[][];\n}[];\n\nexport interface ISankeySeriesTheme {\n [SeriesMarkNameEnum.node]?: IMarkTheme<IRectMarkSpec>;\n [SeriesMarkNameEnum.link]?: IMarkTheme<ILinkPathMarkSpec>;\n}\n"]}
@@ -33,10 +33,12 @@ export declare class SankeySeries extends CartesianSeries<any> {
33
33
  protected _initNodeMarkStyle(): void;
34
34
  protected _initLinkMarkStyle(): void;
35
35
  protected _initLabelMarkStyle(): void;
36
+ private _createText;
36
37
  initAnimation(): void;
37
38
  protected initEvent(): void;
38
39
  protected _handleAdjacencyClick: (params: ExtendEventParam) => void;
39
40
  protected _handleRelatedClick: (params: ExtendEventParam) => void;
41
+ protected _handleClearEmpty: () => void;
40
42
  protected _handleNodeAdjacencyClick: (element: IElement) => void;
41
43
  protected _handleLinkAdjacencyClick: (element: IGlyphElement) => void;
42
44
  protected _handleNodeRelatedClick: (element: IElement) => void;
@@ -15,10 +15,21 @@ class SankeySeries extends cartesian_1.CartesianSeries {
15
15
  this._labelLayoutZIndex = constant_1.LayoutZIndex.Label, this._viewBox = new vutils_1.Bounds,
16
16
  this._handleAdjacencyClick = params => {
17
17
  const element = params.item;
18
- element && element.mark.id().includes("node") ? this._handleNodeAdjacencyClick(element) : element && element.mark.id().includes("link") && this._handleLinkAdjacencyClick(element);
18
+ element && element.mark.id().includes("node") ? this._handleNodeAdjacencyClick(element) : element && element.mark.id().includes("link") ? this._handleLinkAdjacencyClick(element) : this._handleClearEmpty();
19
19
  }, this._handleRelatedClick = params => {
20
20
  const element = params.item;
21
- element && element.mark.id().includes("node") ? this._handleNodeRelatedClick(element) : element && element.mark.id().includes("link") && this._handleLinkRelatedClick(element);
21
+ element && element.mark.id().includes("node") ? this._handleNodeRelatedClick(element) : element && element.mark.id().includes("link") ? this._handleLinkRelatedClick(element) : this._handleClearEmpty();
22
+ }, this._handleClearEmpty = () => {
23
+ const nodeVGrammarMark = this._nodeMark.getProduct();
24
+ if (!nodeVGrammarMark || !nodeVGrammarMark.elements || !nodeVGrammarMark.elements.length) return;
25
+ const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
26
+ if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
27
+ const allLinkElements = linkVGrammarMark.elements;
28
+ allNodeElements.forEach((el => {
29
+ el.clearStates();
30
+ })), allLinkElements.forEach((el => {
31
+ el.clearStates();
32
+ }));
22
33
  }, this._handleNodeAdjacencyClick = element => {
23
34
  const nodeDatum = element.getDatum(), highlightNodes = [ nodeDatum.key ];
24
35
  [ this._linkMark ].forEach((mark => {
@@ -32,7 +43,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
32
43
  if (highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
33
44
  highlightNodes.includes(linkDatum.target) || highlightNodes.push(linkDatum.target),
34
45
  "parents" === father) {
35
- ratio = linkDatum.datum.filter((entry => entry.parents.some((par => par.key === nodeDatum.key)))).reduce(((sum, d) => sum + d.value), 0) / linkDatum.value;
46
+ const originalDatum = linkDatum.datum;
47
+ ratio = (originalDatum ? originalDatum.filter((entry => entry.parents.some((par => par.key === nodeDatum.key)))).reduce(((sum, d) => sum + d.value), 0) : 0) / linkDatum.value;
36
48
  }
37
49
  linkEl.addState("selected", {
38
50
  ratio: ratio
@@ -66,10 +78,11 @@ class SankeySeries extends cartesian_1.CartesianSeries {
66
78
  if (highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
67
79
  highlightNodes.includes(linkDatum.target) || highlightNodes.push(linkDatum.target),
68
80
  "parents" === father) {
69
- ratio = linkDatum.datum.filter((entry => entry.parents.some(((par, index) => {
81
+ const originalDatum = linkDatum.datum;
82
+ ratio = (originalDatum ? originalDatum.filter((entry => entry.parents.some(((par, index) => {
70
83
  var _a;
71
84
  return par.key === curLinkDatum.source && (null === (_a = entry.parents[index + 1]) || void 0 === _a ? void 0 : _a.key) === curLinkDatum.target;
72
- })))).reduce(((sum, d) => sum + d.value), 0) / linkDatum.value;
85
+ })))).reduce(((sum, d) => sum + d.value), 0) : 0) / linkDatum.value;
73
86
  }
74
87
  linkEl.addState("selected", {
75
88
  ratio: ratio
@@ -90,81 +103,126 @@ class SankeySeries extends cartesian_1.CartesianSeries {
90
103
  }));
91
104
  }));
92
105
  }, this._handleNodeRelatedClick = element => {
93
- const nodeDatum = element.getDatum(), highlightNodes = [ nodeDatum.key ], highlightLinks = [], nodeVGrammarMark = this._nodeMark.getProduct();
106
+ var _a;
107
+ const nodeDatum = element.getDatum(), nodeVGrammarMark = this._nodeMark.getProduct();
94
108
  if (!nodeVGrammarMark || !nodeVGrammarMark.elements || !nodeVGrammarMark.elements.length) return;
95
109
  const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
96
110
  if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
97
- linkVGrammarMark.elements.forEach(((linkEl, i) => {
98
- var _a, _b, _c, _d;
99
- linkEl.clearStates();
100
- const linkDatum = linkEl.getDatum(), father = (null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source";
101
- if ((0, util_2.array)(linkDatum[father]).includes(nodeDatum.key)) {
102
- if (highlightLinks.includes(null !== (_a = linkDatum.key) && void 0 !== _a ? _a : linkDatum.index) || highlightLinks.push(null !== (_b = linkDatum.key) && void 0 !== _b ? _b : linkDatum.index),
103
- highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
104
- !highlightNodes.includes(linkDatum.target)) {
105
- highlightNodes.push(linkDatum.target);
106
- let targetNodeSourceLinks = allNodeElements.find((nodeElement => nodeElement.data[0].key === linkDatum.target)).data[0].sourceLinks;
107
- for (;(null == targetNodeSourceLinks ? void 0 : targetNodeSourceLinks.length) > 0; ) {
108
- const newTargetNodeSourceLinks = [];
109
- return targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum => {
111
+ const allLinkElements = linkVGrammarMark.elements;
112
+ if ("source" === ((null === (_a = allLinkElements[0].getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
113
+ const highlightNodes = [ nodeDatum.key ], highlightLinks = [];
114
+ allLinkElements.forEach(((linkEl, i) => {
115
+ var _a, _b, _c, _d;
116
+ linkEl.clearStates();
117
+ const linkDatum = linkEl.getDatum(), father = (null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source";
118
+ if ((0, util_2.array)(linkDatum[father]).includes(nodeDatum.key)) {
119
+ if (highlightLinks.includes(null !== (_a = linkDatum.key) && void 0 !== _a ? _a : linkDatum.index) || highlightLinks.push(null !== (_b = linkDatum.key) && void 0 !== _b ? _b : linkDatum.index),
120
+ highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
121
+ !highlightNodes.includes(linkDatum.target)) {
122
+ highlightNodes.push(linkDatum.target);
123
+ let targetNodeSourceLinks = allNodeElements.find((nodeElement => nodeElement.data[0].key === linkDatum.target)).data[0].sourceLinks;
124
+ for (;(null == targetNodeSourceLinks ? void 0 : targetNodeSourceLinks.length) > 0; ) {
125
+ const newTargetNodeSourceLinks = [];
126
+ return targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum => {
127
+ var _a, _b;
128
+ if (!highlightLinks.includes(null !== (_a = targetNodeSourceLinkDatum.key) && void 0 !== _a ? _a : targetNodeSourceLinkDatum.index) && (highlightLinks.push(null !== (_b = targetNodeSourceLinkDatum.key) && void 0 !== _b ? _b : targetNodeSourceLinkDatum.index),
129
+ !highlightNodes.includes(targetNodeSourceLinkDatum.target))) {
130
+ highlightNodes.push(targetNodeSourceLinkDatum.target);
131
+ const sourceNodeTemp = allNodeElements.find((nodeElement => nodeElement.data[0].key === targetNodeSourceLinkDatum.target));
132
+ newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
133
+ }
134
+ })), void (targetNodeSourceLinks = newTargetNodeSourceLinks);
135
+ }
136
+ }
137
+ } else if (linkDatum.target === nodeDatum.key && (highlightLinks.includes(null !== (_c = linkDatum.key) && void 0 !== _c ? _c : linkDatum.index) || highlightLinks.push(null !== (_d = linkDatum.key) && void 0 !== _d ? _d : linkDatum.index),
138
+ !highlightNodes.includes(linkDatum.source))) {
139
+ highlightNodes.push(linkDatum.source);
140
+ let sourceNodeTargetLinks = allNodeElements.find((nodeElement => nodeElement.data[0].key === linkDatum.source)).data[0].targetLinks;
141
+ for (;(null == sourceNodeTargetLinks ? void 0 : sourceNodeTargetLinks.length) > 0; ) {
142
+ const newSourceNodeTargetLinks = [];
143
+ return sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum => {
110
144
  var _a, _b;
111
- if (!highlightLinks.includes(null !== (_a = targetNodeSourceLinkDatum.key) && void 0 !== _a ? _a : targetNodeSourceLinkDatum.index) && (highlightLinks.push(null !== (_b = targetNodeSourceLinkDatum.key) && void 0 !== _b ? _b : targetNodeSourceLinkDatum.index),
112
- !highlightNodes.includes(targetNodeSourceLinkDatum.target))) {
113
- highlightNodes.push(targetNodeSourceLinkDatum.target);
114
- const sourceNodeTemp = allNodeElements.find((nodeElement => nodeElement.data[0].key === targetNodeSourceLinkDatum.target));
115
- newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
145
+ if (!highlightLinks.includes(null !== (_a = sourceNodeTargetLinkDatum.key) && void 0 !== _a ? _a : sourceNodeTargetLinkDatum.index) && (highlightLinks.push(null !== (_b = sourceNodeTargetLinkDatum.key) && void 0 !== _b ? _b : sourceNodeTargetLinkDatum.index),
146
+ !highlightNodes.includes(sourceNodeTargetLinkDatum.source))) {
147
+ highlightNodes.push(sourceNodeTargetLinkDatum.source);
148
+ const sourceNodeTemp = allNodeElements.find((nodeElement => nodeElement.data[0].key === sourceNodeTargetLinkDatum.source));
149
+ newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
116
150
  }
117
- })), void (targetNodeSourceLinks = newTargetNodeSourceLinks);
151
+ })), void (sourceNodeTargetLinks = newSourceNodeTargetLinks);
118
152
  }
119
153
  }
120
- } else if (linkDatum.target === nodeDatum.key && (highlightLinks.includes(null !== (_c = linkDatum.key) && void 0 !== _c ? _c : linkDatum.index) || highlightLinks.push(null !== (_d = linkDatum.key) && void 0 !== _d ? _d : linkDatum.index),
121
- !highlightNodes.includes(linkDatum.source))) {
122
- highlightNodes.push(linkDatum.source);
123
- let sourceNodeTargetLinks = allNodeElements.find((nodeElement => nodeElement.data[0].key === linkDatum.source)).data[0].targetLinks;
124
- for (;(null == sourceNodeTargetLinks ? void 0 : sourceNodeTargetLinks.length) > 0; ) {
125
- const newSourceNodeTargetLinks = [];
126
- return sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum => {
127
- var _a, _b;
128
- if (!highlightLinks.includes(null !== (_a = sourceNodeTargetLinkDatum.key) && void 0 !== _a ? _a : sourceNodeTargetLinkDatum.index) && (highlightLinks.push(null !== (_b = sourceNodeTargetLinkDatum.key) && void 0 !== _b ? _b : sourceNodeTargetLinkDatum.index),
129
- !highlightNodes.includes(sourceNodeTargetLinkDatum.source))) {
130
- highlightNodes.push(sourceNodeTargetLinkDatum.source);
131
- const sourceNodeTemp = allNodeElements.find((nodeElement => nodeElement.data[0].key === sourceNodeTargetLinkDatum.source));
132
- newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
133
- }
134
- })), void (sourceNodeTargetLinks = newSourceNodeTargetLinks);
154
+ })), [ this._linkMark ].forEach((mark => {
155
+ const vGrammarMark = mark.getProduct();
156
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
157
+ vGrammarMark.elements.forEach(((linkEl, i) => {
158
+ var _a;
159
+ linkEl.clearStates(), highlightLinks.includes(null !== (_a = linkEl.getDatum().key) && void 0 !== _a ? _a : linkEl.getDatum().index) ? linkEl.useStates([ "selected" ]) : linkEl.useStates([ "blur" ]);
160
+ }));
161
+ })), [ this._nodeMark ].forEach((mark => {
162
+ const vGrammarMark = mark.getProduct();
163
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
164
+ vGrammarMark.elements.forEach((el => {
165
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
166
+ }));
167
+ })), [ this._labelMark ].forEach((mark => {
168
+ const vGrammarMark = mark.getProduct();
169
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
170
+ vGrammarMark.elements.forEach((el => {
171
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
172
+ }));
173
+ }));
174
+ } else {
175
+ const highlightNodes = [ nodeDatum.key ], upstreamLinks = nodeDatum.targetLinks.reduce(((res, link) => ((0,
176
+ util_2.array)(link.datum).forEach((dividedLink => {
177
+ const parents = dividedLink.parents, len = parents.length;
178
+ for (let i = 0; i < len; i++) {
179
+ const source = parents[i].key, target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key, value = dividedLink.value, existingItem = res.find((item => item.source === source && item.target === target));
180
+ existingItem ? existingItem.value += value : res.push({
181
+ source: source,
182
+ target: target,
183
+ value: value
184
+ });
135
185
  }
136
- }
137
- })), [ this._linkMark ].forEach((mark => {
138
- const vGrammarMark = mark.getProduct();
139
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
140
- vGrammarMark.elements.forEach(((linkEl, i) => {
141
- var _a;
142
- if (linkEl.clearStates(), highlightLinks.includes(null !== (_a = linkEl.getDatum().key) && void 0 !== _a ? _a : linkEl.getDatum().index)) {
143
- const linkDatum = linkEl.getDatum();
144
- let ratio;
145
- if ("parents" === ((null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source")) {
146
- ratio = linkDatum.datum.filter((entry => entry.parents.some((par => par.key === nodeDatum.key)))).reduce(((sum, d) => sum + d.value), 0) / linkDatum.value;
147
- }
148
- linkEl.addState("selected", {
186
+ })), res)), []);
187
+ allLinkElements.forEach(((linkEl, i) => {
188
+ linkEl.clearStates();
189
+ const linkDatum = linkEl.getDatum(), father = (null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source", originalDatum = linkDatum.datum, selectedDatum = originalDatum ? originalDatum.filter((entry => entry[father].some((par => par.key === nodeDatum.key)))) : null, upSelectedLink = upstreamLinks.find((upLink => upLink.source === linkDatum.source && upLink.target === linkDatum.target));
190
+ if (selectedDatum && selectedDatum.length) {
191
+ highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
192
+ highlightNodes.includes(linkDatum.target) || highlightNodes.push(linkDatum.target);
193
+ const ratio = selectedDatum.reduce(((sum, d) => sum + d.value), 0) / linkDatum.value;
194
+ return linkEl.useStates([ "selected" ]), void linkEl.addState("selected", {
149
195
  ratio: ratio
150
196
  });
151
- } else linkEl.useStates([ "blur" ]);
152
- }));
153
- })), [ this._nodeMark ].forEach((mark => {
154
- const vGrammarMark = mark.getProduct();
155
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
156
- vGrammarMark.elements.forEach((el => {
157
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
158
- }));
159
- })), [ this._labelMark ].forEach((mark => {
160
- const vGrammarMark = mark.getProduct();
161
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
162
- vGrammarMark.elements.forEach((el => {
163
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
197
+ }
198
+ if (upSelectedLink) return highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
199
+ highlightNodes.includes(linkDatum.target) || highlightNodes.push(linkDatum.target),
200
+ linkEl.useStates([ "selected" ]), void linkEl.addState("selected", {
201
+ ratio: upSelectedLink.value / linkDatum.value
202
+ });
203
+ linkEl.useStates([ "blur" ]);
204
+ })), [ this._nodeMark ].forEach((mark => {
205
+ const vGrammarMark = mark.getProduct();
206
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
207
+ vGrammarMark.elements.forEach((el => {
208
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
209
+ }));
210
+ })), [ this._labelMark ].forEach((mark => {
211
+ const vGrammarMark = mark.getProduct();
212
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
213
+ vGrammarMark.elements.forEach((el => {
214
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
215
+ }));
164
216
  }));
165
- }));
217
+ }
166
218
  }, this._handleLinkRelatedClick = element => {
167
- [ this._linkMark ].forEach((mark => {
219
+ var _a;
220
+ const nodeVGrammarMark = this._nodeMark.getProduct();
221
+ if (!nodeVGrammarMark || !nodeVGrammarMark.elements || !nodeVGrammarMark.elements.length) return;
222
+ const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
223
+ if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
224
+ const allLinkElements = linkVGrammarMark.elements;
225
+ if ("source" === ((null === (_a = element.getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) [ this._linkMark ].forEach((mark => {
168
226
  const vGrammarMark = mark.getProduct();
169
227
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
170
228
  vGrammarMark.elements.forEach((linkEl => {
@@ -182,7 +240,61 @@ class SankeySeries extends cartesian_1.CartesianSeries {
182
240
  vGrammarMark.elements.forEach((el => {
183
241
  el.clearStates();
184
242
  }));
185
- }));
243
+ })); else {
244
+ const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ], upstreamLinks = [];
245
+ (0, util_2.array)(curLinkDatum.datum).forEach((dividedLink => {
246
+ const parents = dividedLink.parents, len = parents.length;
247
+ for (let i = 0; i < len - 1; i++) {
248
+ const source = parents[i].key, target = parents[i + 1].key, value = dividedLink.value, existingItem = upstreamLinks.find((item => item.source === source && item.target === target));
249
+ upstreamLinks.push({
250
+ source: parents[i].key,
251
+ target: parents[i + 1].key,
252
+ value: dividedLink.value
253
+ }), existingItem ? existingItem.value += value : upstreamLinks.push({
254
+ source: source,
255
+ target: target,
256
+ value: value
257
+ });
258
+ }
259
+ })), allLinkElements.forEach((linkEl => {
260
+ linkEl.clearStates();
261
+ const linkDatum = linkEl.getDatum(), originalDatum = linkDatum.datum;
262
+ if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) return linkEl.useStates([ "selected" ]),
263
+ void linkEl.addState("selected", {
264
+ ratio: 1
265
+ });
266
+ const selectedDatum = originalDatum ? originalDatum.filter(((entry, index) => entry.parents.some((par => {
267
+ var _a;
268
+ return par.key === curLinkDatum.target && (null === (_a = entry.parents[index - 1]) || void 0 === _a ? void 0 : _a.key) === curLinkDatum.source;
269
+ })))) : null;
270
+ if (selectedDatum && selectedDatum.length) {
271
+ highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
272
+ highlightNodes.includes(linkDatum.target) || highlightNodes.push(linkDatum.target);
273
+ const val = selectedDatum.filter((entry => entry.parents.some(((par, index) => {
274
+ var _a;
275
+ return par.key === curLinkDatum.source && (null === (_a = entry.parents[index + 1]) || void 0 === _a ? void 0 : _a.key) === curLinkDatum.target;
276
+ })))).reduce(((sum, d) => sum + d.value), 0), ratio = val / linkDatum.value;
277
+ return linkEl.useStates([ "selected" ]), void linkEl.addState("selected", {
278
+ ratio: ratio
279
+ });
280
+ }
281
+ const upSelectedLink = upstreamLinks.find((upLink => upLink.source === linkDatum.source && upLink.target === linkDatum.target));
282
+ if (upSelectedLink) return highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source),
283
+ highlightNodes.includes(linkDatum.target) || highlightNodes.push(linkDatum.target),
284
+ linkEl.useStates([ "selected" ]), void linkEl.addState("selected", {
285
+ ratio: upSelectedLink.value / linkDatum.value
286
+ });
287
+ linkEl.useStates([ "blur" ]);
288
+ })), allNodeElements.forEach((el => {
289
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
290
+ })), [ this._labelMark ].forEach((mark => {
291
+ const vGrammarMark = mark.getProduct();
292
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
293
+ vGrammarMark.elements.forEach((el => {
294
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
295
+ }));
296
+ }));
297
+ }
186
298
  };
187
299
  }
188
300
  getCategoryField() {
@@ -331,7 +443,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
331
443
  x: datum => datum.x0,
332
444
  y: datum => (datum.y0 + datum.y1) / 2,
333
445
  fill: "#ffffff",
334
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
446
+ text: datum => this._createText(datum),
335
447
  limit: datum => {
336
448
  var _a;
337
449
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
@@ -342,7 +454,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
342
454
  x: datum => (datum.x0 + datum.x1) / 2,
343
455
  y: datum => (datum.y0 + datum.y1) / 2,
344
456
  fill: "#ffffff",
345
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
457
+ text: datum => this._createText(datum),
346
458
  limit: datum => {
347
459
  var _a;
348
460
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
@@ -353,7 +465,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
353
465
  x: datum => datum.x1,
354
466
  y: datum => (datum.y0 + datum.y1) / 2,
355
467
  fill: "#ffffff",
356
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
468
+ text: datum => this._createText(datum),
357
469
  limit: datum => {
358
470
  var _a;
359
471
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
@@ -367,7 +479,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
367
479
  var _a, _b, _c;
368
480
  return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(datum.key);
369
481
  },
370
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
482
+ text: datum => this._createText(datum),
371
483
  limit: this._labelLimit,
372
484
  textAlign: "center",
373
485
  textBaseline: datum => datum.y1 >= this._viewBox.y2 ? "bottom" : "top"
@@ -375,7 +487,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
375
487
  x: datum => datum.x0,
376
488
  y: datum => (datum.y0 + datum.y1) / 2,
377
489
  fill: "#ffffff",
378
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
490
+ text: datum => this._createText(datum),
379
491
  limit: datum => {
380
492
  var _a;
381
493
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
@@ -386,7 +498,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
386
498
  x: datum => (datum.x0 + datum.x1) / 2,
387
499
  y: datum => (datum.y0 + datum.y1) / 2,
388
500
  fill: "#ffffff",
389
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
501
+ text: datum => this._createText(datum),
390
502
  limit: datum => {
391
503
  var _a;
392
504
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
@@ -397,7 +509,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
397
509
  x: datum => datum.x1,
398
510
  y: datum => (datum.y0 + datum.y1) / 2,
399
511
  fill: "#ffffff",
400
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
512
+ text: datum => this._createText(datum),
401
513
  limit: datum => {
402
514
  var _a;
403
515
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
@@ -411,7 +523,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
411
523
  var _a, _b, _c;
412
524
  return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(datum.key);
413
525
  },
414
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
526
+ text: datum => this._createText(datum),
415
527
  limit: this._labelLimit,
416
528
  textAlign: "right",
417
529
  textBaseline: "middle"
@@ -422,7 +534,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
422
534
  var _a, _b, _c;
423
535
  return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(datum.key);
424
536
  },
425
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
537
+ text: datum => this._createText(datum),
426
538
  limit: this._labelLimit,
427
539
  textAlign: "left",
428
540
  textBaseline: "middle"
@@ -433,13 +545,20 @@ class SankeySeries extends cartesian_1.CartesianSeries {
433
545
  var _a, _b, _c;
434
546
  return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(datum.key);
435
547
  },
436
- text: datum => (null == datum ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : "",
548
+ text: datum => this._createText(datum),
437
549
  limit: this._labelLimit,
438
550
  textAlign: datum => datum.x1 >= this._viewBox.x2 ? "right" : "left",
439
551
  textBaseline: "middle"
440
552
  }, mark_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series), this._labelMark.setZIndex(this._labelLayoutZIndex),
441
553
  this._trigger.registerMark(this._labelMark), null === (_a = this._tooltipHelper) || void 0 === _a || _a.activeTriggerSet.mark.add(this._labelMark));
442
554
  }
555
+ _createText(datum) {
556
+ var _a;
557
+ if ((0, util_2.isNil)(datum) || (0, util_2.isNil)(datum.datum)) return "";
558
+ let text = datum.datum[this._spec.categoryField] || "";
559
+ return (null === (_a = this._spec.label) || void 0 === _a ? void 0 : _a.formatMethod) && (text = this._spec.label.formatMethod(text, datum.datum)),
560
+ text;
561
+ }
443
562
  initAnimation() {
444
563
  var _a, _b;
445
564
  const animationParams = {