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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (660) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +56784 -64559
  3. package/build/index.js +56787 -64562
  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 +0 -3
  13. package/cjs/chart/base/base-chart-transformer.js +3 -23
  14. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  15. package/cjs/chart/base/base-chart.d.ts +9 -27
  16. package/cjs/chart/base/base-chart.js +28 -209
  17. package/cjs/chart/base/base-chart.js.map +1 -1
  18. package/cjs/chart/gauge/gauge-transformer.js +2 -3
  19. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  20. package/cjs/chart/interface/chart.d.ts +0 -1
  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 +1 -2
  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 +2 -3
  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 +1 -2
  37. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  38. package/cjs/chart/util.d.ts +1 -4
  39. package/cjs/chart/util.js +4 -40
  40. package/cjs/chart/util.js.map +1 -1
  41. package/cjs/chart/waterfall/waterfall-transformer.js +1 -2
  42. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  43. package/cjs/compile/compiler.d.ts +0 -2
  44. package/cjs/compile/compiler.js +48 -68
  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 +1 -2
  54. package/cjs/compile/interface/compiler.js.map +1 -1
  55. package/cjs/compile/morph.js +4 -4
  56. package/cjs/compile/morph.js.map +1 -1
  57. package/cjs/compile/state-manager.js +1 -2
  58. package/cjs/component/axis/base-axis.d.ts +8 -3
  59. package/cjs/component/axis/base-axis.js +7 -27
  60. package/cjs/component/axis/base-axis.js.map +1 -1
  61. package/cjs/component/axis/cartesian/band-axis.d.ts +7 -1
  62. package/cjs/component/axis/cartesian/band-axis.js +4 -4
  63. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  64. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -1
  65. package/cjs/component/axis/cartesian/linear-axis.js +4 -4
  66. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  67. package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -7
  68. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  69. package/cjs/component/axis/polar/band-axis.d.ts +0 -2
  70. package/cjs/component/axis/polar/band-axis.js +0 -3
  71. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  72. package/cjs/component/axis/polar/linear-axis.js +0 -3
  73. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  74. package/cjs/component/base/base-component.d.ts +7 -7
  75. package/cjs/component/base/base-component.js +6 -41
  76. package/cjs/component/base/base-component.js.map +1 -1
  77. package/cjs/component/brush/brush.d.ts +7 -3
  78. package/cjs/component/brush/brush.js +16 -34
  79. package/cjs/component/brush/brush.js.map +1 -1
  80. package/cjs/component/crosshair/base.d.ts +8 -5
  81. package/cjs/component/crosshair/base.js +5 -33
  82. package/cjs/component/crosshair/base.js.map +1 -1
  83. package/cjs/component/crosshair/cartesian.js +3 -3
  84. package/cjs/component/crosshair/cartesian.js.map +1 -1
  85. package/cjs/component/custom-mark/custom-mark.d.ts +7 -4
  86. package/cjs/component/custom-mark/custom-mark.js +3 -27
  87. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  88. package/cjs/component/data-zoom/data-filter-base-component.d.ts +7 -3
  89. package/cjs/component/data-zoom/data-filter-base-component.js +2 -15
  90. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  91. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  92. package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -19
  93. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  94. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
  95. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
  96. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  97. package/cjs/component/geo/geo-coordinate.d.ts +7 -1
  98. package/cjs/component/index.js +2 -1
  99. package/cjs/component/indicator/indicator.d.ts +0 -1
  100. package/cjs/component/indicator/indicator.js +2 -11
  101. package/cjs/component/indicator/indicator.js.map +1 -1
  102. package/cjs/component/indicator/util.d.ts +3 -4
  103. package/cjs/component/indicator/util.js +1 -1
  104. package/cjs/component/indicator/util.js.map +1 -1
  105. package/cjs/component/label/base-label.d.ts +7 -1
  106. package/cjs/component/label/base-label.js +2 -6
  107. package/cjs/component/label/base-label.js.map +1 -1
  108. package/cjs/component/label/label.js +3 -3
  109. package/cjs/component/label/label.js.map +1 -1
  110. package/cjs/component/legend/base-legend.d.ts +7 -2
  111. package/cjs/component/legend/base-legend.js +3 -20
  112. package/cjs/component/legend/base-legend.js.map +1 -1
  113. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  114. package/cjs/component/legend/discrete/legend.js +7 -7
  115. package/cjs/component/legend/discrete/legend.js.map +1 -1
  116. package/cjs/component/marker/base-marker.d.ts +7 -14
  117. package/cjs/component/marker/base-marker.js +12 -112
  118. package/cjs/component/marker/base-marker.js.map +1 -1
  119. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  120. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  121. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  122. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  123. package/cjs/component/marker/mark-line/base-mark-line.js +4 -2
  124. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  125. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  126. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  127. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  128. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  129. package/cjs/component/marker/mark-point/base-mark-point.js +11 -26
  130. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  131. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  132. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  133. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  134. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  135. package/cjs/component/marker/utils.d.ts +4 -4
  136. package/cjs/component/marker/utils.js +23 -27
  137. package/cjs/component/marker/utils.js.map +1 -1
  138. package/cjs/component/player/player.d.ts +0 -1
  139. package/cjs/component/player/player.js +0 -10
  140. package/cjs/component/player/player.js.map +1 -1
  141. package/cjs/component/title/title.d.ts +7 -1
  142. package/cjs/component/title/title.js +2 -6
  143. package/cjs/component/title/title.js.map +1 -1
  144. package/cjs/component/tooltip/tooltip.d.ts +0 -1
  145. package/cjs/component/tooltip/tooltip.js +0 -8
  146. package/cjs/component/tooltip/tooltip.js.map +1 -1
  147. package/cjs/component/util.js +1 -2
  148. package/cjs/constant/scatter.js +2 -1
  149. package/cjs/constant/scroll-bar.js +1 -2
  150. package/cjs/core/index.d.ts +1 -2
  151. package/cjs/core/index.js +4 -8
  152. package/cjs/core/index.js.map +1 -1
  153. package/cjs/core/instance-manager.js +1 -1
  154. package/cjs/core/vchart.d.ts +1 -5
  155. package/cjs/core/vchart.js +18 -30
  156. package/cjs/core/vchart.js.map +1 -1
  157. package/cjs/data/transforms/box-plot.d.ts +1 -4
  158. package/cjs/data/transforms/box-plot.js +3 -3
  159. package/cjs/data/transforms/box-plot.js.map +1 -1
  160. package/cjs/data/transforms/correlation-center.d.ts +4 -11
  161. package/cjs/data/transforms/correlation-center.js +2 -3
  162. package/cjs/data/transforms/correlation-center.js.map +1 -1
  163. package/cjs/data/transforms/correlation.d.ts +15 -18
  164. package/cjs/data/transforms/correlation.js +17 -22
  165. package/cjs/data/transforms/correlation.js.map +1 -1
  166. package/cjs/data/transforms/funnel.d.ts +8 -10
  167. package/cjs/data/transforms/funnel.js +3 -4
  168. package/cjs/data/transforms/funnel.js.map +1 -1
  169. package/cjs/data/transforms/lookup.d.ts +3 -3
  170. package/cjs/data/transforms/lookup.js +7 -12
  171. package/cjs/data/transforms/lookup.js.map +1 -1
  172. package/cjs/data/transforms/map.d.ts +2 -8
  173. package/cjs/data/transforms/map.js +6 -9
  174. package/cjs/data/transforms/map.js.map +1 -1
  175. package/cjs/data/transforms/sankey.d.ts +4 -12
  176. package/cjs/data/transforms/sankey.js +13 -18
  177. package/cjs/data/transforms/sankey.js.map +1 -1
  178. package/cjs/data/transforms/stack-split.d.ts +1 -2
  179. package/cjs/data/transforms/stack-split.js +1 -1
  180. package/cjs/data/transforms/stack-split.js.map +1 -1
  181. package/cjs/data/transforms/treemap.d.ts +3 -5
  182. package/cjs/data/transforms/treemap.js +6 -7
  183. package/cjs/data/transforms/treemap.js.map +1 -1
  184. package/cjs/data/transforms/venn.d.ts +2 -4
  185. package/cjs/data/transforms/venn.js +4 -4
  186. package/cjs/data/transforms/venn.js.map +1 -1
  187. package/cjs/data/transforms/waterfall.d.ts +2 -4
  188. package/cjs/data/transforms/waterfall.js +7 -7
  189. package/cjs/data/transforms/waterfall.js.map +1 -1
  190. package/cjs/env/env.js +10 -10
  191. package/cjs/env/env.js.map +1 -1
  192. package/cjs/event/event.d.ts +0 -4
  193. package/cjs/event/event.js +7 -26
  194. package/cjs/event/event.js.map +1 -1
  195. package/cjs/interaction/interaction.js +8 -11
  196. package/cjs/interaction/interaction.js.map +1 -1
  197. package/cjs/interaction/triggers/element-active-by-legend.js +2 -3
  198. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  199. package/cjs/interaction/triggers/element-active.js +3 -4
  200. package/cjs/interaction/triggers/element-active.js.map +1 -1
  201. package/cjs/interaction/triggers/element-highlight-by-group.js +2 -3
  202. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  203. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  204. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  205. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  206. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  207. package/cjs/interaction/triggers/element-highlight.js +2 -2
  208. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  209. package/cjs/interaction/triggers/element-select.js +3 -3
  210. package/cjs/interaction/triggers/element-select.js.map +1 -1
  211. package/cjs/mark/arc.js +4 -4
  212. package/cjs/mark/arc.js.map +1 -1
  213. package/cjs/mark/area.js +5 -4
  214. package/cjs/mark/area.js.map +1 -1
  215. package/cjs/mark/base/base-mark.d.ts +2 -13
  216. package/cjs/mark/base/base-mark.js +29 -106
  217. package/cjs/mark/base/base-mark.js.map +1 -1
  218. package/cjs/mark/component.d.ts +0 -9
  219. package/cjs/mark/component.js +3 -51
  220. package/cjs/mark/component.js.map +1 -1
  221. package/cjs/mark/group.js +6 -6
  222. package/cjs/mark/group.js.map +1 -1
  223. package/cjs/mark/interface/mark.d.ts +0 -2
  224. package/cjs/mark/interface/mark.js.map +1 -1
  225. package/cjs/mark/line.js +5 -4
  226. package/cjs/mark/line.js.map +1 -1
  227. package/cjs/mark/rect.js +3 -3
  228. package/cjs/mark/rect.js.map +1 -1
  229. package/cjs/mark/symbol.js +3 -3
  230. package/cjs/mark/symbol.js.map +1 -1
  231. package/cjs/mark/text.js +4 -4
  232. package/cjs/mark/text.js.map +1 -1
  233. package/cjs/mark/utils/glyph.js +2 -3
  234. package/cjs/mark/utils/glyph.js.map +1 -1
  235. package/cjs/model/base-model.d.ts +15 -3
  236. package/cjs/model/base-model.js.map +1 -1
  237. package/cjs/model/interface.d.ts +0 -13
  238. package/cjs/model/interface.js.map +1 -1
  239. package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
  240. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  241. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  242. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
  243. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  244. package/cjs/plugin/other.js +5 -5
  245. package/cjs/plugin/other.js.map +1 -1
  246. package/cjs/region/region.d.ts +7 -1
  247. package/cjs/scale/color-ordinal-scale.d.ts +0 -1
  248. package/cjs/scale/color-ordinal-scale.js +0 -3
  249. package/cjs/scale/color-ordinal-scale.js.map +1 -1
  250. package/cjs/scale/global-scale.js +2 -9
  251. package/cjs/scale/global-scale.js.map +1 -1
  252. package/cjs/series/area/area.d.ts +0 -2
  253. package/cjs/series/area/area.js +0 -6
  254. package/cjs/series/area/area.js.map +1 -1
  255. package/cjs/series/bar/bar.d.ts +0 -3
  256. package/cjs/series/bar/bar.js +4 -30
  257. package/cjs/series/bar/bar.js.map +1 -1
  258. package/cjs/series/base/base-series.d.ts +7 -11
  259. package/cjs/series/base/base-series.js +18 -88
  260. package/cjs/series/base/base-series.js.map +1 -1
  261. package/cjs/series/base/constant.d.ts +0 -3
  262. package/cjs/series/base/constant.js +1 -9
  263. package/cjs/series/base/constant.js.map +1 -1
  264. package/cjs/series/box-plot/box-plot.d.ts +0 -2
  265. package/cjs/series/box-plot/box-plot.js +4 -16
  266. package/cjs/series/box-plot/box-plot.js.map +1 -1
  267. package/cjs/series/correlation/correlation.js +11 -13
  268. package/cjs/series/correlation/correlation.js.map +1 -1
  269. package/cjs/series/dot/dot.d.ts +0 -12
  270. package/cjs/series/dot/dot.js +1 -16
  271. package/cjs/series/dot/dot.js.map +1 -1
  272. package/cjs/series/funnel/funnel.js +8 -5
  273. package/cjs/series/funnel/funnel.js.map +1 -1
  274. package/cjs/series/heatmap/heatmap.d.ts +0 -2
  275. package/cjs/series/heatmap/heatmap.js +0 -10
  276. package/cjs/series/heatmap/heatmap.js.map +1 -1
  277. package/cjs/series/line/line.d.ts +0 -2
  278. package/cjs/series/line/line.js +3 -9
  279. package/cjs/series/line/line.js.map +1 -1
  280. package/cjs/series/map/map.js +3 -3
  281. package/cjs/series/map/map.js.map +1 -1
  282. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  283. package/cjs/series/mixin/line-mixin.js +1 -6
  284. package/cjs/series/mixin/line-mixin.js.map +1 -1
  285. package/cjs/series/pie/pie.d.ts +7 -3
  286. package/cjs/series/pie/pie.js +1 -16
  287. package/cjs/series/pie/pie.js.map +1 -1
  288. package/cjs/series/polar/progress-like/progress-like.d.ts +0 -2
  289. package/cjs/series/polar/progress-like/progress-like.js +1 -16
  290. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  291. package/cjs/series/polar/rose-like/rose-like.d.ts +0 -2
  292. package/cjs/series/polar/rose-like/rose-like.js +1 -15
  293. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  294. package/cjs/series/progress/circular/circular.d.ts +0 -2
  295. package/cjs/series/progress/circular/circular.js +1 -10
  296. package/cjs/series/progress/circular/circular.js.map +1 -1
  297. package/cjs/series/progress/linear/linear.d.ts +0 -2
  298. package/cjs/series/progress/linear/linear.js +1 -19
  299. package/cjs/series/progress/linear/linear.js.map +1 -1
  300. package/cjs/series/sankey/sankey.js +57 -67
  301. package/cjs/series/sankey/sankey.js.map +1 -1
  302. package/cjs/series/scatter/scatter.d.ts +0 -2
  303. package/cjs/series/scatter/scatter.js +1 -9
  304. package/cjs/series/scatter/scatter.js.map +1 -1
  305. package/cjs/series/treemap/treemap.js +20 -23
  306. package/cjs/series/treemap/treemap.js.map +1 -1
  307. package/cjs/series/venn/venn.js +2 -2
  308. package/cjs/series/venn/venn.js.map +1 -1
  309. package/cjs/series/waterfall/waterfall.d.ts +0 -2
  310. package/cjs/series/waterfall/waterfall.js +20 -36
  311. package/cjs/series/waterfall/waterfall.js.map +1 -1
  312. package/cjs/series/word-cloud/animation.js +0 -3
  313. package/cjs/series/word-cloud/animation.js.map +1 -1
  314. package/cjs/theme/builtin/common/series/word-cloud.js +6 -2
  315. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
  316. package/cjs/util/math.d.ts +1 -1
  317. package/cjs/util/math.js +2 -2
  318. package/cjs/util/math.js.map +1 -1
  319. package/cjs/util/text.js +2 -2
  320. package/cjs/util/text.js.map +1 -1
  321. package/esm/animation/callback-disappear.d.ts +1 -1
  322. package/esm/animation/callback-disappear.js +1 -1
  323. package/esm/animation/callback-disappear.js.map +1 -1
  324. package/esm/animation/config.js +1 -33
  325. package/esm/animation/config.js.map +1 -1
  326. package/esm/animation/index.js +2 -1
  327. package/esm/chart/base/base-chart-transformer.d.ts +0 -3
  328. package/esm/chart/base/base-chart-transformer.js +2 -24
  329. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  330. package/esm/chart/base/base-chart.d.ts +9 -27
  331. package/esm/chart/base/base-chart.js +27 -202
  332. package/esm/chart/base/base-chart.js.map +1 -1
  333. package/esm/chart/gauge/gauge-transformer.js +2 -3
  334. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  335. package/esm/chart/interface/chart.d.ts +0 -1
  336. package/esm/chart/interface/chart.js.map +1 -1
  337. package/esm/chart/pie/base/pie-transformer.js +2 -2
  338. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  339. package/esm/chart/polar/polar-transformer.js +1 -1
  340. package/esm/chart/polar/polar-transformer.js.map +1 -1
  341. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  342. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  343. package/esm/chart/progress/circular/circular-progress-transformer.js +1 -2
  344. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  345. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  346. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  347. package/esm/chart/radar/radar-transformer.js +2 -3
  348. package/esm/chart/radar/radar-transformer.js.map +1 -1
  349. package/esm/chart/range-area/range-area-transformer.js +2 -2
  350. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  351. package/esm/chart/rose/rose-transformer.js +1 -2
  352. package/esm/chart/rose/rose-transformer.js.map +1 -1
  353. package/esm/chart/util.d.ts +1 -4
  354. package/esm/chart/util.js +1 -34
  355. package/esm/chart/util.js.map +1 -1
  356. package/esm/chart/waterfall/waterfall-transformer.js +1 -2
  357. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  358. package/esm/compile/compiler.d.ts +0 -2
  359. package/esm/compile/compiler.js +47 -69
  360. package/esm/compile/compiler.js.map +1 -1
  361. package/esm/compile/data/compilable-data.d.ts +1 -1
  362. package/esm/compile/data/compilable-data.js +1 -1
  363. package/esm/compile/data/compilable-data.js.map +1 -1
  364. package/esm/compile/grammar-item.d.ts +1 -1
  365. package/esm/compile/grammar-item.js.map +1 -1
  366. package/esm/compile/interface/compilable-item.d.ts +1 -1
  367. package/esm/compile/interface/compilable-item.js.map +1 -1
  368. package/esm/compile/interface/compiler.d.ts +1 -2
  369. package/esm/compile/interface/compiler.js.map +1 -1
  370. package/esm/compile/morph.js +1 -1
  371. package/esm/compile/morph.js.map +1 -1
  372. package/esm/compile/state-manager.js +1 -2
  373. package/esm/component/axis/base-axis.d.ts +8 -3
  374. package/esm/component/axis/base-axis.js +6 -27
  375. package/esm/component/axis/base-axis.js.map +1 -1
  376. package/esm/component/axis/cartesian/band-axis.d.ts +7 -1
  377. package/esm/component/axis/cartesian/band-axis.js +2 -4
  378. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  379. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -1
  380. package/esm/component/axis/cartesian/linear-axis.js +1 -5
  381. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  382. package/esm/component/axis/mixin/linear-axis-mixin.js +10 -7
  383. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  384. package/esm/component/axis/polar/band-axis.d.ts +0 -2
  385. package/esm/component/axis/polar/band-axis.js +0 -3
  386. package/esm/component/axis/polar/band-axis.js.map +1 -1
  387. package/esm/component/axis/polar/linear-axis.js +0 -3
  388. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  389. package/esm/component/base/base-component.d.ts +7 -7
  390. package/esm/component/base/base-component.js +5 -41
  391. package/esm/component/base/base-component.js.map +1 -1
  392. package/esm/component/brush/brush.d.ts +7 -3
  393. package/esm/component/brush/brush.js +11 -29
  394. package/esm/component/brush/brush.js.map +1 -1
  395. package/esm/component/crosshair/base.d.ts +8 -5
  396. package/esm/component/crosshair/base.js +3 -27
  397. package/esm/component/crosshair/base.js.map +1 -1
  398. package/esm/component/crosshair/cartesian.js +1 -3
  399. package/esm/component/crosshair/cartesian.js.map +1 -1
  400. package/esm/component/custom-mark/custom-mark.d.ts +7 -4
  401. package/esm/component/custom-mark/custom-mark.js +2 -27
  402. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  403. package/esm/component/data-zoom/data-filter-base-component.d.ts +7 -3
  404. package/esm/component/data-zoom/data-filter-base-component.js +2 -14
  405. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  406. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  407. package/esm/component/data-zoom/data-zoom/data-zoom.js +0 -20
  408. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  409. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
  410. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
  411. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  412. package/esm/component/geo/geo-coordinate.d.ts +7 -1
  413. package/esm/component/index.js +2 -1
  414. package/esm/component/indicator/indicator.d.ts +0 -1
  415. package/esm/component/indicator/indicator.js +2 -11
  416. package/esm/component/indicator/indicator.js.map +1 -1
  417. package/esm/component/indicator/util.d.ts +3 -4
  418. package/esm/component/indicator/util.js +2 -2
  419. package/esm/component/indicator/util.js.map +1 -1
  420. package/esm/component/label/base-label.d.ts +7 -1
  421. package/esm/component/label/base-label.js +1 -5
  422. package/esm/component/label/base-label.js.map +1 -1
  423. package/esm/component/label/label.js +2 -2
  424. package/esm/component/label/label.js.map +1 -1
  425. package/esm/component/legend/base-legend.d.ts +7 -2
  426. package/esm/component/legend/base-legend.js +2 -20
  427. package/esm/component/legend/base-legend.js.map +1 -1
  428. package/esm/component/legend/discrete/legend.d.ts +1 -1
  429. package/esm/component/legend/discrete/legend.js +2 -2
  430. package/esm/component/legend/discrete/legend.js.map +1 -1
  431. package/esm/component/marker/base-marker.d.ts +7 -14
  432. package/esm/component/marker/base-marker.js +11 -113
  433. package/esm/component/marker/base-marker.js.map +1 -1
  434. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  435. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  436. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  437. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  438. package/esm/component/marker/mark-line/base-mark-line.js +4 -2
  439. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  440. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  441. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  442. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  443. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  444. package/esm/component/marker/mark-point/base-mark-point.js +11 -24
  445. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  446. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  447. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  448. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  449. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  450. package/esm/component/marker/utils.d.ts +4 -4
  451. package/esm/component/marker/utils.js +23 -27
  452. package/esm/component/marker/utils.js.map +1 -1
  453. package/esm/component/player/player.d.ts +0 -1
  454. package/esm/component/player/player.js +0 -10
  455. package/esm/component/player/player.js.map +1 -1
  456. package/esm/component/title/title.d.ts +7 -1
  457. package/esm/component/title/title.js +2 -6
  458. package/esm/component/title/title.js.map +1 -1
  459. package/esm/component/tooltip/tooltip.d.ts +0 -1
  460. package/esm/component/tooltip/tooltip.js +1 -9
  461. package/esm/component/tooltip/tooltip.js.map +1 -1
  462. package/esm/component/util.js +1 -2
  463. package/esm/constant/scatter.js +2 -1
  464. package/esm/constant/scroll-bar.js +1 -2
  465. package/esm/core/index.d.ts +1 -2
  466. package/esm/core/index.js +1 -3
  467. package/esm/core/index.js.map +1 -1
  468. package/esm/core/instance-manager.js +1 -1
  469. package/esm/core/vchart.d.ts +1 -5
  470. package/esm/core/vchart.js +18 -31
  471. package/esm/core/vchart.js.map +1 -1
  472. package/esm/data/transforms/box-plot.d.ts +1 -4
  473. package/esm/data/transforms/box-plot.js +4 -4
  474. package/esm/data/transforms/box-plot.js.map +1 -1
  475. package/esm/data/transforms/correlation-center.d.ts +4 -11
  476. package/esm/data/transforms/correlation-center.js +2 -4
  477. package/esm/data/transforms/correlation-center.js.map +1 -1
  478. package/esm/data/transforms/correlation.d.ts +15 -18
  479. package/esm/data/transforms/correlation.js +8 -13
  480. package/esm/data/transforms/correlation.js.map +1 -1
  481. package/esm/data/transforms/funnel.d.ts +8 -10
  482. package/esm/data/transforms/funnel.js +3 -5
  483. package/esm/data/transforms/funnel.js.map +1 -1
  484. package/esm/data/transforms/lookup.d.ts +3 -3
  485. package/esm/data/transforms/lookup.js +6 -12
  486. package/esm/data/transforms/lookup.js.map +1 -1
  487. package/esm/data/transforms/map.d.ts +2 -8
  488. package/esm/data/transforms/map.js +6 -11
  489. package/esm/data/transforms/map.js.map +1 -1
  490. package/esm/data/transforms/sankey.d.ts +4 -12
  491. package/esm/data/transforms/sankey.js +14 -19
  492. package/esm/data/transforms/sankey.js.map +1 -1
  493. package/esm/data/transforms/stack-split.d.ts +1 -2
  494. package/esm/data/transforms/stack-split.js +2 -2
  495. package/esm/data/transforms/stack-split.js.map +1 -1
  496. package/esm/data/transforms/treemap.d.ts +3 -5
  497. package/esm/data/transforms/treemap.js +5 -8
  498. package/esm/data/transforms/treemap.js.map +1 -1
  499. package/esm/data/transforms/venn.d.ts +2 -4
  500. package/esm/data/transforms/venn.js +3 -5
  501. package/esm/data/transforms/venn.js.map +1 -1
  502. package/esm/data/transforms/waterfall.d.ts +2 -4
  503. package/esm/data/transforms/waterfall.js +8 -7
  504. package/esm/data/transforms/waterfall.js.map +1 -1
  505. package/esm/env/env.js +1 -1
  506. package/esm/env/env.js.map +1 -1
  507. package/esm/event/event.d.ts +0 -4
  508. package/esm/event/event.js +7 -26
  509. package/esm/event/event.js.map +1 -1
  510. package/esm/interaction/interaction.js +8 -10
  511. package/esm/interaction/interaction.js.map +1 -1
  512. package/esm/interaction/triggers/element-active-by-legend.js +1 -3
  513. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  514. package/esm/interaction/triggers/element-active.js +2 -4
  515. package/esm/interaction/triggers/element-active.js.map +1 -1
  516. package/esm/interaction/triggers/element-highlight-by-group.js +1 -4
  517. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  518. package/esm/interaction/triggers/element-highlight-by-legend.js +1 -3
  519. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  520. package/esm/interaction/triggers/element-highlight-by-name.js +1 -3
  521. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  522. package/esm/interaction/triggers/element-highlight.js +1 -3
  523. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  524. package/esm/interaction/triggers/element-select.js +2 -4
  525. package/esm/interaction/triggers/element-select.js.map +1 -1
  526. package/esm/mark/arc.js +2 -4
  527. package/esm/mark/arc.js.map +1 -1
  528. package/esm/mark/area.js +2 -6
  529. package/esm/mark/area.js.map +1 -1
  530. package/esm/mark/base/base-mark.d.ts +2 -13
  531. package/esm/mark/base/base-mark.js +28 -107
  532. package/esm/mark/base/base-mark.js.map +1 -1
  533. package/esm/mark/component.d.ts +0 -9
  534. package/esm/mark/component.js +2 -51
  535. package/esm/mark/component.js.map +1 -1
  536. package/esm/mark/group.js +5 -6
  537. package/esm/mark/group.js.map +1 -1
  538. package/esm/mark/interface/mark.d.ts +0 -2
  539. package/esm/mark/interface/mark.js.map +1 -1
  540. package/esm/mark/line.js +2 -6
  541. package/esm/mark/line.js.map +1 -1
  542. package/esm/mark/rect.js +2 -4
  543. package/esm/mark/rect.js.map +1 -1
  544. package/esm/mark/symbol.js +2 -4
  545. package/esm/mark/symbol.js.map +1 -1
  546. package/esm/mark/text.js +1 -5
  547. package/esm/mark/text.js.map +1 -1
  548. package/esm/mark/utils/glyph.js +1 -3
  549. package/esm/mark/utils/glyph.js.map +1 -1
  550. package/esm/model/base-model.d.ts +15 -3
  551. package/esm/model/base-model.js.map +1 -1
  552. package/esm/model/interface.d.ts +0 -13
  553. package/esm/model/interface.js.map +1 -1
  554. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  555. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  556. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  557. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
  558. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  559. package/esm/plugin/other.js +2 -2
  560. package/esm/plugin/other.js.map +1 -1
  561. package/esm/region/region.d.ts +7 -1
  562. package/esm/scale/color-ordinal-scale.d.ts +0 -1
  563. package/esm/scale/color-ordinal-scale.js +0 -3
  564. package/esm/scale/color-ordinal-scale.js.map +1 -1
  565. package/esm/scale/global-scale.js +1 -9
  566. package/esm/scale/global-scale.js.map +1 -1
  567. package/esm/series/area/area.d.ts +0 -2
  568. package/esm/series/area/area.js +1 -7
  569. package/esm/series/area/area.js.map +1 -1
  570. package/esm/series/bar/bar.d.ts +0 -3
  571. package/esm/series/bar/bar.js +4 -30
  572. package/esm/series/bar/bar.js.map +1 -1
  573. package/esm/series/base/base-series.d.ts +7 -11
  574. package/esm/series/base/base-series.js +16 -84
  575. package/esm/series/base/base-series.js.map +1 -1
  576. package/esm/series/base/constant.d.ts +0 -3
  577. package/esm/series/base/constant.js +0 -10
  578. package/esm/series/base/constant.js.map +1 -1
  579. package/esm/series/box-plot/box-plot.d.ts +0 -2
  580. package/esm/series/box-plot/box-plot.js +4 -15
  581. package/esm/series/box-plot/box-plot.js.map +1 -1
  582. package/esm/series/correlation/correlation.js +11 -13
  583. package/esm/series/correlation/correlation.js.map +1 -1
  584. package/esm/series/dot/dot.d.ts +0 -12
  585. package/esm/series/dot/dot.js +0 -17
  586. package/esm/series/dot/dot.js.map +1 -1
  587. package/esm/series/funnel/funnel.js +8 -5
  588. package/esm/series/funnel/funnel.js.map +1 -1
  589. package/esm/series/heatmap/heatmap.d.ts +0 -2
  590. package/esm/series/heatmap/heatmap.js +0 -10
  591. package/esm/series/heatmap/heatmap.js.map +1 -1
  592. package/esm/series/line/line.d.ts +0 -2
  593. package/esm/series/line/line.js +2 -10
  594. package/esm/series/line/line.js.map +1 -1
  595. package/esm/series/map/map.js +3 -3
  596. package/esm/series/map/map.js.map +1 -1
  597. package/esm/series/mixin/line-mixin.d.ts +0 -1
  598. package/esm/series/mixin/line-mixin.js +0 -5
  599. package/esm/series/mixin/line-mixin.js.map +1 -1
  600. package/esm/series/pie/pie.d.ts +7 -3
  601. package/esm/series/pie/pie.js +0 -17
  602. package/esm/series/pie/pie.js.map +1 -1
  603. package/esm/series/polar/progress-like/progress-like.d.ts +0 -2
  604. package/esm/series/polar/progress-like/progress-like.js +0 -17
  605. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  606. package/esm/series/polar/rose-like/rose-like.d.ts +0 -2
  607. package/esm/series/polar/rose-like/rose-like.js +0 -16
  608. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  609. package/esm/series/progress/circular/circular.d.ts +0 -2
  610. package/esm/series/progress/circular/circular.js +0 -11
  611. package/esm/series/progress/circular/circular.js.map +1 -1
  612. package/esm/series/progress/linear/linear.d.ts +0 -2
  613. package/esm/series/progress/linear/linear.js +0 -20
  614. package/esm/series/progress/linear/linear.js.map +1 -1
  615. package/esm/series/sankey/sankey.js +54 -60
  616. package/esm/series/sankey/sankey.js.map +1 -1
  617. package/esm/series/scatter/scatter.d.ts +0 -2
  618. package/esm/series/scatter/scatter.js +0 -10
  619. package/esm/series/scatter/scatter.js.map +1 -1
  620. package/esm/series/treemap/treemap.js +20 -23
  621. package/esm/series/treemap/treemap.js.map +1 -1
  622. package/esm/series/venn/venn.js +2 -2
  623. package/esm/series/venn/venn.js.map +1 -1
  624. package/esm/series/waterfall/waterfall.d.ts +0 -2
  625. package/esm/series/waterfall/waterfall.js +20 -36
  626. package/esm/series/waterfall/waterfall.js.map +1 -1
  627. package/esm/series/word-cloud/animation.js +0 -3
  628. package/esm/series/word-cloud/animation.js.map +1 -1
  629. package/esm/theme/builtin/common/series/word-cloud.js +6 -2
  630. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
  631. package/esm/util/math.d.ts +1 -1
  632. package/esm/util/math.js +1 -1
  633. package/esm/util/math.js.map +1 -1
  634. package/esm/util/text.js +1 -1
  635. package/esm/util/text.js.map +1 -1
  636. package/package.json +8 -10
  637. package/cjs/compile/stage-app.d.ts +0 -17
  638. package/cjs/compile/stage-app.js +0 -82
  639. package/cjs/compile/stage-app.js.map +0 -1
  640. package/cjs/component/base/release-vrender-component.d.ts +0 -10
  641. package/cjs/component/base/release-vrender-component.js +0 -37
  642. package/cjs/component/base/release-vrender-component.js.map +0 -1
  643. package/cjs/data/data-view-utils.d.ts +0 -5
  644. package/cjs/data/data-view-utils.js +0 -58
  645. package/cjs/data/data-view-utils.js.map +0 -1
  646. package/cjs/util/graphic-state.d.ts +0 -4
  647. package/cjs/util/graphic-state.js +0 -40
  648. package/cjs/util/graphic-state.js.map +0 -1
  649. package/esm/compile/stage-app.d.ts +0 -17
  650. package/esm/compile/stage-app.js +0 -77
  651. package/esm/compile/stage-app.js.map +0 -1
  652. package/esm/component/base/release-vrender-component.d.ts +0 -10
  653. package/esm/component/base/release-vrender-component.js +0 -24
  654. package/esm/component/base/release-vrender-component.js.map +0 -1
  655. package/esm/data/data-view-utils.d.ts +0 -5
  656. package/esm/data/data-view-utils.js +0 -46
  657. package/esm/data/data-view-utils.js.map +0 -1
  658. package/esm/util/graphic-state.d.ts +0 -4
  659. package/esm/util/graphic-state.js +0 -30
  660. package/esm/util/graphic-state.js.map +0 -1
