@visactor/vchart 2.1.0-alpha.17 → 2.1.0-alpha.18

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 (696) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +63796 -59964
  3. package/build/index.js +63798 -59966
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/callback-disappear.d.ts +1 -1
  7. package/cjs/animation/callback-disappear.js +2 -2
  8. package/cjs/animation/callback-disappear.js.map +1 -1
  9. package/cjs/animation/config.js +34 -34
  10. package/cjs/animation/config.js.map +1 -1
  11. package/cjs/animation/index.js +2 -1
  12. package/cjs/chart/base/base-chart-transformer.d.ts +3 -0
  13. package/cjs/chart/base/base-chart-transformer.js +23 -3
  14. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  15. package/cjs/chart/base/base-chart.d.ts +27 -9
  16. package/cjs/chart/base/base-chart.js +209 -28
  17. package/cjs/chart/base/base-chart.js.map +1 -1
  18. package/cjs/chart/gauge/gauge-transformer.js +3 -2
  19. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  20. package/cjs/chart/interface/chart.d.ts +1 -0
  21. package/cjs/chart/interface/chart.js.map +1 -1
  22. package/cjs/chart/pie/base/pie-transformer.js +2 -2
  23. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  24. package/cjs/chart/polar/polar-transformer.js +1 -1
  25. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  26. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  27. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  28. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -1
  29. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  30. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  31. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  32. package/cjs/chart/radar/radar-transformer.js +3 -2
  33. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  34. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  35. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  36. package/cjs/chart/rose/rose-transformer.js +2 -1
  37. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  38. package/cjs/chart/util.d.ts +4 -1
  39. package/cjs/chart/util.js +40 -4
  40. package/cjs/chart/util.js.map +1 -1
  41. package/cjs/chart/waterfall/waterfall-transformer.js +2 -1
  42. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  43. package/cjs/compile/compiler.d.ts +2 -0
  44. package/cjs/compile/compiler.js +68 -48
  45. package/cjs/compile/compiler.js.map +1 -1
  46. package/cjs/compile/data/compilable-data.d.ts +1 -1
  47. package/cjs/compile/data/compilable-data.js +1 -1
  48. package/cjs/compile/data/compilable-data.js.map +1 -1
  49. package/cjs/compile/grammar-item.d.ts +1 -1
  50. package/cjs/compile/grammar-item.js.map +1 -1
  51. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  52. package/cjs/compile/interface/compilable-item.js.map +1 -1
  53. package/cjs/compile/interface/compiler.d.ts +2 -1
  54. package/cjs/compile/interface/compiler.js.map +1 -1
  55. package/cjs/compile/morph.js +5 -6
  56. package/cjs/compile/morph.js.map +1 -1
  57. package/cjs/compile/stage-app.d.ts +17 -0
  58. package/cjs/compile/stage-app.js +82 -0
  59. package/cjs/compile/stage-app.js.map +1 -0
  60. package/cjs/component/axis/base-axis.d.ts +3 -8
  61. package/cjs/component/axis/base-axis.js +27 -7
  62. package/cjs/component/axis/base-axis.js.map +1 -1
  63. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -7
  64. package/cjs/component/axis/cartesian/band-axis.js +4 -4
  65. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  66. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -1
  67. package/cjs/component/axis/cartesian/linear-axis.js +4 -4
  68. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  69. package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -10
  70. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  71. package/cjs/component/axis/polar/band-axis.d.ts +2 -0
  72. package/cjs/component/axis/polar/band-axis.js +3 -0
  73. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  74. package/cjs/component/axis/polar/linear-axis.js +3 -0
  75. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  76. package/cjs/component/base/base-component.d.ts +7 -7
  77. package/cjs/component/base/base-component.js +41 -6
  78. package/cjs/component/base/base-component.js.map +1 -1
  79. package/cjs/component/base/release-vrender-component.d.ts +10 -0
  80. package/cjs/component/base/release-vrender-component.js +37 -0
  81. package/cjs/component/base/release-vrender-component.js.map +1 -0
  82. package/cjs/component/brush/brush.d.ts +3 -7
  83. package/cjs/component/brush/brush.js +34 -16
  84. package/cjs/component/brush/brush.js.map +1 -1
  85. package/cjs/component/crosshair/base.d.ts +5 -8
  86. package/cjs/component/crosshair/base.js +33 -5
  87. package/cjs/component/crosshair/base.js.map +1 -1
  88. package/cjs/component/crosshair/cartesian.js +3 -3
  89. package/cjs/component/crosshair/cartesian.js.map +1 -1
  90. package/cjs/component/custom-mark/custom-mark.d.ts +4 -7
  91. package/cjs/component/custom-mark/custom-mark.js +27 -3
  92. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  93. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -7
  94. package/cjs/component/data-zoom/data-filter-base-component.js +15 -2
  95. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  96. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  97. package/cjs/component/data-zoom/data-zoom/data-zoom.js +19 -1
  98. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  99. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  100. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  101. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  102. package/cjs/component/geo/geo-coordinate.d.ts +1 -7
  103. package/cjs/component/indicator/indicator.d.ts +1 -0
  104. package/cjs/component/indicator/indicator.js +11 -2
  105. package/cjs/component/indicator/indicator.js.map +1 -1
  106. package/cjs/component/indicator/util.d.ts +4 -3
  107. package/cjs/component/indicator/util.js +1 -1
  108. package/cjs/component/indicator/util.js.map +1 -1
  109. package/cjs/component/label/base-label.d.ts +1 -7
  110. package/cjs/component/label/base-label.js +6 -2
  111. package/cjs/component/label/base-label.js.map +1 -1
  112. package/cjs/component/label/label.js +3 -3
  113. package/cjs/component/label/label.js.map +1 -1
  114. package/cjs/component/legend/base-legend.d.ts +2 -7
  115. package/cjs/component/legend/base-legend.js +20 -3
  116. package/cjs/component/legend/base-legend.js.map +1 -1
  117. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  118. package/cjs/component/legend/discrete/legend.js +7 -7
  119. package/cjs/component/legend/discrete/legend.js.map +1 -1
  120. package/cjs/component/marker/base-marker.d.ts +14 -7
  121. package/cjs/component/marker/base-marker.js +112 -12
  122. package/cjs/component/marker/base-marker.js.map +1 -1
  123. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  124. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  125. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  126. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  127. package/cjs/component/marker/mark-line/base-mark-line.js +2 -4
  128. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  129. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  130. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  131. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  132. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  133. package/cjs/component/marker/mark-point/base-mark-point.js +26 -11
  134. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  135. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  136. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  137. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  138. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  139. package/cjs/component/marker/utils.d.ts +4 -4
  140. package/cjs/component/marker/utils.js +27 -23
  141. package/cjs/component/marker/utils.js.map +1 -1
  142. package/cjs/component/player/player.d.ts +1 -0
  143. package/cjs/component/player/player.js +10 -0
  144. package/cjs/component/player/player.js.map +1 -1
  145. package/cjs/component/title/title.d.ts +1 -7
  146. package/cjs/component/title/title.js +6 -2
  147. package/cjs/component/title/title.js.map +1 -1
  148. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  149. package/cjs/component/tooltip/tooltip.js +8 -0
  150. package/cjs/component/tooltip/tooltip.js.map +1 -1
  151. package/cjs/component/util.js +2 -1
  152. package/cjs/constant/correlation.js +1 -2
  153. package/cjs/constant/marker.js +1 -1
  154. package/cjs/constant/polar.js +1 -1
  155. package/cjs/constant/scatter.js +1 -1
  156. package/cjs/constant/scroll-bar.js +2 -1
  157. package/cjs/constant/sunburst.js +1 -1
  158. package/cjs/constant/waterfall.js +1 -1
  159. package/cjs/constant/word-cloud.js +1 -1
  160. package/cjs/core/expression-function.js +1 -2
  161. package/cjs/core/index.d.ts +2 -1
  162. package/cjs/core/index.js +9 -5
  163. package/cjs/core/index.js.map +1 -1
  164. package/cjs/core/instance-manager.js +1 -1
  165. package/cjs/core/interface.js +1 -1
  166. package/cjs/core/util.js +1 -1
  167. package/cjs/core/vchart.d.ts +5 -1
  168. package/cjs/core/vchart.js +38 -21
  169. package/cjs/core/vchart.js.map +1 -1
  170. package/cjs/data/data-view-utils.d.ts +5 -0
  171. package/cjs/data/data-view-utils.js +58 -0
  172. package/cjs/data/data-view-utils.js.map +1 -0
  173. package/cjs/data/initialize.js +1 -1
  174. package/cjs/data/register.js +1 -1
  175. package/cjs/data/transforms/box-plot.d.ts +4 -1
  176. package/cjs/data/transforms/box-plot.js +3 -3
  177. package/cjs/data/transforms/box-plot.js.map +1 -1
  178. package/cjs/data/transforms/correlation-center.d.ts +11 -4
  179. package/cjs/data/transforms/correlation-center.js +3 -2
  180. package/cjs/data/transforms/correlation-center.js.map +1 -1
  181. package/cjs/data/transforms/correlation.d.ts +18 -15
  182. package/cjs/data/transforms/correlation.js +22 -17
  183. package/cjs/data/transforms/correlation.js.map +1 -1
  184. package/cjs/data/transforms/funnel.d.ts +10 -8
  185. package/cjs/data/transforms/funnel.js +4 -3
  186. package/cjs/data/transforms/funnel.js.map +1 -1
  187. package/cjs/data/transforms/lookup.d.ts +3 -3
  188. package/cjs/data/transforms/lookup.js +12 -7
  189. package/cjs/data/transforms/lookup.js.map +1 -1
  190. package/cjs/data/transforms/map.d.ts +8 -2
  191. package/cjs/data/transforms/map.js +9 -6
  192. package/cjs/data/transforms/map.js.map +1 -1
  193. package/cjs/data/transforms/sankey.d.ts +12 -4
  194. package/cjs/data/transforms/sankey.js +18 -13
  195. package/cjs/data/transforms/sankey.js.map +1 -1
  196. package/cjs/data/transforms/stack-split.d.ts +2 -1
  197. package/cjs/data/transforms/stack-split.js +1 -1
  198. package/cjs/data/transforms/stack-split.js.map +1 -1
  199. package/cjs/data/transforms/treemap.d.ts +5 -3
  200. package/cjs/data/transforms/treemap.js +7 -6
  201. package/cjs/data/transforms/treemap.js.map +1 -1
  202. package/cjs/data/transforms/venn.d.ts +4 -2
  203. package/cjs/data/transforms/venn.js +4 -4
  204. package/cjs/data/transforms/venn.js.map +1 -1
  205. package/cjs/data/transforms/waterfall.d.ts +4 -2
  206. package/cjs/data/transforms/waterfall.js +7 -7
  207. package/cjs/data/transforms/waterfall.js.map +1 -1
  208. package/cjs/env/env.js +11 -11
  209. package/cjs/env/env.js.map +1 -1
  210. package/cjs/env/index.js +1 -1
  211. package/cjs/event/event.d.ts +4 -0
  212. package/cjs/event/event.js +26 -7
  213. package/cjs/event/event.js.map +1 -1
  214. package/cjs/interaction/interaction.js +11 -8
  215. package/cjs/interaction/interaction.js.map +1 -1
  216. package/cjs/interaction/triggers/element-active-by-legend.js +3 -2
  217. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  218. package/cjs/interaction/triggers/element-active.js +4 -3
  219. package/cjs/interaction/triggers/element-active.js.map +1 -1
  220. package/cjs/interaction/triggers/element-highlight-by-group.js +3 -2
  221. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  222. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  223. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  224. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  225. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  226. package/cjs/interaction/triggers/element-highlight.js +2 -2
  227. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  228. package/cjs/interaction/triggers/element-select.js +3 -3
  229. package/cjs/interaction/triggers/element-select.js.map +1 -1
  230. package/cjs/mark/arc.js +4 -4
  231. package/cjs/mark/arc.js.map +1 -1
  232. package/cjs/mark/area.js +4 -5
  233. package/cjs/mark/area.js.map +1 -1
  234. package/cjs/mark/base/base-mark.d.ts +12 -2
  235. package/cjs/mark/base/base-mark.js +98 -29
  236. package/cjs/mark/base/base-mark.js.map +1 -1
  237. package/cjs/mark/component.d.ts +9 -0
  238. package/cjs/mark/component.js +51 -3
  239. package/cjs/mark/component.js.map +1 -1
  240. package/cjs/mark/glyph.js +1 -1
  241. package/cjs/mark/glyph.js.map +1 -1
  242. package/cjs/mark/group.js +6 -6
  243. package/cjs/mark/group.js.map +1 -1
  244. package/cjs/mark/interface/common.js.map +1 -1
  245. package/cjs/mark/interface/mark.d.ts +2 -0
  246. package/cjs/mark/interface/mark.js.map +1 -1
  247. package/cjs/mark/line.js +4 -5
  248. package/cjs/mark/line.js.map +1 -1
  249. package/cjs/mark/rect.js +3 -3
  250. package/cjs/mark/rect.js.map +1 -1
  251. package/cjs/mark/symbol.js +3 -3
  252. package/cjs/mark/symbol.js.map +1 -1
  253. package/cjs/mark/text.js +4 -4
  254. package/cjs/mark/text.js.map +1 -1
  255. package/cjs/mark/utils/glyph.js +3 -2
  256. package/cjs/mark/utils/glyph.js.map +1 -1
  257. package/cjs/model/base-model.d.ts +3 -15
  258. package/cjs/model/base-model.js.map +1 -1
  259. package/cjs/model/interface.d.ts +13 -0
  260. package/cjs/model/interface.js.map +1 -1
  261. package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
  262. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  263. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  264. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
  265. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  266. package/cjs/plugin/other.js +5 -5
  267. package/cjs/plugin/other.js.map +1 -1
  268. package/cjs/region/region.d.ts +1 -7
  269. package/cjs/scale/color-ordinal-scale.d.ts +1 -0
  270. package/cjs/scale/color-ordinal-scale.js +3 -0
  271. package/cjs/scale/color-ordinal-scale.js.map +1 -1
  272. package/cjs/scale/global-scale.js +9 -2
  273. package/cjs/scale/global-scale.js.map +1 -1
  274. package/cjs/series/area/area.d.ts +2 -0
  275. package/cjs/series/area/area.js +6 -0
  276. package/cjs/series/area/area.js.map +1 -1
  277. package/cjs/series/bar/bar.d.ts +3 -0
  278. package/cjs/series/bar/bar.js +30 -4
  279. package/cjs/series/bar/bar.js.map +1 -1
  280. package/cjs/series/base/base-series.d.ts +11 -7
  281. package/cjs/series/base/base-series.js +93 -23
  282. package/cjs/series/base/base-series.js.map +1 -1
  283. package/cjs/series/base/constant.d.ts +3 -0
  284. package/cjs/series/base/constant.js +9 -1
  285. package/cjs/series/base/constant.js.map +1 -1
  286. package/cjs/series/box-plot/box-plot.d.ts +2 -0
  287. package/cjs/series/box-plot/box-plot.js +16 -4
  288. package/cjs/series/box-plot/box-plot.js.map +1 -1
  289. package/cjs/series/correlation/correlation.js +13 -11
  290. package/cjs/series/correlation/correlation.js.map +1 -1
  291. package/cjs/series/dot/dot.d.ts +12 -0
  292. package/cjs/series/dot/dot.js +16 -1
  293. package/cjs/series/dot/dot.js.map +1 -1
  294. package/cjs/series/funnel/funnel.js +5 -8
  295. package/cjs/series/funnel/funnel.js.map +1 -1
  296. package/cjs/series/heatmap/heatmap.d.ts +2 -0
  297. package/cjs/series/heatmap/heatmap.js +10 -0
  298. package/cjs/series/heatmap/heatmap.js.map +1 -1
  299. package/cjs/series/line/line.d.ts +2 -0
  300. package/cjs/series/line/line.js +9 -3
  301. package/cjs/series/line/line.js.map +1 -1
  302. package/cjs/series/map/map.js +3 -3
  303. package/cjs/series/map/map.js.map +1 -1
  304. package/cjs/series/mixin/line-mixin.d.ts +1 -0
  305. package/cjs/series/mixin/line-mixin.js +6 -1
  306. package/cjs/series/mixin/line-mixin.js.map +1 -1
  307. package/cjs/series/pie/pie.d.ts +3 -7
  308. package/cjs/series/pie/pie.js +16 -1
  309. package/cjs/series/pie/pie.js.map +1 -1
  310. package/cjs/series/polar/progress-like/progress-like.d.ts +2 -0
  311. package/cjs/series/polar/progress-like/progress-like.js +16 -1
  312. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  313. package/cjs/series/polar/rose-like/rose-like.d.ts +2 -0
  314. package/cjs/series/polar/rose-like/rose-like.js +15 -1
  315. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  316. package/cjs/series/progress/circular/circular.d.ts +2 -0
  317. package/cjs/series/progress/circular/circular.js +10 -1
  318. package/cjs/series/progress/circular/circular.js.map +1 -1
  319. package/cjs/series/progress/linear/linear.d.ts +2 -0
  320. package/cjs/series/progress/linear/linear.js +19 -1
  321. package/cjs/series/progress/linear/linear.js.map +1 -1
  322. package/cjs/series/sankey/sankey.js +67 -57
  323. package/cjs/series/sankey/sankey.js.map +1 -1
  324. package/cjs/series/scatter/scatter.d.ts +2 -0
  325. package/cjs/series/scatter/scatter.js +9 -1
  326. package/cjs/series/scatter/scatter.js.map +1 -1
  327. package/cjs/series/treemap/treemap.js +23 -20
  328. package/cjs/series/treemap/treemap.js.map +1 -1
  329. package/cjs/series/venn/venn.js +2 -2
  330. package/cjs/series/venn/venn.js.map +1 -1
  331. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  332. package/cjs/series/waterfall/waterfall.js +36 -20
  333. package/cjs/series/waterfall/waterfall.js.map +1 -1
  334. package/cjs/series/word-cloud/animation.js +3 -0
  335. package/cjs/series/word-cloud/animation.js.map +1 -1
  336. package/cjs/theme/builtin/common/series/word-cloud.js +2 -6
  337. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
  338. package/cjs/util/graphic-state.d.ts +4 -0
  339. package/cjs/util/graphic-state.js +40 -0
  340. package/cjs/util/graphic-state.js.map +1 -0
  341. package/cjs/util/mark.js +7 -3
  342. package/cjs/util/mark.js.map +1 -1
  343. package/cjs/util/math.d.ts +1 -1
  344. package/cjs/util/math.js +2 -2
  345. package/cjs/util/math.js.map +1 -1
  346. package/cjs/util/text.js +2 -2
  347. package/cjs/util/text.js.map +1 -1
  348. package/cjs/vchart-line.d.ts +4 -0
  349. package/cjs/vchart-line.js +35 -0
  350. package/cjs/vchart-line.js.map +1 -0
  351. package/esm/animation/callback-disappear.d.ts +1 -1
  352. package/esm/animation/callback-disappear.js +1 -1
  353. package/esm/animation/callback-disappear.js.map +1 -1
  354. package/esm/animation/config.js +33 -1
  355. package/esm/animation/config.js.map +1 -1
  356. package/esm/animation/index.js +2 -1
  357. package/esm/chart/base/base-chart-transformer.d.ts +3 -0
  358. package/esm/chart/base/base-chart-transformer.js +24 -2
  359. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  360. package/esm/chart/base/base-chart.d.ts +27 -9
  361. package/esm/chart/base/base-chart.js +202 -27
  362. package/esm/chart/base/base-chart.js.map +1 -1
  363. package/esm/chart/gauge/gauge-transformer.js +3 -2
  364. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  365. package/esm/chart/interface/chart.d.ts +1 -0
  366. package/esm/chart/interface/chart.js.map +1 -1
  367. package/esm/chart/pie/base/pie-transformer.js +2 -2
  368. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  369. package/esm/chart/polar/polar-transformer.js +1 -1
  370. package/esm/chart/polar/polar-transformer.js.map +1 -1
  371. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  372. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  373. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -1
  374. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  375. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  376. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  377. package/esm/chart/radar/radar-transformer.js +3 -2
  378. package/esm/chart/radar/radar-transformer.js.map +1 -1
  379. package/esm/chart/range-area/range-area-transformer.js +2 -2
  380. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  381. package/esm/chart/rose/rose-transformer.js +2 -1
  382. package/esm/chart/rose/rose-transformer.js.map +1 -1
  383. package/esm/chart/util.d.ts +4 -1
  384. package/esm/chart/util.js +34 -1
  385. package/esm/chart/util.js.map +1 -1
  386. package/esm/chart/waterfall/waterfall-transformer.js +2 -1
  387. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  388. package/esm/compile/compiler.d.ts +2 -0
  389. package/esm/compile/compiler.js +69 -47
  390. package/esm/compile/compiler.js.map +1 -1
  391. package/esm/compile/data/compilable-data.d.ts +1 -1
  392. package/esm/compile/data/compilable-data.js +1 -1
  393. package/esm/compile/data/compilable-data.js.map +1 -1
  394. package/esm/compile/grammar-item.d.ts +1 -1
  395. package/esm/compile/grammar-item.js.map +1 -1
  396. package/esm/compile/interface/compilable-item.d.ts +1 -1
  397. package/esm/compile/interface/compilable-item.js.map +1 -1
  398. package/esm/compile/interface/compiler.d.ts +2 -1
  399. package/esm/compile/interface/compiler.js.map +1 -1
  400. package/esm/compile/morph.js +2 -3
  401. package/esm/compile/morph.js.map +1 -1
  402. package/esm/compile/stage-app.d.ts +17 -0
  403. package/esm/compile/stage-app.js +77 -0
  404. package/esm/compile/stage-app.js.map +1 -0
  405. package/esm/component/axis/base-axis.d.ts +3 -8
  406. package/esm/component/axis/base-axis.js +27 -6
  407. package/esm/component/axis/base-axis.js.map +1 -1
  408. package/esm/component/axis/cartesian/band-axis.d.ts +1 -7
  409. package/esm/component/axis/cartesian/band-axis.js +4 -2
  410. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  411. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -1
  412. package/esm/component/axis/cartesian/linear-axis.js +5 -1
  413. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  414. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -10
  415. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  416. package/esm/component/axis/polar/band-axis.d.ts +2 -0
  417. package/esm/component/axis/polar/band-axis.js +3 -0
  418. package/esm/component/axis/polar/band-axis.js.map +1 -1
  419. package/esm/component/axis/polar/linear-axis.js +3 -0
  420. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  421. package/esm/component/base/base-component.d.ts +7 -7
  422. package/esm/component/base/base-component.js +41 -5
  423. package/esm/component/base/base-component.js.map +1 -1
  424. package/esm/component/base/release-vrender-component.d.ts +10 -0
  425. package/esm/component/base/release-vrender-component.js +24 -0
  426. package/esm/component/base/release-vrender-component.js.map +1 -0
  427. package/esm/component/brush/brush.d.ts +3 -7
  428. package/esm/component/brush/brush.js +29 -11
  429. package/esm/component/brush/brush.js.map +1 -1
  430. package/esm/component/crosshair/base.d.ts +5 -8
  431. package/esm/component/crosshair/base.js +27 -3
  432. package/esm/component/crosshair/base.js.map +1 -1
  433. package/esm/component/crosshair/cartesian.js +3 -1
  434. package/esm/component/crosshair/cartesian.js.map +1 -1
  435. package/esm/component/custom-mark/custom-mark.d.ts +4 -7
  436. package/esm/component/custom-mark/custom-mark.js +27 -2
  437. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  438. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -7
  439. package/esm/component/data-zoom/data-filter-base-component.js +14 -2
  440. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  441. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  442. package/esm/component/data-zoom/data-zoom/data-zoom.js +20 -0
  443. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  444. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  445. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  446. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  447. package/esm/component/geo/geo-coordinate.d.ts +1 -7
  448. package/esm/component/indicator/indicator.d.ts +1 -0
  449. package/esm/component/indicator/indicator.js +11 -2
  450. package/esm/component/indicator/indicator.js.map +1 -1
  451. package/esm/component/indicator/util.d.ts +4 -3
  452. package/esm/component/indicator/util.js +2 -2
  453. package/esm/component/indicator/util.js.map +1 -1
  454. package/esm/component/label/base-label.d.ts +1 -7
  455. package/esm/component/label/base-label.js +5 -1
  456. package/esm/component/label/base-label.js.map +1 -1
  457. package/esm/component/label/label.js +2 -2
  458. package/esm/component/label/label.js.map +1 -1
  459. package/esm/component/legend/base-legend.d.ts +2 -7
  460. package/esm/component/legend/base-legend.js +20 -2
  461. package/esm/component/legend/base-legend.js.map +1 -1
  462. package/esm/component/legend/discrete/legend.d.ts +1 -1
  463. package/esm/component/legend/discrete/legend.js +2 -2
  464. package/esm/component/legend/discrete/legend.js.map +1 -1
  465. package/esm/component/marker/base-marker.d.ts +14 -7
  466. package/esm/component/marker/base-marker.js +113 -11
  467. package/esm/component/marker/base-marker.js.map +1 -1
  468. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  469. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  470. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  471. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  472. package/esm/component/marker/mark-line/base-mark-line.js +2 -4
  473. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  474. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  475. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  476. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  477. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  478. package/esm/component/marker/mark-point/base-mark-point.js +24 -11
  479. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  480. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  481. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  482. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  483. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  484. package/esm/component/marker/utils.d.ts +4 -4
  485. package/esm/component/marker/utils.js +27 -23
  486. package/esm/component/marker/utils.js.map +1 -1
  487. package/esm/component/player/player.d.ts +1 -0
  488. package/esm/component/player/player.js +10 -0
  489. package/esm/component/player/player.js.map +1 -1
  490. package/esm/component/title/title.d.ts +1 -7
  491. package/esm/component/title/title.js +6 -2
  492. package/esm/component/title/title.js.map +1 -1
  493. package/esm/component/tooltip/tooltip.d.ts +1 -0
  494. package/esm/component/tooltip/tooltip.js +9 -1
  495. package/esm/component/tooltip/tooltip.js.map +1 -1
  496. package/esm/component/util.js +2 -1
  497. package/esm/constant/correlation.js +1 -2
  498. package/esm/constant/marker.js +1 -1
  499. package/esm/constant/polar.js +1 -1
  500. package/esm/constant/scatter.js +1 -1
  501. package/esm/constant/scroll-bar.js +2 -1
  502. package/esm/constant/sunburst.js +1 -1
  503. package/esm/constant/waterfall.js +1 -1
  504. package/esm/constant/word-cloud.js +1 -1
  505. package/esm/core/expression-function.js +1 -2
  506. package/esm/core/index.d.ts +2 -1
  507. package/esm/core/index.js +4 -2
  508. package/esm/core/index.js.map +1 -1
  509. package/esm/core/instance-manager.js +1 -1
  510. package/esm/core/interface.js +1 -1
  511. package/esm/core/util.js +1 -1
  512. package/esm/core/vchart.d.ts +5 -1
  513. package/esm/core/vchart.js +39 -21
  514. package/esm/core/vchart.js.map +1 -1
  515. package/esm/data/data-view-utils.d.ts +5 -0
  516. package/esm/data/data-view-utils.js +46 -0
  517. package/esm/data/data-view-utils.js.map +1 -0
  518. package/esm/data/initialize.js +1 -1
  519. package/esm/data/register.js +1 -1
  520. package/esm/data/transforms/box-plot.d.ts +4 -1
  521. package/esm/data/transforms/box-plot.js +4 -4
  522. package/esm/data/transforms/box-plot.js.map +1 -1
  523. package/esm/data/transforms/correlation-center.d.ts +11 -4
  524. package/esm/data/transforms/correlation-center.js +4 -2
  525. package/esm/data/transforms/correlation-center.js.map +1 -1
  526. package/esm/data/transforms/correlation.d.ts +18 -15
  527. package/esm/data/transforms/correlation.js +13 -8
  528. package/esm/data/transforms/correlation.js.map +1 -1
  529. package/esm/data/transforms/funnel.d.ts +10 -8
  530. package/esm/data/transforms/funnel.js +5 -3
  531. package/esm/data/transforms/funnel.js.map +1 -1
  532. package/esm/data/transforms/lookup.d.ts +3 -3
  533. package/esm/data/transforms/lookup.js +12 -6
  534. package/esm/data/transforms/lookup.js.map +1 -1
  535. package/esm/data/transforms/map.d.ts +8 -2
  536. package/esm/data/transforms/map.js +11 -6
  537. package/esm/data/transforms/map.js.map +1 -1
  538. package/esm/data/transforms/sankey.d.ts +12 -4
  539. package/esm/data/transforms/sankey.js +19 -14
  540. package/esm/data/transforms/sankey.js.map +1 -1
  541. package/esm/data/transforms/stack-split.d.ts +2 -1
  542. package/esm/data/transforms/stack-split.js +2 -2
  543. package/esm/data/transforms/stack-split.js.map +1 -1
  544. package/esm/data/transforms/treemap.d.ts +5 -3
  545. package/esm/data/transforms/treemap.js +8 -5
  546. package/esm/data/transforms/treemap.js.map +1 -1
  547. package/esm/data/transforms/venn.d.ts +4 -2
  548. package/esm/data/transforms/venn.js +5 -3
  549. package/esm/data/transforms/venn.js.map +1 -1
  550. package/esm/data/transforms/waterfall.d.ts +4 -2
  551. package/esm/data/transforms/waterfall.js +7 -8
  552. package/esm/data/transforms/waterfall.js.map +1 -1
  553. package/esm/env/env.js +2 -2
  554. package/esm/env/env.js.map +1 -1
  555. package/esm/env/index.js +1 -1
  556. package/esm/event/event.d.ts +4 -0
  557. package/esm/event/event.js +26 -7
  558. package/esm/event/event.js.map +1 -1
  559. package/esm/interaction/interaction.js +10 -8
  560. package/esm/interaction/interaction.js.map +1 -1
  561. package/esm/interaction/triggers/element-active-by-legend.js +3 -1
  562. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  563. package/esm/interaction/triggers/element-active.js +4 -2
  564. package/esm/interaction/triggers/element-active.js.map +1 -1
  565. package/esm/interaction/triggers/element-highlight-by-group.js +4 -1
  566. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  567. package/esm/interaction/triggers/element-highlight-by-legend.js +3 -1
  568. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  569. package/esm/interaction/triggers/element-highlight-by-name.js +3 -1
  570. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  571. package/esm/interaction/triggers/element-highlight.js +3 -1
  572. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  573. package/esm/interaction/triggers/element-select.js +4 -2
  574. package/esm/interaction/triggers/element-select.js.map +1 -1
  575. package/esm/mark/arc.js +4 -2
  576. package/esm/mark/arc.js.map +1 -1
  577. package/esm/mark/area.js +6 -2
  578. package/esm/mark/area.js.map +1 -1
  579. package/esm/mark/base/base-mark.d.ts +12 -2
  580. package/esm/mark/base/base-mark.js +99 -28
  581. package/esm/mark/base/base-mark.js.map +1 -1
  582. package/esm/mark/component.d.ts +9 -0
  583. package/esm/mark/component.js +51 -2
  584. package/esm/mark/component.js.map +1 -1
  585. package/esm/mark/glyph.js +1 -1
  586. package/esm/mark/glyph.js.map +1 -1
  587. package/esm/mark/group.js +6 -5
  588. package/esm/mark/group.js.map +1 -1
  589. package/esm/mark/interface/common.js.map +1 -1
  590. package/esm/mark/interface/mark.d.ts +2 -0
  591. package/esm/mark/interface/mark.js.map +1 -1
  592. package/esm/mark/line.js +6 -2
  593. package/esm/mark/line.js.map +1 -1
  594. package/esm/mark/rect.js +4 -2
  595. package/esm/mark/rect.js.map +1 -1
  596. package/esm/mark/symbol.js +4 -2
  597. package/esm/mark/symbol.js.map +1 -1
  598. package/esm/mark/text.js +5 -1
  599. package/esm/mark/text.js.map +1 -1
  600. package/esm/mark/utils/glyph.js +3 -1
  601. package/esm/mark/utils/glyph.js.map +1 -1
  602. package/esm/model/base-model.d.ts +3 -15
  603. package/esm/model/base-model.js.map +1 -1
  604. package/esm/model/interface.d.ts +13 -0
  605. package/esm/model/interface.js.map +1 -1
  606. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  607. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  608. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  609. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
  610. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  611. package/esm/plugin/other.js +2 -2
  612. package/esm/plugin/other.js.map +1 -1
  613. package/esm/region/region.d.ts +1 -7
  614. package/esm/scale/color-ordinal-scale.d.ts +1 -0
  615. package/esm/scale/color-ordinal-scale.js +3 -0
  616. package/esm/scale/color-ordinal-scale.js.map +1 -1
  617. package/esm/scale/global-scale.js +9 -1
  618. package/esm/scale/global-scale.js.map +1 -1
  619. package/esm/series/area/area.d.ts +2 -0
  620. package/esm/series/area/area.js +7 -1
  621. package/esm/series/area/area.js.map +1 -1
  622. package/esm/series/bar/bar.d.ts +3 -0
  623. package/esm/series/bar/bar.js +30 -4
  624. package/esm/series/bar/bar.js.map +1 -1
  625. package/esm/series/base/base-series.d.ts +11 -7
  626. package/esm/series/base/base-series.js +89 -21
  627. package/esm/series/base/base-series.js.map +1 -1
  628. package/esm/series/base/constant.d.ts +3 -0
  629. package/esm/series/base/constant.js +10 -0
  630. package/esm/series/base/constant.js.map +1 -1
  631. package/esm/series/box-plot/box-plot.d.ts +2 -0
  632. package/esm/series/box-plot/box-plot.js +15 -4
  633. package/esm/series/box-plot/box-plot.js.map +1 -1
  634. package/esm/series/correlation/correlation.js +13 -11
  635. package/esm/series/correlation/correlation.js.map +1 -1
  636. package/esm/series/dot/dot.d.ts +12 -0
  637. package/esm/series/dot/dot.js +17 -0
  638. package/esm/series/dot/dot.js.map +1 -1
  639. package/esm/series/funnel/funnel.js +5 -8
  640. package/esm/series/funnel/funnel.js.map +1 -1
  641. package/esm/series/heatmap/heatmap.d.ts +2 -0
  642. package/esm/series/heatmap/heatmap.js +10 -0
  643. package/esm/series/heatmap/heatmap.js.map +1 -1
  644. package/esm/series/line/line.d.ts +2 -0
  645. package/esm/series/line/line.js +10 -2
  646. package/esm/series/line/line.js.map +1 -1
  647. package/esm/series/map/map.js +3 -3
  648. package/esm/series/map/map.js.map +1 -1
  649. package/esm/series/mixin/line-mixin.d.ts +1 -0
  650. package/esm/series/mixin/line-mixin.js +5 -0
  651. package/esm/series/mixin/line-mixin.js.map +1 -1
  652. package/esm/series/pie/pie.d.ts +3 -7
  653. package/esm/series/pie/pie.js +17 -0
  654. package/esm/series/pie/pie.js.map +1 -1
  655. package/esm/series/polar/progress-like/progress-like.d.ts +2 -0
  656. package/esm/series/polar/progress-like/progress-like.js +17 -0
  657. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  658. package/esm/series/polar/rose-like/rose-like.d.ts +2 -0
  659. package/esm/series/polar/rose-like/rose-like.js +16 -0
  660. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  661. package/esm/series/progress/circular/circular.d.ts +2 -0
  662. package/esm/series/progress/circular/circular.js +11 -0
  663. package/esm/series/progress/circular/circular.js.map +1 -1
  664. package/esm/series/progress/linear/linear.d.ts +2 -0
  665. package/esm/series/progress/linear/linear.js +20 -0
  666. package/esm/series/progress/linear/linear.js.map +1 -1
  667. package/esm/series/sankey/sankey.js +60 -54
  668. package/esm/series/sankey/sankey.js.map +1 -1
  669. package/esm/series/scatter/scatter.d.ts +2 -0
  670. package/esm/series/scatter/scatter.js +10 -0
  671. package/esm/series/scatter/scatter.js.map +1 -1
  672. package/esm/series/treemap/treemap.js +23 -20
  673. package/esm/series/treemap/treemap.js.map +1 -1
  674. package/esm/series/venn/venn.js +2 -2
  675. package/esm/series/venn/venn.js.map +1 -1
  676. package/esm/series/waterfall/waterfall.d.ts +2 -0
  677. package/esm/series/waterfall/waterfall.js +36 -20
  678. package/esm/series/waterfall/waterfall.js.map +1 -1
  679. package/esm/series/word-cloud/animation.js +3 -0
  680. package/esm/series/word-cloud/animation.js.map +1 -1
  681. package/esm/theme/builtin/common/series/word-cloud.js +2 -6
  682. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
  683. package/esm/util/graphic-state.d.ts +4 -0
  684. package/esm/util/graphic-state.js +30 -0
  685. package/esm/util/graphic-state.js.map +1 -0
  686. package/esm/util/mark.js +8 -2
  687. package/esm/util/mark.js.map +1 -1
  688. package/esm/util/math.d.ts +1 -1
  689. package/esm/util/math.js +1 -1
  690. package/esm/util/math.js.map +1 -1
  691. package/esm/util/text.js +1 -1
  692. package/esm/util/text.js.map +1 -1
  693. package/esm/vchart-line.d.ts +4 -0
  694. package/esm/vchart-line.js +28 -0
  695. package/esm/vchart-line.js.map +1 -0
  696. package/package.json +11 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-select.ts"],"names":[],"mappings":"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","file":"element-select.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { IElementSelectOptions, ITrigger } from '../interface/trigger';\nimport type { IMarkGraphic } from '../../mark/interface/common';\nimport { BaseTrigger } from './base';\nimport { parseTriggerOffOfSelect } from './util';\nimport { Factory } from '../../core/factory';\nimport { TRIGGER_TYPE_ENUM } from './enum';\nimport type { BaseEventParams } from '../../event/interface';\n\nconst defaultOptions: Partial<IElementSelectOptions> = {\n state: STATE_VALUE_ENUM.STATE_SELECTED,\n trigger: 'click'\n};\n\nexport class ElementSelect extends BaseTrigger<IElementSelectOptions> implements ITrigger<IElementSelectOptions> {\n static type: string = TRIGGER_TYPE_ENUM.ELEMENT_SELECT;\n type: string = TRIGGER_TYPE_ENUM.ELEMENT_SELECT;\n\n static defaultOptions = defaultOptions;\n protected _resetType: ('view' | 'self' | 'timeout')[] = [];\n\n private _timer?: number;\n\n constructor(options?: IElementSelectOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.state, this.options.reverseState]);\n }\n\n getStartState(): string {\n return this.options.state;\n }\n\n getResetState(): string {\n return this.options.reverseState;\n }\n\n protected getEvents() {\n const triggerOff = this.options.triggerOff;\n const trigger = this.options.trigger;\n\n const events = [\n {\n type: trigger,\n handler: this.handleStart\n }\n ];\n\n const { eventNames, resetType } = parseTriggerOffOfSelect(triggerOff);\n\n eventNames.forEach(evt => {\n if (evt && (isArray(trigger) ? !trigger.includes(evt) : evt !== trigger)) {\n events.push({ type: evt, handler: this.handleReset });\n }\n });\n\n this._resetType = resetType;\n\n return events;\n }\n\n resetAll = (e?: BaseEventParams) => {\n const { state, reverseState, interaction } = this.options;\n\n const statedGraphics = interaction.getStatedGraphics(this);\n\n if (statedGraphics && statedGraphics.length) {\n interaction.clearAllStatesOfTrigger(this, state, reverseState);\n this.dispatchEvent('reset', { graphics: statedGraphics, options: this.options, ...e });\n\n interaction.setStatedGraphics(this, []);\n }\n };\n\n handleStart = (e: BaseEventParams) => {\n this.start(e.item, e);\n };\n\n handleReset = (e: BaseEventParams) => {\n const { interaction } = this.options;\n\n const statedGraphics = interaction.getStatedGraphics(this);\n if (!statedGraphics || !statedGraphics.length) {\n return;\n }\n const markGraphic = e.item;\n const hasActiveElement = markGraphic && this._markSet.getMarkInId(markGraphic.context.markId);\n\n if (this._resetType.includes('view') && !hasActiveElement) {\n this.resetAll(e);\n } else if (this._resetType.includes('self') && hasActiveElement) {\n this.resetAll(e);\n }\n };\n\n start(markGraphic: IMarkGraphic, e?: BaseEventParams) {\n const { state, reverseState, isMultiple, interaction } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n\n if (markGraphic && this._markSet.getMarkInId(markGraphic.context.markId)) {\n if (markGraphic.hasState(state)) {\n if (this._resetType.includes('self')) {\n const newStatedGraphics = statedGraphics && statedGraphics.filter(g => g !== markGraphic);\n\n if (newStatedGraphics && newStatedGraphics.length) {\n interaction.setStatedGraphics(\n this,\n interaction.updateStates(this, newStatedGraphics, statedGraphics, state, reverseState)\n );\n } else {\n this.resetAll(e);\n }\n }\n } else {\n if (this._timer) {\n clearTimeout(this._timer);\n }\n markGraphic.addState(state, true);\n\n const newStatedGraphics = this.options.interaction.updateStates(\n this,\n isMultiple && statedGraphics ? [...statedGraphics, markGraphic] : [markGraphic],\n statedGraphics,\n state,\n reverseState\n );\n interaction.setStatedGraphics(this, newStatedGraphics);\n this.dispatchEvent('start', { graphics: newStatedGraphics, options: this.options, ...e });\n\n if (this._resetType.includes('timeout')) {\n this._timer = setTimeout(() => {\n this.resetAll(e);\n }, this.options.triggerOff as number) as unknown as number;\n }\n }\n } else if (this._resetType.includes('view') && statedGraphics && statedGraphics.length) {\n this.resetAll(e);\n }\n }\n\n reset(markGraphic: IMarkGraphic, e?: BaseEventParams) {\n if (markGraphic) {\n if (this._markSet.getMarkInId(markGraphic.context.markId)) {\n markGraphic.removeState([this.options.state, this.options.reverseState]);\n }\n } else {\n this.resetAll(e);\n }\n }\n}\n\nexport const registerElementSelect = () => {\n Factory.registerInteractionTrigger(ElementSelect.type, ElementSelect);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-select.ts"],"names":[],"mappings":"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","file":"element-select.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { IElementSelectOptions, ITrigger } from '../interface/trigger';\nimport type { IMarkGraphic } from '../../mark/interface/common';\nimport { BaseTrigger } from './base';\nimport { parseTriggerOffOfSelect } from './util';\nimport { Factory } from '../../core/factory';\nimport { TRIGGER_TYPE_ENUM } from './enum';\nimport type { BaseEventParams } from '../../event/interface';\nimport { addGraphicState, removeGraphicState } from '../../util/graphic-state';\n\nconst defaultOptions: Partial<IElementSelectOptions> = {\n state: STATE_VALUE_ENUM.STATE_SELECTED,\n trigger: 'click'\n};\n\nexport class ElementSelect extends BaseTrigger<IElementSelectOptions> implements ITrigger<IElementSelectOptions> {\n static type: string = TRIGGER_TYPE_ENUM.ELEMENT_SELECT;\n type: string = TRIGGER_TYPE_ENUM.ELEMENT_SELECT;\n\n static defaultOptions = defaultOptions;\n protected _resetType: ('view' | 'self' | 'timeout')[] = [];\n\n private _timer?: number;\n\n constructor(options?: IElementSelectOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.state, this.options.reverseState]);\n }\n\n getStartState(): string {\n return this.options.state;\n }\n\n getResetState(): string {\n return this.options.reverseState;\n }\n\n protected getEvents() {\n const triggerOff = this.options.triggerOff;\n const trigger = this.options.trigger;\n\n const events = [\n {\n type: trigger,\n handler: this.handleStart\n }\n ];\n\n const { eventNames, resetType } = parseTriggerOffOfSelect(triggerOff);\n\n eventNames.forEach(evt => {\n if (evt && (isArray(trigger) ? !trigger.includes(evt) : evt !== trigger)) {\n events.push({ type: evt, handler: this.handleReset });\n }\n });\n\n this._resetType = resetType;\n\n return events;\n }\n\n resetAll = (e?: BaseEventParams) => {\n const { state, reverseState, interaction } = this.options;\n\n const statedGraphics = interaction.getStatedGraphics(this);\n\n if (statedGraphics && statedGraphics.length) {\n interaction.clearAllStatesOfTrigger(this, state, reverseState);\n this.dispatchEvent('reset', { graphics: statedGraphics, options: this.options, ...e });\n\n interaction.setStatedGraphics(this, []);\n }\n };\n\n handleStart = (e: BaseEventParams) => {\n this.start(e.item, e);\n };\n\n handleReset = (e: BaseEventParams) => {\n const { interaction } = this.options;\n\n const statedGraphics = interaction.getStatedGraphics(this);\n if (!statedGraphics || !statedGraphics.length) {\n return;\n }\n const markGraphic = e.item;\n const hasActiveElement = markGraphic && this._markSet.getMarkInId(markGraphic.context.markId);\n\n if (this._resetType.includes('view') && !hasActiveElement) {\n this.resetAll(e);\n } else if (this._resetType.includes('self') && hasActiveElement) {\n this.resetAll(e);\n }\n };\n\n start(markGraphic: IMarkGraphic, e?: BaseEventParams) {\n const { state, reverseState, isMultiple, interaction } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n\n if (markGraphic && this._markSet.getMarkInId(markGraphic.context.markId)) {\n if (markGraphic.hasState(state)) {\n if (this._resetType.includes('self')) {\n const newStatedGraphics = statedGraphics && statedGraphics.filter(g => g !== markGraphic);\n\n if (newStatedGraphics && newStatedGraphics.length) {\n interaction.setStatedGraphics(\n this,\n interaction.updateStates(this, newStatedGraphics, statedGraphics, state, reverseState)\n );\n } else {\n this.resetAll(e);\n }\n }\n } else {\n if (this._timer) {\n clearTimeout(this._timer);\n }\n addGraphicState(markGraphic, state, true);\n\n const newStatedGraphics = this.options.interaction.updateStates(\n this,\n isMultiple && statedGraphics ? [...statedGraphics, markGraphic] : [markGraphic],\n statedGraphics,\n state,\n reverseState\n );\n interaction.setStatedGraphics(this, newStatedGraphics);\n this.dispatchEvent('start', { graphics: newStatedGraphics, options: this.options, ...e });\n\n if (this._resetType.includes('timeout')) {\n this._timer = setTimeout(() => {\n this.resetAll(e);\n }, this.options.triggerOff as number) as unknown as number;\n }\n }\n } else if (this._resetType.includes('view') && statedGraphics && statedGraphics.length) {\n this.resetAll(e);\n }\n }\n\n reset(markGraphic: IMarkGraphic, e?: BaseEventParams) {\n if (markGraphic) {\n if (this._markSet.getMarkInId(markGraphic.context.markId)) {\n removeGraphicState(markGraphic, [this.options.state, this.options.reverseState]);\n }\n } else {\n this.resetAll(e);\n }\n }\n}\n\nexport const registerElementSelect = () => {\n Factory.registerInteractionTrigger(ElementSelect.type, ElementSelect);\n};\n"]}
