@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import { ComponentTypeEnum } from '../interface/type';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, TooltipActiveType } from '../../typings/tooltip';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode } from '../../util/env';\nimport type {\n ITooltip,\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TooltipResult } from './interface/common';\nimport { showTooltip } from './utils/show-tooltip';\nimport { isEmptyPos } from './utils/common';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util/common';\nimport { ChartEvent, Event_Source_Type } from '../../constant/event';\nimport type {\n DimensionTooltipInfo,\n GroupTooltipInfo,\n ITooltipProcessor,\n MarkTooltipInfo,\n TooltipInfo\n} from './processor/interface';\nimport { isDimensionInfo, isMarkInfo } from './processor/util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, isNil, array, isNumber, throttle, isObject, isEqual } from '@visactor/vutils';\nimport { VChart } from '../../core/vchart';\nimport type { TooltipEventParams } from './interface/event';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { TooltipSpecTransformer } from './tooltip-transformer';\nimport { error } from '../../util';\nimport { DEFAULT_SHOW_DELAY, TooltipHandlerType, TooltipType } from './constant';\nimport { tooltip } from '../../theme/builtin/common/component/tooltip';\n\ntype EventHandlerList = {\n eventType: EventType;\n handler: any;\n}[];\n\nexport class Tooltip extends BaseComponent<any> implements ITooltip {\n protected layoutZIndex: number = 1;\n static type = ComponentTypeEnum.tooltip;\n static readonly transformerConstructor = TooltipSpecTransformer;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n readonly transformerConstructor = TooltipSpecTransformer;\n\n static readonly builtInTheme = {\n tooltip\n };\n\n static specKey = 'tooltip';\n specKey = 'tooltip';\n\n layoutType: 'none' = 'none';\n private _hideTimer?: number;\n private _outTimer?: number;\n private _showTimer?: number;\n private _needInitEventOfTooltip?: boolean;\n private _enterable: boolean;\n private _isReleased: boolean = false;\n /**\n * 是否正在浏览tooltip内容\n */\n private _isEnterTooltip: boolean;\n declare protected _spec: ITooltipSpec;\n\n tooltipHandler?: ITooltipHandler;\n enable?: boolean = true;\n\n processor: ITooltipActiveTypeAsKeys<\n ITooltipProcessor<MarkTooltipInfo>,\n ITooltipProcessor<DimensionTooltipInfo>,\n ITooltipProcessor<GroupTooltipInfo>\n >;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n private _cacheParams: BaseEventParams | undefined;\n private _cacheActiveType: TooltipActiveType | undefined;\n private _cacheEnterableRect: { width: number; height: number };\n\n private _eventList: EventHandlerList = [];\n\n protected _isTooltipShown: boolean = false;\n\n protected _clickLock: boolean = false;\n private _handleMouseMove: (params: BaseEventParams) => void;\n\n /** 当前是否正在显示 tooltip */\n isTooltipShown() {\n return this._isTooltipShown;\n }\n\n protected _registerEvent() {\n /* do nothing */\n }\n protected _releaseEvent() {\n /* do nothing */\n }\n onLayoutEnd() {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // event\n this._initEvent();\n }\n\n _compareSpec(spec: ITooltipSpec, prevSpec: ITooltipSpec) {\n const result = super._compareSpec(spec, prevSpec);\n const specChanged = !isEqual(prevSpec, spec);\n\n if (specChanged && !result.reMake && !result.reCompile) {\n result.change = true;\n result.reRender = true;\n result.effects = {\n ...result.effects,\n component: true,\n render: true\n };\n }\n\n return result;\n }\n\n release() {\n super.release();\n this._isReleased = true;\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n this._isTooltipShown = false;\n }\n\n beforeRelease() {\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n this.event.emit(ChartEvent.tooltipRelease, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n }\n\n protected _initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n this._enterable = false;\n } else {\n // 构造内部默认 handler\n const type = renderMode === 'canvas' ? TooltipHandlerType.canvas : TooltipHandlerType.dom;\n const handlerConstructor = Factory.getComponentPluginInType(type);\n if (!handlerConstructor) {\n error('Can not find tooltip handler: ' + type);\n }\n const handler = new handlerConstructor();\n handler.name = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this.getSpecIndex()}`;\n this.pluginService?.load([handler]);\n\n this.tooltipHandler = handler as unknown as ITooltipHandler;\n\n if (this._spec.enterable && renderMode === 'html' && this.tooltipHandler) {\n this._enterable = true;\n this._needInitEventOfTooltip = true;\n } else {\n this._enterable = false;\n }\n }\n }\n\n protected _initEventOfTooltipContent() {\n if (!this._needInitEventOfTooltip) {\n return;\n }\n\n const container = this.tooltipHandler?.getRootDom?.();\n\n if (container) {\n container.addEventListener('pointerenter', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = true;\n\n const rect = container.getBoundingClientRect?.();\n if (rect) {\n this._cacheEnterableRect = { width: rect.width, height: rect.height };\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n this._showTimer = null;\n }\n });\n\n container.addEventListener('pointerleave', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = false;\n\n if (this._spec.triggerOff === 'none') {\n return;\n }\n\n if (this._cacheEnterableRect) {\n const newRect = container.getBoundingClientRect?.();\n\n /**\n * 这里需要比对width,height,是防止用户在进入到tooltip 的时候做了一些操作,\n * 导致tooltip的尺寸发生变更,这种情况一般不需要隐藏tooltip\n */\n if (\n newRect &&\n Object.keys(this._cacheEnterableRect).every(\n k => (this._cacheEnterableRect as any)[k] === (newRect as any)[k]\n )\n ) {\n this._cacheEnterableRect = null;\n this._outTimer = setTimeout(\n this.hideTooltip,\n this._spec?.showDelay ?? DEFAULT_SHOW_DELAY\n ) as unknown as number;\n }\n }\n });\n\n this._needInitEventOfTooltip = false;\n }\n }\n\n protected _initProcessor() {\n // 初始化 tooltip 类型\n const activeType = this._spec.activeType;\n\n this.processor = {};\n\n (activeType as TooltipActiveType[]).forEach(type => {\n const instance = Factory.createTooltipProcessor(type, this);\n\n if (instance) {\n (this.processor as any)[type] = instance;\n }\n });\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = array(this._spec.trigger ?? 'hover');\n const triggerOff = array(this._spec.triggerOff);\n const mode = this._option.mode;\n\n trigger.forEach(triggerType => {\n if (triggerType === 'hover') {\n this._handleMouseMove = this._throttle(this._getMouseMoveHandler(false));\n\n this._mountEvent('pointermove', { source: 'chart' }, this._handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this._mountEvent('pointerdown', { source: 'chart' }, this._getMouseMoveHandler(false));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n this._mountEvent('pointerleave', { source: 'chart' }, this._getMouseOutHandler(false));\n } else if (triggerType === 'click') {\n this._mountEvent('pointertap', { source: 'chart' }, this._getMouseMoveHandler(true));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n } else if (isObject(triggerType)) {\n this._mountEvent(\n triggerType.eventType,\n { source: triggerType.source ?? 'chart', consume: triggerType.consume },\n this._getMouseMoveHandler(true)\n );\n }\n });\n const offEvents = triggerOff.filter(entry => isObject(entry));\n\n offEvents.forEach(entry => {\n this._mountEvent(\n (entry as any).eventType,\n { source: (entry as any).source ?? 'chart', consume: (entry as any).consume },\n this._getMouseOutHandler((entry as any).checkOutside ?? false)\n );\n });\n\n if (!trigger.includes('click') && this._spec.lockAfterClick) {\n this._mountEvent('pointertap', { source: 'chart' }, this._handleClickToLock);\n }\n }\n\n protected _throttle(callback: (...args: any[]) => any): (...args: any[]) => any {\n let wait: number;\n if (isNumber(this._spec.throttleInterval)) {\n wait = this._spec.throttleInterval;\n } else {\n if (this._spec.renderMode !== 'html' || !this._spec.transitionDuration) {\n wait = 10;\n } else {\n wait = 50;\n }\n }\n return throttle(callback, wait);\n }\n\n protected _mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected _handleClickToLock = (params: BaseEventParams) => {\n if (this._clickLock) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n } else {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n this._clickLock = true;\n }\n };\n\n protected _getMouseOutHandler = (needPointerDetection?: boolean) => (params: BaseEventParams) => {\n if (this._isReleased) {\n return;\n }\n if (this._alwaysShow || this._clickLock) {\n return;\n }\n\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n\n const browserEnv = isTrueBrowser(this._option?.mode);\n const { clientX, clientY } = params.event as MouseEvent;\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n\n // 判断鼠标是否在图表范围内\n if (browserEnv && needPointerDetection && this._isPointerInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n if (this._enterable) {\n this._outTimer = setTimeout(() => {\n this._handleChartMouseOut(params);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseOut(params);\n }\n };\n\n protected _handleChartMouseOut = (params?: BaseEventParams) => {\n if (\n this._cacheActiveType &&\n this._option?.componentShowContent &&\n (this._option.componentShowContent.tooltip === false ||\n (isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[this._cacheActiveType] === false))\n ) {\n return;\n }\n if (this._alwaysShow || this._isReleased || this._isEnterTooltip) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...(params as any),\n tooltip: this\n });\n\n if (this._handleMouseMove && (this._handleMouseMove as any).cancel) {\n // 防止因为throttle,mousemove事件又触发了一遍,导致 tooltip 隐藏失败\n (this._handleMouseMove as any).cancel();\n }\n this._cacheEnterableRect = null;\n this._cacheInfo = undefined;\n this._cacheParams = undefined;\n this._cacheActiveType = undefined;\n }\n };\n\n protected _getMouseMoveHandler = (isClick: boolean) => (params: BaseEventParams) => {\n if (this._isReleased || this._isEnterTooltip) {\n return;\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (this._alwaysShow) {\n return;\n }\n\n if (this._clickLock) {\n if (isClick) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n }\n return;\n }\n\n if (!isClick && this._enterable && this.tooltipHandler?.isTooltipShown?.()) {\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n }\n\n this._showTimer = setTimeout(() => {\n this._handleChartMouseMove(params, isClick);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseMove(params, isClick);\n }\n };\n\n protected _handleChartMouseMove = (params: BaseEventParams, isClick: boolean) => {\n if (this._isReleased) {\n return;\n }\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark }\n } = mouseEventData;\n\n /** tooltip 是否显示成功 */\n const success: ITooltipActiveTypeAsKeys<\n boolean | 'unShowByOption',\n boolean | 'unShowByOption',\n boolean | 'unShowByOption'\n > = {\n mark: false,\n dimension: false,\n group: false\n };\n\n const supportedTooltip = [TooltipType.group, TooltipType.mark, TooltipType.dimension];\n\n for (let i = 0, len = supportedTooltip.length; i < len; i++) {\n const type = supportedTooltip[i];\n const res = this.processor[type] ? this._showTooltipByMouseEvent(type, mouseEventData, params, isClick) : false;\n\n if (res === 'unShowByOption') {\n success[type] = 'unShowByOption';\n } else if (res) {\n success[type] = true;\n break;\n }\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (Object.values(success).every(val => !val) && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n success.mark = this._showTooltipByMouseEvent('mark', mouseEventData, params, isClick, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n success.dimension = this._showTooltipByMouseEvent('dimension', mouseEventData, params, isClick);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (success.mark !== true && success.group !== true && (success.dimension !== true || isNil(dimensionInfo))) {\n // 如果 tooltip 类型都不是 'unShowByOption',则隐藏上一次 tooltip\n // 否则,不隐藏上一次 tooltip ,tooltip 不展示属于 'unShowByOption' 类型的情况\n if (!this._cacheActiveType || success[this._cacheActiveType as TooltipActiveType] !== 'unShowByOption') {\n this._handleChartMouseOut(params);\n }\n } else {\n this._initEventOfTooltipContent();\n }\n };\n\n protected _showContentByEvent(activeType: TooltipActiveType) {\n if (this._option?.componentShowContent) {\n // 全局关闭 tooltip\n if (this._option.componentShowContent.tooltip === false) {\n return false;\n }\n // 单独关闭 tooltip\n if (\n isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[activeType] === false\n ) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n isClick: boolean,\n useCache?: boolean\n ): boolean | 'unShowByOption' => {\n if (!this._showContentByEvent(activeType)) {\n return 'unShowByOption';\n }\n\n const processor = this.processor[activeType];\n // 判断是否应该触发 tooltip\n if (!processor.shouldHandleTooltip(params, mouseEventData.tooltipInfo[activeType])) {\n return false;\n }\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n let success: boolean;\n\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCache(tooltipInfo, params, activeType);\n\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n this._cacheParams = params;\n this._cacheActiveType = activeType;\n }\n }\n if (success) {\n this._isTooltipShown = true;\n if (isClick && this._spec.lockAfterClick && !this._clickLock) {\n this._clickLock = true;\n } else if (Number.isFinite(this._spec.hideTimer)) {\n // hover 事件,设置默认的定时器,避免out事件不触发的问题\n this._hideTimer = setTimeout(() => {\n this._handleChartMouseOut();\n }, this._spec.hideTimer as number) as unknown as number;\n }\n }\n // 全局唯一 tooltip\n const vchart = this._option?.globalInstance;\n if (success && VChart.globalConfig.uniqueTooltip && vchart) {\n VChart.hideTooltip(vchart.id);\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n\n Object.keys(this.processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this.processor[activeType as TooltipActiveType].getMouseEventData(params);\n result.tooltipInfo[activeType as TooltipActiveType] = tooltipInfo as any;\n result.ignore[activeType as TooltipActiveType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams): TooltipResult => {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n // 如果当前 tooltip 未显示,则提前退出\n return TooltipResult.success;\n }\n\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n ...params,\n source: Event_Source_Type.chart, // 统一 event 的来源\n tooltip: this\n });\n\n // 删除缓存\n Object.values(this.processor).forEach((processor: ITooltipProcessor<TooltipInfo>) => {\n processor.clearCache();\n });\n\n // 隐藏 tooltip\n const handler = this._spec.handler ?? this.tooltipHandler;\n // 防止用户自定义 handler 时,未实现 hideTooltip 方法\n if (handler?.hideTooltip) {\n const result = handler.hideTooltip.call(handler, params);\n if (!result) {\n this._isTooltipShown = false;\n }\n return result;\n }\n return TooltipResult.failed;\n };\n\n reInit(spec?: any) {\n super.reInit(spec);\n\n if (this.tooltipHandler) {\n const renderMode = this._spec.renderMode ?? 'html';\n const newEnterable = this._spec.enterable && renderMode === 'html';\n\n if (newEnterable && !this._enterable) {\n this._needInitEventOfTooltip = true;\n }\n this._enterable = newEnterable;\n\n this.tooltipHandler?.reInit?.();\n } else {\n this._initHandler();\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n\n const result = showTooltip(datum, options, this);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n this._cacheActiveType = result;\n }\n return result;\n }\n\n /** 手动隐藏 tooltip,返回是否成功 */\n hideTooltip = (): boolean => {\n if (this._isReleased) {\n return false;\n }\n\n const params: TooltipHandlerParams = {\n changePositionOnly: false,\n tooltip: this,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any;\n\n this._alwaysShow = false;\n return !this._hideTooltipByHandler(params);\n };\n\n private _isSameAsCache(\n nextInfo?: TooltipInfo,\n nextParams?: BaseEventParams,\n nextActiveType?: TooltipActiveType\n ): boolean {\n if (nextActiveType !== this._cacheActiveType) {\n return false;\n }\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n // 判断 tooltip 信息是否一致\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n const isSameAsCacheInfo =\n prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n\n return isSameAsCacheInfo;\n }\n\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n const isSameAsCacheInfo =\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series;\n if (!isSameAsCacheInfo) {\n return false;\n }\n\n // 判断事件触发信息是否一致\n const prevParams = this._cacheParams;\n if (isNil(prevParams) || isNil(nextParams)) {\n return false;\n }\n return (\n prevParams.mark === nextParams.mark &&\n prevParams.model === nextParams.model &&\n prevParams.datum === nextParams.datum\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option?.globalInstance;\n if (!globalInstance) {\n return false;\n }\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const canvas = globalInstance.getCanvas();\n const { x: chartX, y: chartY, width: chartWidth, height: chartHeight } = canvas.getBoundingClientRect();\n // 鼠标仍在图表范围内,则不处理\n if (x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight) {\n return true;\n }\n\n return false;\n }\n\n getVisible() {\n return this._spec.visible !== false;\n }\n}\n\nexport const registerTooltip = () => {\n Factory.registerComponent(Tooltip.type, Tooltip);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import { ComponentTypeEnum } from '../interface/type';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, TooltipActiveType } from '../../typings/tooltip';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode } from '../../util/env';\nimport type {\n ITooltip,\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TooltipResult } from './interface/common';\nimport { showTooltip } from './utils/show-tooltip';\nimport { isEmptyPos } from './utils/common';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util/common';\nimport { ChartEvent, Event_Source_Type } from '../../constant/event';\nimport type {\n DimensionTooltipInfo,\n GroupTooltipInfo,\n ITooltipProcessor,\n MarkTooltipInfo,\n TooltipInfo\n} from './processor/interface';\nimport { isDimensionInfo, isMarkInfo } from './processor/util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, isNil, array, isNumber, throttle, isObject } from '@visactor/vutils';\nimport { VChart } from '../../core/vchart';\nimport type { TooltipEventParams } from './interface/event';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { TooltipSpecTransformer } from './tooltip-transformer';\nimport { error } from '../../util';\nimport { DEFAULT_SHOW_DELAY, TooltipHandlerType, TooltipType } from './constant';\nimport { tooltip } from '../../theme/builtin/common/component/tooltip';\n\ntype EventHandlerList = {\n eventType: EventType;\n handler: any;\n}[];\n\nexport class Tooltip extends BaseComponent<any> implements ITooltip {\n protected layoutZIndex: number = 1;\n static type = ComponentTypeEnum.tooltip;\n static readonly transformerConstructor = TooltipSpecTransformer;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n readonly transformerConstructor = TooltipSpecTransformer;\n\n static readonly builtInTheme = {\n tooltip\n };\n\n static specKey = 'tooltip';\n specKey = 'tooltip';\n\n layoutType: 'none' = 'none';\n private _hideTimer?: number;\n private _outTimer?: number;\n private _showTimer?: number;\n private _needInitEventOfTooltip?: boolean;\n private _enterable: boolean;\n private _isReleased: boolean = false;\n /**\n * 是否正在浏览tooltip内容\n */\n private _isEnterTooltip: boolean;\n declare protected _spec: ITooltipSpec;\n\n tooltipHandler?: ITooltipHandler;\n enable?: boolean = true;\n\n processor: ITooltipActiveTypeAsKeys<\n ITooltipProcessor<MarkTooltipInfo>,\n ITooltipProcessor<DimensionTooltipInfo>,\n ITooltipProcessor<GroupTooltipInfo>\n >;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n private _cacheParams: BaseEventParams | undefined;\n private _cacheActiveType: TooltipActiveType | undefined;\n private _cacheEnterableRect: { width: number; height: number };\n\n private _eventList: EventHandlerList = [];\n\n protected _isTooltipShown: boolean = false;\n\n protected _clickLock: boolean = false;\n private _handleMouseMove: (params: BaseEventParams) => void;\n\n /** 当前是否正在显示 tooltip */\n isTooltipShown() {\n return this._isTooltipShown;\n }\n\n protected _registerEvent() {\n /* do nothing */\n }\n protected _releaseEvent() {\n /* do nothing */\n }\n onLayoutEnd() {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // event\n this._initEvent();\n }\n\n release() {\n super.release();\n this._isReleased = true;\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n this._isTooltipShown = false;\n }\n\n beforeRelease() {\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n this.event.emit(ChartEvent.tooltipRelease, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n }\n\n protected _initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n this._enterable = false;\n } else {\n // 构造内部默认 handler\n const type = renderMode === 'canvas' ? TooltipHandlerType.canvas : TooltipHandlerType.dom;\n const handlerConstructor = Factory.getComponentPluginInType(type);\n if (!handlerConstructor) {\n error('Can not find tooltip handler: ' + type);\n }\n const handler = new handlerConstructor();\n handler.name = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this.getSpecIndex()}`;\n this.pluginService?.load([handler]);\n\n this.tooltipHandler = handler as unknown as ITooltipHandler;\n\n if (this._spec.enterable && renderMode === 'html' && this.tooltipHandler) {\n this._enterable = true;\n this._needInitEventOfTooltip = true;\n } else {\n this._enterable = false;\n }\n }\n }\n\n protected _initEventOfTooltipContent() {\n if (!this._needInitEventOfTooltip) {\n return;\n }\n\n const container = this.tooltipHandler?.getRootDom?.();\n\n if (container) {\n container.addEventListener('pointerenter', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = true;\n\n const rect = container.getBoundingClientRect?.();\n if (rect) {\n this._cacheEnterableRect = { width: rect.width, height: rect.height };\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n this._showTimer = null;\n }\n });\n\n container.addEventListener('pointerleave', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = false;\n\n if (this._spec.triggerOff === 'none') {\n return;\n }\n\n if (this._cacheEnterableRect) {\n const newRect = container.getBoundingClientRect?.();\n\n /**\n * 这里需要比对width,height,是防止用户在进入到tooltip 的时候做了一些操作,\n * 导致tooltip的尺寸发生变更,这种情况一般不需要隐藏tooltip\n */\n if (\n newRect &&\n Object.keys(this._cacheEnterableRect).every(\n k => (this._cacheEnterableRect as any)[k] === (newRect as any)[k]\n )\n ) {\n this._cacheEnterableRect = null;\n this._outTimer = setTimeout(\n this.hideTooltip,\n this._spec?.showDelay ?? DEFAULT_SHOW_DELAY\n ) as unknown as number;\n }\n }\n });\n\n this._needInitEventOfTooltip = false;\n }\n }\n\n protected _initProcessor() {\n // 初始化 tooltip 类型\n const activeType = this._spec.activeType;\n\n this.processor = {};\n\n (activeType as TooltipActiveType[]).forEach(type => {\n const instance = Factory.createTooltipProcessor(type, this);\n\n if (instance) {\n (this.processor as any)[type] = instance;\n }\n });\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = array(this._spec.trigger ?? 'hover');\n const triggerOff = array(this._spec.triggerOff);\n const mode = this._option.mode;\n\n trigger.forEach(triggerType => {\n if (triggerType === 'hover') {\n this._handleMouseMove = this._throttle(this._getMouseMoveHandler(false));\n\n this._mountEvent('pointermove', { source: 'chart' }, this._handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this._mountEvent('pointerdown', { source: 'chart' }, this._getMouseMoveHandler(false));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n this._mountEvent('pointerleave', { source: 'chart' }, this._getMouseOutHandler(false));\n } else if (triggerType === 'click') {\n this._mountEvent('pointertap', { source: 'chart' }, this._getMouseMoveHandler(true));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n } else if (isObject(triggerType)) {\n this._mountEvent(\n triggerType.eventType,\n { source: triggerType.source ?? 'chart', consume: triggerType.consume },\n this._getMouseMoveHandler(true)\n );\n }\n });\n const offEvents = triggerOff.filter(entry => isObject(entry));\n\n offEvents.forEach(entry => {\n this._mountEvent(\n (entry as any).eventType,\n { source: (entry as any).source ?? 'chart', consume: (entry as any).consume },\n this._getMouseOutHandler((entry as any).checkOutside ?? false)\n );\n });\n\n if (!trigger.includes('click') && this._spec.lockAfterClick) {\n this._mountEvent('pointertap', { source: 'chart' }, this._handleClickToLock);\n }\n }\n\n protected _throttle(callback: (...args: any[]) => any): (...args: any[]) => any {\n let wait: number;\n if (isNumber(this._spec.throttleInterval)) {\n wait = this._spec.throttleInterval;\n } else {\n if (this._spec.renderMode !== 'html' || !this._spec.transitionDuration) {\n wait = 10;\n } else {\n wait = 50;\n }\n }\n return throttle(callback, wait);\n }\n\n protected _mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected _handleClickToLock = (params: BaseEventParams) => {\n if (this._clickLock) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n } else {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n this._clickLock = true;\n }\n };\n\n protected _getMouseOutHandler = (needPointerDetection?: boolean) => (params: BaseEventParams) => {\n if (this._isReleased) {\n return;\n }\n if (this._alwaysShow || this._clickLock) {\n return;\n }\n\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n\n const browserEnv = isTrueBrowser(this._option?.mode);\n const { clientX, clientY } = params.event as MouseEvent;\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n\n // 判断鼠标是否在图表范围内\n if (browserEnv && needPointerDetection && this._isPointerInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n if (this._enterable) {\n this._outTimer = setTimeout(() => {\n this._handleChartMouseOut(params);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseOut(params);\n }\n };\n\n protected _handleChartMouseOut = (params?: BaseEventParams) => {\n if (\n this._cacheActiveType &&\n this._option?.componentShowContent &&\n (this._option.componentShowContent.tooltip === false ||\n (isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[this._cacheActiveType] === false))\n ) {\n return;\n }\n if (this._alwaysShow || this._isReleased || this._isEnterTooltip) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...(params as any),\n tooltip: this\n });\n\n if (this._handleMouseMove && (this._handleMouseMove as any).cancel) {\n // 防止因为throttle,mousemove事件又触发了一遍,导致 tooltip 隐藏失败\n (this._handleMouseMove as any).cancel();\n }\n this._cacheEnterableRect = null;\n this._cacheInfo = undefined;\n this._cacheParams = undefined;\n this._cacheActiveType = undefined;\n }\n };\n\n protected _getMouseMoveHandler = (isClick: boolean) => (params: BaseEventParams) => {\n if (this._isReleased || this._isEnterTooltip) {\n return;\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (this._alwaysShow) {\n return;\n }\n\n if (this._clickLock) {\n if (isClick) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n }\n return;\n }\n\n if (!isClick && this._enterable && this.tooltipHandler?.isTooltipShown?.()) {\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n }\n\n this._showTimer = setTimeout(() => {\n this._handleChartMouseMove(params, isClick);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseMove(params, isClick);\n }\n };\n\n protected _handleChartMouseMove = (params: BaseEventParams, isClick: boolean) => {\n if (this._isReleased) {\n return;\n }\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark }\n } = mouseEventData;\n\n /** tooltip 是否显示成功 */\n const success: ITooltipActiveTypeAsKeys<\n boolean | 'unShowByOption',\n boolean | 'unShowByOption',\n boolean | 'unShowByOption'\n > = {\n mark: false,\n dimension: false,\n group: false\n };\n\n const supportedTooltip = [TooltipType.group, TooltipType.mark, TooltipType.dimension];\n\n for (let i = 0, len = supportedTooltip.length; i < len; i++) {\n const type = supportedTooltip[i];\n const res = this.processor[type] ? this._showTooltipByMouseEvent(type, mouseEventData, params, isClick) : false;\n\n if (res === 'unShowByOption') {\n success[type] = 'unShowByOption';\n } else if (res) {\n success[type] = true;\n break;\n }\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (Object.values(success).every(val => !val) && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n success.mark = this._showTooltipByMouseEvent('mark', mouseEventData, params, isClick, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n success.dimension = this._showTooltipByMouseEvent('dimension', mouseEventData, params, isClick);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (success.mark !== true && success.group !== true && (success.dimension !== true || isNil(dimensionInfo))) {\n // 如果 tooltip 类型都不是 'unShowByOption',则隐藏上一次 tooltip\n // 否则,不隐藏上一次 tooltip ,tooltip 不展示属于 'unShowByOption' 类型的情况\n if (!this._cacheActiveType || success[this._cacheActiveType as TooltipActiveType] !== 'unShowByOption') {\n this._handleChartMouseOut(params);\n }\n } else {\n this._initEventOfTooltipContent();\n }\n };\n\n protected _showContentByEvent(activeType: TooltipActiveType) {\n if (this._option?.componentShowContent) {\n // 全局关闭 tooltip\n if (this._option.componentShowContent.tooltip === false) {\n return false;\n }\n // 单独关闭 tooltip\n if (\n isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[activeType] === false\n ) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n isClick: boolean,\n useCache?: boolean\n ): boolean | 'unShowByOption' => {\n if (!this._showContentByEvent(activeType)) {\n return 'unShowByOption';\n }\n\n const processor = this.processor[activeType];\n // 判断是否应该触发 tooltip\n if (!processor.shouldHandleTooltip(params, mouseEventData.tooltipInfo[activeType])) {\n return false;\n }\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n let success: boolean;\n\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCache(tooltipInfo, params, activeType);\n\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n this._cacheParams = params;\n this._cacheActiveType = activeType;\n }\n }\n if (success) {\n this._isTooltipShown = true;\n if (isClick && this._spec.lockAfterClick && !this._clickLock) {\n this._clickLock = true;\n } else if (Number.isFinite(this._spec.hideTimer)) {\n // hover 事件,设置默认的定时器,避免out事件不触发的问题\n this._hideTimer = setTimeout(() => {\n this._handleChartMouseOut();\n }, this._spec.hideTimer as number) as unknown as number;\n }\n }\n // 全局唯一 tooltip\n const vchart = this._option?.globalInstance;\n if (success && VChart.globalConfig.uniqueTooltip && vchart) {\n VChart.hideTooltip(vchart.id);\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n\n Object.keys(this.processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this.processor[activeType as TooltipActiveType].getMouseEventData(params);\n result.tooltipInfo[activeType as TooltipActiveType] = tooltipInfo as any;\n result.ignore[activeType as TooltipActiveType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams): TooltipResult => {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n // 如果当前 tooltip 未显示,则提前退出\n return TooltipResult.success;\n }\n\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n ...params,\n source: Event_Source_Type.chart, // 统一 event 的来源\n tooltip: this\n });\n\n // 删除缓存\n Object.values(this.processor).forEach((processor: ITooltipProcessor<TooltipInfo>) => {\n processor.clearCache();\n });\n\n // 隐藏 tooltip\n const handler = this._spec.handler ?? this.tooltipHandler;\n // 防止用户自定义 handler 时,未实现 hideTooltip 方法\n if (handler?.hideTooltip) {\n const result = handler.hideTooltip.call(handler, params);\n if (!result) {\n this._isTooltipShown = false;\n }\n return result;\n }\n return TooltipResult.failed;\n };\n\n reInit(spec?: any) {\n super.reInit(spec);\n\n if (this.tooltipHandler) {\n const renderMode = this._spec.renderMode ?? 'html';\n const newEnterable = this._spec.enterable && renderMode === 'html';\n\n if (newEnterable && !this._enterable) {\n this._needInitEventOfTooltip = true;\n }\n this._enterable = newEnterable;\n\n this.tooltipHandler?.reInit?.();\n } else {\n this._initHandler();\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n\n const result = showTooltip(datum, options, this);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n this._cacheActiveType = result;\n }\n return result;\n }\n\n /** 手动隐藏 tooltip,返回是否成功 */\n hideTooltip = (): boolean => {\n if (this._isReleased) {\n return false;\n }\n\n const params: TooltipHandlerParams = {\n changePositionOnly: false,\n tooltip: this,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any;\n\n this._alwaysShow = false;\n return !this._hideTooltipByHandler(params);\n };\n\n private _isSameAsCache(\n nextInfo?: TooltipInfo,\n nextParams?: BaseEventParams,\n nextActiveType?: TooltipActiveType\n ): boolean {\n if (nextActiveType !== this._cacheActiveType) {\n return false;\n }\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n // 判断 tooltip 信息是否一致\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n const isSameAsCacheInfo =\n prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n\n return isSameAsCacheInfo;\n }\n\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n const isSameAsCacheInfo =\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series;\n if (!isSameAsCacheInfo) {\n return false;\n }\n\n // 判断事件触发信息是否一致\n const prevParams = this._cacheParams;\n if (isNil(prevParams) || isNil(nextParams)) {\n return false;\n }\n return (\n prevParams.mark === nextParams.mark &&\n prevParams.model === nextParams.model &&\n prevParams.datum === nextParams.datum\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option?.globalInstance;\n if (!globalInstance) {\n return false;\n }\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const canvas = globalInstance.getCanvas();\n const { x: chartX, y: chartY, width: chartWidth, height: chartHeight } = canvas.getBoundingClientRect();\n // 鼠标仍在图表范围内,则不处理\n if (x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight) {\n return true;\n }\n\n return false;\n }\n\n getVisible() {\n return this._spec.visible !== false;\n }\n}\n\nexport const registerTooltip = () => {\n Factory.registerComponent(Tooltip.type, Tooltip);\n};\n"]}
@@ -37,5 +37,4 @@ const getSpecInfo = (chartSpec, specKey, compType, filter) => {
37
37
  })), specInfos;