@@ -10,8 +10,6 @@ import { generateFilterValue } from "./util";
10
10
 
11
11
  import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
12
12
 
13
- import { removeGraphicState } from "../../util/graphic-state";
14
-
15
13
  const type = "element-active-by-legend", defaultOptions = {
16
14
  state: STATE_VALUE_ENUM.STATE_ACTIVE,
17
15
  filterType: "groupKey"
@@ -57,7 +55,7 @@ export class ElementActiveByLegend extends BaseTrigger {
57
55
  const {state: state, interaction: interaction} = this.options;
58
56
  if (g) {
59
57
  const statedGraphics = interaction.getStatedGraphics(this);
60
- statedGraphics && statedGraphics.includes(g) && (removeGraphicState(g, state), interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g))));
58
+ statedGraphics && statedGraphics.includes(g) && (g.removeState(state), interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g))));
61
59
  } else this.resetAll();
62
60
  }
63
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-active-by-legend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,cAAc,GAA2C;IAC7D,KAAK,EAAE,gBAAgB,CAAC,YAAY;IACpC,UAAU,EAAE,UAAU;CACvB,CAAC;AAEF,MAAM,OAAO,qBACX,SAAQ,WAA0C;IAQlD,YAAY,OAAuC;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QALjB,SAAI,GAAW,IAAI,CAAC;QAwEpB,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;;YACnC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAEtB,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC,CAAC;aACpC;QACH,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC;QA5EA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IACS,SAAS;QACjB,OAAO;YACL;gBACE,IAAI,EAAE,UAAU,CAAC,eAAe;gBAChC,OAAO,EAAE,IAAI,CAAC,WAAW;aAC1B;YACD;gBACE,IAAI,EAAE,UAAU,CAAC,iBAAiB;gBAClC,OAAO,EAAE,IAAI,CAAC,WAAW;aAC1B;SACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YAClB,OAAO;SACR;QACD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5C,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAmB,EAAE,CAAC;QAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,MAAA,CAAC,CAAC,WAAW,EAAE,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC3B,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;oBAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACzE,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5C,WAAW,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEjD,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,CAAgB;QACpB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5C,IAAI,CAAC,EAAE;YACL,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAChD,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7B,WAAW,CAAC,iBAAiB,CAC3B,IAAI,EACJ,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACtC,CAAC;aACH;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;;AAvEM,0BAAI,GAAW,IAAI,CAAC;AAGpB,oCAAc,GAAG,cAAc,CAAC;AAmFzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE;IAChD,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAClE,CAAC,CAAC","file":"element-active-by-legend.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementActiveByLegendOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport { ChartEvent } from '../../constant/event';\nimport { isNil } from '@visactor/vutils';\nimport { generateFilterValue } from './util';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport type { BaseEventParams } from '../../core';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { removeGraphicState } from '../../util/graphic-state';\n\nconst type = 'element-active-by-legend';\nconst defaultOptions: Partial<IElementActiveByLegendOptions> = {\n state: STATE_VALUE_ENUM.STATE_ACTIVE,\n filterType: 'groupKey'\n};\n\nexport class ElementActiveByLegend\n extends BaseTrigger<IElementActiveByLegendOptions>\n implements ITrigger<IElementActiveByLegendOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = defaultOptions;\n\n constructor(options?: IElementActiveByLegendOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.state]);\n }\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: ChartEvent.legendItemHover,\n handler: this.handleStart\n },\n {\n type: ChartEvent.legendItemUnHover,\n handler: this.handleReset\n }\n ];\n }\n\n getStartState(): string {\n return this.options.state;\n }\n start(itemKey: string) {\n if (isNil(itemKey)) {\n return;\n }\n const { interaction, state } = this.options;\n const filterValue = generateFilterValue(this.options);\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (filterValue(g) === itemKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, state);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n\n resetAll() {\n const { interaction, state } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, state);\n\n interaction.setStatedGraphics(this, []);\n }\n\n reset(g?: IMarkGraphic) {\n const { state, interaction } = this.options;\n\n if (g) {\n const statedGraphics = interaction.getStatedGraphics(this);\n if (statedGraphics && statedGraphics.includes(g)) {\n removeGraphicState(g, state);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n const event = e.event;\n\n if (event) {\n this.start(event.detail?.data?.id);\n }\n };\n\n handleReset = (e: BaseEventParams) => {\n this.resetAll();\n };\n}\n\nexport const registerElementActiveByLegend = () => {\n Factory.registerInteractionTrigger(type, ElementActiveByLegend);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-active-by-legend.ts"],"names":[],"mappings":"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","file":"element-active-by-legend.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementActiveByLegendOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport { ChartEvent } from '../../constant/event';\nimport { isNil } from '@visactor/vutils';\nimport { generateFilterValue } from './util';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport type { BaseEventParams } from '../../core';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\n\nconst type = 'element-active-by-legend';\nconst defaultOptions: Partial<IElementActiveByLegendOptions> = {\n state: STATE_VALUE_ENUM.STATE_ACTIVE,\n filterType: 'groupKey'\n};\n\nexport class ElementActiveByLegend\n extends BaseTrigger<IElementActiveByLegendOptions>\n implements ITrigger<IElementActiveByLegendOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = defaultOptions;\n\n constructor(options?: IElementActiveByLegendOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.state]);\n }\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: ChartEvent.legendItemHover,\n handler: this.handleStart\n },\n {\n type: ChartEvent.legendItemUnHover,\n handler: this.handleReset\n }\n ];\n }\n\n getStartState(): string {\n return this.options.state;\n }\n start(itemKey: string) {\n if (isNil(itemKey)) {\n return;\n }\n const { interaction, state } = this.options;\n const filterValue = generateFilterValue(this.options);\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (filterValue(g) === itemKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, state);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n\n resetAll() {\n const { interaction, state } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, state);\n\n interaction.setStatedGraphics(this, []);\n }\n\n reset(g?: IMarkGraphic) {\n const { state, interaction } = this.options;\n\n if (g) {\n const statedGraphics = interaction.getStatedGraphics(this);\n if (statedGraphics && statedGraphics.includes(g)) {\n g.removeState(state);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n const event = e.event;\n\n if (event) {\n this.start(event.detail?.data?.id);\n }\n };\n\n handleReset = (e: BaseEventParams) => {\n this.resetAll();\n };\n}\n\nexport const registerElementActiveByLegend = () => {\n Factory.registerInteractionTrigger(type, ElementActiveByLegend);\n};\n"]}
@@ -4,8 +4,6 @@ import { BaseTrigger } from "./base";
4
4
 
5
5
  import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
6
6
 
7
- import { addGraphicState, removeGraphicState } from "../../util/graphic-state";
8
-
9
7
  const defaultOptions = {
10
8
  state: STATE_VALUE_ENUM.STATE_ACTIVE,
11
9
  trigger: "pointerover",
@@ -35,12 +33,12 @@ export class ElementActive extends BaseTrigger {
35
33
  start(g) {
36
34
  if (g) {
37
35
  const {state: state, interaction: interaction} = this.options;
38
- this.isGraphicInStateMark(g, state) && (addGraphicState(g, state, !0), interaction.setStatedGraphics(this, [ g ]));
36
+ this.isGraphicInStateMark(g, state) && (g.addState(state, !0), interaction.setStatedGraphics(this, [ g ]));
39
37
  }
40
38
  }
41
39
  reset(graphic) {
42
40
  const {interaction: interaction, state: state} = this.options, statedGraphics = interaction.getStatedGraphics(this), g = null != graphic ? graphic : null == statedGraphics ? void 0 : statedGraphics[0];
43
- g && (null == statedGraphics ? void 0 : statedGraphics.includes(g)) && (removeGraphicState(g, state),
41
+ g && (null == statedGraphics ? void 0 : statedGraphics.includes(g)) && (g.removeState(state),
44
42
  interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g))));
45
43
  }
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-active.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,MAAM,cAAc,GAAmC;IACrD,KAAK,EAAE,gBAAgB,CAAC,YAAY;IACpC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,WAAkC;IAMnE,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QALjB,SAAI,oBAA4C;QAmDhD,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAnDA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IACS,SAAS;QACjB,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC1B,OAAO,EAAE,IAAI,CAAC,WAAW;aAC1B;YACD,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,CAAe;QACnB,IAAI,CAAC,EAAE;YACL,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAE5C,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACvC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAEhC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAsB;QAC1B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5C,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAE;YACpC,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7B,WAAW,CAAC,iBAAiB,CAC3B,IAAI,EACJ,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACtC,CAAC;SACH;IACH,CAAC;;AAlDM,kBAAI,oBAA4C;AAGhD,4BAAc,GAAG,cAAc,CAAC;AA0DzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC,CAAC","file":"element-active.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementActiveOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport { TRIGGER_TYPE_ENUM } from './enum';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { addGraphicState, removeGraphicState } from '../../util/graphic-state';\n\nconst defaultOptions: Partial<IElementActiveOptions> = {\n state: STATE_VALUE_ENUM.STATE_ACTIVE,\n trigger: 'pointerover',\n triggerOff: 'pointerout'\n};\n\nexport class ElementActive extends BaseTrigger<IElementActiveOptions> implements ITrigger<IElementActiveOptions> {\n static type: string = TRIGGER_TYPE_ENUM.ELEMENT_ACTIVE;\n type: string = TRIGGER_TYPE_ENUM.ELEMENT_ACTIVE;\n\n static defaultOptions = defaultOptions;\n\n constructor(options?: IElementActiveOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.state]);\n }\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: this.options.trigger,\n handler: this.handleStart\n },\n { type: this.options.triggerOff, handler: this.handleReset }\n ];\n }\n\n getStartState(): string {\n return this.options.state;\n }\n\n start(g: IMarkGraphic) {\n if (g) {\n const { state, interaction } = this.options;\n\n if (this.isGraphicInStateMark(g, state)) {\n addGraphicState(g, state, true);\n\n interaction.setStatedGraphics(this, [g]);\n }\n }\n }\n\n reset(graphic?: IMarkGraphic) {\n const { interaction, state } = this.options;\n\n const statedGraphics = interaction.getStatedGraphics(this);\n const g = graphic ?? statedGraphics?.[0];\n\n if (g && statedGraphics?.includes(g)) {\n removeGraphicState(g, state);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n this.start(e.item);\n };\n\n handleReset = (e: BaseEventParams) => {\n this.reset(e.item);\n };\n}\n\nexport const registerElementActive = () => {\n Factory.registerInteractionTrigger(ElementActive.type, ElementActive);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-active.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,MAAM,cAAc,GAAmC;IACrD,KAAK,EAAE,gBAAgB,CAAC,YAAY;IACpC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,WAAkC;IAMnE,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QALjB,SAAI,oBAA4C;QAmDhD,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAnDA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IACS,SAAS;QACjB,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC1B,OAAO,EAAE,IAAI,CAAC,WAAW;aAC1B;YACD,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,CAAe;QACnB,IAAI,CAAC,EAAE;YACL,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAE5C,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACvC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAExB,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAsB;QAC1B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5C,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAE;YACpC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,CAAC,iBAAiB,CAC3B,IAAI,EACJ,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACtC,CAAC;SACH;IACH,CAAC;;AAlDM,kBAAI,oBAA4C;AAGhD,4BAAc,GAAG,cAAc,CAAC;AA0DzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC,CAAC","file":"element-active.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementActiveOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport { TRIGGER_TYPE_ENUM } from './enum';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport type { BaseEventParams } from '../../event/interface';\n\nconst defaultOptions: Partial<IElementActiveOptions> = {\n state: STATE_VALUE_ENUM.STATE_ACTIVE,\n trigger: 'pointerover',\n triggerOff: 'pointerout'\n};\n\nexport class ElementActive extends BaseTrigger<IElementActiveOptions> implements ITrigger<IElementActiveOptions> {\n static type: string = TRIGGER_TYPE_ENUM.ELEMENT_ACTIVE;\n type: string = TRIGGER_TYPE_ENUM.ELEMENT_ACTIVE;\n\n static defaultOptions = defaultOptions;\n\n constructor(options?: IElementActiveOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.state]);\n }\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: this.options.trigger,\n handler: this.handleStart\n },\n { type: this.options.triggerOff, handler: this.handleReset }\n ];\n }\n\n getStartState(): string {\n return this.options.state;\n }\n\n start(g: IMarkGraphic) {\n if (g) {\n const { state, interaction } = this.options;\n\n if (this.isGraphicInStateMark(g, state)) {\n g.addState(state, true);\n\n interaction.setStatedGraphics(this, [g]);\n }\n }\n }\n\n reset(graphic?: IMarkGraphic) {\n const { interaction, state } = this.options;\n\n const statedGraphics = interaction.getStatedGraphics(this);\n const g = graphic ?? statedGraphics?.[0];\n\n if (g && statedGraphics?.includes(g)) {\n g.removeState(state);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n this.start(e.item);\n };\n\n handleReset = (e: BaseEventParams) => {\n this.reset(e.item);\n };\n}\n\nexport const registerElementActive = () => {\n Factory.registerInteractionTrigger(ElementActive.type, ElementActive);\n};\n"]}
@@ -6,8 +6,6 @@ import { isNil } from "@visactor/vutils";
6
6
 
