@visactor/vchart 2.1.0-alpha.13 → 2.1.0-alpha.15

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 (570) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +39267 -53448
  3. package/build/index.js +39271 -53452
  4. package/build/index.min.js +3 -3
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/index.js +2 -1
  7. package/cjs/chart/base/base-chart-transformer.d.ts +0 -3
  8. package/cjs/chart/base/base-chart-transformer.js +3 -23
  9. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  10. package/cjs/chart/base/base-chart.d.ts +9 -25
  11. package/cjs/chart/base/base-chart.js +27 -199
  12. package/cjs/chart/base/base-chart.js.map +1 -1
  13. package/cjs/chart/gauge/gauge-transformer.js +2 -3
  14. package/cjs/chart/gauge/gauge-transformer.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/pie-transformer.js +2 -2
  18. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  19. package/cjs/chart/polar/polar-transformer.js +1 -1
  20. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  21. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  22. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  23. package/cjs/chart/progress/circular/circular-progress-transformer.js +1 -2
  24. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  25. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  26. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  27. package/cjs/chart/radar/radar-transformer.js +2 -3
  28. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  29. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  30. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  31. package/cjs/chart/rose/rose-transformer.js +1 -2
  32. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  33. package/cjs/chart/util.d.ts +1 -4
  34. package/cjs/chart/util.js +4 -40
  35. package/cjs/chart/util.js.map +1 -1
  36. package/cjs/chart/waterfall/waterfall-transformer.js +1 -2
  37. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  38. package/cjs/compile/compiler.d.ts +0 -2
  39. package/cjs/compile/compiler.js +48 -69
  40. package/cjs/compile/compiler.js.map +1 -1
  41. package/cjs/compile/data/compilable-data.d.ts +1 -1
  42. package/cjs/compile/data/compilable-data.js +1 -1
  43. package/cjs/compile/data/compilable-data.js.map +1 -1
  44. package/cjs/compile/grammar-item.d.ts +1 -1
  45. package/cjs/compile/grammar-item.js.map +1 -1
  46. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  47. package/cjs/compile/interface/compilable-item.js.map +1 -1
  48. package/cjs/compile/interface/compiler.d.ts +1 -4
  49. package/cjs/compile/interface/compiler.js.map +1 -1
  50. package/cjs/compile/state-manager.js +1 -2
  51. package/cjs/component/axis/base-axis.d.ts +7 -2
  52. package/cjs/component/axis/base-axis.js +6 -26
  53. package/cjs/component/axis/base-axis.js.map +1 -1
  54. package/cjs/component/axis/cartesian/band-axis.d.ts +7 -1
  55. package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -7
  56. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  57. package/cjs/component/axis/polar/band-axis.d.ts +0 -2
  58. package/cjs/component/axis/polar/band-axis.js +0 -3
  59. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  60. package/cjs/component/axis/polar/linear-axis.js +0 -3
  61. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  62. package/cjs/component/base/base-component.d.ts +7 -7
  63. package/cjs/component/base/base-component.js +6 -41
  64. package/cjs/component/base/base-component.js.map +1 -1
  65. package/cjs/component/brush/brush.d.ts +7 -3
  66. package/cjs/component/brush/brush.js +16 -34
  67. package/cjs/component/brush/brush.js.map +1 -1
  68. package/cjs/component/crosshair/base.d.ts +7 -4
  69. package/cjs/component/crosshair/base.js +2 -30
  70. package/cjs/component/crosshair/base.js.map +1 -1
  71. package/cjs/component/custom-mark/custom-mark.d.ts +7 -4
  72. package/cjs/component/custom-mark/custom-mark.js +3 -27
  73. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  74. package/cjs/component/data-zoom/data-filter-base-component.d.ts +7 -3
  75. package/cjs/component/data-zoom/data-filter-base-component.js +2 -15
  76. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  77. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  78. package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -19
  79. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  80. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
  81. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
  82. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  83. package/cjs/component/geo/geo-coordinate.d.ts +7 -1
  84. package/cjs/component/indicator/indicator.d.ts +0 -1
  85. package/cjs/component/indicator/indicator.js +2 -11
  86. package/cjs/component/indicator/indicator.js.map +1 -1
  87. package/cjs/component/indicator/util.d.ts +3 -4
  88. package/cjs/component/indicator/util.js +1 -1
  89. package/cjs/component/indicator/util.js.map +1 -1
  90. package/cjs/component/label/base-label.d.ts +7 -1
  91. package/cjs/component/label/base-label.js +2 -6
  92. package/cjs/component/label/base-label.js.map +1 -1
  93. package/cjs/component/label/label.js +1 -1
  94. package/cjs/component/label/label.js.map +1 -1
  95. package/cjs/component/legend/base-legend.d.ts +7 -2
  96. package/cjs/component/legend/base-legend.js +3 -20
  97. package/cjs/component/legend/base-legend.js.map +1 -1
  98. package/cjs/component/marker/base-marker.d.ts +7 -14
  99. package/cjs/component/marker/base-marker.js +12 -112
  100. package/cjs/component/marker/base-marker.js.map +1 -1
  101. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  102. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  103. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  104. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  105. package/cjs/component/marker/mark-line/base-mark-line.js +4 -2
  106. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  107. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  108. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  109. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  110. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  111. package/cjs/component/marker/mark-point/base-mark-point.js +11 -26
  112. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  113. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  114. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  115. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  116. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  117. package/cjs/component/marker/utils.d.ts +4 -4
  118. package/cjs/component/marker/utils.js +23 -27
  119. package/cjs/component/marker/utils.js.map +1 -1
  120. package/cjs/component/player/player.d.ts +0 -1
  121. package/cjs/component/player/player.js +0 -10
  122. package/cjs/component/player/player.js.map +1 -1
  123. package/cjs/component/title/title.d.ts +7 -1
  124. package/cjs/component/title/title.js +2 -6
  125. package/cjs/component/title/title.js.map +1 -1
  126. package/cjs/component/tooltip/tooltip.d.ts +0 -1
  127. package/cjs/component/tooltip/tooltip.js +0 -8
  128. package/cjs/component/tooltip/tooltip.js.map +1 -1
  129. package/cjs/component/util.js +1 -2
  130. package/cjs/constant/animate.js +2 -1
  131. package/cjs/constant/scroll-bar.js +1 -2
  132. package/cjs/constant/sunburst.js +2 -1
  133. package/cjs/core/expression-function.js +1 -1
  134. package/cjs/core/factory.js +1 -1
  135. package/cjs/core/index.js +1 -1
  136. package/cjs/core/instance-manager.js +1 -1
  137. package/cjs/core/vchart.d.ts +1 -5
  138. package/cjs/core/vchart.js +17 -29
  139. package/cjs/core/vchart.js.map +1 -1
  140. package/cjs/data/initialize.js +1 -1
  141. package/cjs/data/register.js +1 -1
  142. package/cjs/data/transforms/box-plot.d.ts +1 -4
  143. package/cjs/data/transforms/box-plot.js +3 -3
  144. package/cjs/data/transforms/box-plot.js.map +1 -1
  145. package/cjs/data/transforms/correlation-center.d.ts +4 -11
  146. package/cjs/data/transforms/correlation-center.js +2 -3
  147. package/cjs/data/transforms/correlation-center.js.map +1 -1
  148. package/cjs/data/transforms/correlation.d.ts +15 -18
  149. package/cjs/data/transforms/correlation.js +17 -22
  150. package/cjs/data/transforms/correlation.js.map +1 -1
  151. package/cjs/data/transforms/funnel.d.ts +8 -10
  152. package/cjs/data/transforms/funnel.js +3 -4
  153. package/cjs/data/transforms/funnel.js.map +1 -1
  154. package/cjs/data/transforms/lookup.d.ts +3 -3
  155. package/cjs/data/transforms/lookup.js +7 -12
  156. package/cjs/data/transforms/lookup.js.map +1 -1
  157. package/cjs/data/transforms/map.d.ts +2 -8
  158. package/cjs/data/transforms/map.js +6 -9
  159. package/cjs/data/transforms/map.js.map +1 -1
  160. package/cjs/data/transforms/sankey.d.ts +4 -12
  161. package/cjs/data/transforms/sankey.js +13 -18
  162. package/cjs/data/transforms/sankey.js.map +1 -1
  163. package/cjs/data/transforms/stack-split.d.ts +1 -2
  164. package/cjs/data/transforms/stack-split.js +1 -1
  165. package/cjs/data/transforms/stack-split.js.map +1 -1
  166. package/cjs/data/transforms/treemap.d.ts +3 -5
  167. package/cjs/data/transforms/treemap.js +6 -7
  168. package/cjs/data/transforms/treemap.js.map +1 -1
  169. package/cjs/data/transforms/venn.d.ts +2 -4
  170. package/cjs/data/transforms/venn.js +4 -4
  171. package/cjs/data/transforms/venn.js.map +1 -1
  172. package/cjs/data/transforms/waterfall.d.ts +2 -4
  173. package/cjs/data/transforms/waterfall.js +7 -7
  174. package/cjs/data/transforms/waterfall.js.map +1 -1
  175. package/cjs/event/event.d.ts +0 -4
  176. package/cjs/event/event.js +7 -26
  177. package/cjs/event/event.js.map +1 -1
  178. package/cjs/interaction/interaction.js +8 -11
  179. package/cjs/interaction/interaction.js.map +1 -1
  180. package/cjs/interaction/triggers/element-active-by-legend.js +2 -3
  181. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  182. package/cjs/interaction/triggers/element-active.js +3 -4
  183. package/cjs/interaction/triggers/element-active.js.map +1 -1
  184. package/cjs/interaction/triggers/element-highlight-by-group.js +2 -3
  185. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  186. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  187. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  188. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  189. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  190. package/cjs/interaction/triggers/element-highlight.js +2 -2
  191. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  192. package/cjs/interaction/triggers/element-select.js +3 -3
  193. package/cjs/interaction/triggers/element-select.js.map +1 -1
  194. package/cjs/mark/base/base-mark.d.ts +2 -13
  195. package/cjs/mark/base/base-mark.js +25 -102
  196. package/cjs/mark/base/base-mark.js.map +1 -1
  197. package/cjs/mark/component.d.ts +0 -9
  198. package/cjs/mark/component.js +3 -51
  199. package/cjs/mark/component.js.map +1 -1
  200. package/cjs/mark/group.js +1 -1
  201. package/cjs/mark/group.js.map +1 -1
  202. package/cjs/mark/interface/mark.d.ts +0 -2
  203. package/cjs/mark/interface/mark.js.map +1 -1
  204. package/cjs/mark/utils/glyph.js +2 -3
  205. package/cjs/mark/utils/glyph.js.map +1 -1
  206. package/cjs/model/base-model.d.ts +15 -3
  207. package/cjs/model/base-model.js.map +1 -1
  208. package/cjs/model/interface.d.ts +0 -13
  209. package/cjs/model/interface.js.map +1 -1
  210. package/cjs/region/region.d.ts +7 -1
  211. package/cjs/scale/color-ordinal-scale.d.ts +0 -1
  212. package/cjs/scale/color-ordinal-scale.js +0 -3
  213. package/cjs/scale/color-ordinal-scale.js.map +1 -1
  214. package/cjs/scale/global-scale.js +2 -9
  215. package/cjs/scale/global-scale.js.map +1 -1
  216. package/cjs/series/area/area.d.ts +0 -2
  217. package/cjs/series/area/area.js +0 -6
  218. package/cjs/series/area/area.js.map +1 -1
  219. package/cjs/series/bar/bar.d.ts +0 -3
  220. package/cjs/series/bar/bar.js +4 -30
  221. package/cjs/series/bar/bar.js.map +1 -1
  222. package/cjs/series/base/base-series.d.ts +7 -10
  223. package/cjs/series/base/base-series.js +18 -78
  224. package/cjs/series/base/base-series.js.map +1 -1
  225. package/cjs/series/base/constant.d.ts +0 -3
  226. package/cjs/series/base/constant.js +1 -9
  227. package/cjs/series/base/constant.js.map +1 -1
  228. package/cjs/series/box-plot/box-plot.d.ts +0 -2
  229. package/cjs/series/box-plot/box-plot.js +4 -16
  230. package/cjs/series/box-plot/box-plot.js.map +1 -1
  231. package/cjs/series/correlation/correlation.js +11 -13
  232. package/cjs/series/correlation/correlation.js.map +1 -1
  233. package/cjs/series/dot/dot.d.ts +0 -12
  234. package/cjs/series/dot/dot.js +1 -16
  235. package/cjs/series/dot/dot.js.map +1 -1
  236. package/cjs/series/funnel/funnel.js +8 -5
  237. package/cjs/series/funnel/funnel.js.map +1 -1
  238. package/cjs/series/heatmap/heatmap.d.ts +0 -2
  239. package/cjs/series/heatmap/heatmap.js +0 -10
  240. package/cjs/series/heatmap/heatmap.js.map +1 -1
  241. package/cjs/series/line/line.d.ts +0 -2
  242. package/cjs/series/line/line.js +0 -6
  243. package/cjs/series/line/line.js.map +1 -1
  244. package/cjs/series/map/map.js +3 -3
  245. package/cjs/series/map/map.js.map +1 -1
  246. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  247. package/cjs/series/mixin/line-mixin.js +1 -6
  248. package/cjs/series/mixin/line-mixin.js.map +1 -1
  249. package/cjs/series/pie/pie.d.ts +7 -3
  250. package/cjs/series/pie/pie.js +1 -16
  251. package/cjs/series/pie/pie.js.map +1 -1
  252. package/cjs/series/polar/progress-like/progress-like.d.ts +0 -2
  253. package/cjs/series/polar/progress-like/progress-like.js +1 -16
  254. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  255. package/cjs/series/polar/rose-like/rose-like.d.ts +0 -2
  256. package/cjs/series/polar/rose-like/rose-like.js +1 -15
  257. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  258. package/cjs/series/progress/circular/circular.d.ts +0 -2
  259. package/cjs/series/progress/circular/circular.js +1 -10
  260. package/cjs/series/progress/circular/circular.js.map +1 -1
  261. package/cjs/series/progress/linear/linear.d.ts +0 -2
  262. package/cjs/series/progress/linear/linear.js +1 -19
  263. package/cjs/series/progress/linear/linear.js.map +1 -1
  264. package/cjs/series/sankey/sankey.js +57 -67
  265. package/cjs/series/sankey/sankey.js.map +1 -1
  266. package/cjs/series/scatter/scatter.d.ts +0 -2
  267. package/cjs/series/scatter/scatter.js +1 -9
  268. package/cjs/series/scatter/scatter.js.map +1 -1
  269. package/cjs/series/treemap/treemap.js +20 -23
  270. package/cjs/series/treemap/treemap.js.map +1 -1
  271. package/cjs/series/venn/venn.js +2 -2
  272. package/cjs/series/venn/venn.js.map +1 -1
  273. package/cjs/series/waterfall/waterfall.d.ts +0 -2
  274. package/cjs/series/waterfall/waterfall.js +20 -36
  275. package/cjs/series/waterfall/waterfall.js.map +1 -1
  276. package/esm/animation/index.js +2 -1
  277. package/esm/chart/base/base-chart-transformer.d.ts +0 -3
  278. package/esm/chart/base/base-chart-transformer.js +2 -24
  279. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  280. package/esm/chart/base/base-chart.d.ts +9 -25
  281. package/esm/chart/base/base-chart.js +26 -192
  282. package/esm/chart/base/base-chart.js.map +1 -1
  283. package/esm/chart/gauge/gauge-transformer.js +2 -3
  284. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  285. package/esm/chart/interface/chart.d.ts +0 -1
  286. package/esm/chart/interface/chart.js.map +1 -1
  287. package/esm/chart/pie/base/pie-transformer.js +2 -2
  288. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  289. package/esm/chart/polar/polar-transformer.js +1 -1
  290. package/esm/chart/polar/polar-transformer.js.map +1 -1
  291. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  292. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  293. package/esm/chart/progress/circular/circular-progress-transformer.js +1 -2
  294. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  295. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  296. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  297. package/esm/chart/radar/radar-transformer.js +2 -3
  298. package/esm/chart/radar/radar-transformer.js.map +1 -1
  299. package/esm/chart/range-area/range-area-transformer.js +2 -2
  300. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  301. package/esm/chart/rose/rose-transformer.js +1 -2
  302. package/esm/chart/rose/rose-transformer.js.map +1 -1
  303. package/esm/chart/util.d.ts +1 -4
  304. package/esm/chart/util.js +1 -34
  305. package/esm/chart/util.js.map +1 -1
  306. package/esm/chart/waterfall/waterfall-transformer.js +1 -2
  307. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  308. package/esm/compile/compiler.d.ts +0 -2
  309. package/esm/compile/compiler.js +47 -70
  310. package/esm/compile/compiler.js.map +1 -1
  311. package/esm/compile/data/compilable-data.d.ts +1 -1
  312. package/esm/compile/data/compilable-data.js +1 -1
  313. package/esm/compile/data/compilable-data.js.map +1 -1
  314. package/esm/compile/grammar-item.d.ts +1 -1
  315. package/esm/compile/grammar-item.js.map +1 -1
  316. package/esm/compile/interface/compilable-item.d.ts +1 -1
  317. package/esm/compile/interface/compilable-item.js.map +1 -1
  318. package/esm/compile/interface/compiler.d.ts +1 -4
  319. package/esm/compile/interface/compiler.js.map +1 -1
  320. package/esm/compile/state-manager.js +1 -2
  321. package/esm/component/axis/base-axis.d.ts +7 -2
  322. package/esm/component/axis/base-axis.js +5 -26
  323. package/esm/component/axis/base-axis.js.map +1 -1
  324. package/esm/component/axis/cartesian/band-axis.d.ts +7 -1
  325. package/esm/component/axis/mixin/linear-axis-mixin.js +10 -7
  326. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  327. package/esm/component/axis/polar/band-axis.d.ts +0 -2
  328. package/esm/component/axis/polar/band-axis.js +0 -3
  329. package/esm/component/axis/polar/band-axis.js.map +1 -1
  330. package/esm/component/axis/polar/linear-axis.js +0 -3
  331. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  332. package/esm/component/base/base-component.d.ts +7 -7
  333. package/esm/component/base/base-component.js +5 -41
  334. package/esm/component/base/base-component.js.map +1 -1
  335. package/esm/component/brush/brush.d.ts +7 -3
  336. package/esm/component/brush/brush.js +11 -29
  337. package/esm/component/brush/brush.js.map +1 -1
  338. package/esm/component/crosshair/base.d.ts +7 -4
  339. package/esm/component/crosshair/base.js +2 -26
  340. package/esm/component/crosshair/base.js.map +1 -1
  341. package/esm/component/custom-mark/custom-mark.d.ts +7 -4
  342. package/esm/component/custom-mark/custom-mark.js +2 -27
  343. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  344. package/esm/component/data-zoom/data-filter-base-component.d.ts +7 -3
  345. package/esm/component/data-zoom/data-filter-base-component.js +2 -14
  346. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  347. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  348. package/esm/component/data-zoom/data-zoom/data-zoom.js +0 -20
  349. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  350. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
  351. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
  352. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  353. package/esm/component/geo/geo-coordinate.d.ts +7 -1
  354. package/esm/component/indicator/indicator.d.ts +0 -1
  355. package/esm/component/indicator/indicator.js +2 -11
  356. package/esm/component/indicator/indicator.js.map +1 -1
  357. package/esm/component/indicator/util.d.ts +3 -4
  358. package/esm/component/indicator/util.js +2 -2
  359. package/esm/component/indicator/util.js.map +1 -1
  360. package/esm/component/label/base-label.d.ts +7 -1
  361. package/esm/component/label/base-label.js +1 -5
  362. package/esm/component/label/base-label.js.map +1 -1
  363. package/esm/component/label/label.js +1 -1
  364. package/esm/component/label/label.js.map +1 -1
  365. package/esm/component/legend/base-legend.d.ts +7 -2
  366. package/esm/component/legend/base-legend.js +2 -20
  367. package/esm/component/legend/base-legend.js.map +1 -1
  368. package/esm/component/marker/base-marker.d.ts +7 -14
  369. package/esm/component/marker/base-marker.js +11 -113
  370. package/esm/component/marker/base-marker.js.map +1 -1
  371. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  372. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  373. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  374. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  375. package/esm/component/marker/mark-line/base-mark-line.js +4 -2
  376. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  377. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  378. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  379. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  380. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  381. package/esm/component/marker/mark-point/base-mark-point.js +11 -24
  382. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  383. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  384. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  385. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  386. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  387. package/esm/component/marker/utils.d.ts +4 -4
  388. package/esm/component/marker/utils.js +23 -27
  389. package/esm/component/marker/utils.js.map +1 -1
  390. package/esm/component/player/player.d.ts +0 -1
  391. package/esm/component/player/player.js +0 -10
  392. package/esm/component/player/player.js.map +1 -1
  393. package/esm/component/title/title.d.ts +7 -1
  394. package/esm/component/title/title.js +2 -6
  395. package/esm/component/title/title.js.map +1 -1
  396. package/esm/component/tooltip/tooltip.d.ts +0 -1
  397. package/esm/component/tooltip/tooltip.js +1 -9
  398. package/esm/component/tooltip/tooltip.js.map +1 -1
  399. package/esm/component/util.js +1 -2
  400. package/esm/constant/animate.js +2 -1
  401. package/esm/constant/scroll-bar.js +1 -2
  402. package/esm/constant/sunburst.js +2 -1
  403. package/esm/core/expression-function.js +1 -1
  404. package/esm/core/factory.js +1 -1
  405. package/esm/core/index.js +1 -1
  406. package/esm/core/instance-manager.js +1 -1
  407. package/esm/core/vchart.d.ts +1 -5
  408. package/esm/core/vchart.js +17 -30
  409. package/esm/core/vchart.js.map +1 -1
  410. package/esm/data/initialize.js +1 -1
  411. package/esm/data/register.js +1 -1
  412. package/esm/data/transforms/box-plot.d.ts +1 -4
  413. package/esm/data/transforms/box-plot.js +4 -4
  414. package/esm/data/transforms/box-plot.js.map +1 -1
  415. package/esm/data/transforms/correlation-center.d.ts +4 -11
  416. package/esm/data/transforms/correlation-center.js +2 -4
  417. package/esm/data/transforms/correlation-center.js.map +1 -1
  418. package/esm/data/transforms/correlation.d.ts +15 -18
  419. package/esm/data/transforms/correlation.js +8 -13
  420. package/esm/data/transforms/correlation.js.map +1 -1
  421. package/esm/data/transforms/funnel.d.ts +8 -10
  422. package/esm/data/transforms/funnel.js +3 -5
  423. package/esm/data/transforms/funnel.js.map +1 -1
  424. package/esm/data/transforms/lookup.d.ts +3 -3
  425. package/esm/data/transforms/lookup.js +6 -12
  426. package/esm/data/transforms/lookup.js.map +1 -1
  427. package/esm/data/transforms/map.d.ts +2 -8
  428. package/esm/data/transforms/map.js +6 -11
  429. package/esm/data/transforms/map.js.map +1 -1
  430. package/esm/data/transforms/sankey.d.ts +4 -12
  431. package/esm/data/transforms/sankey.js +14 -19
  432. package/esm/data/transforms/sankey.js.map +1 -1
  433. package/esm/data/transforms/stack-split.d.ts +1 -2
  434. package/esm/data/transforms/stack-split.js +2 -2
  435. package/esm/data/transforms/stack-split.js.map +1 -1
  436. package/esm/data/transforms/treemap.d.ts +3 -5
  437. package/esm/data/transforms/treemap.js +5 -8
  438. package/esm/data/transforms/treemap.js.map +1 -1
  439. package/esm/data/transforms/venn.d.ts +2 -4
  440. package/esm/data/transforms/venn.js +3 -5
  441. package/esm/data/transforms/venn.js.map +1 -1
  442. package/esm/data/transforms/waterfall.d.ts +2 -4
  443. package/esm/data/transforms/waterfall.js +8 -7
  444. package/esm/data/transforms/waterfall.js.map +1 -1
  445. package/esm/event/event.d.ts +0 -4
  446. package/esm/event/event.js +7 -26
  447. package/esm/event/event.js.map +1 -1
  448. package/esm/interaction/interaction.js +8 -10
  449. package/esm/interaction/interaction.js.map +1 -1
  450. package/esm/interaction/triggers/element-active-by-legend.js +1 -3
  451. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  452. package/esm/interaction/triggers/element-active.js +2 -4
  453. package/esm/interaction/triggers/element-active.js.map +1 -1
  454. package/esm/interaction/triggers/element-highlight-by-group.js +1 -4
  455. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  456. package/esm/interaction/triggers/element-highlight-by-legend.js +1 -3
  457. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  458. package/esm/interaction/triggers/element-highlight-by-name.js +1 -3
  459. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  460. package/esm/interaction/triggers/element-highlight.js +1 -3
  461. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  462. package/esm/interaction/triggers/element-select.js +2 -4
  463. package/esm/interaction/triggers/element-select.js.map +1 -1
  464. package/esm/mark/base/base-mark.d.ts +2 -13
  465. package/esm/mark/base/base-mark.js +24 -103
  466. package/esm/mark/base/base-mark.js.map +1 -1
  467. package/esm/mark/component.d.ts +0 -9
  468. package/esm/mark/component.js +2 -51
  469. package/esm/mark/component.js.map +1 -1
  470. package/esm/mark/group.js +1 -1
  471. package/esm/mark/group.js.map +1 -1
  472. package/esm/mark/interface/mark.d.ts +0 -2
  473. package/esm/mark/interface/mark.js.map +1 -1
  474. package/esm/mark/utils/glyph.js +1 -3
  475. package/esm/mark/utils/glyph.js.map +1 -1
  476. package/esm/model/base-model.d.ts +15 -3
  477. package/esm/model/base-model.js.map +1 -1
  478. package/esm/model/interface.d.ts +0 -13
  479. package/esm/model/interface.js.map +1 -1
  480. package/esm/region/region.d.ts +7 -1
  481. package/esm/scale/color-ordinal-scale.d.ts +0 -1
  482. package/esm/scale/color-ordinal-scale.js +0 -3
  483. package/esm/scale/color-ordinal-scale.js.map +1 -1
  484. package/esm/scale/global-scale.js +1 -9
  485. package/esm/scale/global-scale.js.map +1 -1
  486. package/esm/series/area/area.d.ts +0 -2
  487. package/esm/series/area/area.js +1 -7
  488. package/esm/series/area/area.js.map +1 -1
  489. package/esm/series/bar/bar.d.ts +0 -3
  490. package/esm/series/bar/bar.js +4 -30
  491. package/esm/series/bar/bar.js.map +1 -1
  492. package/esm/series/base/base-series.d.ts +7 -10
  493. package/esm/series/base/base-series.js +16 -73
  494. package/esm/series/base/base-series.js.map +1 -1
  495. package/esm/series/base/constant.d.ts +0 -3
  496. package/esm/series/base/constant.js +0 -10
  497. package/esm/series/base/constant.js.map +1 -1
  498. package/esm/series/box-plot/box-plot.d.ts +0 -2
  499. package/esm/series/box-plot/box-plot.js +4 -15
  500. package/esm/series/box-plot/box-plot.js.map +1 -1
  501. package/esm/series/correlation/correlation.js +11 -13
  502. package/esm/series/correlation/correlation.js.map +1 -1
  503. package/esm/series/dot/dot.d.ts +0 -12
  504. package/esm/series/dot/dot.js +0 -17
  505. package/esm/series/dot/dot.js.map +1 -1
  506. package/esm/series/funnel/funnel.js +8 -5
  507. package/esm/series/funnel/funnel.js.map +1 -1
  508. package/esm/series/heatmap/heatmap.d.ts +0 -2
  509. package/esm/series/heatmap/heatmap.js +0 -10
  510. package/esm/series/heatmap/heatmap.js.map +1 -1
  511. package/esm/series/line/line.d.ts +0 -2
  512. package/esm/series/line/line.js +1 -7
  513. package/esm/series/line/line.js.map +1 -1
  514. package/esm/series/map/map.js +3 -3
  515. package/esm/series/map/map.js.map +1 -1
  516. package/esm/series/mixin/line-mixin.d.ts +0 -1
  517. package/esm/series/mixin/line-mixin.js +0 -5
  518. package/esm/series/mixin/line-mixin.js.map +1 -1
  519. package/esm/series/pie/pie.d.ts +7 -3
  520. package/esm/series/pie/pie.js +0 -17
  521. package/esm/series/pie/pie.js.map +1 -1
  522. package/esm/series/polar/progress-like/progress-like.d.ts +0 -2
  523. package/esm/series/polar/progress-like/progress-like.js +0 -17
  524. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  525. package/esm/series/polar/rose-like/rose-like.d.ts +0 -2
  526. package/esm/series/polar/rose-like/rose-like.js +0 -16
  527. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  528. package/esm/series/progress/circular/circular.d.ts +0 -2
  529. package/esm/series/progress/circular/circular.js +0 -11
  530. package/esm/series/progress/circular/circular.js.map +1 -1
  531. package/esm/series/progress/linear/linear.d.ts +0 -2
  532. package/esm/series/progress/linear/linear.js +0 -20
  533. package/esm/series/progress/linear/linear.js.map +1 -1
  534. package/esm/series/sankey/sankey.js +54 -60
  535. package/esm/series/sankey/sankey.js.map +1 -1
  536. package/esm/series/scatter/scatter.d.ts +0 -2
  537. package/esm/series/scatter/scatter.js +0 -10
  538. package/esm/series/scatter/scatter.js.map +1 -1
  539. package/esm/series/treemap/treemap.js +20 -23
  540. package/esm/series/treemap/treemap.js.map +1 -1
  541. package/esm/series/venn/venn.js +2 -2
  542. package/esm/series/venn/venn.js.map +1 -1
  543. package/esm/series/waterfall/waterfall.d.ts +0 -2
  544. package/esm/series/waterfall/waterfall.js +20 -36
  545. package/esm/series/waterfall/waterfall.js.map +1 -1
  546. package/package.json +8 -10
  547. package/cjs/compile/stage-app.d.ts +0 -23
  548. package/cjs/compile/stage-app.js +0 -167
  549. package/cjs/compile/stage-app.js.map +0 -1
  550. package/cjs/component/base/release-vrender-component.d.ts +0 -10
  551. package/cjs/component/base/release-vrender-component.js +0 -37
  552. package/cjs/component/base/release-vrender-component.js.map +0 -1
  553. package/cjs/data/data-view-utils.d.ts +0 -5
  554. package/cjs/data/data-view-utils.js +0 -58
  555. package/cjs/data/data-view-utils.js.map +0 -1
  556. package/cjs/util/graphic-state.d.ts +0 -4
  557. package/cjs/util/graphic-state.js +0 -40
  558. package/cjs/util/graphic-state.js.map +0 -1
  559. package/esm/compile/stage-app.d.ts +0 -23
  560. package/esm/compile/stage-app.js +0 -139
  561. package/esm/compile/stage-app.js.map +0 -1
  562. package/esm/component/base/release-vrender-component.d.ts +0 -10
  563. package/esm/component/base/release-vrender-component.js +0 -24
  564. package/esm/component/base/release-vrender-component.js.map +0 -1
  565. package/esm/data/data-view-utils.d.ts +0 -5
  566. package/esm/data/data-view-utils.js +0 -46
  567. package/esm/data/data-view-utils.js.map +0 -1
  568. package/esm/util/graphic-state.d.ts +0 -4
  569. package/esm/util/graphic-state.js +0 -30
  570. package/esm/util/graphic-state.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/base/base-chart-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAK9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEpE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,sCAAsC,GAAyB;IACnE,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,OAAO,wBAAwB;IAOnC,YAAY,MAAmC;QAJrC,2BAAsB,qBAA8B,sCAAsC,EAAG;QAKrG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAGD,aAAa,CAAC,SAAY;QACxB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAOD,aAAa,CAAC,SAAY;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACtD,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;SACzB;QACD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;SACxB;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAa,EAAE,EAAE;gBACzC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YAChC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAa,EAAE,EAAE;gBACzC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,iBAAiB,CAAC,SAAY,EAAE,SAAmB;QACjD,OAAO,CAAC,WAA8B,EAAE,QAAwB,EAAE,aAA8B,EAAE,EAAE;YAClG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,sBAAsB,iCACrD,IAAI,CAAC,OAAO,KACf,IAAI,IACJ,CAAC;YAEH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAClF,MAAM,kBAAkB,mCACnB,QAAQ,GACR,eAAe,CACnB,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,kBAAkB,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACL,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;aACxD;YACD,WAAW,CAAC,aAAa,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC3E,CAAC,CAAC;IACJ,CAAC;IAOD,kBAAkB,CAAC,SAAY;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC;IAGD,cAAc,CACZ,SAAY,EACZ,SAOS;;QAET,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACrD;QAED,MAAM,oBAAoB,GAAmB,EAAE,CAAC;QAGhD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAGrE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAErE,MAAA,oBAAoB,CAAC,MAAM,0CAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;;YACzD,MAAM,aAAa,GACjB,MAAA,MAAA,oBAAoB,CAAC,cAAc,EAAE,oBAAoB,CAAC,mCAAI,oBAAoB,CAAC,MAAM,mCAAI,EAAE,CAAC;YAClG,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;oBACzB,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;iBAC3B;gBACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,cAAc,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aAC7D;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,MAAA,oBAAoB,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CACzE,YAAY,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;;YAC5C,IAAI,CAAC,iBAAiB,EAAE;gBACtB,OAAO;aACR;YACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;gBACpC,MAAM,aAAa,GACjB,MAAA,MAAA,oBAAoB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,mCAAI,oBAAoB,CAAC,MAAM,mCAAI,EAAE,CAAC;gBACrG,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;aACxF;YACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;gBACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;gBACjF,IAAI,CAAC,UAAU,EAAE;oBACf,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;oBACzC,CAAC,MAAA,iBAAiB,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;;wBAC5D,MAAM,MAAM,GAAG,MAAA,oBAAoB,CAAC,MAAM,0CAAG,WAAW,CAAC,CAAC;wBAC1D,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,0CAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBACjF,CAAC,CAAC,CAAC;oBACH,iBAAiB,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBAC9D;qBAAM;oBACL,iBAAiB,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3F;aACF;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAES,cAAc,CAAC,UAAkB;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAES,yBAAyB,CAAC,GAAG,QAAqC;QAC1E,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAES,qBAAqB,CAAC,SAAc,EAAE,QAAmB,EAAE,SAAoB;;QACvF,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAQ;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;YAE1B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YAExB,KAAK,EAAE,SAAS,CAAC,KAAK;YAEtB,WAAW,EAAE,SAAS,CAAC,WAAW;YAElC,SAAS,EAAE,MAAA,SAAS,CAAC,SAAS,mCAAI,MAAA,IAAI,CAAC,OAAO,CAAC,cAAc,0CAAE,iBAAiB,EAAE;YAClF,kBAAkB,EAAE,MAAA,SAAS,CAAC,kBAAkB,mCAAI,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,QAAQ,mDAAG,oBAAoB,CAAC;YACjG,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,cAAc,EAAE,SAAS,CAAC,cAAc;YAExC,aAAa,EAAE,SAAS,CAAC,aAAa;YAEtC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,UAAU,EAAE,SAAS,CAAC,gBAAgB;YAEtC,WAAW,EAAE,SAAS,CAAC,WAAW;YAElC,WAAW,EAAE,SAAS,CAAC,WAAW;YAElC,KAAK,EAAE,SAAS,CAAC,KAAK;YAEtB,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,yBAAyB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,GAAI,SAAiB,CAAC,UAAU,CAAC,CAAC;SACrD;QAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;YACjC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpB,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,mBAAmB,CACjB,SAAY,EACZ,UAA4G,EAC5G,aAA8B;;QAE9B,MAAM,UAAU,GAAG,MAAC,SAAS,CAAC,MAAuB,mCAAI,EAAE,CAAC;QAC5D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpC,UAAU,CACR,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,EACjC;YACE,IAAI;YACJ,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC3B,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,CAAC,KAAK,CAAC;SACvB,EACD,aAAa,CACd,CACF,CAAC;IACJ,CAAC;IAGD,mBAAmB,CACjB,SAAY,EACZ,UAA4G,EAC5G,aAA8B;;QAE9B,MAAM,UAAU,GAAG,MAAC,SAAS,CAAC,MAAwB,mCAAI,EAAE,CAAC;QAC7D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpC,UAAU,CACR,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAClC;YACE,IAAI;YACJ,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,CAAC,KAAK,CAAC;SACvB,EACD,aAAa,CACd,CACF,CAAC;IACJ,CAAC;IAGD,sBAAsB,CACpB,SAAY,EACZ,UAA+G,EAC/G,aAA8B;;QAE9B,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAG3C,IAAI,aAAoC,CAAC;QACzC,IAAI,SAAgC,CAAC;QACrC,IAAI,aAAoC,CAAC;QACzC,IAAI,OAA8B,CAAC;QACnC,MAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;gBACxD,aAAa,GAAG,GAAG,CAAC;aACrB;iBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;gBAC3D,SAAS,GAAG,GAAG,CAAC;aACjB;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,aAAa,EAAE;gBACvD,aAAa,GAAG,GAAG,CAAC;aACrB;iBAAM,IAAI,WAAW,IAAK,SAAiB,CAAC,MAAA,GAAG,CAAC,OAAO,mCAAI,GAAG,CAAC,IAAI,CAAC,EAAE;gBACrE,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,OAAO,EAAE;oBAC1C,OAAO,GAAG,GAAG,CAAC;iBACf;qBAAM;oBACL,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;iBACzC;aACF;SACF;QAGD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,aAAa,EAAE;YACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACrE,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,IAAG,CAAC,EAAE;gBACxB,WAAW,GAAG,IAAI,CAAC;gBACnB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;aACJ;SACF;QAED,IAAI,SAAS,IAAI,CAAC,WAAW,EAAE;YAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACjE,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,IAAG,CAAC,EAAE;gBACxB,WAAW,GAAG,IAAI,CAAC;gBACnB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;aACJ;SACF;QAED,IAAI,aAAa,IAAI,CAAC,WAAW,EAAE;YACjC,MAAA,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;SACJ;QAED,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;;YACrC,MAAA,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,0CAAE,OAAO,CAC5G,IAAI,CAAC,EAAE;gBACL,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YACnD,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAGH,IAAI,OAAO,EAAE;YACX,MAAA,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD,mBAAmB,CAAC,IAAO;QACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAChC,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACZ,CAAS,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAES,qBAAqB,CAAC,UAAuB,EAAE,WAAmB,EAAE,QAAa;QACzF,MAAM,YAAY,GAAG,CAAC,UAAkB,aAAlB,UAAU,uBAAV,UAAU,CAAU,SAAS,MAAK,YAAY,CAAC;QACrE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,cAAc,GAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAEtC,OAAO,KAAK,CAAC;aACd;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAE1B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,CAAC,EAAE;oBACjD,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAEpC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBACjD,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBAE/B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACxB,CAAC;IAKS,kBAAkB,CAC1B,IAA4B,EAC5B,MAAc,EACd,YAKC;QAED,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;QAC3E,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,GAAG,WAAqB,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;SACpB;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC7B,IAAI,CAAC,WAAW,GAAG,QAAkB,CAAC;YACtC,WAAW,GAAG,IAAI,CAAC;SACpB;aAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;YAChC,IAAI,CAAC,WAAW,GAAG,WAAqB,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG;gBACpB,MAAM;gBACN,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAE,aAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;aACjG,CAAC;SACH;IACH,CAAC;CACF","file":"base-chart-transformer.js","sourcesContent":["import { isArray, isNumber, isValid } from '@visactor/vutils';\nimport type { IChartSpec, ISeriesSpec } from '../../typings';\nimport type { IChartSpecInfo, IChartSpecTransformer, IChartSpecTransformerOption } from '../interface';\nimport type { IModelConstructor, IModelSpecInfo } from '../../model/interface';\nimport type { IRegionConstructor, RegionSpec } from '../../region/interface';\nimport { Factory } from '../../core';\nimport type { ISeriesConstructor } from '../../series';\nimport type { IComponentConstructor } from '../../component/interface/common';\nimport { ComponentTypeEnum } from '../../component/interface';\nimport { setProperty } from '@visactor/vutils-extension';\nimport { getRelatedRegionInfo, getRelatedSeriesInfo } from './util';\nimport type { ICartesianBandAxisSpec } from '../..//component/axis/cartesian/interface';\nimport { array } from '../../util';\nimport { getSpecInfo } from '../../component/util';\n\nconst DEFAULT_SERIES_RELATED_CHART_SPEC_KEYS: Record<string, true> = {\n series: true,\n label: true,\n animationAppear: true,\n animationEnter: true,\n animationUpdate: true,\n animationExit: true,\n animationNormal: true\n};\n\nexport class BaseChartSpecTransformer<T extends IChartSpec> implements IChartSpecTransformer {\n readonly type: string;\n readonly seriesType: string;\n protected _seriesRelatedSpecKeys: Record<string, true> = { ...DEFAULT_SERIES_RELATED_CHART_SPEC_KEYS };\n\n protected _option: IChartSpecTransformerOption;\n\n constructor(option: IChartSpecTransformerOption) {\n this._option = option;\n this.type = option.type;\n this.seriesType = option.seriesType;\n }\n\n /** 此方法不建议重写 */\n initChartSpec(chartSpec: T): IChartSpecInfo {\n this.transformSpec(chartSpec);\n return this.transformModelSpec(chartSpec);\n }\n\n /**\n * 转换 chart spec。包含以下步骤:\n * - 将图表 spec 统一转换为 common 图表 spec\n * - 图表层级的在初始化阶段的 spec 修改\n */\n transformSpec(chartSpec: T): void {\n if (!chartSpec.region || chartSpec.region.length === 0) {\n chartSpec.region = [{}];\n }\n if (chartSpec.tooltip === undefined) {\n chartSpec.tooltip = {};\n }\n // 堆积逆序\n if (isValid(chartSpec.stackInverse)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackInverse) && (r.stackInverse = chartSpec.stackInverse);\n });\n }\n // 堆积排序\n if (isValid(chartSpec.stackSort)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackSort) && (r.stackSort = chartSpec.stackSort);\n });\n }\n }\n\n generateTransform(chartSpec: T, isRuntime?: boolean) {\n return (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n // 调用 model 自己的 transformer 进行转换\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n const chartSpecInfoValue = {\n ...specInfo,\n ...transformResult\n };\n if (isRuntime) {\n chartSpecInfoValue.theme = transformer.getTheme(spec, chartSpec);\n } else {\n setProperty(chartSpec, specPath, transformResult.spec);\n }\n setProperty(chartSpecInfo, specInfoPath ?? specPath, chartSpecInfoValue);\n };\n }\n\n /**\n * 转换 model spec。包含以下步骤:\n * - model 层级的主题合并\n * - model 层级的在初始化阶段的 spec 修改,如添加 label spec\n */\n transformModelSpec(chartSpec: T): IChartSpecInfo {\n return this.createSpecInfo(chartSpec, this.generateTransform(chartSpec, false));\n }\n\n /** 遍历图表 spec 中包含的所有的 model,进行 spec 转换并生成图表 spec info */\n createSpecInfo(\n chartSpec: T,\n transform?: (\n /** 当前 model 的类 */\n constructor: IModelConstructor,\n /** 当前 model 的 spec info */\n specInfo: IModelSpecInfo,\n /** 图表 spec info */\n chartSpecInfo?: IChartSpecInfo\n ) => void\n ): IChartSpecInfo {\n if (!transform) {\n transform = this.generateTransform(chartSpec, true);\n }\n\n const currentChartSpecInfo: IChartSpecInfo = {};\n\n /* 预处理 region */\n this.forEachRegionInSpec(chartSpec, transform, currentChartSpecInfo);\n\n /* 预处理 series */\n this.forEachSeriesInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 series 关联的 region\n currentChartSpecInfo.series?.forEach((seriesSpecInfo, i) => {\n const relatedRegion =\n getRelatedRegionInfo(seriesSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n const region = relatedRegion[0];\n if (region) {\n if (!region.seriesIndexes) {\n region.seriesIndexes = [];\n }\n region.seriesIndexes.push(i);\n seriesSpecInfo.regionIndexes = region.regionIndexes.slice();\n }\n });\n\n /* 预处理 component */\n this.forEachComponentInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 component 关联的 region、series\n Object.values(currentChartSpecInfo.component ?? {}).forEach(specInfoList =>\n specInfoList.forEach((componentSpecInfo, i) => {\n if (!componentSpecInfo) {\n return;\n }\n if (!componentSpecInfo.regionIndexes) {\n const relatedRegion =\n getRelatedRegionInfo(componentSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n componentSpecInfo.regionIndexes = relatedRegion.map(region => region.regionIndexes[0]);\n }\n if (!componentSpecInfo.seriesIndexes) {\n const seriesInfo = getRelatedSeriesInfo(componentSpecInfo, currentChartSpecInfo);\n if (!seriesInfo) {\n const seriesIndexSet = new Set<number>();\n (componentSpecInfo.regionIndexes ?? []).forEach(regionIndex => {\n const region = currentChartSpecInfo.region?.[regionIndex];\n region?.seriesIndexes?.forEach(seriesIndex => seriesIndexSet.add(seriesIndex));\n });\n componentSpecInfo.seriesIndexes = Array.from(seriesIndexSet);\n } else {\n componentSpecInfo.seriesIndexes = seriesInfo.map(({ seriesIndexes }) => seriesIndexes[0]);\n }\n }\n })\n );\n return currentChartSpecInfo;\n }\n\n protected _isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n getSeriesRelatedSpecKeys(): Record<string, true> {\n return this._seriesRelatedSpecKeys;\n }\n\n protected _addSeriesRelatedSpecKeys(...keysList: Array<string[] | undefined>) {\n keysList.forEach(keys => {\n keys?.forEach(key => {\n this._seriesRelatedSpecKeys[key] = true;\n });\n });\n }\n\n protected _getDefaultSeriesSpec(chartSpec: any, pickKeys?: string[], pickKeys2?: string[]) {\n this._addSeriesRelatedSpecKeys(pickKeys, pickKeys2);\n\n const series: any = {\n dataKey: chartSpec.dataKey,\n\n hover: chartSpec.hover,\n select: chartSpec.select,\n\n label: chartSpec.label,\n\n seriesStyle: chartSpec.seriesStyle,\n\n animation: chartSpec.animation ?? this._option.globalInstance?.isAnimationEnable(),\n animationThreshold: chartSpec.animationThreshold ?? this._option.getTheme?.('animationThreshold'),\n animationAppear: chartSpec.animationAppear,\n animationDisappear: chartSpec.animationDisappear,\n animationEnter: chartSpec.animationEnter,\n animationUpdate: chartSpec.animationUpdate,\n animationExit: chartSpec.animationExit,\n animationNormal: chartSpec.animationNormal,\n animationState: chartSpec.animationState,\n\n extensionMark: chartSpec.extensionMark,\n\n large: chartSpec.large,\n largeThreshold: chartSpec.largeThreshold,\n progressiveStep: chartSpec.progressiveStep,\n progressiveThreshold: chartSpec.progressiveThreshold,\n background: chartSpec.seriesBackground,\n\n invalidType: chartSpec.invalidType,\n\n seriesField: chartSpec.seriesField,\n\n morph: chartSpec.morph,\n\n interactions: chartSpec.interactions\n };\n\n const seriesType = this.seriesType;\n if (seriesType) {\n this._addSeriesRelatedSpecKeys([seriesType]);\n series.type = seriesType;\n series[seriesType] = (chartSpec as any)[seriesType];\n }\n\n if (pickKeys && pickKeys.length) {\n pickKeys.forEach(k => {\n series[k] = chartSpec[k];\n });\n }\n if (pickKeys2 && pickKeys2.length) {\n pickKeys2.forEach(k => {\n series[k] = chartSpec[k];\n });\n }\n return series;\n }\n\n /** 遍历 spec 中每个有效的 region */\n forEachRegionInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IRegionConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const regionSpec = (chartSpec.region as RegionSpec[]) ?? [];\n return regionSpec.map((spec, index) =>\n callbackfn(\n Factory.getRegionInType('region'),\n {\n spec,\n specPath: ['region', index],\n type: 'region',\n regionIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 series */\n forEachSeriesInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: ISeriesConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const seriesSpec = (chartSpec.series as ISeriesSpec[]) ?? [];\n return seriesSpec.map((spec, index) =>\n callbackfn(\n Factory.getSeriesInType(spec.type),\n {\n spec,\n specPath: ['series', index],\n type: spec.type,\n seriesIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 component */\n forEachComponentInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IComponentConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const results: K[] = [];\n const components = Factory.getComponents();\n\n // 坐标轴组件只需要调用一次\n let cartesianAxis: IComponentConstructor;\n let polarAxis: IComponentConstructor;\n let geoCoordinate: IComponentConstructor;\n let tooltip: IComponentConstructor;\n const otherComponents = [];\n\n for (let index = 0; index < components.length; index++) {\n const { cmp, alwaysCheck } = components[index];\n if (cmp.type.startsWith(ComponentTypeEnum.cartesianAxis)) {\n cartesianAxis = cmp;\n } else if (cmp.type.startsWith(ComponentTypeEnum.polarAxis)) {\n polarAxis = cmp;\n } else if (cmp.type === ComponentTypeEnum.geoCoordinate) {\n geoCoordinate = cmp;\n } else if (alwaysCheck || (chartSpec as any)[cmp.specKey ?? cmp.type]) {\n if (cmp.type === ComponentTypeEnum.tooltip) {\n tooltip = cmp;\n } else {\n otherComponents.push(components[index]);\n }\n }\n }\n\n // NOTE: 坐标轴组件需要在其他组件之前创建\n let hasInitAxis = false;\n if (cartesianAxis) {\n const infoList = cartesianAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (polarAxis && !hasInitAxis) {\n const infoList = polarAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (geoCoordinate && !hasInitAxis) {\n geoCoordinate.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(geoCoordinate, info, chartSpecInfo));\n });\n }\n\n otherComponents.sort((a, b) => {\n return a.createOrder - b.createOrder;\n });\n\n otherComponents.forEach(({ cmp: C }) => {\n (C.getSpecInfo ? C.getSpecInfo(chartSpec, chartSpecInfo) : getSpecInfo(chartSpec, C.specKey, C.type))?.forEach(\n info => {\n results.push(callbackfn(C, info, chartSpecInfo));\n }\n );\n });\n\n // NOTE: tooltip 组件需要在 crosshair 组件之后创建\n if (tooltip) {\n getSpecInfo(chartSpec, tooltip.specKey, tooltip.type)?.forEach(info => {\n results.push(callbackfn(tooltip, info, chartSpecInfo));\n });\n }\n\n return results;\n }\n\n /** 处理series配置 */\n transformSeriesSpec(spec: T): void {\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this._isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n (s as any)[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n\n protected _findBandAxisBySeries(seriesSpec: ISeriesSpec, seriesIndex: number, axesSpec: any) {\n const isHorizontal = (seriesSpec as any)?.direction === 'horizontal';\n const matchOrient = isHorizontal ? ['left', 'right'] : ['top', 'bottom'];\n const targetBandAxis: any = axesSpec.find((axis: any) => {\n if (!matchOrient.includes(axis.orient)) {\n // orient必须匹配\n return false;\n }\n if (isValid(axis.seriesId)) {\n // 1. 通过seriesId绑定\n if (array(axis.seriesId).includes(seriesSpec?.id)) {\n return true;\n }\n } else if (isValid(axis.seriesIndex)) {\n // 2. 通过seriesIndex绑定\n if (array(axis.seriesIndex).includes(seriesIndex)) {\n return true;\n }\n } else if (axis.type === 'band') {\n // 3. 通过axis type识别\n return true;\n }\n // 4. 剩下的情况满足axis orient要求\n return true;\n });\n\n return targetBandAxis;\n }\n\n /**\n * @description bar chart 和 common chart支持autoBandsize, 此方法用于识别barWidth配置后应用到轴上\n * */\n protected _applyAxisBandSize(\n axis: ICartesianBandAxisSpec,\n extend: number,\n barWidthSpec: {\n barMaxWidth: number | string;\n barMinWidth: number | string;\n barWidth: number | string;\n barGapInGroup: number | string | (number | string)[];\n }\n ) {\n const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = barWidthSpec;\n let hasBarWidth = false;\n if (isNumber(barMinWidth)) {\n axis.minBandSize = barMinWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barWidth)) {\n axis.minBandSize = barWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barMaxWidth)) {\n axis.minBandSize = barMaxWidth as number;\n hasBarWidth = true;\n }\n if (hasBarWidth) {\n axis.bandSizeLevel = Number.MAX_VALUE; // 影响最底层的 scale\n axis.bandSizeExtend = {\n extend,\n gap: isArray(barGapInGroup) ? barGapInGroup[(barGapInGroup as any[]).length - 1] : barGapInGroup\n };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/base/base-chart-transformer.ts"],"names":[],"mappings":"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","file":"base-chart-transformer.js","sourcesContent":["import { isArray, isNumber, isValid } from '@visactor/vutils';\nimport type { IChartSpec, ISeriesSpec } from '../../typings';\nimport type { IChartSpecInfo, IChartSpecTransformer, IChartSpecTransformerOption } from '../interface';\nimport type { IModelConstructor, IModelSpecInfo } from '../../model/interface';\nimport type { IRegionConstructor, RegionSpec } from '../../region/interface';\nimport { Factory } from '../../core';\nimport type { ISeriesConstructor } from '../../series';\nimport type { IComponentConstructor } from '../../component/interface/common';\nimport { ComponentTypeEnum } from '../../component/interface';\nimport { setProperty } from '@visactor/vutils-extension';\nimport { getRelatedRegionInfo, getRelatedSeriesInfo } from './util';\nimport type { ICartesianBandAxisSpec } from '../..//component/axis/cartesian/interface';\nimport { array } from '../../util';\nimport { getSpecInfo } from '../../component/util';\n\nexport class BaseChartSpecTransformer<T extends IChartSpec> implements IChartSpecTransformer {\n readonly type: string;\n readonly seriesType: string;\n\n protected _option: IChartSpecTransformerOption;\n\n constructor(option: IChartSpecTransformerOption) {\n this._option = option;\n this.type = option.type;\n this.seriesType = option.seriesType;\n }\n\n /** 此方法不建议重写 */\n initChartSpec(chartSpec: T): IChartSpecInfo {\n this.transformSpec(chartSpec);\n return this.transformModelSpec(chartSpec);\n }\n\n /**\n * 转换 chart spec。包含以下步骤:\n * - 将图表 spec 统一转换为 common 图表 spec\n * - 图表层级的在初始化阶段的 spec 修改\n */\n transformSpec(chartSpec: T): void {\n if (!chartSpec.region || chartSpec.region.length === 0) {\n chartSpec.region = [{}];\n }\n if (chartSpec.tooltip === undefined) {\n chartSpec.tooltip = {};\n }\n // 堆积逆序\n if (isValid(chartSpec.stackInverse)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackInverse) && (r.stackInverse = chartSpec.stackInverse);\n });\n }\n // 堆积排序\n if (isValid(chartSpec.stackSort)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackSort) && (r.stackSort = chartSpec.stackSort);\n });\n }\n }\n\n generateTransform(chartSpec: T, isRuntime?: boolean) {\n return (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n // 调用 model 自己的 transformer 进行转换\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n const chartSpecInfoValue = {\n ...specInfo,\n ...transformResult\n };\n if (isRuntime) {\n chartSpecInfoValue.theme = transformer.getTheme(spec, chartSpec);\n } else {\n setProperty(chartSpec, specPath, transformResult.spec);\n }\n setProperty(chartSpecInfo, specInfoPath ?? specPath, chartSpecInfoValue);\n };\n }\n\n /**\n * 转换 model spec。包含以下步骤:\n * - model 层级的主题合并\n * - model 层级的在初始化阶段的 spec 修改,如添加 label spec\n */\n transformModelSpec(chartSpec: T): IChartSpecInfo {\n return this.createSpecInfo(chartSpec, this.generateTransform(chartSpec, false));\n }\n\n /** 遍历图表 spec 中包含的所有的 model,进行 spec 转换并生成图表 spec info */\n createSpecInfo(\n chartSpec: T,\n transform?: (\n /** 当前 model 的类 */\n constructor: IModelConstructor,\n /** 当前 model 的 spec info */\n specInfo: IModelSpecInfo,\n /** 图表 spec info */\n chartSpecInfo?: IChartSpecInfo\n ) => void\n ): IChartSpecInfo {\n if (!transform) {\n transform = this.generateTransform(chartSpec, true);\n }\n\n const currentChartSpecInfo: IChartSpecInfo = {};\n\n /* 预处理 region */\n this.forEachRegionInSpec(chartSpec, transform, currentChartSpecInfo);\n\n /* 预处理 series */\n this.forEachSeriesInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 series 关联的 region\n currentChartSpecInfo.series?.forEach((seriesSpecInfo, i) => {\n const relatedRegion =\n getRelatedRegionInfo(seriesSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n const region = relatedRegion[0];\n if (region) {\n if (!region.seriesIndexes) {\n region.seriesIndexes = [];\n }\n region.seriesIndexes.push(i);\n seriesSpecInfo.regionIndexes = region.regionIndexes.slice();\n }\n });\n\n /* 预处理 component */\n this.forEachComponentInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 component 关联的 region、series\n Object.values(currentChartSpecInfo.component ?? {}).forEach(specInfoList =>\n specInfoList.forEach((componentSpecInfo, i) => {\n if (!componentSpecInfo) {\n return;\n }\n if (!componentSpecInfo.regionIndexes) {\n const relatedRegion =\n getRelatedRegionInfo(componentSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n componentSpecInfo.regionIndexes = relatedRegion.map(region => region.regionIndexes[0]);\n }\n if (!componentSpecInfo.seriesIndexes) {\n const seriesInfo = getRelatedSeriesInfo(componentSpecInfo, currentChartSpecInfo);\n if (!seriesInfo) {\n const seriesIndexSet = new Set<number>();\n (componentSpecInfo.regionIndexes ?? []).forEach(regionIndex => {\n const region = currentChartSpecInfo.region?.[regionIndex];\n region?.seriesIndexes?.forEach(seriesIndex => seriesIndexSet.add(seriesIndex));\n });\n componentSpecInfo.seriesIndexes = Array.from(seriesIndexSet);\n } else {\n componentSpecInfo.seriesIndexes = seriesInfo.map(({ seriesIndexes }) => seriesIndexes[0]);\n }\n }\n })\n );\n return currentChartSpecInfo;\n }\n\n protected _isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(chartSpec: any, pickKeys?: string[], pickKeys2?: string[]) {\n const series: any = {\n dataKey: chartSpec.dataKey,\n\n hover: chartSpec.hover,\n select: chartSpec.select,\n\n label: chartSpec.label,\n\n seriesStyle: chartSpec.seriesStyle,\n\n animation: chartSpec.animation ?? this._option.globalInstance?.isAnimationEnable(),\n animationThreshold: chartSpec.animationThreshold ?? this._option.getTheme?.('animationThreshold'),\n animationAppear: chartSpec.animationAppear,\n animationDisappear: chartSpec.animationDisappear,\n animationEnter: chartSpec.animationEnter,\n animationUpdate: chartSpec.animationUpdate,\n animationExit: chartSpec.animationExit,\n animationNormal: chartSpec.animationNormal,\n animationState: chartSpec.animationState,\n\n extensionMark: chartSpec.extensionMark,\n\n large: chartSpec.large,\n largeThreshold: chartSpec.largeThreshold,\n progressiveStep: chartSpec.progressiveStep,\n progressiveThreshold: chartSpec.progressiveThreshold,\n background: chartSpec.seriesBackground,\n\n invalidType: chartSpec.invalidType,\n\n seriesField: chartSpec.seriesField,\n\n morph: chartSpec.morph,\n\n interactions: chartSpec.interactions\n };\n\n const seriesType = this.seriesType;\n if (seriesType) {\n series.type = seriesType;\n series[seriesType] = (chartSpec as any)[seriesType];\n }\n\n if (pickKeys && pickKeys.length) {\n pickKeys.forEach(k => {\n series[k] = chartSpec[k];\n });\n }\n if (pickKeys2 && pickKeys2.length) {\n pickKeys2.forEach(k => {\n series[k] = chartSpec[k];\n });\n }\n return series;\n }\n\n /** 遍历 spec 中每个有效的 region */\n forEachRegionInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IRegionConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const regionSpec = (chartSpec.region as RegionSpec[]) ?? [];\n return regionSpec.map((spec, index) =>\n callbackfn(\n Factory.getRegionInType('region'),\n {\n spec,\n specPath: ['region', index],\n type: 'region',\n regionIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 series */\n forEachSeriesInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: ISeriesConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const seriesSpec = (chartSpec.series as ISeriesSpec[]) ?? [];\n return seriesSpec.map((spec, index) =>\n callbackfn(\n Factory.getSeriesInType(spec.type),\n {\n spec,\n specPath: ['series', index],\n type: spec.type,\n seriesIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 component */\n forEachComponentInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IComponentConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const results: K[] = [];\n const components = Factory.getComponents();\n\n // 坐标轴组件只需要调用一次\n let cartesianAxis: IComponentConstructor;\n let polarAxis: IComponentConstructor;\n let geoCoordinate: IComponentConstructor;\n let tooltip: IComponentConstructor;\n const otherComponents = [];\n\n for (let index = 0; index < components.length; index++) {\n const { cmp, alwaysCheck } = components[index];\n if (cmp.type.startsWith(ComponentTypeEnum.cartesianAxis)) {\n cartesianAxis = cmp;\n } else if (cmp.type.startsWith(ComponentTypeEnum.polarAxis)) {\n polarAxis = cmp;\n } else if (cmp.type === ComponentTypeEnum.geoCoordinate) {\n geoCoordinate = cmp;\n } else if (alwaysCheck || (chartSpec as any)[cmp.specKey ?? cmp.type]) {\n if (cmp.type === ComponentTypeEnum.tooltip) {\n tooltip = cmp;\n } else {\n otherComponents.push(components[index]);\n }\n }\n }\n\n // NOTE: 坐标轴组件需要在其他组件之前创建\n let hasInitAxis = false;\n if (cartesianAxis) {\n const infoList = cartesianAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (polarAxis && !hasInitAxis) {\n const infoList = polarAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (geoCoordinate && !hasInitAxis) {\n geoCoordinate.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(geoCoordinate, info, chartSpecInfo));\n });\n }\n\n otherComponents.sort((a, b) => {\n return a.createOrder - b.createOrder;\n });\n\n otherComponents.forEach(({ cmp: C }) => {\n (C.getSpecInfo ? C.getSpecInfo(chartSpec, chartSpecInfo) : getSpecInfo(chartSpec, C.specKey, C.type))?.forEach(\n info => {\n results.push(callbackfn(C, info, chartSpecInfo));\n }\n );\n });\n\n // NOTE: tooltip 组件需要在 crosshair 组件之后创建\n if (tooltip) {\n getSpecInfo(chartSpec, tooltip.specKey, tooltip.type)?.forEach(info => {\n results.push(callbackfn(tooltip, info, chartSpecInfo));\n });\n }\n\n return results;\n }\n\n /** 处理series配置 */\n transformSeriesSpec(spec: T): void {\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this._isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n (s as any)[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n\n protected _findBandAxisBySeries(seriesSpec: ISeriesSpec, seriesIndex: number, axesSpec: any) {\n const isHorizontal = (seriesSpec as any)?.direction === 'horizontal';\n const matchOrient = isHorizontal ? ['left', 'right'] : ['top', 'bottom'];\n const targetBandAxis: any = axesSpec.find((axis: any) => {\n if (!matchOrient.includes(axis.orient)) {\n // orient必须匹配\n return false;\n }\n if (isValid(axis.seriesId)) {\n // 1. 通过seriesId绑定\n if (array(axis.seriesId).includes(seriesSpec?.id)) {\n return true;\n }\n } else if (isValid(axis.seriesIndex)) {\n // 2. 通过seriesIndex绑定\n if (array(axis.seriesIndex).includes(seriesIndex)) {\n return true;\n }\n } else if (axis.type === 'band') {\n // 3. 通过axis type识别\n return true;\n }\n // 4. 剩下的情况满足axis orient要求\n return true;\n });\n\n return targetBandAxis;\n }\n\n /**\n * @description bar chart 和 common chart支持autoBandsize, 此方法用于识别barWidth配置后应用到轴上\n * */\n protected _applyAxisBandSize(\n axis: ICartesianBandAxisSpec,\n extend: number,\n barWidthSpec: {\n barMaxWidth: number | string;\n barMinWidth: number | string;\n barWidth: number | string;\n barGapInGroup: number | string | (number | string)[];\n }\n ) {\n const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = barWidthSpec;\n let hasBarWidth = false;\n if (isNumber(barMinWidth)) {\n axis.minBandSize = barMinWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barWidth)) {\n axis.minBandSize = barWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barMaxWidth)) {\n axis.minBandSize = barMaxWidth as number;\n hasBarWidth = true;\n }\n if (hasBarWidth) {\n axis.bandSizeLevel = Number.MAX_VALUE; // 影响最底层的 scale\n axis.bandSizeExtend = {\n extend,\n gap: isArray(barGapInGroup) ? barGapInGroup[(barGapInGroup as any[]).length - 1] : barGapInGroup\n };\n }\n }\n}\n"]}
@@ -30,7 +30,6 @@ export declare class BaseChart<T extends IChartSpec> extends CompilableBase impl
30
30
  protected _regions: IRegion[];
31
31
  protected _series: ISeries[];
32
32
  protected _components: IComponent[];
33
- protected _specTransformer: Maybe<IChartSpecTransformer>;
34
33
  protected _layoutFunc: LayoutCallBack;
35
34
  protected _layoutRect: IRect;
36
35
  getLayoutRect(): IRect;
@@ -119,32 +118,17 @@ export declare class BaseChart<T extends IChartSpec> extends CompilableBase impl
119
118
  updateGlobalScale(result: IUpdateSpecResult): void;
120
119
  updateGlobalScaleTheme(): void;
121
120
  private _getSpecKeys;
122
- updateSpec(spec: T): IUpdateSpecResult;
121
+ updateSpec(spec: T): {
122
+ change: boolean;
123
+ reMake: boolean;
124
+ reRender: boolean;
125
+ reSize: boolean;
126
+ reCompile: boolean;
127
+ };
123
128
  updateChartConfig(result: IUpdateSpecResult, oldSpec: IChartSpec): void;
124
129
  updateDataSpec(): void;
125
130
  updateRegionSpec(result: IUpdateSpecResult): void;
126
- updateComponentSpec(result: IUpdateSpecResult): {
127
- componentOnlyUpdatedComponents: IComponent[];
128
- hasNonComponentOnlyUpdate: boolean;
129
- };
130
- private _canChangeMarkerComponentsWithoutRemake;
131
- private _canAddMarkerComponentsWithoutRemake;
132
- private _isMarkerAdditionSpecSafeWithoutRemake;
133
- private _isAutoRangeMarkerSpec;
134
- private _canRemoveMarkerComponentsWithoutRemake;
135
- private _isOnlyMarkerComponentsRemoved;
136
- private _isComponentSpecKey;
137
- private _isOnlyComponentSpecsChanged;
138
- private _isOnlySeriesSpecsChanged;
139
- private _isOnlyComponentOrSeriesSpecsChanged;
140
- private _canSkipChartDataStages;
141
- private _isComponentScaleDomainOnlyUpdate;
142
- private _reRunStackDataFlow;
143
- private _getModelSpecIndex;
144
- private _hasComponentForSpecInfo;
145
- private _createMissingMarkerComponentsForSpecs;
146
- private _removeMarkerComponentsForEmptySpecs;
147
- private _removeComponent;
131
+ updateComponentSpec(result: IUpdateSpecResult): void;
148
132
  updateSeriesSpec(result: IUpdateSpecResult): void;
149
133
  getCanvas(): HTMLCanvasElement;
150
134
  private _updateLayoutRect;
@@ -158,7 +142,7 @@ export declare class BaseChart<T extends IChartSpec> extends CompilableBase impl
158
142
  compileRegions(): void;
159
143
  compileSeries(): void;
160
144
  compileComponents(): void;
161
- release(forceReleaseVRenderComponents?: boolean): void;
145
+ release(): void;
162
146
  onLayout(): void;
163
147
  updateState(state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>, filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean): void;
164
148
  setSelected(datum: MaybeArray<any> | null, filter?: (series: ISeries, mark: IMark) => boolean, region?: IRegionQuerier): void;
@@ -38,7 +38,7 @@ import { ChartEvent, HOOK_EVENT } from "../../constant/event";
38
38
 
39
39
  import { DimensionEventEnum } from "../../event/events/dimension/interface";
40
40
 
41
- import { calculateChartSize, isUpdateSpecResultComponentOnly, isUpdateSpecResultLocalOnly, mergeUpdateResult } from "../util";
41
+ import { calculateChartSize, mergeUpdateResult } from "../util";
42
42
 
43
43
  import { isDiscrete } from "@visactor/vscale";
44
44
 
@@ -50,19 +50,6 @@ import { Interaction } from "../../interaction/interaction";
50
50
 
51
51
  import { animationConfig, userAnimationConfig } from "../../animation/utils";
52
52
 
53
- const MARKER_COMPONENT_SPEC_KEYS = {
54
- [ComponentTypeEnum.markPoint]: !0,
55
- [ComponentTypeEnum.markLine]: !0,
56
- [ComponentTypeEnum.markArea]: !0
57
- }, MARKER_ADDITION_REMAKE_SPEC_KEYS = {
58
- regionId: !0,
59
- regionIndex: !0,
60
- seriesId: !0,
61
- seriesIndex: !0,
62
- specifiedDataSeriesId: !0,
63
- specifiedDataSeriesIndex: !0
64
- };
65
-
66
53
  export class BaseChart extends CompilableBase {
67
54
  getSpec() {
68
55
  return this._spec;
@@ -107,7 +94,7 @@ export class BaseChart extends CompilableBase {
107
94
  constructor(spec, option) {
108
95
  var _a, _b, _c, _d;
109
96
  super(option), this.type = "chart", this.id = createID(), this._regions = [], this._series = [],
110
- this._components = [], this._specTransformer = null, this._layoutRect = {
97
+ this._components = [], this._layoutRect = {
111
98
  x: 0,
112
99
  y: 0,
113
100
  width: DEFAULT_CHART_WIDTH,
@@ -149,11 +136,7 @@ export class BaseChart extends CompilableBase {
149
136
  const component = this._components.find((s => s.userId === userId));
150
137
  if (component) return component;
151
138
  }, this.getComponentsByType = type => this._components.filter((c => c.type === type)),
152
- this._isMarkerAdditionSpecSafeWithoutRemake = spec => {
153
- if (!spec || "object" != typeof spec) return !1;
154
- const markerSpec = spec;
155
- return !1 !== markerSpec.visible && !Object.keys(MARKER_ADDITION_REMAKE_SPEC_KEYS).some((key => !isNil(markerSpec[key])));
156
- }, this._paddingSpec = normalizeLayoutPaddingSpec(null !== (_a = spec.padding) && void 0 !== _a ? _a : option.getTheme("padding")),
139
+ this._paddingSpec = normalizeLayoutPaddingSpec(null !== (_a = spec.padding) && void 0 !== _a ? _a : option.getTheme("padding")),
157
140
  this._event = new Event(option.eventDispatcher, option.mode), this._dataSet = option.dataSet,
158
141
  this._chartData = new ChartData(this._dataSet), this._modelOption = Object.assign(Object.assign({}, option), {
159
142
  mode: this._option.mode,
@@ -170,8 +153,8 @@ export class BaseChart extends CompilableBase {
170
153
  }), this._setModelOption && this._setModelOption(), this._spec = spec;
171
154
  }
172
155
  created(transformer) {
173
- this._specTransformer = transformer, this._chartData.parseData(this._spec.data),
174
- this._createGlobalScale(), this._createBackground(), this._createLayout(), transformer.forEachRegionInSpec(this._spec, this._createRegion.bind(this)),
156
+ this._chartData.parseData(this._spec.data), this._createGlobalScale(), this._createBackground(),
157
+ this._createLayout(), transformer.forEachRegionInSpec(this._spec, this._createRegion.bind(this)),
175
158
  transformer.forEachSeriesInSpec(this._spec, this._createSeries.bind(this)), transformer.forEachComponentInSpec(this._spec, this._createComponent.bind(this), this._option.getSpecInfo());
176
159
  }
177
160
  _initInteractions() {
@@ -463,14 +446,11 @@ export class BaseChart extends CompilableBase {
463
446
  _getSpecKeys(spec) {
464
447
  const ignoreKeys = {
465
448
  width: !0,
466
- height: !0,
467
- xField: !0,
468
- yField: !0
449
+ height: !0
469
450
  };
470
451
  return Object.keys(spec).filter((key => !ignoreKeys[key])).sort();
471
452
  }
472
453
  updateSpec(spec) {
473
- var _a, _b;
474
454
  const result = {
475
455
  change: !1,
476
456
  reMake: !1,
@@ -478,34 +458,20 @@ export class BaseChart extends CompilableBase {
478
458
  reSize: !1,
479
459
  reCompile: !1
480
460
  };
481
- if (spec.type !== this.type) return result.reMake = !0, this.setLayoutTag(!0, null, !1),
461
+ if (this.setLayoutTag(!0, null, !1), spec.type !== this.type) return result.reMake = !0,
482
462
  result;
483
463
  const currentKeys = this._getSpecKeys(this._spec), nextKeys = this._getSpecKeys(spec);
484
- if (!isEqual(currentKeys, nextKeys)) return result.reMake = !0, this.setLayoutTag(!0, null, !1),
485
- result;
464
+ if (!isEqual(currentKeys, nextKeys)) return result.reMake = !0, result;
486
465
  for (let i = 0; i < currentKeys.length; i++) {
487
- const key = currentKeys[i], currentSpec = this._spec[key], nextSpec = spec[key];
488
- if (isArray(currentSpec) && currentSpec.length !== array(nextSpec).length && !this._canChangeMarkerComponentsWithoutRemake(key, currentSpec, nextSpec)) return result.reMake = !0,
489
- this.setLayoutTag(!0, null, !1), result;
466
+ const key = currentKeys[i];
467
+ if (isArray(this._spec[key]) && this._spec[key].length !== array(spec[key]).length) return result.reMake = !0,
468
+ result;
490
469
  }
491
- const oldSpec = this._spec, onlyMarkerComponentsRemoved = this._isOnlyMarkerComponentsRemoved(this._spec, spec, currentKeys), onlyComponentSpecsChanged = this._isOnlyComponentSpecsChanged(this._spec, spec, currentKeys), onlySeriesSpecsChanged = this._isOnlySeriesSpecsChanged(this._spec, spec, currentKeys), onlyComponentOrSeriesSpecsChanged = !(!onlyComponentSpecsChanged && !onlySeriesSpecsChanged) || this._isOnlyComponentOrSeriesSpecsChanged(this._spec, spec, currentKeys);
492
- if (this._spec = spec, onlyMarkerComponentsRemoved) return this._removeMarkerComponentsForEmptySpecs(result),
493
- result;
494
- if (this.updateChartConfig(result, oldSpec), result.reMake) return this.setLayoutTag(!0, null, !1),
495
- result;
496
- if (this.updateGlobalScale(result), result.reMake) return this.setLayoutTag(!0, null, !1),
497
- result;
498
- if (this.updateRegionSpec(result), result.reMake) return this.setLayoutTag(!0, null, !1),
499
- result;
500
- const componentUpdateResult = this.updateComponentSpec(result);
501
- return result.reMake ? (this.setLayoutTag(!0, null, !1), result) : (!onlyComponentSpecsChanged && (null === (_a = result.effects) || void 0 === _a ? void 0 : _a.localOnly) && delete result.effects.localOnly,
502
- isUpdateSpecResultLocalOnly(result) ? result : onlyComponentSpecsChanged && !componentUpdateResult.hasNonComponentOnlyUpdate && (isUpdateSpecResultComponentOnly(result) || this._isComponentScaleDomainOnlyUpdate(result)) ? (componentUpdateResult.componentOnlyUpdatedComponents.forEach((component => {
503
- component.reInit(component.getSpec());
504
- })), (null === (_b = result.effects) || void 0 === _b ? void 0 : _b.layout) && this.setLayoutTag(!0, null, !1),
505
- result) : (this.setLayoutTag(!0, null, !1), this.updateSeriesSpec(result), result.reMake || (this.reInit(),
506
- onlyComponentOrSeriesSpecsChanged && this._canSkipChartDataStages(result) || (this.updateDataSpec(),
507
- this.reDataFlow(), this._reRunStackDataFlow(), this.getAllModels().forEach((model => model.onDataUpdate())))),
508
- result));
470
+ const oldSpec = this._spec;
471
+ return this._spec = spec, this.updateChartConfig(result, oldSpec), result.reMake ? result : (this.updateGlobalScale(result),
472
+ result.reMake ? result : (this.updateRegionSpec(result), result.reMake ? result : (this.updateComponentSpec(result),
473
+ result.reMake ? result : (this.updateSeriesSpec(result), result.reMake || (this.reInit(),
474
+ this.updateDataSpec(), this.updateGlobalScaleDomain()), result))));
509
475
  }
510
476
  updateChartConfig(result, oldSpec) {
511
477
  var _a, _b;
@@ -522,165 +488,33 @@ export class BaseChart extends CompilableBase {
522
488
  })) : result.reMake = !0);
523
489
  }
524
490
  updateComponentSpec(result) {
525
- const componentOnlyUpdatedComponents = [];
526
- let hasNonComponentOnlyUpdate = !1;
527
491
  const componentCache = {}, checkVisibleComponents = {
528
492
  [ComponentTypeEnum.title]: !0,
529
493
  [ComponentTypeEnum.brush]: !0,
530
494
  [ComponentTypeEnum.indicator]: !0
531
- }, removedComponents = [];
532
- let hasNonLocalComponentRemoval = !1;
495
+ };
533
496
  this._components.forEach((c => {
534
497
  var _a, _b;
535
- if (c.type === ComponentTypeEnum.label || c.type === ComponentTypeEnum.totalLabel) return void (c.getSpecInfo() || (removedComponents.push(c),
536
- hasNonLocalComponentRemoval = !0, hasNonComponentOnlyUpdate = !0));
498
+ if (c.type === ComponentTypeEnum.label || c.type === ComponentTypeEnum.totalLabel) return;
537
499
  checkVisibleComponents[c.type] && (checkVisibleComponents[c.type] = !1);
538
500
  const compSpecKey = c.specKey || c.type, cmpSpec = null !== (_a = this._spec[compSpecKey]) && void 0 !== _a ? _a : {};
539
- if (isArray(cmpSpec)) {
540
- if (componentCache[compSpecKey] = componentCache[compSpecKey] || {
541
- specCount: cmpSpec.length,
542
- componentCount: 0
543
- }, this._canRemoveMarkerComponentsWithoutRemake(compSpecKey, [ c.getSpec() ], cmpSpec)) return void removedComponents.push(c);
544
- componentCache[compSpecKey].componentCount++;
545
- const componentSpec = null !== (_b = cmpSpec[c.getSpecIndex()]) && void 0 !== _b ? _b : {}, previousComponentSpec = c.getSpec(), componentResult = c.updateSpec(componentSpec, cmpSpec);
546
- isUpdateSpecResultComponentOnly(componentResult) || this._isComponentScaleDomainOnlyUpdate(componentResult) ? componentOnlyUpdatedComponents.push(c) : isEqual(previousComponentSpec, componentSpec) || (hasNonComponentOnlyUpdate = !0),
547
- mergeUpdateResult(result, componentResult);
548
- } else {
549
- const previousComponentSpec = c.getSpec(), componentResult = c.updateSpec(cmpSpec);
550
- isUpdateSpecResultComponentOnly(componentResult) || this._isComponentScaleDomainOnlyUpdate(componentResult) ? componentOnlyUpdatedComponents.push(c) : isEqual(previousComponentSpec, cmpSpec) || (hasNonComponentOnlyUpdate = !0),
551
- mergeUpdateResult(result, componentResult);
552
- }
553
- })), result.reMake || this._createMissingMarkerComponentsForSpecs(result, componentCache);
501
+ isArray(cmpSpec) ? (componentCache[compSpecKey] = componentCache[compSpecKey] || {
502
+ specCount: cmpSpec.length,
503
+ componentCount: 0
504
+ }, componentCache[compSpecKey].componentCount++, mergeUpdateResult(result, c.updateSpec(null !== (_b = cmpSpec[c.getSpecIndex()]) && void 0 !== _b ? _b : {}, cmpSpec))) : mergeUpdateResult(result, c.updateSpec(cmpSpec));
505
+ }));
554
506
  for (const key in componentCache) if (Object.prototype.hasOwnProperty.call(componentCache, key)) {
555
507
  const element = componentCache[key];
556
508
  element.componentCount !== element.specCount && (result.reMake = !0);
557
509
  }
558
- removedComponents.length && (removedComponents.forEach((component => {
559
- this._removeComponent(component);
560
- })), result.change = !0, result.effects = Object.assign(Object.assign(Object.assign({}, result.effects), {
561
- component: !0
562
- }), hasNonLocalComponentRemoval ? {
563
- layout: !0,
564
- render: !0
565
- } : {
566
- localOnly: !0
567
- }));
568
510
  const isVisible = compSpec => compSpec && !1 !== compSpec.visible;
569
- return Object.keys(checkVisibleComponents).forEach((type => {
511
+ Object.keys(checkVisibleComponents).forEach((type => {
570
512
  if (checkVisibleComponents[type]) {
571
513
  const compSpec = this._spec[type];
572
514
  (isArray(compSpec) ? compSpec.some(isVisible) : isVisible(compSpec)) && (result.reMake = !0);
573
515
  }
574
- })), {
575
- componentOnlyUpdatedComponents: componentOnlyUpdatedComponents,
576
- hasNonComponentOnlyUpdate: hasNonComponentOnlyUpdate
577
- };
578
- }
579
- _canChangeMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
580
- return this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) || this._canAddMarkerComponentsWithoutRemake(key, currentSpec, nextSpec);
581
- }
582
- _canAddMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
583
- return !!(MARKER_COMPONENT_SPEC_KEYS[key] && isArray(currentSpec) && isArray(nextSpec)) && (!(nextSpec.length <= currentSpec.length) && nextSpec.slice(currentSpec.length).every(this._isMarkerAdditionSpecSafeWithoutRemake));
584
- }
585
- _isAutoRangeMarkerSpec(spec) {
586
- return !!spec && "object" == typeof spec && !0 === spec.autoRange;
587
- }
588
- _canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
589
- return MARKER_COMPONENT_SPEC_KEYS[key] && isArray(currentSpec) && currentSpec.length > 0 && isArray(nextSpec) && 0 === nextSpec.length;
590
- }
591
- _isOnlyMarkerComponentsRemoved(currentSpec, nextSpec, specKeys) {
592
- let hasMarkerRemoval = !1;
593
- const onlyMarkerRemoval = specKeys.every((key => this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec[key], nextSpec[key]) ? (hasMarkerRemoval = !0,
594
- !0) : isEqual(currentSpec[key], nextSpec[key])));
595
- return hasMarkerRemoval && onlyMarkerRemoval;
596
- }
597
- _isComponentSpecKey(key) {
598
- return !!MARKER_COMPONENT_SPEC_KEYS[key] || this._components.some((component => (component.specKey || component.type) === key));
599
- }
600
- _isOnlyComponentSpecsChanged(currentSpec, nextSpec, specKeys) {
601
- let hasComponentSpecChange = !1;
602
- const currentSpecRecord = currentSpec, nextSpecRecord = nextSpec, onlyComponentSpecChange = specKeys.every((key => !!isEqual(currentSpecRecord[key], nextSpecRecord[key]) || !!this._isComponentSpecKey(key) && (hasComponentSpecChange = !0,
603
- !0)));
604
- return hasComponentSpecChange && onlyComponentSpecChange;
605
- }
606
- _isOnlySeriesSpecsChanged(currentSpec, nextSpec, specKeys) {
607
- var _a, _b;
608
- let hasSeriesSpecChange = !1;
609
- const currentSpecRecord = currentSpec, nextSpecRecord = nextSpec, seriesRelatedSpecKeys = null !== (_b = null === (_a = this._specTransformer) || void 0 === _a ? void 0 : _a.getSeriesRelatedSpecKeys()) && void 0 !== _b ? _b : {}, onlySeriesSpecChange = specKeys.every((key => !!isEqual(currentSpecRecord[key], nextSpecRecord[key]) || !!seriesRelatedSpecKeys[key] && (hasSeriesSpecChange = !0,
610
- !0)));
611
- return hasSeriesSpecChange && onlySeriesSpecChange;
612
- }
613
- _isOnlyComponentOrSeriesSpecsChanged(currentSpec, nextSpec, specKeys) {
614
- var _a, _b;
615
- let hasComponentOrSeriesSpecChange = !1;
616
- const currentSpecRecord = currentSpec, nextSpecRecord = nextSpec, seriesRelatedSpecKeys = null !== (_b = null === (_a = this._specTransformer) || void 0 === _a ? void 0 : _a.getSeriesRelatedSpecKeys()) && void 0 !== _b ? _b : {}, onlyComponentOrSeriesSpecChange = specKeys.every((key => !!isEqual(currentSpecRecord[key], nextSpecRecord[key]) || !(!this._isComponentSpecKey(key) && !seriesRelatedSpecKeys[key]) && (hasComponentOrSeriesSpecChange = !0,
617
- !0)));
618
- return hasComponentOrSeriesSpecChange && onlyComponentOrSeriesSpecChange;
619
- }
620
- _canSkipChartDataStages(result) {
621
- const effects = result.effects;
622
- return !(!(null == effects ? void 0 : effects.series) || effects.remake || effects.data || effects.scaleDomain || result.reMake);
623
- }
624
- _isComponentScaleDomainOnlyUpdate(result) {
625
- const effects = result.effects;
626
- return !(!(null == effects ? void 0 : effects.component) || !effects.scaleDomain || result.reMake || result.reCompile || result.reSize || effects.remake || effects.compile || effects.data || effects.series || effects.animation || result.reTransformSpec || result.reAnimate || result.changeTheme || result.changeBackground);
627
- }
628
- _reRunStackDataFlow() {
629
- var _a, _b;
630
- this._series.some((series => {
631
- var _a;
632
- return null === (_a = series.getStack) || void 0 === _a ? void 0 : _a.call(series);
633
- })) && (null === (_b = null === (_a = this._stack) || void 0 === _a ? void 0 : _a.stackAll) || void 0 === _b || _b.call(_a),
634
- this._series.forEach((series => {
635
- series.getViewDataFilter() && series.reTransformViewData();
636
- })));
637
- }
638
- _getModelSpecIndex(specInfo) {
639
- var _a;
640
- const specPath = null !== (_a = specInfo.specPath) && void 0 !== _a ? _a : [], specIndex = specPath[specPath.length - 1];
641
- return "number" == typeof specIndex ? specIndex : 0;
642
- }
643
- _hasComponentForSpecInfo(key, specInfo) {
644
- const specIndex = this._getModelSpecIndex(specInfo);
645
- return this._components.some((component => (component.specKey || component.type) === key && component.getSpecIndex() === specIndex));
646
- }
647
- _createMissingMarkerComponentsForSpecs(result, componentCache) {
648
- var _a;
649
- let createdCount = 0, hasAutoRangeMarker = !1;
650
- null === (_a = this._specTransformer) || void 0 === _a || _a.forEachComponentInSpec(this._spec, ((constructor, specInfo) => {
651
- if (result.reMake) return;
652
- const compSpecKey = constructor.specKey || constructor.type;
653
- MARKER_COMPONENT_SPEC_KEYS[compSpecKey] && !this._hasComponentForSpecInfo(compSpecKey, specInfo) && (this._isMarkerAdditionSpecSafeWithoutRemake(specInfo.spec) ? (this._createComponent(constructor, specInfo),
654
- componentCache[compSpecKey] && componentCache[compSpecKey].componentCount++, createdCount++,
655
- hasAutoRangeMarker = hasAutoRangeMarker || this._isAutoRangeMarkerSpec(specInfo.spec)) : result.reMake = !0);
656
- }), this._option.getSpecInfo()), createdCount && (result.change = !0, result.effects = Object.assign(Object.assign(Object.assign(Object.assign({}, result.effects), {
657
- component: !0
658
- }), hasAutoRangeMarker ? {
659
- scaleDomain: !0
660
- } : null), {
661
- layout: !0,
662
- render: !0
663
516
  }));
664
517
  }
665
- _removeMarkerComponentsForEmptySpecs(result) {
666
- const removedComponents = this._components.filter((component => {
667
- var _a;
668
- const compSpecKey = component.specKey || component.type, cmpSpec = null !== (_a = this._spec[compSpecKey]) && void 0 !== _a ? _a : {};
669
- return this._canRemoveMarkerComponentsWithoutRemake(compSpecKey, [ component.getSpec() ], cmpSpec);
670
- }));
671
- removedComponents.length && (removedComponents.forEach((component => {
672
- this._removeComponent(component);
673
- })), result.change = !0, result.effects = Object.assign(Object.assign({}, result.effects), {
674
- component: !0,
675
- localOnly: !0
676
- }));
677
- }
678
- _removeComponent(component) {
679
- this._components = this._components.filter((c => c !== component)), this._idMap.delete(component.id),
680
- component.getMarks().forEach((mark => {
681
- this.getCompiler().removeRootMark(mark);
682
- })), component.release();
683
- }
684
518
  updateSeriesSpec(result) {
685
519
  this._spec.series.length === this._series.length ? this._series.forEach((s => {
686
520
  const spec = this._spec.series[s.getSpecIndex()];
@@ -776,8 +610,8 @@ export class BaseChart extends CompilableBase {
776
610
  c.compile();
777
611
  })), null === (_d = null === (_c = this._option.performanceHook) || void 0 === _c ? void 0 : _c.afterComponentCompile) || void 0 === _d || _d.call(_c, this._option.globalInstance);
778
612
  }
779
- release(forceReleaseVRenderComponents = !0) {
780
- forceReleaseVRenderComponents && [ ...this._components, ...this._regions, ...this._series ].forEach((m => {
613
+ release() {
614
+ [ ...this._components, ...this._regions, ...this._series ].forEach((m => {
781
615
  m.beforeRelease();
782
616
  })), super.release(), this.clear(), [ ...this._components, ...this._regions, ...this._series ].forEach((m => {
783
617
  m.release();