38
38
  };
39
39
 
40
- exports.getSpecInfo = getSpecInfo;
41
- //# sourceMappingURL=util.js.map
40
+ exports.getSpecInfo = getSpecInfo;
@@ -8,4 +8,5 @@ const vscale_1 = require("@visactor/vscale");
8
8
 
9
9
  exports.SCATTER_DEFAULT_SIZE = 10, exports.SCATTER_DEFAULT_RANGE_SIZE = [ 10, 20 ],
10
10
  exports.SCATTER_DEFAULT_SIZE_SCALE_TYPE = vscale_1.ScaleEnum.Linear, exports.SCATTER_DEFAULT_SHAPE = "circle",
11
- exports.SCATTER_DEFAULT_SHAPE_SCALE_TYPE = vscale_1.ScaleEnum.Ordinal, exports.SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
11
+ exports.SCATTER_DEFAULT_SHAPE_SCALE_TYPE = vscale_1.ScaleEnum.Ordinal, exports.SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
12
+ //# sourceMappingURL=scatter.js.map
@@ -2,5 +2,4 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.SCROLL_BAR_DEFAULT_SIZE = void 0, exports.SCROLL_BAR_DEFAULT_SIZE = 12;
6
- //# sourceMappingURL=scroll-bar.js.map
5
+ }), exports.SCROLL_BAR_DEFAULT_SIZE = void 0, exports.SCROLL_BAR_DEFAULT_SIZE = 12;
@@ -23,8 +23,7 @@ export * from '../typings/visual';
23
23
  export * from '../typings/tooltip';