package/cjs/mark/arc.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerArcMark = exports.ArcMark = exports.BaseArcMark = void 0;
6
6
 
7
- const factory_1 = require("./../core/factory"), polar_1 = require("../constant/polar"), base_mark_1 = require("./base/base-mark"), config_1 = require("../animation/config"), vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), vrender_components_1 = require("@visactor/vrender-components"), vrender_kits_1 = require("@visactor/vrender-kits");
7
+ const factory_1 = require("./../core/factory"), polar_1 = require("../constant/polar"), base_mark_1 = require("./base/base-mark"), config_1 = require("../animation/config"), vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), label_1 = require("@visactor/vrender-components/label"), register_arc_1 = require("@visactor/vrender-kits/register/register-arc"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot");
8
8
 
9
9
  class BaseArcMark extends base_mark_1.BaseMark {
10
10
  constructor(name, option) {
@@ -47,9 +47,9 @@ class ArcMark extends BaseArcMark {
47
47
  exports.ArcMark = ArcMark, ArcMark.type = "arc";
48
48
 
49
49
  const registerArcMark = () => {
50
- (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArc)(), (0,
51
- vrender_components_1.registerArcDataLabel)(), (0, config_1.registerArcAnimation)(),
52
- factory_1.Factory.registerGraphicComponent("arc", vrender_core_1.createArc), factory_1.Factory.registerMark(ArcMark.type, ArcMark);
50
+ (0, register_shadowRoot_1.registerShadowRoot)(), (0, register_arc_1.registerArc)(),
51
+ (0, label_1.registerArcDataLabel)(), (0, config_1.registerArcAnimation)(), factory_1.Factory.registerGraphicComponent("arc", vrender_core_1.createArc),
52
+ factory_1.Factory.registerMark(ArcMark.type, ArcMark);
53
53
  };
54
54
 
55
55
  exports.registerArcMark = registerArcMark;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,6CAAqD;AAIrD,gDAA4C;AAI5C,gDAA2D;AAC3D,6CAAoD;AACpD,yDAAmD;AACnD,qEAAoE;AACpE,yDAAyE;AAEzE,MAAa,WAAoC,SAAQ,oBAAW;IAKlE,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QALb,SAAI,GAAW,OAAO,CAAC,IAAI,CAAC;QAErC,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA6BrD,uBAAkB,GAAG,CAC7B,GAAW,EACX,KAAY,EACZ,SAAyB,QAAQ,EACjC,UAAkB,EACV,EAAE;;YACV,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAY,mCAAI,CAAC,CAAC;YACjF,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEQ,kBAAa,GAAG,CAAC,GAAc,EAAE,KAAY,EAAE,SAAyB,QAAQ,EAAE,MAAc,EAAE,EAAE;YAC5G,OAAO,CACL,IAAA,yBAAgB,EACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EACd,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAW,EAC1D,KAAK,CAAC,wBAAgB,CAAC,CACxB,CAAC,GAAG,CAAC,GAAG,MAAM,CAChB,CAAC;QACJ,CAAC,CAAC;QAzCA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAmC,CAAC;QAE9E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,GAChB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CAqBF;AAnDD,kCAmDC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,SAAoB;AAInC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,yCAAoB,GAAE,CAAC;IACvB,IAAA,6BAAoB,GAAE,CAAC;IACvB,iBAAO,CAAC,wBAAwB,QAAmB,wBAAS,CAAC,CAAC;IAC9D,iBAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant/polar';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport type { ExChannelCall } from './base/base-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseMark } from './base/base-mark';\nimport type { IArcMark, IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcAnimation } from '../animation/config';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { createArc } from '@visactor/vrender-core';\nimport { registerArcDataLabel } from '@visactor/vrender-components';\nimport { registerArc, registerShadowRoot } from '@visactor/vrender-kits';\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: string = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0,\n innerPadding: 0,\n outerPadding: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (key: 'x' | 'y', datum: Datum, states: StateValueType = 'normal', center: number) => {\n return (\n polarToCartesian(\n { x: 0, y: 0 },\n this.getAttribute('centerOffset', datum, states) as number,\n datum[ARC_MIDDLE_ANGLE]\n )[key] + center\n );\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerShadowRoot();\n registerArc();\n registerArcDataLabel();\n registerArcAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.arc, createArc);\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,6CAAqD;AAIrD,gDAA4C;AAI5C,gDAA2D;AAC3D,6CAAoD;AACpD,yDAAmD;AACnD,8DAA0E;AAC1E,+EAA2E;AAC3E,6FAAyF;AAEzF,MAAa,WAAoC,SAAQ,oBAAW;IAKlE,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QALb,SAAI,GAAW,OAAO,CAAC,IAAI,CAAC;QAErC,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA6BrD,uBAAkB,GAAG,CAC7B,GAAW,EACX,KAAY,EACZ,SAAyB,QAAQ,EACjC,UAAkB,EACV,EAAE;;YACV,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAY,mCAAI,CAAC,CAAC;YACjF,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEQ,kBAAa,GAAG,CAAC,GAAc,EAAE,KAAY,EAAE,SAAyB,QAAQ,EAAE,MAAc,EAAE,EAAE;YAC5G,OAAO,CACL,IAAA,yBAAgB,EACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EACd,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAW,EAC1D,KAAK,CAAC,wBAAgB,CAAC,CACxB,CAAC,GAAG,CAAC,GAAG,MAAM,CAChB,CAAC;QACJ,CAAC,CAAC;QAzCA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAmC,CAAC;QAE9E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,GAChB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CAqBF;AAnDD,kCAmDC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,SAAoB;AAInC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,4BAAoB,GAAE,CAAC;IACvB,IAAA,6BAAoB,GAAE,CAAC;IACvB,iBAAO,CAAC,wBAAwB,QAAmB,wBAAS,CAAC,CAAC;IAC9D,iBAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant/polar';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport type { ExChannelCall } from './base/base-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseMark } from './base/base-mark';\nimport type { IArcMark, IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcAnimation } from '../animation/config';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { createArc } from '@visactor/vrender-core';\nimport { registerArcDataLabel } from '@visactor/vrender-components/label';\nimport { registerArc } from '@visactor/vrender-kits/register/register-arc';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: string = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0,\n innerPadding: 0,\n outerPadding: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (key: 'x' | 'y', datum: Datum, states: StateValueType = 'normal', center: number) => {\n return (\n polarToCartesian(\n { x: 0, y: 0 },\n this.getAttribute('centerOffset', datum, states) as number,\n datum[ARC_MIDDLE_ANGLE]\n )[key] + center\n );\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerShadowRoot();\n registerArc();\n registerArcDataLabel();\n registerArcAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.arc, createArc);\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
package/cjs/mark/area.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerAreaMark = exports.AreaMark = void 0;
6
6
 
7
- const factory_1 = require("./../core/factory"), base_line_1 = require("./base/base-line"), config_1 = require("../animation/config"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_components_1 = require("@visactor/vrender-components"), vrender_core_1 = require("@visactor/vrender-core"), AREA_SEGMENT_ATTRIBUTES = [ ...base_line_1.LINE_SEGMENT_ATTRIBUTES, "fill", "fillOpacity", "background", "texture", "texturePadding", "textureSize", "textureColor" ];
7
+ const factory_1 = require("./../core/factory"), base_line_1 = require("./base/base-line"), config_1 = require("../animation/config"), register_area_1 = require("@visactor/vrender-kits/register/register-area"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), line_1 = require("@visactor/vrender-components/label/line"), symbol_1 = require("@visactor/vrender-components/label/symbol"), vrender_core_1 = require("@visactor/vrender-core"), AREA_SEGMENT_ATTRIBUTES = [ ...base_line_1.LINE_SEGMENT_ATTRIBUTES, "fill", "fillOpacity", "background", "texture", "texturePadding", "textureSize", "textureColor" ];
8
8
 
9
9
  class AreaMark extends base_line_1.BaseLineMark {
10
10
  constructor() {
@@ -26,10 +26,9 @@ class AreaMark extends base_line_1.BaseLineMark {
26
26
  exports.AreaMark = AreaMark, AreaMark.type = "area";
27
27
 
28
28
  const registerAreaMark = () => {
29
- factory_1.Factory.registerMark(AreaMark.type, AreaMark), (0, vrender_kits_1.registerShadowRoot)(),
30
- (0, vrender_kits_1.registerArea)(), (0, vrender_components_1.registerLineDataLabel)(),
31
- (0, vrender_components_1.registerSymbolDataLabel)(), (0, config_1.registerLineOrAreaAnimation)(),
32
- factory_1.Factory.registerGraphicComponent("area", vrender_core_1.createArea);
29
+ factory_1.Factory.registerMark(AreaMark.type, AreaMark), (0, register_shadowRoot_1.registerShadowRoot)(),
30
+ (0, register_area_1.registerArea)(), (0, line_1.registerLineDataLabel)(), (0, symbol_1.registerSymbolDataLabel)(),
31
+ (0, config_1.registerLineOrAreaAnimation)(), factory_1.Factory.registerGraphicComponent("area", vrender_core_1.createArea);
33
32
  };
34
33
 
35
34
  exports.registerAreaMark = registerAreaMark;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAAyE;AAIzE,gDAAkE;AAClE,yDAA0E;AAC1E,qEAA8F;AAC9F,yDAAoD;AAEpD,MAAM,uBAAuB,GAAG;IAC9B,GAAG,mCAAuB;IAC1B,MAAM;IACN,aAAa;IACb,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAa,QAAS,SAAQ,wBAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAkB9B,yBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE;YACzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,qBAAqB;QAC7B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAlBH,4BAuBC;AAtBiB,aAAI,UAAqB;AAwBpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0CAAqB,GAAE,CAAC;IACxB,IAAA,4CAAuB,GAAE,CAAC;IAC1B,IAAA,oCAA2B,GAAE,CAAC;IAC9B,iBAAO,CAAC,wBAAwB,SAAoB,yBAAU,CAAC,CAAC;AAClE,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B","file":"area.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark, LINE_SEGMENT_ATTRIBUTES } from './base/base-line';\nimport type { IAreaMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport { registerArea, registerShadowRoot } from '@visactor/vrender-kits';\nimport { registerLineDataLabel, registerSymbolDataLabel } from '@visactor/vrender-components';\nimport { createArea } from '@visactor/vrender-core';\n\nconst AREA_SEGMENT_ATTRIBUTES = [\n ...LINE_SEGMENT_ATTRIBUTES,\n 'fill',\n 'fillOpacity',\n 'background',\n 'texture',\n 'texturePadding',\n 'textureSize',\n 'textureColor'\n];\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getSegmentAttributes() {\n return AREA_SEGMENT_ATTRIBUTES;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'x1', 'y1', 'defined'].includes(channel);\n };\n}\n\nexport const registerAreaMark = () => {\n Factory.registerMark(AreaMark.type, AreaMark);\n registerShadowRoot();\n registerArea();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.area, createArea);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAAyE;AAIzE,gDAAkE;AAClE,iFAA6E;AAC7E,6FAAyF;AACzF,kEAAgF;AAChF,sEAAoF;AACpF,yDAAoD;AAEpD,MAAM,uBAAuB,GAAG;IAC9B,GAAG,mCAAuB;IAC1B,MAAM;IACN,aAAa;IACb,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAa,QAAS,SAAQ,wBAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAkB9B,yBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE;YACzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,qBAAqB;QAC7B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAlBH,4BAuBC;AAtBiB,aAAI,UAAqB;AAwBpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAY,GAAE,CAAC;IACf,IAAA,4BAAqB,GAAE,CAAC;IACxB,IAAA,gCAAuB,GAAE,CAAC;IAC1B,IAAA,oCAA2B,GAAE,CAAC;IAC9B,iBAAO,CAAC,wBAAwB,SAAoB,yBAAU,CAAC,CAAC;AAClE,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B","file":"area.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark, LINE_SEGMENT_ATTRIBUTES } from './base/base-line';\nimport type { IAreaMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport { registerArea } from '@visactor/vrender-kits/register/register-area';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerLineDataLabel } from '@visactor/vrender-components/label/line';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components/label/symbol';\nimport { createArea } from '@visactor/vrender-core';\n\nconst AREA_SEGMENT_ATTRIBUTES = [\n ...LINE_SEGMENT_ATTRIBUTES,\n 'fill',\n 'fillOpacity',\n 'background',\n 'texture',\n 'texturePadding',\n 'textureSize',\n 'textureColor'\n];\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getSegmentAttributes() {\n return AREA_SEGMENT_ATTRIBUTES;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'x1', 'y1', 'defined'].includes(channel);\n };\n}\n\nexport const registerAreaMark = () => {\n Factory.registerMark(AreaMark.type, AreaMark);\n registerShadowRoot();\n registerArea();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.area, createArea);\n};\n"]}
@@ -5,7 +5,7 @@ import { MarkTypeEnum } from '../interface';
5
5
  import type { IMarkRaw, IMarkStateStyle, IMarkStyle, IMark, IMarkOption, StyleConvert, MarkInputStyle, GroupedData, IAttrs, IMarkGraphic, ProgressiveContext, IProgressiveTransformResult, MarkType, AnimationStateValues } from '../interface';
6
6
  import type { ICompilableMark, IMarkCompileOption, IMarkConfig, IMarkStateManager, StateValueType } from '../../compile/mark/interface';
7
7
  import type { ICompilableInitOption } from '../../compile/interface';
8
- import type { IGroupGraphicAttribute, IGroup, IGraphic } from '@visactor/vrender-core';
8
+ import type { IGroupGraphicAttribute, IGroup, IGraphic, StateDefinitionsInput } from '@visactor/vrender-core';
9
9
  import { GrammarItem } from '../../compile/grammar-item';
10
10
  import type { IModel } from '../../model/interface';
11
11
  import type { ICompilableData } from '../../compile/data/interface';
@@ -74,7 +74,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
74
74
  stopAnimationByState(state?: string): void;
75
75
  pauseAnimationByState(state?: string): void;
76
76
  resumeAnimationByState(state?: string): void;
77
- removeProduct(): void;
77
+ removeProduct(releaseDetach?: boolean): void;
78
78
  release(): void;
79
79
  protected _simpleStyle: T;
80
80
  setSimpleStyle(s: T): void;
@@ -82,6 +82,10 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
82
82
  protected _option: IMarkOption;
83
83
  protected _attributeContext: IModelMarkAttributeContext;
84
84
  protected _encoderOfState: Record<string, Record<string, (datum: Datum) => any>>;
85
+ protected _sharedStateDefinitionsCacheKey?: string;
86
+ protected _sharedStateDefinitionsCache?: StateDefinitionsInput<Record<string, unknown>>;
87
+ protected _sharedStateDefinitionRefIds: WeakMap<object, number>;
88
+ protected _sharedStateDefinitionRefId: number;
85
89
  _extensionChannel: {
86
90
  [key: string | number | symbol]: string[];
87
91
  };
@@ -155,8 +159,14 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
155
159
  protected _getEncoderOfStyle: (stateName: string, style: Partial<IAttrs<T>>) => Record<string, (datum: Datum) => any>;
156
160
  protected _setGraphicFromMarkConfig: (g: IMarkGraphic) => void;
157
161
  protected _setStateOfGraphic: (g: IMarkGraphic, hasAnimation?: boolean) => void;
162
+ protected _getSharedStateDefinitionRefId(value: unknown): string;
163
+ protected _getSharedStateDefinitionValueKey(value: unknown): string;
164
+ protected _isStaticSharedStateAttribute(stateName: string, key: string): boolean;
165
+ protected _applySharedStateDefinitions(): void;
158
166
  protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic): void;
159
167
  protected _runEncoder(graphics: IMarkGraphic[], noGroupEncode?: boolean): void;
168
+ protected _excludeStateControlledDiffAttrs(g: IMarkGraphic, diffAttrs: Record<string, any>): Record<string, any>;
169
+ protected _hasDiffAttrs(g: IMarkGraphic): boolean;
160
170
  protected _runApplyGraphic(graphics: IMarkGraphic[]): void;
161
171
  protected _updateEncoderByState(): void;
162
172
  protected _runState(graphics: IMarkGraphic[]): void;
@@ -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");
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,7 +189,8 @@ 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 = {},
192
+ this._skipBeforeLayouted = !1, this._sharedStateDefinitionRefIds = new WeakMap,
193
+ this._sharedStateDefinitionRefId = 0, this._extensionChannel = {}, this._computeExChannel = {},
193
194
  this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
194
195
  if (style && stateName) {
195
196
  const validEncoder = {};
@@ -203,10 +204,10 @@ 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.stateProxy = (stateName, nexStates) => {
207
- var _a;
208
- return this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName], g);
209
- }, g.context.states && g.useStates(g.context.states, hasAnimation));
207
+ var _a, _b, _c;
208
+ 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));
209
+ ((null == targetStates ? void 0 : targetStates.length) || hasCurrentState) && (0,
210
+ graphic_state_1.setGraphicStates)(g, targetStates, hasAnimation);
210
211
  }, this.name = name, this.model = option.model, this.key = option.key, this.state = new mark_1.MarkStateManager(option, this),
