@visactor/vchart 1.4.0-alpha.6 → 1.4.0-beta.1

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 (441) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +8724 -10419
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/bar/bar.js +2 -1
  6. package/cjs/chart/bar/bar.js.map +1 -1
  7. package/cjs/chart/base-chart.d.ts +7 -5
  8. package/cjs/chart/base-chart.js +42 -71
  9. package/cjs/chart/base-chart.js.map +1 -1
  10. package/cjs/chart/chart-meta/data.d.ts +15 -0
  11. package/cjs/chart/chart-meta/data.js +52 -0
  12. package/cjs/chart/chart-meta/data.js.map +1 -0
  13. package/cjs/chart/histogram/base.js +2 -1
  14. package/cjs/chart/histogram/base.js.map +1 -1
  15. package/cjs/chart/interface/chart.d.ts +0 -1
  16. package/cjs/chart/interface/chart.js.map +1 -1
  17. package/cjs/chart/pie/base.js +2 -1
  18. package/cjs/chart/pie/base.js.map +1 -1
  19. package/cjs/chart/progress/circular/circular.js +2 -1
  20. package/cjs/chart/progress/circular/circular.js.map +1 -1
  21. package/cjs/chart/sequence/sequence.d.ts +1 -0
  22. package/cjs/chart/sequence/sequence.js +24 -20
  23. package/cjs/chart/sequence/sequence.js.map +1 -1
  24. package/cjs/chart/util.d.ts +2 -0
  25. package/cjs/chart/util.js +8 -2
  26. package/cjs/chart/util.js.map +1 -1
  27. package/cjs/compile/compiler.d.ts +1 -1
  28. package/cjs/compile/compiler.js +3 -3
  29. package/cjs/compile/compiler.js.map +1 -1
  30. package/cjs/compile/data/compilable-data.js +2 -2
  31. package/cjs/compile/data/compilable-data.js.map +1 -1
  32. package/cjs/component/axis/base-axis.d.ts +1 -2
  33. package/cjs/component/axis/base-axis.js +3 -3
  34. package/cjs/component/axis/base-axis.js.map +1 -1
  35. package/cjs/component/axis/cartesian/axis.d.ts +1 -0
  36. package/cjs/component/axis/cartesian/axis.js +7 -9
  37. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  38. package/cjs/component/axis/cartesian/interface/common.d.ts +2 -2
  39. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  40. package/cjs/component/axis/cartesian/linear-axis.js +1 -1
  41. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  42. package/cjs/component/axis/cartesian/util/common.d.ts +1 -0
  43. package/cjs/component/axis/cartesian/util/common.js +8 -2
  44. package/cjs/component/axis/cartesian/util/common.js.map +1 -1
  45. package/cjs/component/axis/interface.d.ts +7 -1
  46. package/cjs/component/axis/interface.js.map +1 -1
  47. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  48. package/cjs/component/axis/mixin/linear-axis-mixin.js +4 -17
  49. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  50. package/cjs/component/base/base-component.d.ts +2 -2
  51. package/cjs/component/base/base-component.js +12 -7
  52. package/cjs/component/base/base-component.js.map +1 -1
  53. package/cjs/component/brush/brush.d.ts +1 -2
  54. package/cjs/component/brush/brush.js +6 -4
  55. package/cjs/component/brush/brush.js.map +1 -1
  56. package/cjs/component/crosshair/base.d.ts +1 -2
  57. package/cjs/component/crosshair/base.js +4 -3
  58. package/cjs/component/crosshair/base.js.map +1 -1
  59. package/cjs/component/crosshair/cartesian.js +2 -1
  60. package/cjs/component/crosshair/cartesian.js.map +1 -1
  61. package/cjs/component/crosshair/interface/spec.d.ts +1 -1
  62. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  63. package/cjs/component/crosshair/polar.js +2 -1
  64. package/cjs/component/crosshair/polar.js.map +1 -1
  65. package/cjs/component/custom-mark/custom-mark.d.ts +1 -2
  66. package/cjs/component/custom-mark/custom-mark.js +4 -4
  67. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  68. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -2
  69. package/cjs/component/data-zoom/data-filter-base-component.js +4 -3
  70. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  71. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +2 -1
  72. package/cjs/component/data-zoom/data-zoom/data-zoom.js +13 -6
  73. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  74. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  75. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +5 -0
  76. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  77. package/cjs/component/data-zoom/util.js +6 -1
  78. package/cjs/component/data-zoom/util.js.map +1 -1
  79. package/cjs/component/geo/geo-coordinate.d.ts +1 -1
  80. package/cjs/component/geo/geo-coordinate.js +3 -2
  81. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  82. package/cjs/component/indicator/indicator.js +2 -1
  83. package/cjs/component/indicator/indicator.js.map +1 -1
  84. package/cjs/component/label/base-label.d.ts +1 -2
  85. package/cjs/component/label/base-label.js +5 -4
  86. package/cjs/component/label/base-label.js.map +1 -1
  87. package/cjs/component/label/label.js +3 -2
  88. package/cjs/component/label/label.js.map +1 -1
  89. package/cjs/component/legend/base-legend.d.ts +1 -2
  90. package/cjs/component/legend/base-legend.js +9 -6
  91. package/cjs/component/legend/base-legend.js.map +1 -1
  92. package/cjs/component/legend/interface.d.ts +1 -0
  93. package/cjs/component/legend/interface.js.map +1 -1
  94. package/cjs/component/legend/util.d.ts +1 -1
  95. package/cjs/component/marker/base-marker.js +3 -2
  96. package/cjs/component/marker/base-marker.js.map +1 -1
  97. package/cjs/component/player/player.js +7 -3
  98. package/cjs/component/player/player.js.map +1 -1
  99. package/cjs/component/title/title.d.ts +1 -2
  100. package/cjs/component/title/title.js +7 -6
  101. package/cjs/component/title/title.js.map +1 -1
  102. package/cjs/component/tooltip/handler/base.d.ts +2 -1
  103. package/cjs/component/tooltip/handler/base.js +127 -49
  104. package/cjs/component/tooltip/handler/base.js.map +1 -1
  105. package/cjs/component/tooltip/handler/utils/position.d.ts +6 -0
  106. package/cjs/component/tooltip/handler/utils/position.js +31 -3
  107. package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
  108. package/cjs/component/tooltip/tooltip.js +1 -0
  109. package/cjs/component/tooltip/tooltip.js.map +1 -1
  110. package/cjs/constant/polar.d.ts +1 -0
  111. package/cjs/constant/polar.js +12 -12
  112. package/cjs/constant/polar.js.map +1 -1
  113. package/cjs/core/index.d.ts +1 -1
  114. package/cjs/core/index.js +1 -1
  115. package/cjs/core/index.js.map +1 -1
  116. package/cjs/core/interface.d.ts +4 -4
  117. package/cjs/core/interface.js.map +1 -1
  118. package/cjs/core/vchart.d.ts +4 -4
  119. package/cjs/core/vchart.js +66 -37
  120. package/cjs/core/vchart.js.map +1 -1
  121. package/cjs/data/initialize.d.ts +1 -0
  122. package/cjs/data/initialize.js +6 -2
  123. package/cjs/data/initialize.js.map +1 -1
  124. package/cjs/data/transforms/dimension-statistics.js +3 -3
  125. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  126. package/cjs/data/transforms/link-dot-info.d.ts +13 -0
  127. package/cjs/data/transforms/link-dot-info.js +26 -0
  128. package/cjs/data/transforms/link-dot-info.js.map +1 -0
  129. package/cjs/data/transforms/obj-flat.js +2 -1
  130. package/cjs/data/transforms/obj-flat.js.map +1 -1
  131. package/cjs/data/transforms/pie.d.ts +1 -0
  132. package/cjs/data/transforms/pie.js +28 -12
  133. package/cjs/data/transforms/pie.js.map +1 -1
  134. package/cjs/event/events/dimension/util/common.js +16 -6
  135. package/cjs/event/events/dimension/util/common.js.map +1 -1
  136. package/cjs/mark/base/base-mark.d.ts +0 -1
  137. package/cjs/mark/base/base-mark.js +1 -4
  138. package/cjs/mark/base/base-mark.js.map +1 -1
  139. package/cjs/mark/progress-arc.js +2 -2
  140. package/cjs/mark/progress-arc.js.map +1 -1
  141. package/cjs/model/base-model.d.ts +8 -1
  142. package/cjs/model/base-model.js +14 -9
  143. package/cjs/model/base-model.js.map +1 -1
  144. package/cjs/model/interface.d.ts +0 -1
  145. package/cjs/model/interface.js.map +1 -1
  146. package/cjs/model/layout-item.js +1 -1
  147. package/cjs/model/layout-item.js.map +1 -1
  148. package/cjs/region/region.d.ts +1 -2
  149. package/cjs/region/region.js +5 -5
  150. package/cjs/region/region.js.map +1 -1
  151. package/cjs/series/bar/bar.d.ts +4 -8
  152. package/cjs/series/bar/bar.js +82 -10
  153. package/cjs/series/bar/bar.js.map +1 -1
  154. package/cjs/series/bar/interface.d.ts +1 -0
  155. package/cjs/series/bar/interface.js.map +1 -1
  156. package/cjs/series/base/base-series.d.ts +4 -3
  157. package/cjs/series/base/base-series.js +27 -18
  158. package/cjs/series/base/base-series.js.map +1 -1
  159. package/cjs/series/cartesian/cartesian.d.ts +0 -8
  160. package/cjs/series/cartesian/cartesian.js +2 -9
  161. package/cjs/series/cartesian/cartesian.js.map +1 -1
  162. package/cjs/series/dot/dot.d.ts +2 -0
  163. package/cjs/series/dot/dot.js +8 -3
  164. package/cjs/series/dot/dot.js.map +1 -1
  165. package/cjs/series/funnel/funnel.d.ts +0 -8
  166. package/cjs/series/funnel/funnel.js +0 -15
  167. package/cjs/series/funnel/funnel.js.map +1 -1
  168. package/cjs/series/heatmap/heatmap.d.ts +0 -8
  169. package/cjs/series/heatmap/heatmap.js +0 -5
  170. package/cjs/series/heatmap/heatmap.js.map +1 -1
  171. package/cjs/series/interface/common.d.ts +1 -0
  172. package/cjs/series/interface/common.js.map +1 -1
  173. package/cjs/series/interface/series.js.map +1 -1
  174. package/cjs/series/link/link.d.ts +1 -0
  175. package/cjs/series/link/link.js +18 -20
  176. package/cjs/series/link/link.js.map +1 -1
  177. package/cjs/series/map/map.d.ts +0 -8
  178. package/cjs/series/map/map.js +1 -6
  179. package/cjs/series/map/map.js.map +1 -1
  180. package/cjs/series/pie/interface.d.ts +1 -0
  181. package/cjs/series/pie/interface.js.map +1 -1
  182. package/cjs/series/pie/pie.d.ts +3 -2
  183. package/cjs/series/pie/pie.js +12 -3
  184. package/cjs/series/pie/pie.js.map +1 -1
  185. package/cjs/series/polar/polar.d.ts +0 -8
  186. package/cjs/series/polar/polar.js +0 -5
  187. package/cjs/series/polar/polar.js.map +1 -1
  188. package/cjs/series/polar/progress-like/progress-like.js +18 -24
  189. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  190. package/cjs/series/progress/circular/circular.js +3 -2
  191. package/cjs/series/progress/circular/circular.js.map +1 -1
  192. package/cjs/series/progress/linear/linear.js +8 -9
  193. package/cjs/series/progress/linear/linear.js.map +1 -1
  194. package/cjs/series/sankey/interface.d.ts +1 -0
  195. package/cjs/series/sankey/interface.js.map +1 -1
  196. package/cjs/series/sankey/sankey.d.ts +3 -1
  197. package/cjs/series/sankey/sankey.js +96 -73
  198. package/cjs/series/sankey/sankey.js.map +1 -1
  199. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  200. package/cjs/series/word-cloud/base.d.ts +0 -8
  201. package/cjs/series/word-cloud/base.js +2 -7
  202. package/cjs/series/word-cloud/base.js.map +1 -1
  203. package/cjs/series/word-cloud/config.d.ts +1 -1
  204. package/cjs/series/word-cloud/config.js +1 -1
  205. package/cjs/series/word-cloud/config.js.map +1 -1
  206. package/cjs/theme/builtin/common/component/tooltip.js +1 -0
  207. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  208. package/cjs/theme/builtin/common/series/circular-progress.js +6 -0
  209. package/cjs/theme/builtin/common/series/circular-progress.js.map +1 -1
  210. package/cjs/theme/builtin/common/series/gauge.js +6 -0
  211. package/cjs/theme/builtin/common/series/gauge.js.map +1 -1
  212. package/cjs/theme/builtin/common/series/pie.js +1 -0
  213. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  214. package/cjs/theme/builtin/common/series/rose.js +1 -0
  215. package/cjs/theme/builtin/common/series/rose.js.map +1 -1
  216. package/cjs/typings/tooltip/position.d.ts +13 -1
  217. package/cjs/typings/tooltip/position.js +11 -5
  218. package/cjs/typings/tooltip/position.js.map +1 -1
  219. package/cjs/typings/tooltip/tooltip.d.ts +2 -1
  220. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  221. package/cjs/typings/visual.d.ts +2 -1
  222. package/cjs/typings/visual.js.map +1 -1
  223. package/esm/chart/bar/bar.js +2 -1
  224. package/esm/chart/bar/bar.js.map +1 -1
  225. package/esm/chart/base-chart.d.ts +7 -5
  226. package/esm/chart/base-chart.js +44 -74
  227. package/esm/chart/base-chart.js.map +1 -1
  228. package/esm/chart/chart-meta/data.d.ts +15 -0
  229. package/esm/chart/chart-meta/data.js +48 -0
  230. package/esm/chart/chart-meta/data.js.map +1 -0
  231. package/esm/chart/histogram/base.js +2 -1
  232. package/esm/chart/histogram/base.js.map +1 -1
  233. package/esm/chart/interface/chart.d.ts +0 -1
  234. package/esm/chart/interface/chart.js.map +1 -1
  235. package/esm/chart/pie/base.js +2 -1
  236. package/esm/chart/pie/base.js.map +1 -1
  237. package/esm/chart/progress/circular/circular.js +2 -1
  238. package/esm/chart/progress/circular/circular.js.map +1 -1
  239. package/esm/chart/sequence/sequence.d.ts +1 -0
  240. package/esm/chart/sequence/sequence.js +25 -21
  241. package/esm/chart/sequence/sequence.js.map +1 -1
  242. package/esm/chart/util.d.ts +2 -0
  243. package/esm/chart/util.js +6 -0
  244. package/esm/chart/util.js.map +1 -1
  245. package/esm/compile/compiler.d.ts +1 -1
  246. package/esm/compile/compiler.js +3 -3
  247. package/esm/compile/compiler.js.map +1 -1
  248. package/esm/compile/data/compilable-data.js +2 -2
  249. package/esm/compile/data/compilable-data.js.map +1 -1
  250. package/esm/component/axis/base-axis.d.ts +1 -2
  251. package/esm/component/axis/base-axis.js +3 -3
  252. package/esm/component/axis/base-axis.js.map +1 -1
  253. package/esm/component/axis/cartesian/axis.d.ts +1 -0
  254. package/esm/component/axis/cartesian/axis.js +8 -10
  255. package/esm/component/axis/cartesian/axis.js.map +1 -1
  256. package/esm/component/axis/cartesian/interface/common.d.ts +2 -2
  257. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  258. package/esm/component/axis/cartesian/linear-axis.js +1 -1
  259. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  260. package/esm/component/axis/cartesian/util/common.d.ts +1 -0
  261. package/esm/component/axis/cartesian/util/common.js +7 -1
  262. package/esm/component/axis/cartesian/util/common.js.map +1 -1
  263. package/esm/component/axis/interface.d.ts +7 -1
  264. package/esm/component/axis/interface.js.map +1 -1
  265. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  266. package/esm/component/axis/mixin/linear-axis-mixin.js +5 -11
  267. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  268. package/esm/component/base/base-component.d.ts +2 -2
  269. package/esm/component/base/base-component.js +13 -6
  270. package/esm/component/base/base-component.js.map +1 -1
  271. package/esm/component/brush/brush.d.ts +1 -2
  272. package/esm/component/brush/brush.js +6 -4
  273. package/esm/component/brush/brush.js.map +1 -1
  274. package/esm/component/crosshair/base.d.ts +1 -2
  275. package/esm/component/crosshair/base.js +5 -4
  276. package/esm/component/crosshair/base.js.map +1 -1
  277. package/esm/component/crosshair/cartesian.js +2 -1
  278. package/esm/component/crosshair/cartesian.js.map +1 -1
  279. package/esm/component/crosshair/interface/spec.d.ts +1 -1
  280. package/esm/component/crosshair/interface/spec.js.map +1 -1
  281. package/esm/component/crosshair/polar.js +2 -1
  282. package/esm/component/crosshair/polar.js.map +1 -1
  283. package/esm/component/custom-mark/custom-mark.d.ts +1 -2
  284. package/esm/component/custom-mark/custom-mark.js +3 -3
  285. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  286. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -2
  287. package/esm/component/data-zoom/data-filter-base-component.js +5 -4
  288. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  289. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +2 -1
  290. package/esm/component/data-zoom/data-zoom/data-zoom.js +14 -8
  291. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  292. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  293. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +5 -0
  294. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  295. package/esm/component/data-zoom/util.js +6 -1
  296. package/esm/component/data-zoom/util.js.map +1 -1
  297. package/esm/component/geo/geo-coordinate.d.ts +1 -1
  298. package/esm/component/geo/geo-coordinate.js +3 -2
  299. package/esm/component/geo/geo-coordinate.js.map +1 -1
  300. package/esm/component/indicator/indicator.js +2 -1
  301. package/esm/component/indicator/indicator.js.map +1 -1
  302. package/esm/component/label/base-label.d.ts +1 -2
  303. package/esm/component/label/base-label.js +6 -3
  304. package/esm/component/label/base-label.js.map +1 -1
  305. package/esm/component/label/label.js +4 -3
  306. package/esm/component/label/label.js.map +1 -1
  307. package/esm/component/legend/base-legend.d.ts +1 -2
  308. package/esm/component/legend/base-legend.js +8 -6
  309. package/esm/component/legend/base-legend.js.map +1 -1
  310. package/esm/component/legend/interface.d.ts +1 -0
  311. package/esm/component/legend/interface.js.map +1 -1
  312. package/esm/component/legend/util.d.ts +1 -1
  313. package/esm/component/marker/base-marker.js +3 -2
  314. package/esm/component/marker/base-marker.js.map +1 -1
  315. package/esm/component/player/player.js +7 -3
  316. package/esm/component/player/player.js.map +1 -1
  317. package/esm/component/title/title.d.ts +1 -2
  318. package/esm/component/title/title.js +7 -6
  319. package/esm/component/title/title.js.map +1 -1
  320. package/esm/component/tooltip/handler/base.d.ts +2 -1
  321. package/esm/component/tooltip/handler/base.js +122 -49
  322. package/esm/component/tooltip/handler/base.js.map +1 -1
  323. package/esm/component/tooltip/handler/utils/position.d.ts +6 -0
  324. package/esm/component/tooltip/handler/utils/position.js +28 -0
  325. package/esm/component/tooltip/handler/utils/position.js.map +1 -1
  326. package/esm/component/tooltip/tooltip.js +1 -0
  327. package/esm/component/tooltip/tooltip.js.map +1 -1
  328. package/esm/constant/polar.d.ts +1 -0
  329. package/esm/constant/polar.js +2 -0
  330. package/esm/constant/polar.js.map +1 -1
  331. package/esm/core/index.d.ts +1 -1
  332. package/esm/core/index.js +1 -1
  333. package/esm/core/index.js.map +1 -1
  334. package/esm/core/interface.d.ts +4 -4
  335. package/esm/core/interface.js.map +1 -1
  336. package/esm/core/vchart.d.ts +4 -4
  337. package/esm/core/vchart.js +67 -38
  338. package/esm/core/vchart.js.map +1 -1
  339. package/esm/data/initialize.d.ts +1 -0
  340. package/esm/data/initialize.js +4 -0
  341. package/esm/data/initialize.js.map +1 -1
  342. package/esm/data/transforms/dimension-statistics.js +3 -3
  343. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  344. package/esm/data/transforms/link-dot-info.d.ts +13 -0
  345. package/esm/data/transforms/link-dot-info.js +18 -0
  346. package/esm/data/transforms/link-dot-info.js.map +1 -0
  347. package/esm/data/transforms/obj-flat.js +2 -1
  348. package/esm/data/transforms/obj-flat.js.map +1 -1
  349. package/esm/data/transforms/pie.d.ts +1 -0
  350. package/esm/data/transforms/pie.js +29 -11
  351. package/esm/data/transforms/pie.js.map +1 -1
  352. package/esm/event/events/dimension/util/common.js +17 -7
  353. package/esm/event/events/dimension/util/common.js.map +1 -1
  354. package/esm/mark/base/base-mark.d.ts +0 -1
  355. package/esm/mark/base/base-mark.js +2 -5
  356. package/esm/mark/base/base-mark.js.map +1 -1
  357. package/esm/mark/progress-arc.js +2 -2
  358. package/esm/mark/progress-arc.js.map +1 -1
  359. package/esm/model/base-model.d.ts +8 -1
  360. package/esm/model/base-model.js +13 -8
  361. package/esm/model/base-model.js.map +1 -1
  362. package/esm/model/interface.d.ts +0 -1
  363. package/esm/model/interface.js.map +1 -1
  364. package/esm/model/layout-item.js +1 -1
  365. package/esm/model/layout-item.js.map +1 -1
  366. package/esm/region/region.d.ts +1 -2
  367. package/esm/region/region.js +6 -6
  368. package/esm/region/region.js.map +1 -1
  369. package/esm/series/bar/bar.d.ts +4 -8
  370. package/esm/series/bar/bar.js +77 -9
  371. package/esm/series/bar/bar.js.map +1 -1
  372. package/esm/series/bar/interface.d.ts +1 -0
  373. package/esm/series/bar/interface.js.map +1 -1
  374. package/esm/series/base/base-series.d.ts +4 -3
  375. package/esm/series/base/base-series.js +25 -18
  376. package/esm/series/base/base-series.js.map +1 -1
  377. package/esm/series/cartesian/cartesian.d.ts +0 -8
  378. package/esm/series/cartesian/cartesian.js +3 -10
  379. package/esm/series/cartesian/cartesian.js.map +1 -1
  380. package/esm/series/dot/dot.d.ts +2 -0
  381. package/esm/series/dot/dot.js +8 -3
  382. package/esm/series/dot/dot.js.map +1 -1
  383. package/esm/series/funnel/funnel.d.ts +0 -8
  384. package/esm/series/funnel/funnel.js +1 -16
  385. package/esm/series/funnel/funnel.js.map +1 -1
  386. package/esm/series/heatmap/heatmap.d.ts +0 -8
  387. package/esm/series/heatmap/heatmap.js +0 -5
  388. package/esm/series/heatmap/heatmap.js.map +1 -1
  389. package/esm/series/interface/common.d.ts +1 -0
  390. package/esm/series/interface/common.js.map +1 -1
  391. package/esm/series/interface/series.js.map +1 -1
  392. package/esm/series/link/link.d.ts +1 -0
  393. package/esm/series/link/link.js +19 -19
  394. package/esm/series/link/link.js.map +1 -1
  395. package/esm/series/map/map.d.ts +0 -8
  396. package/esm/series/map/map.js +1 -6
  397. package/esm/series/map/map.js.map +1 -1
  398. package/esm/series/pie/interface.d.ts +1 -0
  399. package/esm/series/pie/interface.js.map +1 -1
  400. package/esm/series/pie/pie.d.ts +3 -2
  401. package/esm/series/pie/pie.js +11 -3
  402. package/esm/series/pie/pie.js.map +1 -1
  403. package/esm/series/polar/polar.d.ts +0 -8
  404. package/esm/series/polar/polar.js +1 -6
  405. package/esm/series/polar/polar.js.map +1 -1
  406. package/esm/series/polar/progress-like/progress-like.js +18 -25
  407. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  408. package/esm/series/progress/circular/circular.js +3 -3
  409. package/esm/series/progress/circular/circular.js.map +1 -1
  410. package/esm/series/progress/linear/linear.js +7 -9
  411. package/esm/series/progress/linear/linear.js.map +1 -1
  412. package/esm/series/sankey/interface.d.ts +1 -0
  413. package/esm/series/sankey/interface.js.map +1 -1
  414. package/esm/series/sankey/sankey.d.ts +3 -1
  415. package/esm/series/sankey/sankey.js +93 -72
  416. package/esm/series/sankey/sankey.js.map +1 -1
  417. package/esm/series/sunburst/sunburst.d.ts +1 -1
  418. package/esm/series/word-cloud/base.d.ts +0 -8
  419. package/esm/series/word-cloud/base.js +3 -8
  420. package/esm/series/word-cloud/base.js.map +1 -1
  421. package/esm/series/word-cloud/config.d.ts +1 -1
  422. package/esm/series/word-cloud/config.js +1 -1
  423. package/esm/series/word-cloud/config.js.map +1 -1
  424. package/esm/theme/builtin/common/component/tooltip.js +1 -0
  425. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  426. package/esm/theme/builtin/common/series/circular-progress.js +6 -0
  427. package/esm/theme/builtin/common/series/circular-progress.js.map +1 -1
  428. package/esm/theme/builtin/common/series/gauge.js +6 -0
  429. package/esm/theme/builtin/common/series/gauge.js.map +1 -1
  430. package/esm/theme/builtin/common/series/pie.js +1 -0
  431. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  432. package/esm/theme/builtin/common/series/rose.js +1 -0
  433. package/esm/theme/builtin/common/series/rose.js.map +1 -1
  434. package/esm/typings/tooltip/position.d.ts +13 -1
  435. package/esm/typings/tooltip/position.js +11 -2
  436. package/esm/typings/tooltip/position.js.map +1 -1
  437. package/esm/typings/tooltip/tooltip.d.ts +2 -1
  438. package/esm/typings/tooltip/tooltip.js.map +1 -1
  439. package/esm/typings/visual.d.ts +2 -1
  440. package/esm/typings/visual.js.map +1 -1
  441. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/progress/linear/linear.ts"],"names":[],"mappings":"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","file":"linear.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport type { IRectMark } from '../../../mark/rect';\nimport type { IGroupMark } from '../../../mark/group';\nimport { valueInScaleRange } from '../../../util';\nimport { AttributeLevel } from '../../../constant';\nimport type { Datum, Maybe } from '../../../typings';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../../animation/config';\nimport type { ILinearProgressAnimationParams, LinearProgressAppearPreset } from './animation';\nimport type { ILinearProgressSeriesSpec, ILinearProgressSeriesTheme } from './interface';\nimport { LinearProgressSeriesTooltipHelper } from './tooltip-helper';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { VChart } from '../../../core/vchart';\nimport { RectMark } from '../../../mark/rect';\nimport { createRect } from '@visactor/vrender';\nimport { linearProgressSeriesMark } from './constant';\n\nVChart.useMark([RectMark]);\n\nexport class LinearProgressSeries<\n T extends ILinearProgressSeriesSpec = ILinearProgressSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.linearProgress;\n type = SeriesTypeEnum.linearProgress;\n\n static readonly mark: SeriesMarkMap = linearProgressSeriesMark;\n\n protected declare _theme: Maybe<ILinearProgressSeriesTheme>;\n\n private _progressMark: IRectMark | null = null;\n private _trackMark: IRectMark | null = null;\n private _progressGroupMark: IGroupMark | null = null;\n\n /**\n * 为了解决在圆角情况下,在数值较小时,rect绘图效果不好的问题\n * 1. trackMark的所有样式设置在groupMark上,定位也依靠这个groupMark\n * 2. progressMark长度固定为整个进度条长度,通过x的偏移体现当前进度\n *\n * 为了解决在配置tooltip时,trackMark设置为GroupMark无法绑定数据的问题,\n * 1. 原本的设置为groupMark的trackMark更名为GroupMark。用来保证在clip效果下progressMark小数据值的绘图效果。\n * 1. 增加一层设置为rectMark的trackMark,形状大小与GroupMark相同\n *\n * 为了解决成组\n * 给groupMark的path字段赋值为一个rect数组 也就是一个groupMark具有多个以背景条为轮廓的rect的path\n * trackMark与progressMark使用绝对定位\n */\n initMark(): void {\n this._initProgressGroupMark();\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n this._initProgressGroupMarkStyle();\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(LinearProgressSeries.mark.progress, {\n isSeriesMark: true,\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n if (this._spec.direction === 'vertical') {\n const leftPadding = this._spec.progress?.leftPadding ?? 0;\n const rightPadding = this._spec.progress?.rightPadding ?? 0;\n\n this.setMarkStyle(progressMark, {\n x: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2 +\n leftPadding\n );\n },\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)),\n height: () => this._yAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition }),\n width: this._spec.bandWidth - leftPadding - rightPadding,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n });\n } else {\n const topPadding = this._spec.progress?.topPadding ?? 0;\n const bottomPadding = this._spec.progress?.bottomPadding ?? 0;\n\n this.setMarkStyle(progressMark, {\n x: (datum: Datum) =>\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._xAxisHelper.dataToPosition([1], { bandPosition: this._bandPosition }),\n y: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2 +\n topPadding\n );\n },\n height: this._spec.bandWidth - topPadding - bottomPadding,\n width: () => this._xAxisHelper?.dataToPosition([1], { bandPosition: this._bandPosition }),\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n });\n }\n this._trigger.registerMark(progressMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(progressMark);\n }\n }\n\n private _initTrackMark() {\n this._trackMark = this._createMark(LinearProgressSeries.mark.track, {\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(trackMark, {\n x: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2\n );\n },\n y: 0,\n width: this._spec.bandWidth,\n height: () => this._scaleY.range()[0],\n cornerRadius: this._spec.cornerRadius,\n fill: this._spec.track?.style?.fill\n });\n } else {\n this.setMarkStyle(trackMark, {\n x: 0,\n y: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2\n );\n },\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n cornerRadius: this._spec.cornerRadius,\n fill: this._spec.track?.style?.fill\n });\n }\n this._trigger.registerMark(trackMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(trackMark);\n }\n }\n\n private _initProgressGroupMark() {\n // FIXME: disable group mark layout to prevent reevaluate after layout end\n this._progressGroupMark = this._createMark(LinearProgressSeries.mark.group, {\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._progressGroupMark;\n }\n\n private _initProgressGroupMarkStyle() {\n const groupMark = this._progressGroupMark;\n groupMark.setZIndex(this.layoutZIndex);\n groupMark.created();\n\n this.setMarkStyle(\n groupMark,\n {\n clip: true,\n x: 0,\n y: 0,\n path: () => {\n const rectPaths: any[] = [];\n this._rawData?.rawData.forEach((datum: any, index: number) => {\n if (this._spec.direction === 'vertical') {\n const x =\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2;\n const height = this._scaleY.range()[0];\n\n rectPaths.push(\n createRect({\n x: x,\n y: 0,\n height: height,\n width: this._spec.bandWidth,\n cornerRadius: this._spec.cornerRadius,\n fill: true\n })\n );\n } else {\n const y =\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2;\n const width = this._scaleX.range()[1];\n\n rectPaths.push(\n createRect({\n x: 0,\n y: y,\n height: this._spec.bandWidth,\n width: width,\n cornerRadius: this._spec.cornerRadius,\n fill: true\n })\n );\n }\n });\n return rectPaths;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._progressGroupMark.setInteractive(false);\n }\n\n initAnimation() {\n const animationParams: ILinearProgressAnimationParams = {\n direction: this.direction\n };\n\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LinearProgressAppearPreset>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.linearProgress(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.progressBackground(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec)\n )\n );\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LinearProgressSeriesTooltipHelper(this);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/progress/linear/linear.ts"],"names":[],"mappings":"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","file":"linear.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport type { IRectMark } from '../../../mark/rect';\nimport type { IGroupMark } from '../../../mark/group';\nimport { valueInScaleRange } from '../../../util';\nimport { AttributeLevel } from '../../../constant';\nimport type { Datum, Maybe } from '../../../typings';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../../animation/config';\nimport type { ILinearProgressAnimationParams, LinearProgressAppearPreset } from './animation';\nimport type { ILinearProgressSeriesSpec, ILinearProgressSeriesTheme } from './interface';\nimport { LinearProgressSeriesTooltipHelper } from './tooltip-helper';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { VChart } from '../../../core/vchart';\nimport { RectMark } from '../../../mark/rect';\nimport { createRect } from '@visactor/vrender';\nimport { linearProgressSeriesMark } from './constant';\n\nVChart.useMark([RectMark]);\n\nexport class LinearProgressSeries<\n T extends ILinearProgressSeriesSpec = ILinearProgressSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.linearProgress;\n type = SeriesTypeEnum.linearProgress;\n\n static readonly mark: SeriesMarkMap = linearProgressSeriesMark;\n\n protected declare _theme: Maybe<ILinearProgressSeriesTheme>;\n\n private _progressMark: IRectMark | null = null;\n private _trackMark: IRectMark | null = null;\n private _progressGroupMark: IGroupMark | null = null;\n\n /**\n * 为了解决在圆角情况下,在数值较小时,rect绘图效果不好的问题\n * 1. trackMark的所有样式设置在groupMark上,定位也依靠这个groupMark\n * 2. progressMark长度固定为整个进度条长度,通过x的偏移体现当前进度\n *\n * 为了解决在配置tooltip时,trackMark设置为GroupMark无法绑定数据的问题,\n * 1. 原本的设置为groupMark的trackMark更名为GroupMark。用来保证在clip效果下progressMark小数据值的绘图效果。\n * 1. 增加一层设置为rectMark的trackMark,形状大小与GroupMark相同\n *\n * 为了解决成组\n * 给groupMark的path字段赋值为一个rect数组 也就是一个groupMark具有多个以背景条为轮廓的rect的path\n * trackMark与progressMark使用绝对定位\n */\n initMark(): void {\n this._initProgressGroupMark();\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n this._initProgressGroupMarkStyle();\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(LinearProgressSeries.mark.progress, {\n isSeriesMark: true,\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n if (this._spec.direction === 'vertical') {\n const leftPadding = this._spec.progress?.leftPadding ?? 0;\n const rightPadding = this._spec.progress?.rightPadding ?? 0;\n\n this.setMarkStyle(\n progressMark,\n {\n x: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2 +\n leftPadding\n );\n },\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)),\n height: () => this._yAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition }),\n width: this._spec.bandWidth - leftPadding - rightPadding,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const topPadding = this._spec.progress?.topPadding ?? 0;\n const bottomPadding = this._spec.progress?.bottomPadding ?? 0;\n\n this.setMarkStyle(\n progressMark,\n {\n x: (datum: Datum) =>\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._xAxisHelper.dataToPosition([1], { bandPosition: this._bandPosition }),\n y: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2 +\n topPadding\n );\n },\n height: this._spec.bandWidth - topPadding - bottomPadding,\n width: () => this._xAxisHelper?.dataToPosition([1], { bandPosition: this._bandPosition }),\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(progressMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(progressMark);\n }\n }\n\n private _initTrackMark() {\n this._trackMark = this._createMark(LinearProgressSeries.mark.track, {\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(\n trackMark,\n {\n x: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2\n );\n },\n y: 0,\n width: this._spec.bandWidth,\n height: () => this._scaleY.range()[0],\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n trackMark,\n {\n x: 0,\n y: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2\n );\n },\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(trackMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(trackMark);\n }\n }\n\n private _initProgressGroupMark() {\n // FIXME: disable group mark layout to prevent reevaluate after layout end\n this._progressGroupMark = this._createMark(LinearProgressSeries.mark.group, {\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._progressGroupMark;\n }\n\n private _initProgressGroupMarkStyle() {\n const groupMark = this._progressGroupMark;\n groupMark.setZIndex(this.layoutZIndex);\n groupMark.created();\n\n this.setMarkStyle(\n groupMark,\n {\n clip: true,\n x: 0,\n y: 0,\n path: () => {\n const rectPaths: any[] = [];\n this._rawData?.rawData.forEach((datum: any, index: number) => {\n if (this._spec.direction === 'vertical') {\n const x =\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2;\n const height = this._scaleY.range()[0];\n\n rectPaths.push(\n createRect({\n x: x,\n y: 0,\n height: height,\n width: this._spec.bandWidth,\n cornerRadius: this._spec.cornerRadius,\n fill: true\n })\n );\n } else {\n const y =\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2;\n const width = this._scaleX.range()[1];\n\n rectPaths.push(\n createRect({\n x: 0,\n y: y,\n height: this._spec.bandWidth,\n width: width,\n cornerRadius: this._spec.cornerRadius,\n fill: true\n })\n );\n }\n });\n return rectPaths;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._progressGroupMark.setInteractive(false);\n }\n\n initAnimation() {\n const animationParams: ILinearProgressAnimationParams = {\n direction: this.direction\n };\n\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LinearProgressAppearPreset>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.linearProgress(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.progressBackground(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec)\n )\n );\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LinearProgressSeriesTooltipHelper(this);\n }\n}\n"]}
@@ -6,6 +6,7 @@ import type { SankeyAppearPreset, SankeyMark } from './animation';
6
6
  import type { SeriesMarkNameEnum } from '../interface/type';
7
7
  import type { ILabelSpec } from '../../component/label';
8
8
  export interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {
9
+ nameKey: any;
9
10
  type: 'sankey';
10
11
  categoryField: string;
11
12
  valueField: string;
@@ -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, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SankeyAppearPreset, SankeyMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface/type';\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"]}
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, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SankeyAppearPreset, SankeyMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILabelSpec } from '../../component/label';\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n nameKey: any;\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"]}
@@ -46,7 +46,9 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
46
46
  protected _handleLinkRelatedClick: (element: IGlyphElement) => void;
47
47
  protected initTooltip(): void;
48
48
  getNodeOrdinalColorScale(item: string): any;
49
- extractNamesFromTree(tree: any): Set<unknown>;
49
+ getNodeList(): any;
50
+ _getNodeNameFromData(datum: Datum): any;
51
+ extractNamesFromTree(tree: any, categoryName: string): Set<unknown>;
50
52
  getDimensionField(): string[];
51
53
  getMeasureField(): string[];
52
54
  getSeriesKeys(): string[];
@@ -74,8 +74,8 @@ export class SankeySeries extends CartesianSeries {
74
74
  }));