7
7
  import { highlightDefaultOptions } from "./util";
8
8
 
9
- import { removeGraphicState } from "../../util/graphic-state";
10
-
11
9
  const type = "element-highlight-by-group";
12
10
 
13
11
  export class ElementHighlightByGroup extends BaseTrigger {
@@ -60,8 +58,7 @@ export class ElementHighlightByGroup extends BaseTrigger {
60
58
  if (g) {
61
59
  if (this.isGraphicInMark(g)) {
62
60
  const {interaction: interaction} = this.options, statedGraphics = interaction.getStatedGraphics(this);
63
- removeGraphicState(g, [ this.options.highlightState, this.options.blurState ]),
64
- interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g)));
61
+ g.removeState([ this.options.highlightState, this.options.blurState ]), interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g)));
65
62
  }
66
63
  } else this.resetAll();
67
64
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-highlight-by-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,IAAI,GAAG,4BAA4B,CAAC;AAE1C,MAAM,OAAO,uBACX,SAAQ,WAAqC;IAO7C,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJjB,SAAI,GAAW,IAAI,CAAC;QAmFpB,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,MAAM,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAEtD,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;QACH,CAAC,CAAC;QAzFA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAEnE,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACrC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAES,SAAS;QACjB,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC1B,OAAO,EAAE,IAAI,CAAC,WAAW;aAC1B;YACD,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEhE,WAAW,CAAC,uBAAuB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAErE,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAES,iBAAiB,CAAC,CAAe;;QACzC,OAAO,MAAA,CAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,CAAe;QACnB,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAE/C,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAChE,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,iBAAiB,GAAmB,EAAE,CAAC;YAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;gBAC1B,MAAA,CAAC,CAAC,WAAW,EAAE,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC3B,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE;wBAC9C,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBAC3B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAC7F,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;SACxD;IACH,CAAC;IAED,KAAK,CAAC,CAAgB;QACpB,IAAI,CAAC,EAAE;YACL,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBACrC,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE3D,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE7E,WAAW,CAAC,iBAAiB,CAC3B,IAAI,EACJ,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACtC,CAAC;aACH;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;;AAlFM,4BAAI,GAAW,IAAI,CAAC;AAGpB,sCAAc,GAAG,uBAAuB,CAAC;AA+FlD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,EAAE;IAClD,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AACpE,CAAC,CAAC","file":"element-highlight-by-group.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementHighlightOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport { isNil } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../core';\nimport { highlightDefaultOptions } from './util';\nimport { removeGraphicState } from '../../util/graphic-state';\n\nconst type = 'element-highlight-by-group';\n\nexport class ElementHighlightByGroup\n extends BaseTrigger<IElementHighlightOptions>\n implements ITrigger<IElementHighlightOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = highlightDefaultOptions;\n constructor(options?: IElementHighlightOptions) {\n super(options);\n this.options = Object.assign({}, highlightDefaultOptions, options);\n\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: this.options.trigger,\n handler: this.handleStart\n },\n { type: this.options.triggerOff, handler: this.handleReset }\n ];\n }\n\n resetAll() {\n const { interaction, highlightState, blurState } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n interaction.setStatedGraphics(this, []);\n }\n\n protected _getHightlightKey(g: IMarkGraphic) {\n return g.context?.groupKey;\n }\n\n start(g: IMarkGraphic) {\n if (g && this.isGraphicInMark(g)) {\n const highlightKey = this._getHightlightKey(g);\n\n if (isNil(highlightKey)) {\n return;\n }\n\n const { interaction, highlightState, blurState } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (this._getHightlightKey(g) === highlightKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, highlightState, blurState);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n }\n\n reset(g?: IMarkGraphic) {\n if (g) {\n if (this.isGraphicInMark(g)) {\n const { interaction } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n\n removeGraphicState(g, [this.options.highlightState, this.options.blurState]);\n\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n this.start(e.item);\n };\n\n handleReset = (e: BaseEventParams) => {\n const g = e.item;\n const hasActiveElement = g && this.isGraphicInMark(g);\n\n if (hasActiveElement) {\n this.resetAll();\n }\n };\n}\n\nexport const registerElementHighlightByGroup = () => {\n Factory.registerInteractionTrigger(type, ElementHighlightByGroup);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-highlight-by-group.ts"],"names":[],"mappings":"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","file":"element-highlight-by-group.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementHighlightOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport { isNil } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../core';\nimport { highlightDefaultOptions } from './util';\n\nconst type = 'element-highlight-by-group';\n\nexport class ElementHighlightByGroup\n extends BaseTrigger<IElementHighlightOptions>\n implements ITrigger<IElementHighlightOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = highlightDefaultOptions;\n constructor(options?: IElementHighlightOptions) {\n super(options);\n this.options = Object.assign({}, highlightDefaultOptions, options);\n\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: this.options.trigger,\n handler: this.handleStart\n },\n { type: this.options.triggerOff, handler: this.handleReset }\n ];\n }\n\n resetAll() {\n const { interaction, highlightState, blurState } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n interaction.setStatedGraphics(this, []);\n }\n\n protected _getHightlightKey(g: IMarkGraphic) {\n return g.context?.groupKey;\n }\n\n start(g: IMarkGraphic) {\n if (g && this.isGraphicInMark(g)) {\n const highlightKey = this._getHightlightKey(g);\n\n if (isNil(highlightKey)) {\n return;\n }\n\n const { interaction, highlightState, blurState } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (this._getHightlightKey(g) === highlightKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, highlightState, blurState);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n }\n\n reset(g?: IMarkGraphic) {\n if (g) {\n if (this.isGraphicInMark(g)) {\n const { interaction } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n\n g.removeState([this.options.highlightState, this.options.blurState]);\n\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n this.start(e.item);\n };\n\n handleReset = (e: BaseEventParams) => {\n const g = e.item;\n const hasActiveElement = g && this.isGraphicInMark(g);\n\n if (hasActiveElement) {\n this.resetAll();\n }\n };\n}\n\nexport const registerElementHighlightByGroup = () => {\n Factory.registerInteractionTrigger(type, ElementHighlightByGroup);\n};\n"]}
@@ -8,8 +8,6 @@ import { ChartEvent } from "../../constant/event";
8
8
 
9
9
  import { generateFilterValue } from "./util";
10
10
 
11
- import { removeGraphicState } from "../../util/graphic-state";
12
-
13
11
  const type = "element-highlight-by-legend", defaultOptions = {
14
12
  highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,
15
13
  blurState: STATE_VALUE_ENUM.STATE_BLUR,
@@ -61,7 +59,7 @@ export class ElementHighlightByLegend extends BaseTrigger {
61
59
  const {highlightState: highlightState, blurState: blurState, interaction: interaction} = this.options;
62
60
  if (g) {
63
61
  const statedGraphics = interaction.getStatedGraphics(this);
64
- statedGraphics && statedGraphics.includes(g) && (removeGraphicState(g, [ highlightState, blurState ]),
62
+ statedGraphics && statedGraphics.includes(g) && (g.removeState([ highlightState, blurState ]),
65
63
  interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g))));
66
64
  } else this.resetAll();
67
65
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-highlight-by-legend.ts"],"names":[],"mappings":"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","file":"element-highlight-by-legend.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementHighlightByLegendOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { ChartEvent } from '../../constant/event';\nimport { generateFilterValue } from './util';\nimport type { IMarkGraphic } from '../../mark/interface/common';\nimport type { BaseEventParams } from '../../event/interface';\nimport { removeGraphicState } from '../../util/graphic-state';\n\nconst type = 'element-highlight-by-legend';\nconst defaultOptions: Partial<IElementHighlightByLegendOptions> = {\n highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,\n blurState: STATE_VALUE_ENUM.STATE_BLUR,\n filterType: 'groupKey'\n};\n\nexport class ElementHighlightByLegend\n extends BaseTrigger<IElementHighlightByLegendOptions>\n implements ITrigger<IElementHighlightByLegendOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = defaultOptions;\n constructor(options?: IElementHighlightByLegendOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: ChartEvent.legendItemHover,\n handler: this.handleStart\n },\n {\n type: ChartEvent.legendItemUnHover,\n handler: this.handleReset\n }\n ];\n }\n\n start(itemKey: any) {\n if (itemKey) {\n const filterValue = generateFilterValue(this.options as IElementHighlightByLegendOptions);\n\n const { interaction, highlightState, blurState } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (filterValue(g) === itemKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, highlightState, blurState);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n }\n\n resetAll() {\n const { interaction, highlightState, blurState } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n interaction.setStatedGraphics(this, []);\n }\n\n reset(g?: IMarkGraphic) {\n const { highlightState, blurState, interaction } = this.options;\n\n if (g) {\n const statedGraphics = interaction.getStatedGraphics(this);\n if (statedGraphics && statedGraphics.includes(g)) {\n removeGraphicState(g, [highlightState, blurState]);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n const event = e.event;\n\n if (event) {\n this.start(event.detail?.data?.id);\n }\n };\n\n handleReset = (e: BaseEventParams) => {\n this.resetAll();\n };\n}\n\nexport const registerElementHighlightByLegend = () => {\n Factory.registerInteractionTrigger(type, ElementHighlightByLegend);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-highlight-by-legend.ts"],"names":[],"mappings":"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","file":"element-highlight-by-legend.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementHighlightByLegendOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { ChartEvent } from '../../constant/event';\nimport { generateFilterValue } from './util';\nimport type { IMarkGraphic } from '../../mark/interface/common';\nimport type { BaseEventParams } from '../../event/interface';\n\nconst type = 'element-highlight-by-legend';\nconst defaultOptions: Partial<IElementHighlightByLegendOptions> = {\n highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,\n blurState: STATE_VALUE_ENUM.STATE_BLUR,\n filterType: 'groupKey'\n};\n\nexport class ElementHighlightByLegend\n extends BaseTrigger<IElementHighlightByLegendOptions>\n implements ITrigger<IElementHighlightByLegendOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = defaultOptions;\n constructor(options?: IElementHighlightByLegendOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n\n protected getEvents(): Array<{ type: string | string[]; handler: ITriggerEventHandler }> {\n return [\n {\n type: ChartEvent.legendItemHover,\n handler: this.handleStart\n },\n {\n type: ChartEvent.legendItemUnHover,\n handler: this.handleReset\n }\n ];\n }\n\n start(itemKey: any) {\n if (itemKey) {\n const filterValue = generateFilterValue(this.options as IElementHighlightByLegendOptions);\n\n const { interaction, highlightState, blurState } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (filterValue(g) === itemKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, highlightState, blurState);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n }\n\n resetAll() {\n const { interaction, highlightState, blurState } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n interaction.setStatedGraphics(this, []);\n }\n\n reset(g?: IMarkGraphic) {\n const { highlightState, blurState, interaction } = this.options;\n\n if (g) {\n const statedGraphics = interaction.getStatedGraphics(this);\n if (statedGraphics && statedGraphics.includes(g)) {\n g.removeState([highlightState, blurState]);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n const event = e.event;\n\n if (event) {\n this.start(event.detail?.data?.id);\n }\n };\n\n handleReset = (e: BaseEventParams) => {\n this.resetAll();\n };\n}\n\nexport const registerElementHighlightByLegend = () => {\n Factory.registerInteractionTrigger(type, ElementHighlightByLegend);\n};\n"]}
@@ -8,8 +8,6 @@ import { array } from "@visactor/vutils";
8
8
 
9
9
  import { generateFilterValue } from "./util";
10
10
 
11
- import { removeGraphicState } from "../../util/graphic-state";
12
-
13
11
  const type = "element-highlight-by-name", defaultOptions = {
14
12
  highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,
15
13
  blurState: STATE_VALUE_ENUM.STATE_BLUR,
@@ -70,7 +68,7 @@ export class ElementHighlightByName extends BaseTrigger {
70
68
  const {highlightState: highlightState, blurState: blurState, interaction: interaction} = this.options;
71
69
  if (g) {
72
70
  const statedGraphics = interaction.getStatedGraphics(this);
73
- statedGraphics && statedGraphics.includes(g) && (removeGraphicState(g, [ highlightState, blurState ]),
71
+ statedGraphics && statedGraphics.includes(g) && (g.removeState([ highlightState, blurState ]),
74
72
  interaction.setStatedGraphics(this, statedGraphics.filter((sg => sg !== g))));
75
73
  } else this.resetAll();
76
74
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-highlight-by-name.ts"],"names":[],"mappings":"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","file":"element-highlight-by-name.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementHighlightByNameOptions, ITrigger } from '../interface/trigger';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { array } from '@visactor/vutils';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport { generateFilterValue } from './util';\nimport { removeGraphicState } from '../../util/graphic-state';\n\nconst type = 'element-highlight-by-name';\nconst defaultOptions: Partial<IElementHighlightByNameOptions> = {\n highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,\n blurState: STATE_VALUE_ENUM.STATE_BLUR,\n filterType: 'groupKey'\n};\n\nexport class ElementHighlightByName\n extends BaseTrigger<IElementHighlightByNameOptions>\n implements ITrigger<IElementHighlightByNameOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = defaultOptions;\n constructor(options?: IElementHighlightByNameOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n\n protected getEvents() {\n return [\n {\n type: this.options.trigger,\n handler: this.handleStart\n },\n { type: this.options.triggerOff, handler: this.handleReset }\n ];\n }\n\n protected _filterByName(e: BaseEventParams) {\n const names = array(this.options.graphicName);\n\n return e?.node?.name && names.includes(e.node.name);\n }\n\n protected _parseTargetKey(e: BaseEventParams) {\n return this.options.parseData\n ? this.options.parseData(e)\n : e.node.type === 'text'\n ? (e.node.attribute as any).text\n : null;\n }\n\n start(itemKey: any) {\n if (itemKey) {\n const filterValue = generateFilterValue(this.options as IElementHighlightByNameOptions);\n\n const { interaction, highlightState, blurState } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (filterValue(g) === itemKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, highlightState, blurState);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n }\n\n resetAll() {\n const { interaction, highlightState, blurState } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n interaction.setStatedGraphics(this, []);\n }\n\n reset(g?: IMarkGraphic) {\n const { highlightState, blurState, interaction } = this.options;\n\n if (g) {\n const statedGraphics = interaction.getStatedGraphics(this);\n if (statedGraphics && statedGraphics.includes(g)) {\n removeGraphicState(g, [highlightState, blurState]);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n const shoudStart = this.options.shouldStart ? this.options.shouldStart(e) : this._filterByName(e);\n\n if (shoudStart) {\n const itemKey = this._parseTargetKey(e);\n this.start(itemKey);\n }\n };\n\n handleReset = (e: BaseEventParams) => {\n const shoudReset = this.options.shouldReset ? this.options.shouldReset(e) : this._filterByName(e);\n\n if (shoudReset) {\n this.resetAll();\n }\n };\n}\n\nexport const registerElementHighlightByName = () => {\n Factory.registerInteractionTrigger(type, ElementHighlightByName);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-highlight-by-name.ts"],"names":[],"mappings":"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","file":"element-highlight-by-name.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { BaseTrigger } from './base';\nimport type { IElementHighlightByNameOptions, ITrigger } from '../interface/trigger';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { array } from '@visactor/vutils';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport { generateFilterValue } from './util';\n\nconst type = 'element-highlight-by-name';\nconst defaultOptions: Partial<IElementHighlightByNameOptions> = {\n highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,\n blurState: STATE_VALUE_ENUM.STATE_BLUR,\n filterType: 'groupKey'\n};\n\nexport class ElementHighlightByName\n extends BaseTrigger<IElementHighlightByNameOptions>\n implements ITrigger<IElementHighlightByNameOptions>\n{\n static type: string = type;\n type: string = type;\n\n static defaultOptions = defaultOptions;\n constructor(options?: IElementHighlightByNameOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n\n protected getEvents() {\n return [\n {\n type: this.options.trigger,\n handler: this.handleStart\n },\n { type: this.options.triggerOff, handler: this.handleReset }\n ];\n }\n\n protected _filterByName(e: BaseEventParams) {\n const names = array(this.options.graphicName);\n\n return e?.node?.name && names.includes(e.node.name);\n }\n\n protected _parseTargetKey(e: BaseEventParams) {\n return this.options.parseData\n ? this.options.parseData(e)\n : e.node.type === 'text'\n ? (e.node.attribute as any).text\n : null;\n }\n\n start(itemKey: any) {\n if (itemKey) {\n const filterValue = generateFilterValue(this.options as IElementHighlightByNameOptions);\n\n const { interaction, highlightState, blurState } = this.options;\n const statedGraphics = interaction.getStatedGraphics(this);\n const newStatedGraphics: IMarkGraphic[] = [];\n\n this.getMarks().forEach(m => {\n m.getGraphics()?.forEach(g => {\n if (filterValue(g) === itemKey) {\n newStatedGraphics.push(g);\n }\n });\n });\n\n interaction.updateStates(this, newStatedGraphics, statedGraphics, highlightState, blurState);\n interaction.setStatedGraphics(this, newStatedGraphics);\n }\n }\n\n resetAll() {\n const { interaction, highlightState, blurState } = this.options;\n\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n interaction.setStatedGraphics(this, []);\n }\n\n reset(g?: IMarkGraphic) {\n const { highlightState, blurState, interaction } = this.options;\n\n if (g) {\n const statedGraphics = interaction.getStatedGraphics(this);\n if (statedGraphics && statedGraphics.includes(g)) {\n g.removeState([highlightState, blurState]);\n interaction.setStatedGraphics(\n this,\n statedGraphics.filter(sg => sg !== g)\n );\n }\n } else {\n this.resetAll();\n }\n }\n\n handleStart = (e: BaseEventParams) => {\n const shoudStart = this.options.shouldStart ? this.options.shouldStart(e) : this._filterByName(e);\n\n if (shoudStart) {\n const itemKey = this._parseTargetKey(e);\n this.start(itemKey);\n }\n };\n\n handleReset = (e: BaseEventParams) => {\n const shoudReset = this.options.shouldReset ? this.options.shouldReset(e) : this._filterByName(e);\n\n if (shoudReset) {\n this.resetAll();\n }\n };\n}\n\nexport const registerElementHighlightByName = () => {\n Factory.registerInteractionTrigger(type, ElementHighlightByName);\n};\n"]}
@@ -6,8 +6,6 @@ import { BaseTrigger } from "./base";
6
6
 
7
7
  import { Factory } from "../../core/factory";
8
8
 
9
- import { removeGraphicState } from "../../util/graphic-state";
10
-
11
9
  const defaultOptions = {
12
10
  highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,
13
11
  blurState: STATE_VALUE_ENUM.STATE_BLUR,
@@ -64,7 +62,7 @@ export class ElementHighlight extends BaseTrigger {
64
62
  } else this._lastGraphic && "view" === this._resetType && this.resetAll(e);
65
63
  }
66
64
  reset(markGraphic, e) {
67
- markGraphic ? this._markSet.getMarkInId(markGraphic.context.markId) && removeGraphicState(markGraphic, [ this.options.highlightState, this.options.blurState ]) : this.resetAll(e);
65
+ markGraphic ? this._markSet.getMarkInId(markGraphic.context.markId) && markGraphic.removeState([ this.options.highlightState, this.options.blurState ]) : this.resetAll(e);
68
66
  }
69
67
  }
70
68
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/triggers/element-highlight.ts"],"names":[],"mappings":"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","file":"element-highlight.js","sourcesContent":["import { isString } from '@visactor/vutils';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { IElementHighlightOptions, ITrigger } from '../interface/trigger';\nimport type { IMarkGraphic } from '../../mark/interface/common';\nimport { BaseTrigger } from './base';\nimport { Factory } from '../../core/factory';\nimport type { GraphicEventType } from '@visactor/vrender-core';\nimport { TRIGGER_TYPE_ENUM } from './enum';\nimport type { BaseEventParams } from '../../event/interface';\nimport { removeGraphicState } from '../../util/graphic-state';\n\nconst defaultOptions: Partial<IElementHighlightOptions> = {\n highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,\n blurState: STATE_VALUE_ENUM.STATE_BLUR,\n trigger: 'pointerover',\n triggerOff: 'pointerout'\n};\n\nexport class ElementHighlight\n extends BaseTrigger<IElementHighlightOptions>\n implements ITrigger<IElementHighlightOptions>\n{\n static type: string = TRIGGER_TYPE_ENUM.ELEMENT_HIGHLIGHT;\n type: string = TRIGGER_TYPE_ENUM.ELEMENT_HIGHLIGHT;\n\n static defaultOptions = defaultOptions;\n\n protected _lastGraphic?: IMarkGraphic;\n\n constructor(options?: IElementHighlightOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n protected _resetType?: 'view' | 'self';\n\n protected getEvents() {\n const triggerOff = this.options.triggerOff;\n const trigger = this.options.trigger;\n const events = [\n {\n type: trigger,\n handler: this.handleStart\n }\n ];\n\n let eventName = triggerOff;\n if (isString(triggerOff) && (triggerOff as string).includes('view:')) {\n eventName = (triggerOff as string).replace('view:', '') as GraphicEventType;\n this._resetType = 'view';\n } else {\n this._resetType = 'self';\n }\n\n events.push({ type: eventName as GraphicEventType, handler: this.handleReset });\n\n return events;\n }\n\n resetAll = (e?: BaseEventParams) => {\n const { highlightState, blurState, interaction } = this.options;\n\n if (this._lastGraphic) {\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n this.dispatchEvent('reset', { graphics: [this._lastGraphic], options: this.options, ...e });\n\n this._lastGraphic = null;\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 const statedGraphics = interaction.getStatedGraphics(this);\n\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 if (markGraphic && this._markSet.getMarkInId(markGraphic.context.markId)) {\n const { highlightState, blurState, interaction } = this.options;\n\n if (this._lastGraphic === markGraphic) {\n return;\n }\n\n const newStatedGraphics = interaction.updateStates(\n this,\n [markGraphic],\n interaction.getStatedGraphics(this),\n highlightState,\n blurState\n );\n interaction.setStatedGraphics(this, newStatedGraphics);\n\n this._lastGraphic = markGraphic;\n\n this.dispatchEvent('start', { graphics: newStatedGraphics, options: this.options, ...e });\n } else if (this._lastGraphic && this._resetType === 'view') {\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.highlightState, this.options.blurState]);\n }\n } else {\n this.resetAll(e);\n }\n }\n}\n\nexport const registerElementHighlight = () => {\n Factory.registerInteractionTrigger(ElementHighlight.type, ElementHighlight);\n};\n"]}
1
+ {"version":3,"sources":["../src/interaction/triggers/element-highlight.ts"],"names":[],"mappings":"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","file":"element-highlight.js","sourcesContent":["import { isString } from '@visactor/vutils';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport type { IElementHighlightOptions, ITrigger } from '../interface/trigger';\nimport type { IMarkGraphic } from '../../mark/interface/common';\nimport { BaseTrigger } from './base';\nimport { Factory } from '../../core/factory';\nimport type { GraphicEventType } from '@visactor/vrender-core';\nimport { TRIGGER_TYPE_ENUM } from './enum';\nimport type { BaseEventParams } from '../../event/interface';\n\nconst defaultOptions: Partial<IElementHighlightOptions> = {\n highlightState: STATE_VALUE_ENUM.STATE_HIGHLIGHT,\n blurState: STATE_VALUE_ENUM.STATE_BLUR,\n trigger: 'pointerover',\n triggerOff: 'pointerout'\n};\n\nexport class ElementHighlight\n extends BaseTrigger<IElementHighlightOptions>\n implements ITrigger<IElementHighlightOptions>\n{\n static type: string = TRIGGER_TYPE_ENUM.ELEMENT_HIGHLIGHT;\n type: string = TRIGGER_TYPE_ENUM.ELEMENT_HIGHLIGHT;\n\n static defaultOptions = defaultOptions;\n\n protected _lastGraphic?: IMarkGraphic;\n\n constructor(options?: IElementHighlightOptions) {\n super(options);\n this.options = Object.assign({}, defaultOptions, options);\n\n this.updateMarkIdByState([this.options.highlightState, this.options.blurState]);\n }\n\n getStartState(): string {\n return this.options.highlightState;\n }\n\n getResetState(): string {\n return this.options.blurState;\n }\n protected _resetType?: 'view' | 'self';\n\n protected getEvents() {\n const triggerOff = this.options.triggerOff;\n const trigger = this.options.trigger;\n const events = [\n {\n type: trigger,\n handler: this.handleStart\n }\n ];\n\n let eventName = triggerOff;\n if (isString(triggerOff) && (triggerOff as string).includes('view:')) {\n eventName = (triggerOff as string).replace('view:', '') as GraphicEventType;\n this._resetType = 'view';\n } else {\n this._resetType = 'self';\n }\n\n events.push({ type: eventName as GraphicEventType, handler: this.handleReset });\n\n return events;\n }\n\n resetAll = (e?: BaseEventParams) => {\n const { highlightState, blurState, interaction } = this.options;\n\n if (this._lastGraphic) {\n interaction.clearAllStatesOfTrigger(this, highlightState, blurState);\n\n this.dispatchEvent('reset', { graphics: [this._lastGraphic], options: this.options, ...e });\n\n this._lastGraphic = null;\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 const statedGraphics = interaction.getStatedGraphics(this);\n\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 if (markGraphic && this._markSet.getMarkInId(markGraphic.context.markId)) {\n const { highlightState, blurState, interaction } = this.options;\n\n if (this._lastGraphic === markGraphic) {\n return;\n }\n\n const newStatedGraphics = interaction.updateStates(\n this,\n [markGraphic],\n interaction.getStatedGraphics(this),\n highlightState,\n blurState\n );\n interaction.setStatedGraphics(this, newStatedGraphics);\n\n this._lastGraphic = markGraphic;\n\n this.dispatchEvent('start', { graphics: newStatedGraphics, options: this.options, ...e });\n } else if (this._lastGraphic && this._resetType === 'view') {\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.highlightState, this.options.blurState]);\n }\n } else {\n this.resetAll(e);\n }\n }\n}\n\nexport const registerElementHighlight = () => {\n Factory.registerInteractionTrigger(ElementHighlight.type, ElementHighlight);\n};\n"]}
@@ -8,8 +8,6 @@ import { parseTriggerOffOfSelect } from "./util";
8
8
 
9
9
  import { Factory } from "../../core/factory";
10
10
 
11
- import { addGraphicState, removeGraphicState } from "../../util/graphic-state";
12
-
13
11
  const defaultOptions = {
14
12
  state: STATE_VALUE_ENUM.STATE_SELECTED,
15
13
  trigger: "click"
@@ -59,7 +57,7 @@ export class ElementSelect extends BaseTrigger {
59
57
  newStatedGraphics && newStatedGraphics.length ? interaction.setStatedGraphics(this, interaction.updateStates(this, newStatedGraphics, statedGraphics, state, reverseState)) : this.resetAll(e);
60
58
  }
61
59
  } else {
62
- this._timer && clearTimeout(this._timer), addGraphicState(markGraphic, state, !0);
60
+ this._timer && clearTimeout(this._timer), markGraphic.addState(state, !0);
63
61
  const newStatedGraphics = this.options.interaction.updateStates(this, isMultiple && statedGraphics ? [ ...statedGraphics, markGraphic ] : [ markGraphic ], statedGraphics, state, reverseState);
64
62
  interaction.setStatedGraphics(this, newStatedGraphics), this.dispatchEvent("start", Object.assign({
65
63
  graphics: newStatedGraphics,
@@ -70,7 +68,7 @@ export class ElementSelect extends BaseTrigger {
70
68
  } else this._resetType.includes("view") && statedGraphics && statedGraphics.length && this.resetAll(e);
71
69
  }
72
70
  reset(markGraphic, e) {
73
- markGraphic ? this._markSet.getMarkInId(markGraphic.context.markId) && removeGraphicState(markGraphic, [ this.options.state, this.options.reverseState ]) : this.resetAll(e);
71
+ markGraphic ? this._markSet.getMarkInId(markGraphic.context.markId) && markGraphic.removeState([ this.options.state, this.options.reverseState ]) : this.resetAll(e);
74
72
  }
75
73
  }
76
74
 
@@ -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';\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"]}
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"]}
package/esm/mark/arc.js CHANGED
@@ -10,11 +10,9 @@ import { polarToCartesian } from "@visactor/vutils";
10
10
 
11
11
  import { createArc } from "@visactor/vrender-core";
12
12
 
13
- import { registerArcDataLabel } from "@visactor/vrender-components/label";
13
+ import { registerArcDataLabel } from "@visactor/vrender-components";
14
14
 
15
- import { registerArc } from "@visactor/vrender-kits/register/register-arc";
16
-
17
- import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
15
+ import { registerArc, registerShadowRoot } from "@visactor/vrender-kits";
18
16
 
19
17
  export class BaseArcMark extends BaseMark {
20
18
  constructor(name, option) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":"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","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"]}
1
+ {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":"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","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"]}
package/esm/mark/area.js CHANGED
@@ -4,13 +4,9 @@ import { BaseLineMark, LINE_SEGMENT_ATTRIBUTES } from "./base/base-line";
4
4
 
5
5
  import { registerLineOrAreaAnimation } from "../animation/config";
6
6
 
7
- import { registerArea } from "@visactor/vrender-kits/register/register-area";
7
+ import { registerArea, registerShadowRoot } from "@visactor/vrender-kits";
8
8
 
9
- import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
10
-
11
- import { registerLineDataLabel } from "@visactor/vrender-components/label/line";
12
-
13
- import { registerSymbolDataLabel } from "@visactor/vrender-components/label/symbol";
9
+ import { registerLineDataLabel, registerSymbolDataLabel } from "@visactor/vrender-components";
14
10
 
15
11
  import { createArea } from "@visactor/vrender-core";
16
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAIzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,uBAAuB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,MAAM;IACN,aAAa;IACb,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,YAA2B;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;;AAjBe,aAAI,UAAqB;AAwB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAC9B,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","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"]}
1
+ {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAIzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,uBAAuB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,MAAM;IACN,aAAa;IACb,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,YAA2B;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;;AAjBe,aAAI,UAAqB;AAwB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAC9B,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","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"]}
@@ -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, StateDefinitionsInput } from '@visactor/vrender-core';
8
+ import type { IGroupGraphicAttribute, IGroup, IGraphic } 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(releaseDetach?: boolean): void;
77
+ removeProduct(): void;
78
78
  release(): void;
79
79
  protected _simpleStyle: T;
80
80
  setSimpleStyle(s: T): void;
@@ -82,11 +82,6 @@ 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;
89
- protected _dynamicSharedStateNames: Set<string>;
90
85
  _extensionChannel: {
91
86
  [key: string | number | symbol]: string[];
92
87
  };
@@ -160,14 +155,8 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
160
155
  protected _getEncoderOfStyle: (stateName: string, style: Partial<IAttrs<T>>) => Record<string, (datum: Datum) => any>;
161
156
  protected _setGraphicFromMarkConfig: (g: IMarkGraphic) => void;
162
157
  protected _setStateOfGraphic: (g: IMarkGraphic, hasAnimation?: boolean) => void;
163
- protected _getSharedStateDefinitionRefId(value: unknown): string;
164
- protected _getSharedStateDefinitionValueKey(value: unknown): string;
165
- protected _isStaticSharedStateAttribute(stateName: string, key: string): boolean;
166
- protected _applySharedStateDefinitions(): void;
167
158
  protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic): void;
168
159
  protected _runEncoder(graphics: IMarkGraphic[], noGroupEncode?: boolean): void;
169
- protected _excludeStateControlledDiffAttrs(g: IMarkGraphic, diffAttrs: Record<string, any>): Record<string, any>;
170
- protected _hasDiffAttrs(g: IMarkGraphic): boolean;
171
160
  protected _runApplyGraphic(graphics: IMarkGraphic[]): void;
172
161
  protected _updateEncoderByState(): void;
173
162
  protected _runState(graphics: IMarkGraphic[]): void;