@visactor/vchart 2.1.0-alpha.0 → 2.1.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +5977 -3297
  3. package/build/index.js +5977 -3297
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/base/base-chart-transformer.d.ts +3 -0
  7. package/cjs/chart/base/base-chart-transformer.js +23 -3
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +25 -9
  10. package/cjs/chart/base/base-chart.js +199 -27
  11. package/cjs/chart/base/base-chart.js.map +1 -1
  12. package/cjs/chart/gauge/gauge-transformer.js +3 -2
  13. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  14. package/cjs/chart/interface/chart.d.ts +1 -0
  15. package/cjs/chart/interface/chart.js.map +1 -1
  16. package/cjs/chart/pie/base/pie-transformer.js +2 -2
  17. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  18. package/cjs/chart/polar/polar-transformer.js +1 -1
  19. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  20. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  21. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  22. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -1
  23. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  24. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  25. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  26. package/cjs/chart/radar/radar-transformer.js +3 -2
  27. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  28. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  29. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  30. package/cjs/chart/rose/rose-transformer.js +2 -1
  31. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  32. package/cjs/chart/util.d.ts +4 -1
  33. package/cjs/chart/util.js +40 -4
  34. package/cjs/chart/util.js.map +1 -1
  35. package/cjs/chart/waterfall/waterfall-transformer.js +2 -1
  36. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  37. package/cjs/compile/compiler.js +11 -9
  38. package/cjs/compile/compiler.js.map +1 -1
  39. package/cjs/compile/data/compilable-data.d.ts +1 -1
  40. package/cjs/compile/data/compilable-data.js +1 -1
  41. package/cjs/compile/data/compilable-data.js.map +1 -1
  42. package/cjs/compile/grammar-item.d.ts +1 -1
  43. package/cjs/compile/grammar-item.js.map +1 -1
  44. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  45. package/cjs/compile/interface/compilable-item.js.map +1 -1
  46. package/cjs/component/axis/base-axis.d.ts +2 -7
  47. package/cjs/component/axis/base-axis.js +26 -6
  48. package/cjs/component/axis/base-axis.js.map +1 -1
  49. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -7
  50. package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -10
  51. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  52. package/cjs/component/axis/polar/band-axis.d.ts +2 -0
  53. package/cjs/component/axis/polar/band-axis.js +3 -0
  54. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  55. package/cjs/component/axis/polar/linear-axis.js +3 -0
  56. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  57. package/cjs/component/base/base-component.d.ts +7 -7
  58. package/cjs/component/base/base-component.js +41 -6
  59. package/cjs/component/base/base-component.js.map +1 -1
  60. package/cjs/component/base/release-vrender-component.d.ts +10 -0
  61. package/cjs/component/base/release-vrender-component.js +37 -0
  62. package/cjs/component/base/release-vrender-component.js.map +1 -0
  63. package/cjs/component/brush/brush.d.ts +3 -7
  64. package/cjs/component/brush/brush.js +22 -5
  65. package/cjs/component/brush/brush.js.map +1 -1
  66. package/cjs/component/crosshair/base.d.ts +4 -7
  67. package/cjs/component/crosshair/base.js +30 -2
  68. package/cjs/component/crosshair/base.js.map +1 -1
  69. package/cjs/component/custom-mark/custom-mark.d.ts +4 -7
  70. package/cjs/component/custom-mark/custom-mark.js +27 -3
  71. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  72. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -7
  73. package/cjs/component/data-zoom/data-filter-base-component.js +15 -2
  74. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  75. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  76. package/cjs/component/data-zoom/data-zoom/data-zoom.js +19 -1
  77. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  78. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  79. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  80. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  81. package/cjs/component/geo/geo-coordinate.d.ts +1 -7
  82. package/cjs/component/index.js +1 -2
  83. package/cjs/component/indicator/indicator.d.ts +1 -0
  84. package/cjs/component/indicator/indicator.js +11 -2
  85. package/cjs/component/indicator/indicator.js.map +1 -1
  86. package/cjs/component/indicator/util.d.ts +4 -3
  87. package/cjs/component/indicator/util.js +1 -1
  88. package/cjs/component/indicator/util.js.map +1 -1
  89. package/cjs/component/label/base-label.d.ts +1 -7
  90. package/cjs/component/label/base-label.js +6 -2
  91. package/cjs/component/label/base-label.js.map +1 -1
  92. package/cjs/component/label/label.js +1 -1
  93. package/cjs/component/label/label.js.map +1 -1
  94. package/cjs/component/legend/base-legend.d.ts +2 -7
  95. package/cjs/component/legend/base-legend.js +20 -3
  96. package/cjs/component/legend/base-legend.js.map +1 -1
  97. package/cjs/component/marker/base-marker.d.ts +14 -7
  98. package/cjs/component/marker/base-marker.js +108 -12
  99. package/cjs/component/marker/base-marker.js.map +1 -1
  100. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  101. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  102. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  103. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  104. package/cjs/component/marker/mark-line/base-mark-line.js +2 -4
  105. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  106. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  107. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  108. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  109. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  110. package/cjs/component/marker/mark-point/base-mark-point.js +20 -6
  111. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  112. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  113. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  114. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  115. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  116. package/cjs/component/marker/utils.d.ts +4 -4
  117. package/cjs/component/marker/utils.js +27 -23
  118. package/cjs/component/marker/utils.js.map +1 -1
  119. package/cjs/component/player/player.d.ts +1 -0
  120. package/cjs/component/player/player.js +10 -0
  121. package/cjs/component/player/player.js.map +1 -1
  122. package/cjs/component/title/title.d.ts +1 -7
  123. package/cjs/component/title/title.js +6 -2
  124. package/cjs/component/title/title.js.map +1 -1
  125. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  126. package/cjs/component/tooltip/tooltip.js +8 -0
  127. package/cjs/component/tooltip/tooltip.js.map +1 -1
  128. package/cjs/constant/attribute.js +2 -1
  129. package/cjs/constant/scatter.js +1 -2
  130. package/cjs/constant/waterfall.js +2 -1
  131. package/cjs/core/expression-function.js +1 -1
  132. package/cjs/core/vchart.d.ts +5 -1
  133. package/cjs/core/vchart.js +29 -17
  134. package/cjs/core/vchart.js.map +1 -1
  135. package/cjs/data/data-view-utils.d.ts +5 -0
  136. package/cjs/data/data-view-utils.js +58 -0
  137. package/cjs/data/data-view-utils.js.map +1 -0
  138. package/cjs/data/initialize.js +1 -1
  139. package/cjs/data/register.js +1 -1
  140. package/cjs/data/transforms/box-plot.d.ts +4 -1
  141. package/cjs/data/transforms/box-plot.js +3 -3
  142. package/cjs/data/transforms/box-plot.js.map +1 -1
  143. package/cjs/data/transforms/correlation-center.d.ts +11 -4
  144. package/cjs/data/transforms/correlation-center.js +3 -2
  145. package/cjs/data/transforms/correlation-center.js.map +1 -1
  146. package/cjs/data/transforms/correlation.d.ts +18 -15
  147. package/cjs/data/transforms/correlation.js +22 -17
  148. package/cjs/data/transforms/correlation.js.map +1 -1
  149. package/cjs/data/transforms/funnel.d.ts +10 -8
  150. package/cjs/data/transforms/funnel.js +4 -3
  151. package/cjs/data/transforms/funnel.js.map +1 -1
  152. package/cjs/data/transforms/lookup.d.ts +3 -3
  153. package/cjs/data/transforms/lookup.js +12 -7
  154. package/cjs/data/transforms/lookup.js.map +1 -1
  155. package/cjs/data/transforms/map.d.ts +8 -2
  156. package/cjs/data/transforms/map.js +9 -6
  157. package/cjs/data/transforms/map.js.map +1 -1
  158. package/cjs/data/transforms/sankey.d.ts +12 -4
  159. package/cjs/data/transforms/sankey.js +18 -13
  160. package/cjs/data/transforms/sankey.js.map +1 -1
  161. package/cjs/data/transforms/stack-split.d.ts +2 -1
  162. package/cjs/data/transforms/stack-split.js +1 -1
  163. package/cjs/data/transforms/stack-split.js.map +1 -1
  164. package/cjs/data/transforms/treemap.d.ts +5 -3
  165. package/cjs/data/transforms/treemap.js +7 -6
  166. package/cjs/data/transforms/treemap.js.map +1 -1
  167. package/cjs/data/transforms/venn.d.ts +4 -2
  168. package/cjs/data/transforms/venn.js +4 -4
  169. package/cjs/data/transforms/venn.js.map +1 -1
  170. package/cjs/data/transforms/waterfall.d.ts +4 -2
  171. package/cjs/data/transforms/waterfall.js +7 -7
  172. package/cjs/data/transforms/waterfall.js.map +1 -1
  173. package/cjs/env/env.js +1 -1
  174. package/cjs/env/index.js +1 -1
  175. package/cjs/event/event.d.ts +4 -0
  176. package/cjs/event/event.js +26 -7
  177. package/cjs/event/event.js.map +1 -1
  178. package/cjs/mark/base/base-mark.d.ts +12 -2
  179. package/cjs/mark/base/base-mark.js +86 -23
  180. package/cjs/mark/base/base-mark.js.map +1 -1
  181. package/cjs/mark/component.d.ts +9 -0
  182. package/cjs/mark/component.js +51 -3
  183. package/cjs/mark/component.js.map +1 -1
  184. package/cjs/mark/group.js +1 -1
  185. package/cjs/mark/group.js.map +1 -1
  186. package/cjs/mark/interface/mark.d.ts +2 -0
  187. package/cjs/mark/interface/mark.js.map +1 -1
  188. package/cjs/model/base-model.d.ts +3 -15
  189. package/cjs/model/base-model.js.map +1 -1
  190. package/cjs/model/interface.d.ts +13 -0
  191. package/cjs/model/interface.js.map +1 -1
  192. package/cjs/region/region.d.ts +1 -7
  193. package/cjs/scale/color-ordinal-scale.d.ts +1 -0
  194. package/cjs/scale/color-ordinal-scale.js +3 -0
  195. package/cjs/scale/color-ordinal-scale.js.map +1 -1
  196. package/cjs/scale/global-scale.js +9 -2
  197. package/cjs/scale/global-scale.js.map +1 -1
  198. package/cjs/series/area/area.d.ts +2 -0
  199. package/cjs/series/area/area.js +6 -0
  200. package/cjs/series/area/area.js.map +1 -1
  201. package/cjs/series/bar/bar.d.ts +3 -0
  202. package/cjs/series/bar/bar.js +30 -4
  203. package/cjs/series/bar/bar.js.map +1 -1
  204. package/cjs/series/base/base-series.d.ts +10 -7
  205. package/cjs/series/base/base-series.js +78 -18
  206. package/cjs/series/base/base-series.js.map +1 -1
  207. package/cjs/series/base/constant.d.ts +3 -0
  208. package/cjs/series/base/constant.js +9 -1
  209. package/cjs/series/base/constant.js.map +1 -1
  210. package/cjs/series/box-plot/box-plot.d.ts +2 -0
  211. package/cjs/series/box-plot/box-plot.js +16 -4
  212. package/cjs/series/box-plot/box-plot.js.map +1 -1
  213. package/cjs/series/correlation/correlation.js +13 -11
  214. package/cjs/series/correlation/correlation.js.map +1 -1
  215. package/cjs/series/dot/dot.d.ts +12 -0
  216. package/cjs/series/dot/dot.js +16 -1
  217. package/cjs/series/dot/dot.js.map +1 -1
  218. package/cjs/series/funnel/funnel.js +5 -8
  219. package/cjs/series/funnel/funnel.js.map +1 -1
  220. package/cjs/series/heatmap/heatmap.d.ts +2 -0
  221. package/cjs/series/heatmap/heatmap.js +10 -0
  222. package/cjs/series/heatmap/heatmap.js.map +1 -1
  223. package/cjs/series/line/line.d.ts +2 -0
  224. package/cjs/series/line/line.js +6 -0
  225. package/cjs/series/line/line.js.map +1 -1
  226. package/cjs/series/map/map.js +3 -3
  227. package/cjs/series/map/map.js.map +1 -1
  228. package/cjs/series/mixin/line-mixin.d.ts +1 -0
  229. package/cjs/series/mixin/line-mixin.js +6 -1
  230. package/cjs/series/mixin/line-mixin.js.map +1 -1
  231. package/cjs/series/pie/pie.d.ts +3 -7
  232. package/cjs/series/pie/pie.js +16 -1
  233. package/cjs/series/pie/pie.js.map +1 -1
  234. package/cjs/series/polar/progress-like/progress-like.d.ts +2 -0
  235. package/cjs/series/polar/progress-like/progress-like.js +16 -1
  236. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  237. package/cjs/series/polar/rose-like/rose-like.d.ts +2 -0
  238. package/cjs/series/polar/rose-like/rose-like.js +15 -1
  239. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  240. package/cjs/series/progress/circular/circular.d.ts +2 -0
  241. package/cjs/series/progress/circular/circular.js +10 -1
  242. package/cjs/series/progress/circular/circular.js.map +1 -1
  243. package/cjs/series/progress/linear/linear.d.ts +2 -0
  244. package/cjs/series/progress/linear/linear.js +19 -1
  245. package/cjs/series/progress/linear/linear.js.map +1 -1
  246. package/cjs/series/sankey/sankey.js +35 -33
  247. package/cjs/series/sankey/sankey.js.map +1 -1
  248. package/cjs/series/scatter/scatter.d.ts +2 -0
  249. package/cjs/series/scatter/scatter.js +9 -1
  250. package/cjs/series/scatter/scatter.js.map +1 -1
  251. package/cjs/series/treemap/treemap.js +23 -20
  252. package/cjs/series/treemap/treemap.js.map +1 -1
  253. package/cjs/series/venn/venn.js +2 -2
  254. package/cjs/series/venn/venn.js.map +1 -1
  255. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  256. package/cjs/series/waterfall/waterfall.js +36 -20
  257. package/cjs/series/waterfall/waterfall.js.map +1 -1
  258. package/cjs/util/graphic-state.d.ts +1 -0
  259. package/cjs/util/graphic-state.js +19 -4
  260. package/cjs/util/graphic-state.js.map +1 -1
  261. package/esm/chart/base/base-chart-transformer.d.ts +3 -0
  262. package/esm/chart/base/base-chart-transformer.js +24 -2
  263. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  264. package/esm/chart/base/base-chart.d.ts +25 -9
  265. package/esm/chart/base/base-chart.js +192 -26
  266. package/esm/chart/base/base-chart.js.map +1 -1
  267. package/esm/chart/gauge/gauge-transformer.js +3 -2
  268. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  269. package/esm/chart/interface/chart.d.ts +1 -0
  270. package/esm/chart/interface/chart.js.map +1 -1
  271. package/esm/chart/pie/base/pie-transformer.js +2 -2
  272. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  273. package/esm/chart/polar/polar-transformer.js +1 -1
  274. package/esm/chart/polar/polar-transformer.js.map +1 -1
  275. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  276. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  277. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -1
  278. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  279. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  280. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  281. package/esm/chart/radar/radar-transformer.js +3 -2
  282. package/esm/chart/radar/radar-transformer.js.map +1 -1
  283. package/esm/chart/range-area/range-area-transformer.js +2 -2
  284. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  285. package/esm/chart/rose/rose-transformer.js +2 -1
  286. package/esm/chart/rose/rose-transformer.js.map +1 -1
  287. package/esm/chart/util.d.ts +4 -1
  288. package/esm/chart/util.js +34 -1
  289. package/esm/chart/util.js.map +1 -1
  290. package/esm/chart/waterfall/waterfall-transformer.js +2 -1
  291. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  292. package/esm/compile/compiler.js +11 -9
  293. package/esm/compile/compiler.js.map +1 -1
  294. package/esm/compile/data/compilable-data.d.ts +1 -1
  295. package/esm/compile/data/compilable-data.js +1 -1
  296. package/esm/compile/data/compilable-data.js.map +1 -1
  297. package/esm/compile/grammar-item.d.ts +1 -1
  298. package/esm/compile/grammar-item.js.map +1 -1
  299. package/esm/compile/interface/compilable-item.d.ts +1 -1
  300. package/esm/compile/interface/compilable-item.js.map +1 -1
  301. package/esm/component/axis/base-axis.d.ts +2 -7
  302. package/esm/component/axis/base-axis.js +26 -5
  303. package/esm/component/axis/base-axis.js.map +1 -1
  304. package/esm/component/axis/cartesian/band-axis.d.ts +1 -7
  305. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -10
  306. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  307. package/esm/component/axis/polar/band-axis.d.ts +2 -0
  308. package/esm/component/axis/polar/band-axis.js +3 -0
  309. package/esm/component/axis/polar/band-axis.js.map +1 -1
  310. package/esm/component/axis/polar/linear-axis.js +3 -0
  311. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  312. package/esm/component/base/base-component.d.ts +7 -7
  313. package/esm/component/base/base-component.js +41 -5
  314. package/esm/component/base/base-component.js.map +1 -1
  315. package/esm/component/base/release-vrender-component.d.ts +10 -0
  316. package/esm/component/base/release-vrender-component.js +24 -0
  317. package/esm/component/base/release-vrender-component.js.map +1 -0
  318. package/esm/component/brush/brush.d.ts +3 -7
  319. package/esm/component/brush/brush.js +20 -4
  320. package/esm/component/brush/brush.js.map +1 -1
  321. package/esm/component/crosshair/base.d.ts +4 -7
  322. package/esm/component/crosshair/base.js +26 -2
  323. package/esm/component/crosshair/base.js.map +1 -1
  324. package/esm/component/custom-mark/custom-mark.d.ts +4 -7
  325. package/esm/component/custom-mark/custom-mark.js +27 -2
  326. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  327. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -7
  328. package/esm/component/data-zoom/data-filter-base-component.js +14 -2
  329. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  330. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  331. package/esm/component/data-zoom/data-zoom/data-zoom.js +20 -0
  332. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  333. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  334. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  335. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  336. package/esm/component/geo/geo-coordinate.d.ts +1 -7
  337. package/esm/component/index.js +1 -2
  338. package/esm/component/indicator/indicator.d.ts +1 -0
  339. package/esm/component/indicator/indicator.js +11 -2
  340. package/esm/component/indicator/indicator.js.map +1 -1
  341. package/esm/component/indicator/util.d.ts +4 -3
  342. package/esm/component/indicator/util.js +2 -2
  343. package/esm/component/indicator/util.js.map +1 -1
  344. package/esm/component/label/base-label.d.ts +1 -7
  345. package/esm/component/label/base-label.js +5 -1
  346. package/esm/component/label/base-label.js.map +1 -1
  347. package/esm/component/label/label.js +1 -1
  348. package/esm/component/label/label.js.map +1 -1
  349. package/esm/component/legend/base-legend.d.ts +2 -7
  350. package/esm/component/legend/base-legend.js +20 -2
  351. package/esm/component/legend/base-legend.js.map +1 -1
  352. package/esm/component/marker/base-marker.d.ts +14 -7
  353. package/esm/component/marker/base-marker.js +109 -11
  354. package/esm/component/marker/base-marker.js.map +1 -1
  355. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  356. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  357. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  358. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  359. package/esm/component/marker/mark-line/base-mark-line.js +2 -4
  360. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  361. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  362. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  363. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  364. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  365. package/esm/component/marker/mark-point/base-mark-point.js +19 -6
  366. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  367. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  368. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  369. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  370. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  371. package/esm/component/marker/utils.d.ts +4 -4
  372. package/esm/component/marker/utils.js +27 -23
  373. package/esm/component/marker/utils.js.map +1 -1
  374. package/esm/component/player/player.d.ts +1 -0
  375. package/esm/component/player/player.js +10 -0
  376. package/esm/component/player/player.js.map +1 -1
  377. package/esm/component/title/title.d.ts +1 -7
  378. package/esm/component/title/title.js +6 -2
  379. package/esm/component/title/title.js.map +1 -1
  380. package/esm/component/tooltip/tooltip.d.ts +1 -0
  381. package/esm/component/tooltip/tooltip.js +9 -1
  382. package/esm/component/tooltip/tooltip.js.map +1 -1
  383. package/esm/constant/attribute.js +2 -1
  384. package/esm/constant/scatter.js +1 -2
  385. package/esm/constant/waterfall.js +2 -1
  386. package/esm/core/expression-function.js +1 -1
  387. package/esm/core/vchart.d.ts +5 -1
  388. package/esm/core/vchart.js +30 -17
  389. package/esm/core/vchart.js.map +1 -1
  390. package/esm/data/data-view-utils.d.ts +5 -0
  391. package/esm/data/data-view-utils.js +46 -0
  392. package/esm/data/data-view-utils.js.map +1 -0
  393. package/esm/data/initialize.js +1 -1
  394. package/esm/data/register.js +1 -1
  395. package/esm/data/transforms/box-plot.d.ts +4 -1
  396. package/esm/data/transforms/box-plot.js +4 -4
  397. package/esm/data/transforms/box-plot.js.map +1 -1
  398. package/esm/data/transforms/correlation-center.d.ts +11 -4
  399. package/esm/data/transforms/correlation-center.js +4 -2
  400. package/esm/data/transforms/correlation-center.js.map +1 -1
  401. package/esm/data/transforms/correlation.d.ts +18 -15
  402. package/esm/data/transforms/correlation.js +13 -8
  403. package/esm/data/transforms/correlation.js.map +1 -1
  404. package/esm/data/transforms/funnel.d.ts +10 -8
  405. package/esm/data/transforms/funnel.js +5 -3
  406. package/esm/data/transforms/funnel.js.map +1 -1
  407. package/esm/data/transforms/lookup.d.ts +3 -3
  408. package/esm/data/transforms/lookup.js +12 -6
  409. package/esm/data/transforms/lookup.js.map +1 -1
  410. package/esm/data/transforms/map.d.ts +8 -2
  411. package/esm/data/transforms/map.js +11 -6
  412. package/esm/data/transforms/map.js.map +1 -1
  413. package/esm/data/transforms/sankey.d.ts +12 -4
  414. package/esm/data/transforms/sankey.js +19 -14
  415. package/esm/data/transforms/sankey.js.map +1 -1
  416. package/esm/data/transforms/stack-split.d.ts +2 -1
  417. package/esm/data/transforms/stack-split.js +2 -2
  418. package/esm/data/transforms/stack-split.js.map +1 -1
  419. package/esm/data/transforms/treemap.d.ts +5 -3
  420. package/esm/data/transforms/treemap.js +8 -5
  421. package/esm/data/transforms/treemap.js.map +1 -1
  422. package/esm/data/transforms/venn.d.ts +4 -2
  423. package/esm/data/transforms/venn.js +5 -3
  424. package/esm/data/transforms/venn.js.map +1 -1
  425. package/esm/data/transforms/waterfall.d.ts +4 -2
  426. package/esm/data/transforms/waterfall.js +7 -8
  427. package/esm/data/transforms/waterfall.js.map +1 -1
  428. package/esm/env/env.js +1 -1
  429. package/esm/env/index.js +1 -1
  430. package/esm/event/event.d.ts +4 -0
  431. package/esm/event/event.js +26 -7
  432. package/esm/event/event.js.map +1 -1
  433. package/esm/mark/base/base-mark.d.ts +12 -2
  434. package/esm/mark/base/base-mark.js +86 -22
  435. package/esm/mark/base/base-mark.js.map +1 -1
  436. package/esm/mark/component.d.ts +9 -0
  437. package/esm/mark/component.js +51 -2
  438. package/esm/mark/component.js.map +1 -1
  439. package/esm/mark/group.js +1 -1
  440. package/esm/mark/group.js.map +1 -1
  441. package/esm/mark/interface/mark.d.ts +2 -0
  442. package/esm/mark/interface/mark.js.map +1 -1
  443. package/esm/model/base-model.d.ts +3 -15
  444. package/esm/model/base-model.js.map +1 -1
  445. package/esm/model/interface.d.ts +13 -0
  446. package/esm/model/interface.js.map +1 -1
  447. package/esm/region/region.d.ts +1 -7
  448. package/esm/scale/color-ordinal-scale.d.ts +1 -0
  449. package/esm/scale/color-ordinal-scale.js +3 -0
  450. package/esm/scale/color-ordinal-scale.js.map +1 -1
  451. package/esm/scale/global-scale.js +9 -1
  452. package/esm/scale/global-scale.js.map +1 -1
  453. package/esm/series/area/area.d.ts +2 -0
  454. package/esm/series/area/area.js +7 -1
  455. package/esm/series/area/area.js.map +1 -1
  456. package/esm/series/bar/bar.d.ts +3 -0
  457. package/esm/series/bar/bar.js +30 -4
  458. package/esm/series/bar/bar.js.map +1 -1
  459. package/esm/series/base/base-series.d.ts +10 -7
  460. package/esm/series/base/base-series.js +73 -16
  461. package/esm/series/base/base-series.js.map +1 -1
  462. package/esm/series/base/constant.d.ts +3 -0
  463. package/esm/series/base/constant.js +10 -0
  464. package/esm/series/base/constant.js.map +1 -1
  465. package/esm/series/box-plot/box-plot.d.ts +2 -0
  466. package/esm/series/box-plot/box-plot.js +15 -4
  467. package/esm/series/box-plot/box-plot.js.map +1 -1
  468. package/esm/series/correlation/correlation.js +13 -11
  469. package/esm/series/correlation/correlation.js.map +1 -1
  470. package/esm/series/dot/dot.d.ts +12 -0
  471. package/esm/series/dot/dot.js +17 -0
  472. package/esm/series/dot/dot.js.map +1 -1
  473. package/esm/series/funnel/funnel.js +5 -8
  474. package/esm/series/funnel/funnel.js.map +1 -1
  475. package/esm/series/heatmap/heatmap.d.ts +2 -0
  476. package/esm/series/heatmap/heatmap.js +10 -0
  477. package/esm/series/heatmap/heatmap.js.map +1 -1
  478. package/esm/series/line/line.d.ts +2 -0
  479. package/esm/series/line/line.js +7 -1
  480. package/esm/series/line/line.js.map +1 -1
  481. package/esm/series/map/map.js +3 -3
  482. package/esm/series/map/map.js.map +1 -1
  483. package/esm/series/mixin/line-mixin.d.ts +1 -0
  484. package/esm/series/mixin/line-mixin.js +5 -0
  485. package/esm/series/mixin/line-mixin.js.map +1 -1
  486. package/esm/series/pie/pie.d.ts +3 -7
  487. package/esm/series/pie/pie.js +17 -0
  488. package/esm/series/pie/pie.js.map +1 -1
  489. package/esm/series/polar/progress-like/progress-like.d.ts +2 -0
  490. package/esm/series/polar/progress-like/progress-like.js +17 -0
  491. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  492. package/esm/series/polar/rose-like/rose-like.d.ts +2 -0
  493. package/esm/series/polar/rose-like/rose-like.js +16 -0
  494. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  495. package/esm/series/progress/circular/circular.d.ts +2 -0
  496. package/esm/series/progress/circular/circular.js +11 -0
  497. package/esm/series/progress/circular/circular.js.map +1 -1
  498. package/esm/series/progress/linear/linear.d.ts +2 -0
  499. package/esm/series/progress/linear/linear.js +20 -0
  500. package/esm/series/progress/linear/linear.js.map +1 -1
  501. package/esm/series/sankey/sankey.js +35 -33
  502. package/esm/series/sankey/sankey.js.map +1 -1
  503. package/esm/series/scatter/scatter.d.ts +2 -0
  504. package/esm/series/scatter/scatter.js +10 -0
  505. package/esm/series/scatter/scatter.js.map +1 -1
  506. package/esm/series/treemap/treemap.js +23 -20
  507. package/esm/series/treemap/treemap.js.map +1 -1
  508. package/esm/series/venn/venn.js +2 -2
  509. package/esm/series/venn/venn.js.map +1 -1
  510. package/esm/series/waterfall/waterfall.d.ts +2 -0
  511. package/esm/series/waterfall/waterfall.js +36 -20
  512. package/esm/series/waterfall/waterfall.js.map +1 -1
  513. package/esm/util/graphic-state.d.ts +1 -0
  514. package/esm/util/graphic-state.js +16 -3
  515. package/esm/util/graphic-state.js.map +1 -1
  516. package/package.json +9 -8
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.BaseMark = void 0;
16
16
 