75
75
  }, this._handleNodeAdjacencyClick = element => {
76
76
  const nodeDatum = element.getDatum(), highlightNodes = [ nodeDatum.key ];
77
- [ this._linkMark ].forEach((mark => {
78
- const vGrammarMark = mark.getProduct();
77
+ if (this._linkMark) {
78
+ const vGrammarMark = this._linkMark.getProduct();
79
79
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
80
80
  vGrammarMark.elements.forEach(((linkEl, i) => {
81
81
  linkEl.clearStates();
@@ -93,23 +93,25 @@ export class SankeySeries extends CartesianSeries {
93
93
  });
94
94
  } else linkDatum.target === nodeDatum.key ? highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source) : linkEl.useStates([ "blur" ]);
95
95
  }));
96
- })), [ this._nodeMark ].forEach((mark => {
97
- const vGrammarMark = mark.getProduct();
96
+ }
97
+ if (this._nodeMark) {
98
+ const vGrammarMark = this._nodeMark.getProduct();
98
99
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
99
100
  vGrammarMark.elements.forEach((el => {
100
101
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
101
102
  }));
102
- })), [ this._labelMark ].forEach((mark => {
103
- const vGrammarMark = mark.getProduct();
103
+ }
104
+ if (this._labelMark) {
105
+ const vGrammarMark = this._labelMark.getProduct();
104
106
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
105
107
  vGrammarMark.elements.forEach((el => {
106
108
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
107
109
  }));
108
- }));
110
+ }
109
111
  }, this._handleLinkAdjacencyClick = element => {
110
112
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ];
111
- [ this._linkMark ].forEach((mark => {
112
- const vGrammarMark = mark.getProduct();
113
+ if (this._linkMark) {
114
+ const vGrammarMark = this._linkMark.getProduct();
113
115
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
114
116
  vGrammarMark.elements.forEach((linkEl => {
115
117
  linkEl.clearStates();
@@ -130,19 +132,21 @@ export class SankeySeries extends CartesianSeries {
130
132
  });
131
133
  } else linkEl === element || linkEl.useStates([ "blur" ]);
132
134
  }));
133
- })), [ this._nodeMark ].forEach((mark => {
134
- const vGrammarMark = mark.getProduct();
135
+ }
136
+ if (this._nodeMark) {
137
+ const vGrammarMark = this._nodeMark.getProduct();
135
138
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
136
139
  vGrammarMark.elements.forEach((el => {
137
140
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
138
141
  }));
139
- })), [ this._labelMark ].forEach((mark => {
140
- const vGrammarMark = mark.getProduct();
142
+ }
143
+ if (this._labelMark) {
144
+ const vGrammarMark = this._labelMark.getProduct();
141
145
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
142
146
  vGrammarMark.elements.forEach((el => {
143
147
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
144
148
  }));
145
- }));
149
+ }
146
150
  }, this._handleNodeRelatedClick = element => {
147
151
  var _a;
148
152
  const nodeDatum = element.getDatum(), nodeVGrammarMark = this._nodeMark.getProduct();
@@ -152,7 +156,7 @@ export class SankeySeries extends CartesianSeries {
152
156
  const allLinkElements = linkVGrammarMark.elements;
153
157
  if ("source" === ((null === (_a = allLinkElements[0].getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
154
158
  const highlightNodes = [ nodeDatum.key ], highlightLinks = [];
155
- allLinkElements.forEach(((linkEl, i) => {
159
+ if (allLinkElements.forEach(((linkEl, i) => {
156
160
  var _a, _b, _c, _d;
157
161
  linkEl.clearStates();
158
162
  const linkDatum = linkEl.getDatum(), father = (null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source";
@@ -192,26 +196,28 @@ export class SankeySeries extends CartesianSeries {
192
196
  })), void (sourceNodeTargetLinks = newSourceNodeTargetLinks);
193
197
  }
194
198
  }
195
- })), [ this._linkMark ].forEach((mark => {
196
- const vGrammarMark = mark.getProduct();
199
+ })), this._linkMark) {
200
+ const vGrammarMark = this._linkMark.getProduct();
197
201
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
198
202
  vGrammarMark.elements.forEach(((linkEl, i) => {
199
203
  var _a;
200
204
  linkEl.clearStates(), highlightLinks.includes(null !== (_a = linkEl.getDatum().key) && void 0 !== _a ? _a : linkEl.getDatum().index) ? linkEl.useStates([ "selected" ]) : linkEl.useStates([ "blur" ]);
201
205
  }));
202
- })), [ this._nodeMark ].forEach((mark => {
203
- const vGrammarMark = mark.getProduct();
206
+ }
207
+ if (this._nodeMark) {
208
+ const vGrammarMark = this._nodeMark.getProduct();
204
209
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
205
210
  vGrammarMark.elements.forEach((el => {
206
211
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
207
212
  }));
208
- })), [ this._labelMark ].forEach((mark => {
209
- const vGrammarMark = mark.getProduct();
213
+ }
214
+ if (this._labelMark) {
215
+ const vGrammarMark = this._labelMark.getProduct();
210
216
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
211
217
  vGrammarMark.elements.forEach((el => {
212
218
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
213
219
  }));
214
- }));
220
+ }
215
221
  } else {
216
222
  const highlightNodes = [ nodeDatum.key ], upstreamLinks = nodeDatum.targetLinks.reduce(((res, link) => (array(link.datum).forEach((dividedLink => {
217
223
  const parents = dividedLink.parents, len = parents.length;
@@ -224,7 +230,7 @@ export class SankeySeries extends CartesianSeries {
224
230
  });
225
231
  }
226
232
  })), res)), []);
227
- allLinkElements.forEach(((linkEl, i) => {
233
+ if (allLinkElements.forEach(((linkEl, i) => {
228
234
  linkEl.clearStates();
229
235
  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));
230
236
  if (selectedDatum && selectedDatum.length) {
@@ -241,19 +247,20 @@ export class SankeySeries extends CartesianSeries {
241
247
  ratio: upSelectedLink.value / linkDatum.value
242
248
  });
243
249
  linkEl.useStates([ "blur" ]);
244
- })), [ this._nodeMark ].forEach((mark => {
245
- const vGrammarMark = mark.getProduct();
250
+ })), this._nodeMark) {
251
+ const vGrammarMark = this._nodeMark.getProduct();
246
252
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
247
253
  vGrammarMark.elements.forEach((el => {
248
254
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
249
255
  }));
250
- })), [ this._labelMark ].forEach((mark => {
251
- const vGrammarMark = mark.getProduct();
256
+ }
257
+ if (this._labelMark) {
258
+ const vGrammarMark = this._labelMark.getProduct();
252
259
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
253
260
  vGrammarMark.elements.forEach((el => {
254
261
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
255
262
  }));
256
- }));
263
+ }
257
264
  }