24
24
  export * from '../theme/index';
25
25
  export { vglobal, createGroup, createRichText, createText, createArc, createArea, createRect, createLine, createSymbol } from '@visactor/vrender-core';
26
- export { ManualTicker } from '@visactor/vrender-animate/ticker/manual-ticker';
27
- export { StreamLight } from '@visactor/vrender-animate/custom/streamLight';
26
+ export { ManualTicker, StreamLight } from '@visactor/vrender-animate';
28
27
  export * from '../util/space';
29
28
  export { transformToGraphic } from '../util/style';
30
29
  export { getSpecInfo } from '../component/util';
package/cjs/core/index.js CHANGED
@@ -127,21 +127,17 @@ Object.defineProperty(exports, "vglobal", {
127
127
  }
128
128
  });
129
129
 
130
- var manual_ticker_1 = require("@visactor/vrender-animate/ticker/manual-ticker");
130
+ var vrender_animate_1 = require("@visactor/vrender-animate");
131
131
 
132
132
  Object.defineProperty(exports, "ManualTicker", {
133
133
  enumerable: !0,
134
134
  get: function() {
135
- return manual_ticker_1.ManualTicker;
135
+ return vrender_animate_1.ManualTicker;
136
136
  }
137
- });
138
-
139
- var streamLight_1 = require("@visactor/vrender-animate/custom/streamLight");
140
-
141
- Object.defineProperty(exports, "StreamLight", {
137
+ }), Object.defineProperty(exports, "StreamLight", {
142
138
  enumerable: !0,
143
139
  get: function() {
144
- return streamLight_1.StreamLight;
140
+ return vrender_animate_1.StreamLight;
145
141
  }
146
142
  }), __exportStar(require("../util/space"), exports);