211
212
  this._attributeContext = option.attributeContext, null === (_a = option.map) || void 0 === _a || _a.set(this.id, this);
212
213
  }
@@ -544,6 +545,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
544
545
  if (graphics.forEach((g => {
545
546
  const state = g.context.animationState;
546
547
  if ("appear" === state) return;
548
+ if ("update" === state && !this._hasDiffAttrs(g)) return;
547
549
  const config = animationConfig[state];
548
550
  if (config && config.length > 0) {
549
551
  const configList = config.map(((item, index) => ({
@@ -574,7 +576,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
574
576
  return diffState === interface_3.AnimationStateEnum.exit ? interface_3.AnimationStateEnum.exit : diffState === interface_3.AnimationStateEnum.update ? interface_3.AnimationStateEnum.update : interface_3.AnimationStateEnum.appear;
575
577
  }), customizedState = callback(g);
576
578
  g.context.animationState = null != customizedState ? customizedState : g.context.diffState,
577
- g.context.animationState === enum_1.DiffState.exit && (g.context.reusing = !0, g.animates && g.animates.forEach((a => a.stop())));
579
+ g.context.animationState === enum_1.DiffState.exit && (g.context.reusing = !0, g.stopAnimates());
578
580
  }
579
581
  _runJoin(data) {
580
582
  const newGroupedData = this._getDataByKey(data), prevGroupedData = this._prevDataByKey, allGraphics = [], enterGraphics = new Set(this._graphics.filter((g => g.context.diffState === enum_1.DiffState.enter))), callback = (key, newData, prevData) => {
@@ -643,41 +645,102 @@ class BaseMark extends grammar_item_1.GrammarItem {
643
645
  groupStyles: groupStyles
644
646
  };
645
647
  }
648
+ _getSharedStateDefinitionRefId(value) {
649
+ if ("object" != typeof value && "function" != typeof value || null === value) return `${value}`;
650
+ const objectValue = value;
651
+ let id = this._sharedStateDefinitionRefIds.get(objectValue);
652
+ return id || (id = ++this._sharedStateDefinitionRefId, this._sharedStateDefinitionRefIds.set(objectValue, id)),
653
+ `ref:${id}`;
654
+ }
655
+ _getSharedStateDefinitionValueKey(value) {
656
+ try {
657
+ const jsonValue = JSON.stringify(value);
658
+ return null != jsonValue ? jsonValue : `${value}`;
659
+ } catch (_error) {
660
+ return this._getSharedStateDefinitionRefId(value);
661
+ }
662
+ }
663
+ _isStaticSharedStateAttribute(stateName, key) {
664
+ var _a, _b;
665
+ const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
666
+ if (!stateStyle || stateStyle.referer || (0, vutils_1.isFunction)(stateStyle.postProcess) || key in this._computeExChannel) return !1;
667
+ const style = stateStyle.style;
668
+ return !(0, vutils_1.isFunction)(style) && (!gradient_1.GradientType.includes(null == style ? void 0 : style.gradient) && (![ "outerBorder", "innerBorder" ].includes(key) && !(0,
669
+ vscale_1.isValidScaleType)(null === (_b = null == style ? void 0 : style.scale) || void 0 === _b ? void 0 : _b.type)));
670
+ }
671
+ _applySharedStateDefinitions() {
672
+ var _a;
673
+ if (!this._product) return;
674
+ const stateNames = Object.keys(null !== (_a = this._encoderOfState) && void 0 !== _a ? _a : {}).filter((stateName => "group" !== stateName && "update" !== stateName));
675
+ if (!stateNames.length) return void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
676
+ const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames, statePriority = new Map;
677
+ sortedStateNames.forEach(((stateName, index) => {
678
+ statePriority.set(stateName, index);
679
+ }));
680
+ const sharedStateDefinitions = {}, cacheKeys = [];
681
+ if (stateNames.forEach((stateName => {
682
+ var _a;
683
+ const encoder = this._encoderOfState[stateName], patch = {}, dynamicEncoder = {}, patchKeys = [], dynamicKeys = [];
684
+ if (Object.keys(null != encoder ? encoder : {}).forEach((key => {
685
+ this._isStaticSharedStateAttribute(stateName, key) ? (patch[key] = this._computeAttribute(key, stateName)(void 0),
686
+ patchKeys.push(key)) : (dynamicEncoder[key] = encoder[key], dynamicKeys.push(key));
687
+ })), !patchKeys.length && !dynamicKeys.length) return;
688
+ const definition = {
689
+ priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0
690
+ };
691
+ patchKeys.length && (definition.patch = patch), dynamicKeys.length && (definition.declaredAffectedKeys = dynamicKeys,
692
+ definition.resolver = ({graphic: graphic}) => this._runEncoderOfGraphic(dynamicEncoder, graphic)),
693
+ sharedStateDefinitions[stateName] = definition, cacheKeys.push([ stateName, definition.priority, patchKeys.sort().map((key => `${key}:${this._getSharedStateDefinitionValueKey(patch[key])}`)), dynamicKeys.sort().map((key => {
694
+ var _a;
695
+ const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
696
+ 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)}`;
697
+ })) ].join("|"));
698
+ })), !cacheKeys.length) return void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
699
+ const cacheKey = cacheKeys.sort().join("||");
700
+ cacheKey === this._sharedStateDefinitionsCacheKey && this._sharedStateDefinitionsCache ? this._product.sharedStateDefinitions !== this._sharedStateDefinitionsCache && (this._product.sharedStateDefinitions = this._sharedStateDefinitionsCache) : (this._sharedStateDefinitionsCacheKey = cacheKey,
701
+ this._sharedStateDefinitionsCache = sharedStateDefinitions, this._product.sharedStateDefinitions = sharedStateDefinitions);
702
+ }
646
703
  _addProgressiveGraphic(parent, g) {
647
704
  parent.incrementalAppendChild(g);
648
705
  }
649
706
  _runEncoder(graphics, noGroupEncode) {
650
707
  var _a;
651
708
  const attrsByGroup = noGroupEncode ? null : this._runGroupEncoder(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.group);
652
- graphics.forEach(((g, index) => {
653
- var _a, _b;
654
- let attrs = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.update, g);
655
- null === (_b = g.currentStates) || void 0 === _b || _b.forEach((_state => {
656
- var _a;
657
- const stateAttr = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[_state], g);
658
- attrs = Object.assign(Object.assign({}, attrs), stateAttr);
659
- })), (0, vutils_1.isNil)(this._markConfig.interactive) || (attrs.pickable = this._markConfig.interactive);
709
+ graphics.forEach((g => {
710
+ var _a;
711
+ const attrs = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.update, g);
712
+ (0, vutils_1.isNil)(this._markConfig.interactive) || (attrs.pickable = this._markConfig.interactive);
660
713
  const finalAttrs = this._transformGraphicAttributes(g, attrs, null == attrsByGroup ? void 0 : attrsByGroup[g.context.groupKey]);
661
714
  g.context.finalAttrs = finalAttrs;
662
715
  }));
663
716
  }
717
+ _excludeStateControlledDiffAttrs(g, diffAttrs) {
718
+ if (!diffAttrs || !Object.keys(diffAttrs).length || !g.resolvedStatePatch) return diffAttrs;
719
+ let nextDiffAttrs;
720
+ return Object.keys(g.resolvedStatePatch).forEach((key => {
721
+ key in diffAttrs && (nextDiffAttrs || (nextDiffAttrs = Object.assign({}, diffAttrs)),
722
+ delete nextDiffAttrs[key]);
723
+ })), null != nextDiffAttrs ? nextDiffAttrs : diffAttrs;
724
+ }
725
+ _hasDiffAttrs(g) {
726
+ return !!g.context.diffAttrs && Object.keys(g.context.diffAttrs).length > 0;
727
+ }
664
728
  _runApplyGraphic(graphics) {
665
729
  const hasAnimation = this.hasAnimation();
666
730
  graphics.forEach(((g, index) => {
667
- var _a, _b, _c;
731
+ var _a, _b;
668
732
  const finalAttrs = g.context.finalAttrs, hasStateAnimation = this.hasAnimationByState(g.context.animationState);
669
733
  if (g.setAttributes) {
670
- const diffAttrs = (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs);
734
+ const diffAttrs = this._excludeStateControlledDiffAttrs(g, (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs));
671
735
  g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
672
- g.initAttributes({}), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
673
- !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g),
674
- hasAnimation && g.setFinalAttributes(finalAttrs);
736
+ g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
737
+ !(null === (_b = this.renderContext) || void 0 === _b ? void 0 : _b.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g);
675
738
  } else {
676
739
  const mockGraphic = g;
677
- g = this._createGraphic(finalAttrs), hasAnimation && (null === (_a = g.setFinalAttributes) || void 0 === _a || _a.call(g, finalAttrs)),
678
- g.context = mockGraphic.context, g.context.diffAttrs = finalAttrs, g.stateSort = this._stateSort;
740
+ (g = this._createGraphic(finalAttrs)).context = mockGraphic.context, g.context.diffAttrs = finalAttrs,
741
+ g.stateSort = this._stateSort;
679
742
  const gIndex = this._graphics === graphics ? index : index + this._graphics.length - graphics.length;
680
- if (gIndex >= 0 && (this._graphics[gIndex] = g), null === (_b = this.renderContext) || void 0 === _b ? void 0 : _b.progressive) {
743
+ if (gIndex >= 0 && (this._graphics[gIndex] = g), null === (_a = this.renderContext) || void 0 === _a ? void 0 : _a.progressive) {
681
744
  const groupIndex = this._dataByGroup ? this._dataByGroup.keys.indexOf(g.context.groupKey) : 0, group = groupIndex >= 0 ? this._product.getChildAt(groupIndex) : null;
682
745
  group && this._addProgressiveGraphic(group, g);
683
746
  } else this._product.appendChild(g), this._graphicMap.set(g.context.uniqueKey, g);
@@ -740,7 +803,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
740
803
  }
741
804
  renderInner() {
742
805
  var _a, _b, _c;
743
- this._updateEncoderByState();
806
+ this._updateEncoderByState(), this._applySharedStateDefinitions();
744
807
  const data = null !== (_b = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getProduct()) && void 0 !== _b ? _b : [ {} ], transformData = this._runBeforeTransform(data);
745
808
  let markData;
746
809
  if (null == transformData ? void 0 : transformData.progressive) {
@@ -766,7 +829,12 @@ class BaseMark extends grammar_item_1.GrammarItem {
766
829
  if (!this._product) return;
767
830
  const stateInfo = this.state.getStateInfo(key);
768
831
  this._graphics.forEach((g => {
769
- "in" === this.state.checkOneState(g, g.context.data, stateInfo) ? g.addState(key, !0, this.hasAnimationByState("state")) : g.removeState(key, this.hasAnimationByState("state"));
832
+ const reinitStateGraphic = g, statesClearedBeforeReInit = reinitStateGraphic[statesClearedBeforeReInitKey], wasStateClearedBeforeReInit = null == statesClearedBeforeReInit ? void 0 : statesClearedBeforeReInit.includes(key), hasStateAnimation = !wasStateClearedBeforeReInit && this.hasAnimationByState("state");
833
+ if ("in" === this.state.checkOneState(g, g.context.data, stateInfo) ? (0, graphic_state_1.addGraphicState)(g, key, !0, hasStateAnimation) : (0,
834
+ graphic_state_1.removeGraphicState)(g, key, hasStateAnimation), wasStateClearedBeforeReInit) {
835
+ const nextStates = statesClearedBeforeReInit.filter((stateName => stateName !== key));
836
+ nextStates.length ? reinitStateGraphic[statesClearedBeforeReInitKey] = nextStates : delete reinitStateGraphic[statesClearedBeforeReInitKey];
837
+ }
770
838
  }));
771
839
  }
772
840
  clearExitGraphics() {
@@ -786,7 +854,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
786
854
  })
787
855
  })));
788
856
  g.applyAnimationState([ "exit" ], [ 1 === exitConfigList.length ? exitConfigList[0] : exitConfigList ], (() => {
789
- doRemove(g, key);
857
+ g.context.diffState === enum_1.DiffState.exit && g.isExiting && this._graphicMap.get(key) === g && doRemove(g, key);
790
858
  }));
791
859
  }
792
860
  } else doRemove(g, key);
@@ -897,7 +965,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
897
965
  }
898
966
  clearBeforeReInit() {
899
967
  this.state.clearAllStateInfo(), this.uncommit(), this.stateStyle = {}, this.getGraphics().forEach((g => {
900
- g.clearStates();
968
+ var _a;
969
+ (null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) && (g[statesClearedBeforeReInitKey] = g.currentStates.slice());
901
970
  }));
902
971
  }
903
972
  }