17
- const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph"), graphic_state_1 = require("../../util/graphic-state");
17
+ const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph"), graphic_state_1 = require("../../util/graphic-state"), statesClearedBeforeReInitKey = Symbol("statesClearedBeforeReInit");
18
18
 
19
19
  class BaseMark extends grammar_item_1.GrammarItem {
20
20
  commit(render, recursion) {
@@ -170,8 +170,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
170
170
  stopAnimationByState(state) {}
171
171
  pauseAnimationByState(state) {}
172
172
  resumeAnimationByState(state) {}
173
- removeProduct() {
174
- this._product && this._product.parent && this._product.parent.removeChild(this._product),
173
+ removeProduct(releaseDetach) {
174
+ this._product && this._product.parent && this._product.parent.removeChild(this._product, releaseDetach),
175
175
  this._product = null, this._compiledProductId = null;
176
176
  }
177
177
  release() {
@@ -189,8 +189,9 @@ class BaseMark extends grammar_item_1.GrammarItem {
189
189
  zIndex: layout_1.LayoutZIndex.Mark,
190
190
  morph: !1
191
191
  }, this._visible = !0, this.stateStyle = {}, this._unCompileChannel = {}, this._disabledAnimationStates = [],
192
- this._skipBeforeLayouted = !1, this._extensionChannel = {}, this._computeExChannel = {},
193
- this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
192
+ this._skipBeforeLayouted = !1, this._sharedStateDefinitionRefIds = new WeakMap,
193
+ this._sharedStateDefinitionRefId = 0, this._dynamicSharedStateNames = new Set, this._extensionChannel = {},
194
+ this._computeExChannel = {}, this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
194
195
  if (style && stateName) {
195
196
  const validEncoder = {};
196
197
  return Object.keys(style).forEach((key => {
@@ -203,7 +204,11 @@ class BaseMark extends grammar_item_1.GrammarItem {
203
204
  setCustomizedShape && (g.pathProxy = attrs => setCustomizedShape(g.context.data, attrs, new vrender_core_1.CustomPath2D)),
204
205
  graphicName && ((0, vutils_1.isFunction)(graphicName) ? g.name = graphicName(g) : g.name = graphicName);
205
206
  }, this._setStateOfGraphic = (g, hasAnimation) => {
206
- g.clearStates(), g.stateProxy = null, g.context.diffState !== enum_1.DiffState.enter && g.context.diffState !== enum_1.DiffState.update || g.context.states && g.useStates(g.context.states, hasAnimation);
207
+ var _a, _b, _c;
208
+ g.stateProxy = null;
209
+ const targetStates = g.context.diffState === enum_1.DiffState.enter || g.context.diffState === enum_1.DiffState.update ? g.context.states : void 0, hasCurrentState = !!((null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) || (null === (_b = g.effectiveStates) || void 0 === _b ? void 0 : _b.length) || g.resolvedStatePatch || (null === (_c = g.registeredActiveScopes) || void 0 === _c ? void 0 : _c.size));
210
+ ((null == targetStates ? void 0 : targetStates.length) || hasCurrentState) && (0,
211
+ graphic_state_1.setGraphicStates)(g, targetStates, hasAnimation);
207
212
  }, this.name = name, this.model = option.model, this.key = option.key, this.state = new mark_1.MarkStateManager(option, this),
208
213
  this._attributeContext = option.attributeContext, null === (_a = option.map) || void 0 === _a || _a.set(this.id, this);
209
214
  }
@@ -541,6 +546,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
541
546
  if (graphics.forEach((g => {
542
547
  const state = g.context.animationState;
543
548
  if ("appear" === state) return;
549
+ if ("update" === state && !this._hasDiffAttrs(g)) return;
544
550
  const config = animationConfig[state];
545
551
  if (config && config.length > 0) {
546
552
  const configList = config.map(((item, index) => ({
@@ -640,25 +646,60 @@ class BaseMark extends grammar_item_1.GrammarItem {
640
646
  groupStyles: groupStyles
641
647
  };
642
648
  }
649
+ _getSharedStateDefinitionRefId(value) {
650
+ if ("object" != typeof value && "function" != typeof value || null === value) return `${value}`;
651
+ const objectValue = value;
652
+ let id = this._sharedStateDefinitionRefIds.get(objectValue);
653
+ return id || (id = ++this._sharedStateDefinitionRefId, this._sharedStateDefinitionRefIds.set(objectValue, id)),
654
+ `ref:${id}`;
655
+ }
656
+ _getSharedStateDefinitionValueKey(value) {
657
+ try {
658
+ const jsonValue = JSON.stringify(value);
659
+ return null != jsonValue ? jsonValue : `${value}`;
660
+ } catch (_error) {
661
+ return this._getSharedStateDefinitionRefId(value);
662
+ }
663
+ }
664
+ _isStaticSharedStateAttribute(stateName, key) {
665
+ var _a, _b;
666
+ const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
667
+ if (!stateStyle || stateStyle.referer || (0, vutils_1.isFunction)(stateStyle.postProcess) || key in this._computeExChannel) return !1;
668
+ const style = stateStyle.style;
669
+ return !(0, vutils_1.isFunction)(style) && (!gradient_1.GradientType.includes(null == style ? void 0 : style.gradient) && (![ "outerBorder", "innerBorder" ].includes(key) && !(0,
670
+ vscale_1.isValidScaleType)(null === (_b = null == style ? void 0 : style.scale) || void 0 === _b ? void 0 : _b.type)));
671
+ }
643
672
  _applySharedStateDefinitions() {
644
673
  var _a;
645
674
  if (!this._product) return;
646
675
  const stateNames = Object.keys(null !== (_a = this._encoderOfState) && void 0 !== _a ? _a : {}).filter((stateName => "group" !== stateName && "update" !== stateName));
647
- if (!stateNames.length) return void (this._product.sharedStateDefinitions = void 0);
676
+ if (!stateNames.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
648
677
  const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames, statePriority = new Map;
649
678
  sortedStateNames.forEach(((stateName, index) => {
650
679
  statePriority.set(stateName, index);
651
680
  }));
652
- const sharedStateDefinitions = {};
653
- stateNames.forEach((stateName => {
681
+ const sharedStateDefinitions = {}, cacheKeys = [], dynamicSharedStateNames = new Set;
682
+ if (stateNames.forEach((stateName => {
654
683
  var _a;
655
- const encoder = this._encoderOfState[stateName];
656
- sharedStateDefinitions[stateName] = {
657
- priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0,
658
- declaredAffectedKeys: Object.keys(null != encoder ? encoder : {}),
659
- resolver: ({graphic: graphic}) => this._runEncoderOfGraphic(encoder, graphic)
684
+ const encoder = this._encoderOfState[stateName], patch = {}, dynamicEncoder = {}, patchKeys = [], dynamicKeys = [];
685
+ if (Object.keys(null != encoder ? encoder : {}).forEach((key => {
686
+ this._isStaticSharedStateAttribute(stateName, key) ? (patch[key] = this._computeAttribute(key, stateName)(void 0),
687
+ patchKeys.push(key)) : (dynamicEncoder[key] = encoder[key], dynamicKeys.push(key));
688
+ })), !patchKeys.length && !dynamicKeys.length) return;
689
+ const definition = {
690
+ priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0
660
691
  };
661
- })), this._product.sharedStateDefinitions = sharedStateDefinitions;
692
+ patchKeys.length && (definition.patch = patch), dynamicKeys.length && (dynamicSharedStateNames.add(stateName),
693
+ definition.declaredAffectedKeys = dynamicKeys, definition.resolver = ({graphic: graphic}) => this._runEncoderOfGraphic(dynamicEncoder, graphic)),
694
+ sharedStateDefinitions[stateName] = definition, cacheKeys.push([ stateName, definition.priority, patchKeys.sort().map((key => `${key}:${this._getSharedStateDefinitionValueKey(patch[key])}`)), dynamicKeys.sort().map((key => {
695
+ var _a;
696
+ const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
697
+ return `${key}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.style)}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.postProcess)}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.referer)}`;
698
+ })) ].join("|"));
699
+ })), !cacheKeys.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
700
+ const cacheKey = cacheKeys.sort().join("||");
701
+ this._dynamicSharedStateNames = dynamicSharedStateNames, cacheKey === this._sharedStateDefinitionsCacheKey && this._sharedStateDefinitionsCache ? this._product.sharedStateDefinitions !== this._sharedStateDefinitionsCache && (this._product.sharedStateDefinitions = this._sharedStateDefinitionsCache) : (this._sharedStateDefinitionsCacheKey = cacheKey,
702
+ this._sharedStateDefinitionsCache = sharedStateDefinitions, this._product.sharedStateDefinitions = sharedStateDefinitions);
662
703
  }
663
704
  _addProgressiveGraphic(parent, g) {
664
705
  parent.incrementalAppendChild(g);
@@ -674,17 +715,34 @@ class BaseMark extends grammar_item_1.GrammarItem {
674
715
  g.context.finalAttrs = finalAttrs;
675
716
  }));
676
717
  }
718
+ _excludeStateControlledDiffAttrs(g, diffAttrs) {
719
+ var _a;
720
+ if (!diffAttrs || !Object.keys(diffAttrs).length) return diffAttrs;
721
+ let nextDiffAttrs;
722
+ const excludeKey = key => {
723
+ key in diffAttrs && (nextDiffAttrs || (nextDiffAttrs = Object.assign({}, diffAttrs)),
724
+ delete nextDiffAttrs[key]);
725
+ };
726
+ return g.resolvedStatePatch && Object.keys(g.resolvedStatePatch).forEach(excludeKey),
727
+ null === (_a = g.context.states) || void 0 === _a || _a.forEach((stateName => {
728
+ var _a;
729
+ const encoder = null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName];
730
+ encoder && Object.keys(encoder).forEach(excludeKey);
731
+ })), null != nextDiffAttrs ? nextDiffAttrs : diffAttrs;
732
+ }
733
+ _hasDiffAttrs(g) {
734
+ return !!g.context.diffAttrs && Object.keys(g.context.diffAttrs).length > 0;
735
+ }
677
736
  _runApplyGraphic(graphics) {
678
737
  const hasAnimation = this.hasAnimation();
679
738
  graphics.forEach(((g, index) => {
680
739
  var _a, _b, _c;
681
740
  const finalAttrs = g.context.finalAttrs, hasStateAnimation = this.hasAnimationByState(g.context.animationState);
682
741
  if (g.setAttributes) {
683
- const diffAttrs = (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs);
742
+ const diffAttrs = this._excludeStateControlledDiffAttrs(g, (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs));
684
743
  g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
685
- g.initAttributes({}), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
686
- !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g),
687
- hasAnimation && g.setFinalAttributes(finalAttrs);
744
+ g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
745
+ !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g);
688
746
  } else {
689
747
  const mockGraphic = g;
690
748
  g = this._createGraphic(finalAttrs), hasAnimation && (null === (_a = g.setFinalAttributes) || void 0 === _a || _a.call(g, finalAttrs)),
@@ -779,8 +837,12 @@ class BaseMark extends grammar_item_1.GrammarItem {
779
837
  if (!this._product) return;
780
838
  const stateInfo = this.state.getStateInfo(key);
781
839
  this._graphics.forEach((g => {
782
- "in" === this.state.checkOneState(g, g.context.data, stateInfo) ? (0, graphic_state_1.addGraphicState)(g, key, !0, this.hasAnimationByState("state")) : (0,
783
- graphic_state_1.removeGraphicState)(g, key, this.hasAnimationByState("state"));
840
+ const reinitStateGraphic = g, statesClearedBeforeReInit = reinitStateGraphic[statesClearedBeforeReInitKey], wasStateClearedBeforeReInit = null == statesClearedBeforeReInit ? void 0 : statesClearedBeforeReInit.includes(key), hasStateAnimation = !wasStateClearedBeforeReInit && this.hasAnimationByState("state");
841
+ if ("in" === this.state.checkOneState(g, g.context.data, stateInfo) ? (0, graphic_state_1.addGraphicState)(g, key, !0, hasStateAnimation) : (0,
842
+ graphic_state_1.removeGraphicState)(g, key, hasStateAnimation), wasStateClearedBeforeReInit) {
843
+ const nextStates = statesClearedBeforeReInit.filter((stateName => stateName !== key));
844
+ nextStates.length ? reinitStateGraphic[statesClearedBeforeReInitKey] = nextStates : delete reinitStateGraphic[statesClearedBeforeReInitKey];
845
+ }
784
846
  }));
785
847
  }
786
848
  clearExitGraphics() {
@@ -800,7 +862,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
800
862
  })
801
863
  })));
802
864
  g.applyAnimationState([ "exit" ], [ 1 === exitConfigList.length ? exitConfigList[0] : exitConfigList ], (() => {
803
- doRemove(g, key);
865
+ g.context.diffState === enum_1.DiffState.exit && g.isExiting && this._graphicMap.get(key) === g && doRemove(g, key);
804
866
  }));
805
867
  }
806
868
  } else doRemove(g, key);
@@ -911,7 +973,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
911
973
  }
912
974
  clearBeforeReInit() {
913
975
  this.state.clearAllStateInfo(), this.uncommit(), this.stateStyle = {}, this.getGraphics().forEach((g => {
914
- g.clearStates();
976
+ var _a;
977
+ (null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) && (g[statesClearedBeforeReInitKey] = g.currentStates.slice());
915
978
  }));
916
979
  }
917
980
  }