258
265
  }, this._handleLinkRelatedClick = element => {
259
266
  var _a;
@@ -262,27 +269,31 @@ export class SankeySeries extends CartesianSeries {
262
269
  const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
263
270
  if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
264
271
  const allLinkElements = linkVGrammarMark.elements;
265
- if ("source" === ((null === (_a = element.getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) [ this._linkMark ].forEach((mark => {
266
- const vGrammarMark = mark.getProduct();
267
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
268
- vGrammarMark.elements.forEach((linkEl => {
269
- linkEl.clearStates();
270
- }));
271
- })), [ this._nodeMark ].forEach((mark => {
272
- const vGrammarMark = mark.getProduct();
273
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
274
- vGrammarMark.elements.forEach((el => {
275
- el.clearStates();
276
- }));
277
- })), [ this._labelMark ].forEach((mark => {
278
- const vGrammarMark = mark.getProduct();
279
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
280
- vGrammarMark.elements.forEach((el => {
281
- el.clearStates();
282
- }));
283
- })); else {
272
+ if ("source" === ((null === (_a = element.getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
273
+ if (this._linkMark) {
274
+ const vGrammarMark = this._linkMark.getProduct();
275
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
276
+ vGrammarMark.elements.forEach((linkEl => {
277
+ linkEl.clearStates();
278
+ }));
279
+ }
280
+ if (this._nodeMark) {
281
+ const vGrammarMark = this._nodeMark.getProduct();
282
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
283
+ vGrammarMark.elements.forEach((el => {
284
+ el.clearStates();
285
+ }));
286
+ }
287
+ if (this._labelMark) {
288
+ const vGrammarMark = this._labelMark.getProduct();
289
+ if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
290
+ vGrammarMark.elements.forEach((el => {
291
+ el.clearStates();
292
+ }));
293
+ }
294
+ } else {
284
295
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ], upstreamLinks = [];
285
- array(curLinkDatum.datum).forEach((dividedLink => {
296
+ if (array(curLinkDatum.datum).forEach((dividedLink => {
286
297
  const parents = dividedLink.parents, len = parents.length;
287
298
  for (let i = 0; i < len - 1; i++) {
288
299
  const source = parents[i].key, target = parents[i + 1].key, value = dividedLink.value, existingItem = upstreamLinks.find((item => item.source === source && item.target === target));
@@ -327,13 +338,13 @@ export class SankeySeries extends CartesianSeries {
327
338
  linkEl.useStates([ "blur" ]);
328
339
  })), allNodeElements.forEach((el => {
329
340
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
330
- })), [ this._labelMark ].forEach((mark => {
331
- const vGrammarMark = mark.getProduct();
341
+ })), this._labelMark) {
342
+ const vGrammarMark = this._labelMark.getProduct();
332
343
  if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
333
344
  vGrammarMark.elements.forEach((el => {
334
345
  el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
335
346
  }));
336
- }));
347
+ }
337
348
  }
338
349
  };
339
350
  }
@@ -465,9 +476,8 @@ export class SankeySeries extends CartesianSeries {
465
476
  y: datum => datum.y0,
466
477
  y1: datum => datum.y1,
467
478
  fill: datum => {
468
- var _a, _b, _c, _d, _e;
469
- const nodeName = null !== (_b = null !== (_a = datum.key) && void 0 !== _a ? _a : datum[this._spec.categoryField]) && void 0 !== _b ? _b : "";
470
- return null !== (_e = null === (_d = null === (_c = this._spec.node) || void 0 === _c ? void 0 : _c.style) || void 0 === _d ? void 0 : _d.fill) && void 0 !== _e ? _e : this.getNodeOrdinalColorScale(nodeName);
479
+ var _a, _b, _c;
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(this._getNodeNameFromData(datum));
471
481
  }
472
482
  }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Mark), this._trigger.registerMark(nodeMark),
473
483
  null === (_a = this._tooltipHelper) || void 0 === _a || _a.activeTriggerSet.mark.add(nodeMark));
@@ -482,8 +492,9 @@ export class SankeySeries extends CartesianSeries {
482
492
  y1: datum => datum.y1,
483
493
  thickness: datum => datum.thickness,
484
494
  fill: datum => {
485
- var _a, _b, _c;
486
- return null !== (_c = null === (_b = null === (_a = this._spec.link) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(datum.source);
495
+ var _a, _b, _c, _d, _e, _f, _g;
496
+ const sourceName = (null === (_a = this._spec) || void 0 === _a ? void 0 : _a.nameKey) || (null === (_d = null === (_c = null === (_b = this._rawData.latestData[0]) || void 0 === _b ? void 0 : _b.nodes) || void 0 === _c ? void 0 : _c[0]) || void 0 === _d ? void 0 : _d.children) ? datum.source : this.getNodeList()[datum.source];
497
+ return null !== (_g = null === (_f = null === (_e = this._spec.link) || void 0 === _e ? void 0 : _e.style) || void 0 === _f ? void 0 : _f.fill) && void 0 !== _g ? _g : this.getNodeOrdinalColorScale(sourceName);
487
498
  },
488
499
  direction: null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal"
489
500
  }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series), this._trigger.registerMark(linkMark),
@@ -529,7 +540,7 @@ export class SankeySeries extends CartesianSeries {
529
540
  y: datum => datum.y1 >= this._viewBox.y2 ? datum.y0 : datum.y1,
530
541
  fill: datum => {
531
542
  var _a, _b, _c;
532
- 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);
543
+ 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(this._getNodeNameFromData(datum));
533
544
  },
534
545
  text: datum => this._createText(datum),
535
546
  limit: this._labelLimit,
@@ -573,7 +584,7 @@ export class SankeySeries extends CartesianSeries {
573
584
  y: datum => (datum.y0 + datum.y1) / 2,
574
585
  fill: datum => {
575
586
  var _a, _b, _c;
576
- 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);
587
+ 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(this._getNodeNameFromData(datum));
577
588
  },
578
589
  text: datum => this._createText(datum),
579
590
  limit: this._labelLimit,
@@ -584,7 +595,7 @@ export class SankeySeries extends CartesianSeries {
584
595
  y: datum => (datum.y0 + datum.y1) / 2,
585
596
  fill: datum => {
586
597
  var _a, _b, _c;
587
- 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);
598
+ 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(this._getNodeNameFromData(datum));
588
599
  },
589
600
  text: datum => this._createText(datum),
590
601
  limit: this._labelLimit,
@@ -595,7 +606,7 @@ export class SankeySeries extends CartesianSeries {
595
606
  y: datum => (datum.y0 + datum.y1) / 2,
596
607
  fill: datum => {
597
608
  var _a, _b, _c;
598
- 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);
609
+ 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(this._getNodeNameFromData(datum));
599
610
  },
600
611
  text: datum => this._createText(datum),
601
612
  limit: this._labelLimit,
@@ -629,13 +640,13 @@ export class SankeySeries extends CartesianSeries {
629
640
  super.initEvent(), null === (_a = this._nodesSeriesData.getDataView()) || void 0 === _a || _a.target.addListener("change", this.nodesSeriesDataUpdate.bind(this)),
630
641
  null === (_b = this._linksSeriesData.getDataView()) || void 0 === _b || _b.target.addListener("change", this.linksSeriesDataUpdate.bind(this)),
631
642
  (null === (_c = this._spec.emphasis) || void 0 === _c ? void 0 : _c.enable) && "adjacency" === (null === (_d = this._spec.emphasis) || void 0 === _d ? void 0 : _d.effect) && ("hover" === (null === (_e = this._spec.emphasis) || void 0 === _e ? void 0 : _e.trigger) ? this.event.on("pointerover", {
632
- level: Event_Bubble_Level.mark
643
+ level: Event_Bubble_Level.chart
633
644
  }, this._handleAdjacencyClick) : this.event.on("pointerdown", {
634
- level: Event_Bubble_Level.mark
645
+ level: Event_Bubble_Level.chart
635
646
  }, this._handleAdjacencyClick)), (null === (_f = this._spec.emphasis) || void 0 === _f ? void 0 : _f.enable) && "related" === (null === (_g = this._spec.emphasis) || void 0 === _g ? void 0 : _g.effect) && ("hover" === (null === (_h = this._spec.emphasis) || void 0 === _h ? void 0 : _h.trigger) ? this.event.on("pointerover", {
636
- level: Event_Bubble_Level.mark
647
+ level: Event_Bubble_Level.chart
637
648
  }, this._handleRelatedClick) : this.event.on("pointerdown", {
638
- level: Event_Bubble_Level.mark
649
+ level: Event_Bubble_Level.chart
639
650
  }, this._handleRelatedClick));
640
651
  }
641
652
  nodesSeriesDataUpdate() {
@@ -652,16 +663,26 @@ export class SankeySeries extends CartesianSeries {
652
663
  this._tooltipHelper = new SankeySeriesTooltipHelper(this);
653
664
  }
654
665
  getNodeOrdinalColorScale(item) {
655
- var _a, _b, _c, _d, _e, _f, _g;
656
- const colorDomain = (null === (_a = this._rawData.latestData[0]) || void 0 === _a ? void 0 : _a.nodes) ? (null === (_b = this._rawData.latestData[0].nodes[0]) || void 0 === _b ? void 0 : _b.children) ? Array.from(this.extractNamesFromTree(this._rawData.latestData[0].nodes)) : this._rawData.latestData[0].nodes.map(((datum, index) => this._spec.nodeKey ? datum[this._spec.categoryField] : index)) : null === (_c = this._rawData.latestData[0]) || void 0 === _c ? void 0 : _c.values.map(((datum, index) => this._spec.nodeKey ? datum[this._spec.categoryField] : index)), colorRange = null !== (_e = null === (_d = this._option.globalScale.color) || void 0 === _d ? void 0 : _d.range()) && void 0 !== _e ? _e : getDataScheme(this._option.getTheme().colorScheme, this.type), ordinalScale = new ColorOrdinalScale;
657
- return null === (_g = (_f = ordinalScale.domain(colorDomain)).range) || void 0 === _g || _g.call(_f, colorRange),
666
+ var _a, _b, _c, _d, _e, _f, _g, _h;
667
+ const colorDomain = isNil(null === (_b = null === (_a = this._option.globalScale.getScale("color")) || void 0 === _a ? void 0 : _a.domain()) || void 0 === _b ? void 0 : _b[0]) ? this.getNodeList() : this._option.globalScale.getScale("color").domain();
668
+ let colorRange = null !== (_d = null === (_c = this._option.globalScale.getScale("color")) || void 0 === _c ? void 0 : _c.range()) && void 0 !== _d ? _d : getDataScheme(this._option.getTheme().colorScheme, this.type);
669
+ (0 === (null === (_e = this._option.globalScale.getScale("color")) || void 0 === _e ? void 0 : _e.domain().length) || isNil(this._option.globalScale.getScale("color").domain()[0])) && colorDomain.length > 10 && (colorRange = null === (_f = getDataScheme(this._option.getTheme().colorScheme, this.type)[1]) || void 0 === _f ? void 0 : _f.scheme);
670
+ const ordinalScale = new ColorOrdinalScale;
671
+ return null === (_h = (_g = ordinalScale.domain(colorDomain)).range) || void 0 === _h || _h.call(_g, colorRange),
658
672
  ordinalScale.scale(item);
659
673
  }
660
- extractNamesFromTree(tree) {
674
+ getNodeList() {
675
+ var _a, _b, _c;
676
+ return (null === (_a = this._rawData.latestData[0]) || void 0 === _a ? void 0 : _a.nodes) ? (null === (_b = this._rawData.latestData[0].nodes[0]) || void 0 === _b ? void 0 : _b.children) ? Array.from(this.extractNamesFromTree(this._rawData.latestData[0].nodes, this._spec.categoryField)) : this._rawData.latestData[0].nodes.map(((datum, index) => datum[this._spec.categoryField])) : null === (_c = this._rawData.latestData[0]) || void 0 === _c ? void 0 : _c.values.map(((datum, index) => datum[this._spec.categoryField]));
677
+ }
678
+ _getNodeNameFromData(datum) {
679
+ return (null == datum ? void 0 : datum.datum) ? null == datum ? void 0 : datum.datum[this._spec.categoryField] : datum[this._spec.categoryField];
680
+ }
681
+ extractNamesFromTree(tree, categoryName) {
661
682
  const uniqueNames = new Set;
662
683
  return tree.forEach((node => {
663
- if (uniqueNames.add(node.name), node.children) {
664
- this.extractNamesFromTree(node.children).forEach((name => uniqueNames.add(name)));
684
+ if (uniqueNames.add(node[categoryName]), node.children) {
685
+ this.extractNamesFromTree(node.children, categoryName).forEach((name => uniqueNames.add(name)));
665
686
  }
666
687
  })), uniqueNames;
667
688
  }
@@ -672,10 +693,10 @@ export class SankeySeries extends CartesianSeries {
672
693
  return [ this._valueField ];
673
694
  }
674
695
  getSeriesKeys() {
675
- var _a;
696
+ var _a, _b;
676
697
  if (this._seriesField) {
677
698
  const keyArray = [];
678
- return null === (_a = this._nodesSeriesData) || void 0 === _a || _a.getDataView().latestData.forEach((datum => {
699
+ return null === (_b = null === (_a = this._nodesSeriesData) || void 0 === _a ? void 0 : _a.getDataView()) || void 0 === _b || _b.latestData.forEach((datum => {
679
700
  var _a;
680
701
  keyArray.push(null !== (_a = datum[this._seriesField]) && void 0 !== _a ? _a : datum.datum[this._seriesField]);
681
702
  })), keyArray;