147
143
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,QAAQ,CAAC;AAOhC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AAEnC,8CAA4B;AAC5B,6CAA2B;AAI3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AACvB,iDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,uDAA6D;AAApD,6GAAA,gBAAgB,OAAA;AACzB,2CAA+C;AAAtC,mGAAA,UAAU,OAAA;AAKnB,wDAAsC;AACtC,oDAAkC;AAGlC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAUgC;AAT9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AAEd,gFAA8E;AAArE,6GAAA,YAAY,OAAA;AACrB,4EAA2E;AAAlE,0GAAA,WAAW,OAAA;AAGpB,gDAA8B;AAC9B,uCAAmD;AAA1C,2GAAA,kBAAkB,OAAA;AAC3B,0CAAgD;AAAvC,mGAAA,WAAW,OAAA;AACpB,6CAAmG;AAA1F,yHAAA,6BAA6B,OAAA;AAAE,4HAAA,gCAAgC,OAAA;AACxE,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,6FAAA,IAAI,OAAA;AACb,qCAA2C;AAAlC,mGAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.22\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker } from '@visactor/vrender-animate/ticker/manual-ticker';\nexport { StreamLight } from '@visactor/vrender-animate/custom/streamLight';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,QAAQ,CAAC;AAOhC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AAEnC,8CAA4B;AAC5B,6CAA2B;AAI3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AACvB,iDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,uDAA6D;AAApD,6GAAA,gBAAgB,OAAA;AACzB,2CAA+C;AAAtC,mGAAA,UAAU,OAAA;AAKnB,wDAAsC;AACtC,oDAAkC;AAGlC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAUgC;AAT9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AAEd,6DAAsE;AAA7D,+GAAA,YAAY,OAAA;AAAE,8GAAA,WAAW,OAAA;AAGlC,gDAA8B;AAC9B,uCAAmD;AAA1C,2GAAA,kBAAkB,OAAA;AAC3B,0CAAgD;AAAvC,mGAAA,WAAW,OAAA;AACpB,6CAAmG;AAA1F,yHAAA,6BAA6B,OAAA;AAAE,4HAAA,gCAAgC,OAAA;AACxE,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,6FAAA,IAAI,OAAA;AACb,qCAA2C;AAAlC,mGAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.22\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
@@ -28,4 +28,4 @@ class InstanceManager {
28
28
  }
29
29
 
30
30
  exports.InstanceManager = InstanceManager, InstanceManager.instances = new Map;
31
- //# sourceMappingURL=instance-manager.js.map
31
+ //# sourceMappingURL=instance-manager.js.map
@@ -8,7 +8,7 @@ import type { IComponentConstructor } from '../component/interface';
8
8
  import type { EventCallback, EventQuery, EventType, ExtendEventParam, IEvent } from '../event/interface';
9
9
  import type { IParserOptions, Transform } from '@visactor/vdataset';
10
10
  import { DataSet, DataView } from '@visactor/vdataset';
11
- import type { IGraphic, IStage } from '@visactor/vrender-core';
11
+ import type { IStage } from '@visactor/vrender-core';
12
12
  import type { GeoSourceType } from '../typings/geo';
13
13
  import type { GeoSourceOption } from '../series/map/geo-source';
14
14
  import type { IMark, MarkConstructor } from '../mark/interface';
@@ -78,7 +78,6 @@ export declare class VChart implements IVChart {
78
78
  private _onError?;
79
79
  private _context;
80
80
  private _isReleased;
81
- private _exitingVRenderComponents?;
82
81
  private _chartPlugin?;
83
82
  private _vChartPlugin?;
84
83
  private _onResize?;
@@ -111,9 +110,6 @@ export declare class VChart implements IVChart {
111
110
  protected _renderAsync(option?: IVChartRenderOption): Promise<IVChart>;
112
111
  private _updateAnimateState;
113
112
  release(): void;
114
- _registerExitingVRenderComponent(component: IGraphic): void;
115
- _unregisterExitingVRenderComponent(component: IGraphic): void;
116
- private _forceReleaseExitingVRenderComponents;
117
113
  updateData(id: StringOrNumber, data: DataView | Datum[] | string, parserOptions?: IParserOptions, userUpdateOptions?: IUpdateDataResult): Promise<IVChart>;
118
114
  private _updateDataById;
119
115
  updateDataInBatches(list: {
@@ -38,7 +38,7 @@ Object.defineProperty(exports, "__esModule", {
38
38
  value: !0
39
39
  }), exports.registerVChartCore = exports.VChart = void 0;
40
40
 
41
- const array_1 = require("../data/parser/array"), common_1 = require("../typings/spec/common"), type_1 = require("../component/interface/type"), vdataset_1 = require("@visactor/vdataset"), vrender_core_1 = require("@visactor/vrender-core"), util_1 = require("../util"), id_1 = require("../util/id"), space_1 = require("../util/space"), env_1 = require("../util/env"), debug_1 = require("../util/debug"), common_2 = require("../util/theme/common"), vutils_extension_1 = require("@visactor/vutils-extension"), factory_1 = require("./factory"), event_1 = require("../event/event"), event_dispatcher_1 = require("../event/event-dispatcher"), geo_source_1 = require("../series/map/geo-source"), register_1 = require("../data/register"), initialize_1 = require("../data/initialize"), copy_data_view_1 = require("../data/transforms/copy-data-view"), interface_1 = require("../animation/interface"), theme_manager_1 = require("../theme/theme-manager"), compiler_1 = require("../compile/compiler"), image_1 = require("../util/image"), event_2 = require("../constant/event"), base_1 = require("../constant/base"), vutils_1 = require("@visactor/vutils"), instance_manager_1 = require("./instance-manager"), register_2 = require("@visactor/vrender-components/poptip/register"), util_2 = require("../chart/util"), region_1 = require("../region/region"), base_layout_1 = require("../layout/base-layout"), group_1 = require("../mark/group"), util_3 = require("./util"), expression_function_1 = require("./expression-function"), env_2 = require("../env"), theme_1 = require("../util/theme"), builtin_1 = require("../theme/builtin"), plugin_service_1 = require("../plugin/chart/plugin-service"), other_1 = require("../plugin/other"), element_highlight_1 = require("../interaction/triggers/element-highlight"), element_select_1 = require("../interaction/triggers/element-select"), plugin_service_2 = require("../plugin/vchart/plugin-service"), animate_1 = require("../constant/animate"), release_vrender_component_1 = require("../component/base/release-vrender-component");
41
+ const array_1 = require("../data/parser/array"), common_1 = require("../typings/spec/common"), type_1 = require("../component/interface/type"), vdataset_1 = require("@visactor/vdataset"), vrender_core_1 = require("@visactor/vrender-core"), util_1 = require("../util"), id_1 = require("../util/id"), space_1 = require("../util/space"), env_1 = require("../util/env"), debug_1 = require("../util/debug"), common_2 = require("../util/theme/common"), vutils_extension_1 = require("@visactor/vutils-extension"), factory_1 = require("./factory"), event_1 = require("../event/event"), event_dispatcher_1 = require("../event/event-dispatcher"), geo_source_1 = require("../series/map/geo-source"), register_1 = require("../data/register"), initialize_1 = require("../data/initialize"), copy_data_view_1 = require("../data/transforms/copy-data-view"), interface_1 = require("../animation/interface"), theme_manager_1 = require("../theme/theme-manager"), compiler_1 = require("../compile/compiler"), image_1 = require("../util/image"), event_2 = require("../constant/event"), base_1 = require("../constant/base"), vutils_1 = require("@visactor/vutils"), instance_manager_1 = require("./instance-manager"), vrender_components_1 = require("@visactor/vrender-components"), util_2 = require("../chart/util"), region_1 = require("../region/region"), base_layout_1 = require("../layout/base-layout"), group_1 = require("../mark/group"), util_3 = require("./util"), expression_function_1 = require("./expression-function"), env_2 = require("../env"), theme_1 = require("../util/theme"), builtin_1 = require("../theme/builtin"), plugin_service_1 = require("../plugin/chart/plugin-service"), other_1 = require("../plugin/other"), element_highlight_1 = require("../interaction/triggers/element-highlight"), element_select_1 = require("../interaction/triggers/element-select"), plugin_service_2 = require("../plugin/vchart/plugin-service"), animate_1 = require("../constant/animate");
42
42
 
43
43
  class VChart {
44
44
  static useRegisters(comps) {
@@ -297,17 +297,21 @@ class VChart {
297
297
  updateCustomConfigAndRerender(updateSpecResult, sync, option = {}) {
298
298
  if (!this._isReleased && updateSpecResult) return (0, vutils_1.isFunction)(updateSpecResult) && (updateSpecResult = updateSpecResult()),
299
299
  updateSpecResult.reAnimate && (this.stopAnimation(), this._updateAnimateState(!0)),
300
- this._reCompile(updateSpecResult), (0, util_2.isUpdateSpecResultLocalOnly)(updateSpecResult) ? this : sync ? this._renderSync(option) : this._renderAsync(option);
300
+ this._reCompile(updateSpecResult), sync ? this._renderSync(option) : this._renderAsync(option);
301
301
  }
302
302
  _updateCustomConfigAndRecompile(updateSpecResult, option = {}) {
303
303
  return !!updateSpecResult && (this._reCompile(updateSpecResult), this._beforeRender(option));
304
304
  }
305
305
  _reCompile(updateResult, morphConfig) {
306
306
  var _a, _b, _c, _d, _e, _f, _g;
307
- if (updateResult.reMake && (this._releaseData(), this._initDataSet(), null === (_a = this._chart) || void 0 === _a || _a.release(!1),
307
+ if (updateResult.reMake && (this._releaseData(), this._initDataSet(), null === (_a = this._chart) || void 0 === _a || _a.release(),
308
308
  this._chart = null), updateResult.reTransformSpec && (this._chartSpecTransformer = null),
309
309
  updateResult.changeTheme ? (this._setCurrentTheme(), this._setFontFamilyTheme(this.getTheme("fontFamily"))) : updateResult.changeBackground && (null === (_b = this._compiler) || void 0 === _b || _b.setBackground(this._getBackground())),
310
- updateResult.reMake ? null === (_c = this._compiler) || void 0 === _c || _c.releaseGrammar(!0) : updateResult.reCompile && (null === (_d = this._compiler) || void 0 === _d || _d.clear({
310
+ updateResult.reMake ? (null === (_c = this._compiler) || void 0 === _c || _c.releaseGrammar(!0),
311
+ this._userEvents.forEach((e => {
312
+ var _a;
313
+ return null === (_a = this._event) || void 0 === _a ? void 0 : _a.on(e.eType, e.query, e.handler);
314
+ }))) : updateResult.reCompile && (null === (_d = this._compiler) || void 0 === _d || _d.clear({
311
315
  chart: this._chart,
312
316
  vChart: this
313
317
  }), null === (_e = this._compiler) || void 0 === _e || _e.compile({
@@ -384,28 +388,13 @@ class VChart {
384
388
  var _a, _b, _c, _d;
385
389
  (null === (_a = this._onResize) || void 0 === _a ? void 0 : _a.cancel) && this._onResize.cancel(),
386
390
  this._chartPluginApply("releaseAll"), this._chartPlugin = null, this._chartSpecTransformer = null,
387
- this._forceReleaseExitingVRenderComponents(), null === (_b = this._chart) || void 0 === _b || _b.release(),
388
- null === (_c = this._eventDispatcher) || void 0 === _c || _c.release(), null === (_d = this._compiler) || void 0 === _d || _d.release(),
389
- this._unBindResizeEvent(), this._releaseData(), this._onError = null, this._onResize = null,
390
- this._container = null, this._currentTheme = null, this._cachedProcessedTheme = null,
391
- this._option = null, this._chart = null, this._compiler = null, this._spec = null,
392
- this._specInfo = null, this._originalSpec = null, this._userEvents = null, this._event = null,
393
- this._eventDispatcher = null, this._isReleased = !0, instance_manager_1.InstanceManager.unregisterInstance(this);
394
- }
395
- _registerExitingVRenderComponent(component) {
396
- var _a;
397
- this._exitingVRenderComponents = null !== (_a = this._exitingVRenderComponents) && void 0 !== _a ? _a : new Set,
398
- this._exitingVRenderComponents.add(component);
399
- }
400
- _unregisterExitingVRenderComponent(component) {
401
- var _a;
402
- null === (_a = this._exitingVRenderComponents) || void 0 === _a || _a.delete(component);
403
- }
404
- _forceReleaseExitingVRenderComponents() {
405
- var _a;
406
- (null === (_a = this._exitingVRenderComponents) || void 0 === _a ? void 0 : _a.size) && (this._exitingVRenderComponents.forEach((component => {
407
- (0, release_vrender_component_1.releaseVRenderComponentSync)(component);
408
- })), this._exitingVRenderComponents.clear());
391
+ null === (_b = this._chart) || void 0 === _b || _b.release(), null === (_c = this._eventDispatcher) || void 0 === _c || _c.release(),
392
+ null === (_d = this._compiler) || void 0 === _d || _d.release(), this._unBindResizeEvent(),
393
+ this._releaseData(), this._onError = null, this._onResize = null, this._container = null,
394
+ this._currentTheme = null, this._cachedProcessedTheme = null, this._option = null,
395
+ this._chart = null, this._compiler = null, this._spec = null, this._specInfo = null,
396
+ this._originalSpec = null, this._userEvents = null, this._event = null, this._eventDispatcher = null,
397
+ this._isReleased = !0, instance_manager_1.InstanceManager.unregisterInstance(this);
409
398
  }
410
399
  updateData(id, data, parserOptions, userUpdateOptions) {
411
400
  return __awaiter(this, void 0, void 0, (function*() {
@@ -498,9 +487,8 @@ class VChart {
498
487
  }
499
488
  _updateModelSpec(model, spec, sync = !1, forceMerge = !1, morphConfig) {
500
489
  forceMerge && (spec = (0, vutils_extension_1.mergeSpec)({}, model.getSpec(), spec));
501
- const result = model.updateSpec(spec), localOnly = (0, util_2.isUpdateSpecResultLocalOnly)(result), componentOnly = (0,
502
- util_2.isUpdateSpecResultComponentOnly)(result);
503
- return localOnly || (model.reInit(spec), !componentOnly && (result.change || result.reCompile || result.reMake || result.reSize || result.reRender) && this._chart.reDataFlow()),
490
+ const result = model.updateSpec(spec);
491
+ return model.reInit(spec), (result.change || result.reCompile || result.reMake || result.reSize || result.reRender) && this._chart.reDataFlow(),
504
492
  this.updateCustomConfigAndRerender(result, sync, {
505
493
  morphConfig: morphConfig,
506
494
  transformSpec: !1,
@@ -592,7 +580,7 @@ class VChart {
592
580
  common_2.getThemeObject)(optionTheme), (0, common_2.getThemeObject)(specTheme));
593
581
  this._currentTheme = processThemeByChartType(chartType, finalTheme);
594
582
  }
595
- this._cachedProcessedTheme = null, (0, register_2.setPoptipTheme)(this.getTheme("component", "poptip")),
583
+ this._cachedProcessedTheme = null, (0, vrender_components_1.setPoptipTheme)(this.getTheme("component", "poptip")),
596
584
  null === (_c = this._compiler) || void 0 === _c || _c.setBackground(this._getBackground());
597
585
  }
598
586
  _shouldChartResize(oldSpec) {