@visactor/vchart 1.12.6 → 1.12.8

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 (365) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +2116 -2517
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.d.ts +1 -0
  6. package/cjs/chart/base/base-chart.js +15 -9
  7. package/cjs/chart/base/base-chart.js.map +1 -1
  8. package/cjs/chart/chart-meta/data.d.ts +1 -2
  9. package/cjs/chart/chart-meta/data.js +11 -11
  10. package/cjs/chart/chart-meta/data.js.map +1 -1
  11. package/cjs/chart/gauge/interface.d.ts +1 -1
  12. package/cjs/chart/gauge/interface.js.map +1 -1
  13. package/cjs/chart/treemap/interface.d.ts +1 -1
  14. package/cjs/chart/treemap/interface.js.map +1 -1
  15. package/cjs/chart/venn/interface.d.ts +2 -2
  16. package/cjs/chart/venn/interface.js.map +1 -1
  17. package/cjs/component/axis/base-axis.js +1 -1
  18. package/cjs/component/axis/base-axis.js.map +1 -1
  19. package/cjs/component/axis/cartesian/axis.js +9 -6
  20. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  21. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  22. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  23. package/cjs/component/axis/polar/axis.js.map +1 -1
  24. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  25. package/cjs/component/data-zoom/data-filter-base-component.js +10 -7
  26. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  27. package/cjs/component/data-zoom/util.js +11 -3
  28. package/cjs/component/data-zoom/util.js.map +1 -1
  29. package/cjs/component/geo/geo-coordinate.js +5 -2
  30. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  31. package/cjs/component/interface/index.d.ts +0 -1
  32. package/cjs/component/interface/index.js +1 -1
  33. package/cjs/component/interface/index.js.map +1 -1
  34. package/cjs/component/label/util.js +1 -1
  35. package/cjs/component/label/util.js.map +1 -1
  36. package/cjs/component/title/interface/spec.d.ts +3 -3
  37. package/cjs/component/title/interface/spec.js.map +1 -1
  38. package/cjs/component/tooltip/constant.d.ts +5 -4
  39. package/cjs/component/tooltip/constant.js +7 -7
  40. package/cjs/component/tooltip/constant.js.map +1 -1
  41. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  42. package/cjs/component/tooltip/interface/common.js.map +1 -1
  43. package/cjs/component/tooltip/interface/spec.d.ts +8 -0
  44. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  45. package/cjs/component/tooltip/interface/theme.d.ts +2 -2
  46. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  47. package/cjs/component/tooltip/processor/base.d.ts +3 -5
  48. package/cjs/component/tooltip/processor/base.js +24 -27
  49. package/cjs/component/tooltip/processor/base.js.map +1 -1
  50. package/cjs/component/tooltip/processor/group-tooltip.js +1 -1
  51. package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
  52. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -2
  53. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  54. package/cjs/component/tooltip/tooltip-transformer.js +0 -1
  55. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  56. package/cjs/component/tooltip/tooltip.d.ts +9 -4
  57. package/cjs/component/tooltip/tooltip.js +64 -53
  58. package/cjs/component/tooltip/tooltip.js.map +1 -1
  59. package/cjs/component/tooltip/utils/common.d.ts +6 -4
  60. package/cjs/component/tooltip/utils/common.js +52 -7
  61. package/cjs/component/tooltip/utils/common.js.map +1 -1
  62. package/cjs/component/tooltip/utils/get-spec.d.ts +4 -4
  63. package/cjs/component/tooltip/utils/get-spec.js +20 -82
  64. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  65. package/cjs/component/tooltip/utils/get-value.d.ts +1 -2
  66. package/cjs/component/tooltip/utils/get-value.js +2 -12
  67. package/cjs/component/tooltip/utils/get-value.js.map +1 -1
  68. package/cjs/component/tooltip/utils/index.d.ts +0 -1
  69. package/cjs/component/tooltip/utils/index.js +1 -2
  70. package/cjs/component/tooltip/utils/index.js.map +1 -1
  71. package/cjs/constant/correlation.js +2 -1
  72. package/cjs/constant/layout.js +1 -2
  73. package/cjs/core/index.d.ts +1 -1
  74. package/cjs/core/index.js +1 -1
  75. package/cjs/core/index.js.map +1 -1
  76. package/cjs/core/vchart.js +16 -16
  77. package/cjs/core/vchart.js.map +1 -1
  78. package/cjs/data/initialize.d.ts +1 -2
  79. package/cjs/data/initialize.js +5 -5
  80. package/cjs/data/initialize.js.map +1 -1
  81. package/cjs/data/transforms/pie.d.ts +3 -0
  82. package/cjs/data/transforms/pie.js +8 -3
  83. package/cjs/data/transforms/pie.js.map +1 -1
  84. package/cjs/model/interface.d.ts +14 -0
  85. package/cjs/model/interface.js.map +1 -1
  86. package/cjs/plugin/chart/media-query/media-query.d.ts +1 -0
  87. package/cjs/plugin/chart/media-query/media-query.js +3 -1
  88. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  89. package/cjs/plugin/chart/plugin-service.d.ts +2 -0
  90. package/cjs/plugin/chart/plugin-service.js +5 -0
  91. package/cjs/plugin/chart/plugin-service.js.map +1 -1
  92. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -13
  93. package/cjs/plugin/components/tooltip-handler/base.js +83 -220
  94. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  95. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  96. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  97. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  98. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -19
  99. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  100. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  101. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  102. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  103. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  104. package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  105. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  106. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  107. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  108. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  109. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  110. package/cjs/plugin/components/tooltip-handler/utils/position.js +22 -29
  111. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  112. package/cjs/region/interface.d.ts +3 -1
  113. package/cjs/region/interface.js.map +1 -1
  114. package/cjs/series/base/base-series.js +4 -5
  115. package/cjs/series/base/base-series.js.map +1 -1
  116. package/cjs/series/base/tooltip-helper.d.ts +30 -6
  117. package/cjs/series/base/tooltip-helper.js +80 -73
  118. package/cjs/series/base/tooltip-helper.js.map +1 -1
  119. package/cjs/series/box-plot/tooltip-helper.d.ts +2 -2
  120. package/cjs/series/box-plot/tooltip-helper.js +26 -67
  121. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  122. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  123. package/cjs/series/circle-packing/circle-packing.js +1 -2
  124. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  125. package/cjs/series/dot/tooltip-helper.d.ts +8 -2
  126. package/cjs/series/dot/tooltip-helper.js +42 -41
  127. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  128. package/cjs/series/funnel/funnel.d.ts +1 -0
  129. package/cjs/series/funnel/funnel.js +7 -6
  130. package/cjs/series/funnel/funnel.js.map +1 -1
  131. package/cjs/series/funnel/interface.d.ts +3 -1
  132. package/cjs/series/funnel/interface.js.map +1 -1
  133. package/cjs/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  134. package/cjs/series/gauge/pointer-tooltip-helper.js +3 -8
  135. package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -1
  136. package/cjs/series/heatmap/tooltip-helper.d.ts +2 -3
  137. package/cjs/series/heatmap/tooltip-helper.js +3 -5
  138. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  139. package/cjs/series/interface/tooltip-helper.d.ts +5 -4
  140. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  141. package/cjs/series/link/tooltip-helper.d.ts +5 -2
  142. package/cjs/series/link/tooltip-helper.js +26 -27
  143. package/cjs/series/link/tooltip-helper.js.map +1 -1
  144. package/cjs/series/liquid/tooltip-helper.d.ts +4 -5
  145. package/cjs/series/liquid/tooltip-helper.js +2 -22
  146. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  147. package/cjs/series/pie/pie.js +6 -2
  148. package/cjs/series/pie/pie.js.map +1 -1
  149. package/cjs/series/progress/linear/tooltip-helper.d.ts +2 -3
  150. package/cjs/series/progress/linear/tooltip-helper.js +2 -11
  151. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  152. package/cjs/series/range-area/tooltip-helper.d.ts +1 -3
  153. package/cjs/series/range-area/tooltip-helper.js +2 -50
  154. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  155. package/cjs/series/range-column/tooltip-helper.d.ts +1 -2
  156. package/cjs/series/range-column/tooltip-helper.js +2 -19
  157. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  158. package/cjs/series/sankey/sankey.d.ts +1 -1
  159. package/cjs/series/sankey/tooltip-helper.d.ts +3 -3
  160. package/cjs/series/sankey/tooltip-helper.js +10 -57
  161. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  162. package/cjs/theme/builtin/common/series/linear-progress.js +4 -1
  163. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -1
  164. package/cjs/theme/builtin/dark/color-scheme.js +2 -1
  165. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  166. package/cjs/theme/builtin/light/color-scheme.js +2 -1
  167. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  168. package/cjs/typings/spec/common.d.ts +3 -3
  169. package/cjs/typings/spec/common.js.map +1 -1
  170. package/cjs/typings/tooltip/position.d.ts +1 -0
  171. package/cjs/typings/tooltip/position.js.map +1 -1
  172. package/cjs/typings/tooltip/shape.d.ts +0 -1
  173. package/cjs/typings/tooltip/shape.js.map +1 -1
  174. package/cjs/typings/tooltip/tooltip.d.ts +7 -0
  175. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  176. package/esm/chart/base/base-chart.d.ts +1 -0
  177. package/esm/chart/base/base-chart.js +16 -10
  178. package/esm/chart/base/base-chart.js.map +1 -1
  179. package/esm/chart/chart-meta/data.d.ts +1 -2
  180. package/esm/chart/chart-meta/data.js +12 -10
  181. package/esm/chart/chart-meta/data.js.map +1 -1
  182. package/esm/chart/gauge/interface.d.ts +1 -1
  183. package/esm/chart/gauge/interface.js.map +1 -1
  184. package/esm/chart/treemap/interface.d.ts +1 -1
  185. package/esm/chart/treemap/interface.js.map +1 -1
  186. package/esm/chart/venn/interface.d.ts +2 -2
  187. package/esm/chart/venn/interface.js.map +1 -1
  188. package/esm/component/axis/base-axis.js +1 -1
  189. package/esm/component/axis/base-axis.js.map +1 -1
  190. package/esm/component/axis/cartesian/axis.js +10 -7
  191. package/esm/component/axis/cartesian/axis.js.map +1 -1
  192. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  193. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  194. package/esm/component/axis/polar/axis.js.map +1 -1
  195. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  196. package/esm/component/data-zoom/data-filter-base-component.js +7 -6
  197. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  198. package/esm/component/data-zoom/util.js +11 -2
  199. package/esm/component/data-zoom/util.js.map +1 -1
  200. package/esm/component/geo/geo-coordinate.js +5 -2
  201. package/esm/component/geo/geo-coordinate.js.map +1 -1
  202. package/esm/component/interface/index.d.ts +0 -1
  203. package/esm/component/interface/index.js +0 -2
  204. package/esm/component/interface/index.js.map +1 -1
  205. package/esm/component/label/util.js +1 -1
  206. package/esm/component/label/util.js.map +1 -1
  207. package/esm/component/title/interface/spec.d.ts +3 -3
  208. package/esm/component/title/interface/spec.js.map +1 -1
  209. package/esm/component/tooltip/constant.d.ts +5 -4
  210. package/esm/component/tooltip/constant.js +6 -3
  211. package/esm/component/tooltip/constant.js.map +1 -1
  212. package/esm/component/tooltip/interface/common.d.ts +1 -1
  213. package/esm/component/tooltip/interface/common.js.map +1 -1
  214. package/esm/component/tooltip/interface/spec.d.ts +8 -0
  215. package/esm/component/tooltip/interface/spec.js.map +1 -1
  216. package/esm/component/tooltip/interface/theme.d.ts +2 -2
  217. package/esm/component/tooltip/interface/theme.js.map +1 -1
  218. package/esm/component/tooltip/processor/base.d.ts +3 -5
  219. package/esm/component/tooltip/processor/base.js +24 -28
  220. package/esm/component/tooltip/processor/base.js.map +1 -1
  221. package/esm/component/tooltip/processor/group-tooltip.js +1 -1
  222. package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
  223. package/esm/component/tooltip/processor/mark-tooltip.js +2 -2
  224. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  225. package/esm/component/tooltip/tooltip-transformer.js +0 -1
  226. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  227. package/esm/component/tooltip/tooltip.d.ts +9 -4
  228. package/esm/component/tooltip/tooltip.js +66 -54
  229. package/esm/component/tooltip/tooltip.js.map +1 -1
  230. package/esm/component/tooltip/utils/common.d.ts +6 -4
  231. package/esm/component/tooltip/utils/common.js +46 -5
  232. package/esm/component/tooltip/utils/common.js.map +1 -1
  233. package/esm/component/tooltip/utils/get-spec.d.ts +4 -4
  234. package/esm/component/tooltip/utils/get-spec.js +24 -80
  235. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  236. package/esm/component/tooltip/utils/get-value.d.ts +1 -2
  237. package/esm/component/tooltip/utils/get-value.js +1 -9
  238. package/esm/component/tooltip/utils/get-value.js.map +1 -1
  239. package/esm/component/tooltip/utils/index.d.ts +0 -1
  240. package/esm/component/tooltip/utils/index.js +0 -2
  241. package/esm/component/tooltip/utils/index.js.map +1 -1
  242. package/esm/constant/correlation.js +2 -1
  243. package/esm/constant/layout.js +1 -2
  244. package/esm/core/index.d.ts +1 -1
  245. package/esm/core/index.js +1 -1
  246. package/esm/core/index.js.map +1 -1
  247. package/esm/core/vchart.js +16 -15
  248. package/esm/core/vchart.js.map +1 -1
  249. package/esm/data/initialize.d.ts +1 -2
  250. package/esm/data/initialize.js +6 -7
  251. package/esm/data/initialize.js.map +1 -1
  252. package/esm/data/transforms/pie.d.ts +3 -0
  253. package/esm/data/transforms/pie.js +6 -3
  254. package/esm/data/transforms/pie.js.map +1 -1
  255. package/esm/model/interface.d.ts +14 -0
  256. package/esm/model/interface.js.map +1 -1
  257. package/esm/plugin/chart/media-query/media-query.d.ts +1 -0
  258. package/esm/plugin/chart/media-query/media-query.js +3 -1
  259. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  260. package/esm/plugin/chart/plugin-service.d.ts +2 -0
  261. package/esm/plugin/chart/plugin-service.js +5 -0
  262. package/esm/plugin/chart/plugin-service.js.map +1 -1
  263. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -13
  264. package/esm/plugin/components/tooltip-handler/base.js +79 -212
  265. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  266. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  267. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  268. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  269. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -19
  270. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  271. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  272. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  273. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  274. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  275. package/esm/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  276. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  277. package/esm/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  278. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  279. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  280. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  281. package/esm/plugin/components/tooltip-handler/utils/position.js +20 -25
  282. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  283. package/esm/region/interface.d.ts +3 -1
  284. package/esm/region/interface.js.map +1 -1
  285. package/esm/series/base/base-series.js +4 -5
  286. package/esm/series/base/base-series.js.map +1 -1
  287. package/esm/series/base/tooltip-helper.d.ts +30 -6
  288. package/esm/series/base/tooltip-helper.js +85 -74
  289. package/esm/series/base/tooltip-helper.js.map +1 -1
  290. package/esm/series/box-plot/tooltip-helper.d.ts +2 -2
  291. package/esm/series/box-plot/tooltip-helper.js +26 -67
  292. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  293. package/esm/series/cartesian/cartesian.d.ts +1 -1
  294. package/esm/series/circle-packing/circle-packing.js +1 -2
  295. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  296. package/esm/series/dot/tooltip-helper.d.ts +8 -2
  297. package/esm/series/dot/tooltip-helper.js +42 -41
  298. package/esm/series/dot/tooltip-helper.js.map +1 -1
  299. package/esm/series/funnel/funnel.d.ts +1 -0
  300. package/esm/series/funnel/funnel.js +7 -6
  301. package/esm/series/funnel/funnel.js.map +1 -1
  302. package/esm/series/funnel/interface.d.ts +3 -1
  303. package/esm/series/funnel/interface.js.map +1 -1
  304. package/esm/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  305. package/esm/series/gauge/pointer-tooltip-helper.js +2 -9
  306. package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -1
  307. package/esm/series/heatmap/tooltip-helper.d.ts +2 -3
  308. package/esm/series/heatmap/tooltip-helper.js +2 -6
  309. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  310. package/esm/series/interface/tooltip-helper.d.ts +5 -4
  311. package/esm/series/interface/tooltip-helper.js.map +1 -1
  312. package/esm/series/link/tooltip-helper.d.ts +5 -2
  313. package/esm/series/link/tooltip-helper.js +26 -27
  314. package/esm/series/link/tooltip-helper.js.map +1 -1
  315. package/esm/series/liquid/tooltip-helper.d.ts +4 -5
  316. package/esm/series/liquid/tooltip-helper.js +2 -22
  317. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  318. package/esm/series/pie/pie.js +7 -3
  319. package/esm/series/pie/pie.js.map +1 -1
  320. package/esm/series/progress/linear/tooltip-helper.d.ts +2 -3
  321. package/esm/series/progress/linear/tooltip-helper.js +2 -11
  322. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  323. package/esm/series/range-area/tooltip-helper.d.ts +1 -3
  324. package/esm/series/range-area/tooltip-helper.js +2 -50
  325. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  326. package/esm/series/range-column/tooltip-helper.d.ts +1 -2
  327. package/esm/series/range-column/tooltip-helper.js +2 -19
  328. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  329. package/esm/series/sankey/sankey.d.ts +1 -1
  330. package/esm/series/sankey/tooltip-helper.d.ts +3 -3
  331. package/esm/series/sankey/tooltip-helper.js +10 -57
  332. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  333. package/esm/theme/builtin/common/series/linear-progress.js +4 -1
  334. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -1
  335. package/esm/theme/builtin/dark/color-scheme.js +2 -1
  336. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  337. package/esm/theme/builtin/light/color-scheme.js +2 -1
  338. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  339. package/esm/typings/spec/common.d.ts +3 -3
  340. package/esm/typings/spec/common.js.map +1 -1
  341. package/esm/typings/tooltip/position.d.ts +1 -0
  342. package/esm/typings/tooltip/position.js.map +1 -1
  343. package/esm/typings/tooltip/shape.d.ts +0 -1
  344. package/esm/typings/tooltip/shape.js.map +1 -1
  345. package/esm/typings/tooltip/tooltip.d.ts +7 -0
  346. package/esm/typings/tooltip/tooltip.js.map +1 -1
  347. package/package.json +17 -17
  348. package/cjs/component/interface/tooltip-helper.d.ts +0 -5
  349. package/cjs/component/interface/tooltip-helper.js +0 -6
  350. package/cjs/component/interface/tooltip-helper.js.map +0 -1
  351. package/cjs/component/tooltip/utils/compose.d.ts +0 -4
  352. package/cjs/component/tooltip/utils/compose.js +0 -120
  353. package/cjs/component/tooltip/utils/compose.js.map +0 -1
  354. package/cjs/model/tooltip-helper.d.ts +0 -29
  355. package/cjs/model/tooltip-helper.js +0 -19
  356. package/cjs/model/tooltip-helper.js.map +0 -1
  357. package/esm/component/interface/tooltip-helper.d.ts +0 -5
  358. package/esm/component/interface/tooltip-helper.js +0 -2
  359. package/esm/component/interface/tooltip-helper.js.map +0 -1
  360. package/esm/component/tooltip/utils/compose.d.ts +0 -4
  361. package/esm/component/tooltip/utils/compose.js +0 -105
  362. package/esm/component/tooltip/utils/compose.js.map +0 -1
  363. package/esm/model/tooltip-helper.d.ts +0 -29
  364. package/esm/model/tooltip-helper.js +0 -11
  365. package/esm/model/tooltip-helper.js.map +0 -1
@@ -4,21 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.BaseTooltipProcessor = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), event_1 = require("../../../constant/event"), get_spec_1 = require("../utils/get-spec"), compose_1 = require("../utils/compose"), get_value_1 = require("../utils/get-value"), common_1 = require("../utils/common");
7
+ const vutils_1 = require("@visactor/vutils"), event_1 = require("../../../constant/event"), get_spec_1 = require("../utils/get-spec"), common_1 = require("../utils/common"), constant_1 = require("../constant");
8
8
 
9
9
  class BaseTooltipProcessor {
10
10
  constructor(component) {
11
11
  this._showTooltipByHandler = (data, params) => {
12
12
  var _a, _b, _c;
13
13
  if ((0, vutils_1.isNil)(data)) return 1;
14
- params.changePositionOnly || this.clearCache(), this._updateViewSpec(params);
15
- const spec = this._cacheViewSpec;
16
- if ((0, vutils_1.isNil)(null == spec ? void 0 : spec[this.activeType]) || !1 === spec.visible) return 1;
17
- params.tooltipSpec = spec, this._updateActualTooltip(data, params), params.tooltipActual = this._cacheActualTooltip;
18
- const {title: title, content: content} = this._cacheActualTooltip, isEmpty = (0,
19
- vutils_1.isNil)(null == title ? void 0 : title.key) && (0, vutils_1.isNil)(null == title ? void 0 : title.value) && !(null == content ? void 0 : content.length);
14
+ params.changePositionOnly || this.clearCache(), this._updateViewSpec(data, params);
15
+ const spec = this._cacheActiveSpec;
16
+ if ((0, vutils_1.isNil)(spec) || !1 === spec.visible) return 1;
17
+ params.tooltipSpec = this.component.getSpec(), params.activeTooltipSpec = spec;
18
+ const {title: title, content: content} = spec, isEmpty = (0, vutils_1.isNil)(null == title ? void 0 : title.key) && (0,
19
+ vutils_1.isNil)(null == title ? void 0 : title.value) && !(null == content ? void 0 : content.length);
20
20
  if (this.component.event.emit(event_1.ChartEvent.tooltipShow, Object.assign(Object.assign({}, params), {
21
- isEmptyTooltip: (0, vutils_1.isNil)(null == title ? void 0 : title.key) && (0, vutils_1.isNil)(null == title ? void 0 : title.value) && !(null == content ? void 0 : content.length),
21
+ isEmptyTooltip: isEmpty,
22
22
  tooltipData: data,
23
23
  activeType: this.activeType,
24
24
  tooltip: this.component
@@ -40,24 +40,21 @@ class BaseTooltipProcessor {
40
40
  di.data.length > 0 && newDimensionInfo.push(di);
41
41
  })), newDimensionInfo.length > 0) return newDimensionInfo;
42
42
  }
43
- _updateViewSpec(params) {
44
- const {changePositionOnly: changePositionOnly, model: model, dimensionInfo: dimensionInfo} = params;
45
- changePositionOnly && this._cacheViewSpec || (this._cacheViewSpec = (0, get_spec_1.getTooltipSpecForShow)(this.activeType, this.component.getSpec(), model, dimensionInfo));
46
- }
47
- _updateActualTooltip(data, params) {
48
- var _a, _b, _c, _d;
49
- const pattern = this._cacheViewSpec[this.activeType], {changePositionOnly: changePositionOnly} = params;
50
- if (!changePositionOnly || !this._cacheActualTooltip) {
51
- const tooltipContent = (0, compose_1.getShowContent)(pattern, data, params), visible = !!(0,
52
- vutils_1.isValid)(tooltipContent) && !1 !== (0, get_value_1.getTooltipPatternValue)(pattern.visible, data, params);
53
- this._cacheActualTooltip = Object.assign(Object.assign({}, tooltipContent), {
54
- visible: visible,
55
- activeType: pattern.activeType,
56
- data: data
57
- });
58
- const {title: title, content: content} = this._cacheActualTooltip;
59
- this._cacheActualTooltip.title = null !== (_b = null === (_a = pattern.updateTitle) || void 0 === _a ? void 0 : _a.call(pattern, title, data, params)) && void 0 !== _b ? _b : title,
60
- this._cacheActualTooltip.content = null !== (_d = null === (_c = pattern.updateContent) || void 0 === _c ? void 0 : _c.call(pattern, content, data, params)) && void 0 !== _d ? _d : content;
43
+ _updateViewSpec(data, params) {
44
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
45
+ const {changePositionOnly: changePositionOnly, model: model} = params;
46
+ if (!changePositionOnly || !this._cacheActiveSpec) {
47
+ const tooltipSpec = this.component.getSpec();
48
+ if (this._cacheActiveSpec = (0, get_spec_1.getTooltipSpecForShow)(this.activeType, this.component.getSpec(), model, data, params),
49
+ this._cacheActiveSpec) {
50
+ (0, vutils_1.isNil)(this._cacheActiveSpec.handler) && (0, vutils_1.isValid)(tooltipSpec.handler) && (this._cacheActiveSpec.handler = tooltipSpec.handler);
51
+ const specByType = null !== (_a = tooltipSpec[this.activeType]) && void 0 !== _a ? _a : {}, updateTitle = null !== (_b = this._cacheActiveSpec.updateTitle) && void 0 !== _b ? _b : specByType.updateTitle, updateContent = null !== (_c = this._cacheActiveSpec.updateContent) && void 0 !== _c ? _c : specByType.updateContent, maxLineCount = null !== (_e = null !== (_d = this._cacheActiveSpec.maxLineCount) && void 0 !== _d ? _d : specByType.maxLineCount) && void 0 !== _e ? _e : constant_1.TOOLTIP_MAX_LINE_COUNT;
52
+ if (updateTitle && (this._cacheActiveSpec.title = null !== (_f = updateTitle(this._cacheActiveSpec.title, data, params)) && void 0 !== _f ? _f : this._cacheActiveSpec.title),
53
+ updateContent) this._cacheActiveSpec.content = null !== (_g = updateContent(this._cacheActiveSpec.content, data, params)) && void 0 !== _g ? _g : this._cacheActiveSpec.content; else if (maxLineCount >= 1 && (null === (_h = this._cacheActiveSpec.content) || void 0 === _h ? void 0 : _h.length) > maxLineCount) {
54
+ const othersLine = null !== (_j = this._cacheActiveSpec.othersLine) && void 0 !== _j ? _j : specByType.othersLine, otherLine = othersLine ? Object.assign(Object.assign({}, constant_1.TOOLTIP_OTHERS_LINE), othersLine) : constant_1.TOOLTIP_OTHERS_LINE;
55
+ this._cacheActiveSpec.content = [ ...this._cacheActiveSpec.content.slice(0, maxLineCount - 1), Object.assign(Object.assign({}, this._cacheActiveSpec.content[maxLineCount - 1]), otherLine) ];
56
+ }
57
+ }
61
58
  }
62
59
  }
63
60
  shouldHandleTooltip(params, info) {
@@ -65,7 +62,7 @@ class BaseTooltipProcessor {
65
62
  return !(0, vutils_1.isNil)(info) && (0, common_1.isActiveTypeVisible)(this.activeType, null === (_b = null === (_a = params.model) || void 0 === _a ? void 0 : _a.tooltipHelper) || void 0 === _b ? void 0 : _b.spec);
66
63
  }
67
64
  clearCache() {
68
- this._cacheViewSpec = void 0, this._cacheActualTooltip = void 0;
65
+ this._cacheActiveSpec = void 0;
69
66
  }
70
67
  }
71
68
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/processor/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../../event/interface';\nimport type { ITooltipActual, ITooltipPattern, TooltipActiveType, TooltipData } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { TooltipResult } from '../interface/common';\nimport type { Tooltip } from '../tooltip';\nimport type { MouseEventData, TooltipInfo } from './interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { TooltipEventParams } from '../interface/event';\nimport type { IDimensionInfo } from '../../../event/events/dimension';\nimport type { ISeries } from '../../../series/interface';\nimport { getTooltipSpecForShow } from '../utils/get-spec';\nimport { getShowContent } from '../utils/compose';\nimport { getTooltipPatternValue } from '../utils/get-value';\nimport { isActiveTypeVisible } from '../utils/common';\n\nexport abstract class BaseTooltipProcessor {\n readonly component: Tooltip;\n abstract activeType: TooltipActiveType;\n\n protected _cacheViewSpec: ITooltipSpec | undefined;\n protected _cacheActualTooltip: ITooltipActual | undefined;\n\n constructor(component: Tooltip) {\n this.component = component;\n }\n\n /** 触发对应类型的 tooltip */\n abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;\n /** 获取触发 tooltip 需要的信息 */\n abstract getMouseEventData(params: BaseEventParams): MouseEventData;\n\n protected _showTooltipByHandler = (data: TooltipData | undefined, params: TooltipHandlerParams): TooltipResult => {\n if (isNil(data)) {\n return TooltipResult.failed;\n }\n\n if (!params.changePositionOnly) {\n this.clearCache();\n }\n\n // 更新 this._cacheViewSpec\n this._updateViewSpec(params);\n const spec = this._cacheViewSpec;\n if (isNil(spec?.[this.activeType]) || spec.visible === false) {\n return TooltipResult.failed;\n }\n params.tooltipSpec = spec;\n\n // 更新 this._cacheActualTooltip\n this._updateActualTooltip(data, params);\n params.tooltipActual = this._cacheActualTooltip;\n\n // 判断 tooltip 是否为空\n const { title, content } = this._cacheActualTooltip;\n\n const isEmpty = isNil(title?.key) && isNil(title?.value) && !content?.length;\n // 触发事件\n this.component.event.emit(ChartEvent.tooltipShow, {\n ...params,\n isEmptyTooltip: isNil(title?.key) && isNil(title?.value) && !content?.length,\n tooltipData: data,\n activeType: this.activeType,\n tooltip: this.component\n } as TooltipEventParams);\n\n if (isEmpty) {\n return TooltipResult.failed;\n }\n\n // 显示 tooltip\n let showTooltip;\n if (spec.handler?.showTooltip) {\n showTooltip = spec.handler.showTooltip.bind(spec.handler);\n } else if (this.component.tooltipHandler?.showTooltip) {\n showTooltip = this.component.tooltipHandler.showTooltip.bind(this.component.tooltipHandler);\n }\n if (showTooltip) {\n return showTooltip(this.activeType, data, params) ?? TooltipResult.success;\n }\n return TooltipResult.failed;\n };\n\n protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined {\n const newDimensionInfo: IDimensionInfo[] = [];\n dimensionInfo?.forEach(info => {\n const di: IDimensionInfo = {\n ...info,\n data: info.data.filter(\n ({ series }: any) => series.getSpec()?.tooltip?.visible !== false // 过滤掉不需要显示的维度数据\n )\n };\n if (di.data.length > 0) {\n newDimensionInfo.push(di);\n }\n });\n if (newDimensionInfo.length > 0) {\n return newDimensionInfo;\n }\n return undefined;\n }\n\n /**\n * 合成实际显示的 tooltip spec\n * @param params\n */\n protected _updateViewSpec(params: TooltipHandlerParams) {\n const { changePositionOnly, model, dimensionInfo } = params;\n if (!changePositionOnly || !this._cacheViewSpec) {\n /** spec 预处理 */\n this._cacheViewSpec = getTooltipSpecForShow(\n this.activeType,\n this.component.getSpec(),\n model as ISeries,\n dimensionInfo\n );\n }\n }\n\n /**\n * 合成 tooltip 内容\n * @param data\n * @param params\n * @param changePositionOnly\n */\n protected _updateActualTooltip(data: TooltipData, params: TooltipHandlerParams) {\n const pattern = this._cacheViewSpec[this.activeType] as ITooltipPattern;\n const { changePositionOnly } = params;\n\n if (!changePositionOnly || !this._cacheActualTooltip) {\n // 合成 tooltip 内容\n const tooltipContent = getShowContent(pattern, data, params);\n\n // 判断可见性\n const visible = isValid(tooltipContent) ? getTooltipPatternValue(pattern.visible, data, params) !== false : false; // 最终展示数据为 null 则不展示\n\n this._cacheActualTooltip = {\n ...tooltipContent,\n visible,\n activeType: pattern.activeType,\n data\n };\n\n const { title, content } = this._cacheActualTooltip;\n this._cacheActualTooltip.title = pattern.updateTitle?.(title, data, params) ?? title;\n this._cacheActualTooltip.content = pattern.updateContent?.(content, data, params) ?? content;\n }\n }\n\n /** 判断是否应该触发 tooltip */\n shouldHandleTooltip(params: BaseEventParams, info: TooltipInfo): boolean {\n if (isNil(info)) {\n return false;\n }\n\n return isActiveTypeVisible(this.activeType, (params.model as ISeries)?.tooltipHelper?.spec);\n }\n\n clearCache() {\n this._cacheViewSpec = undefined;\n this._cacheActualTooltip = undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/processor/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../../event/interface';\nimport type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { TooltipResult } from '../interface/common';\nimport type { Tooltip } from '../tooltip';\nimport type { MouseEventData, TooltipInfo } from './interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { TooltipEventParams } from '../interface/event';\nimport type { IDimensionInfo } from '../../../event/events/dimension';\nimport type { ISeries } from '../../../series/interface';\nimport { getTooltipSpecForShow } from '../utils/get-spec';\nimport { isActiveTypeVisible } from '../utils/common';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\n\nexport abstract class BaseTooltipProcessor {\n readonly component: Tooltip;\n abstract activeType: TooltipActiveType;\n\n protected _cacheActiveSpec: ITooltipActual | undefined;\n\n constructor(component: Tooltip) {\n this.component = component;\n }\n\n /** 触发对应类型的 tooltip */\n abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;\n /** 获取触发 tooltip 需要的信息 */\n abstract getMouseEventData(params: BaseEventParams): MouseEventData;\n\n protected _showTooltipByHandler = (data: TooltipData | undefined, params: TooltipHandlerParams): TooltipResult => {\n if (isNil(data)) {\n return TooltipResult.failed;\n }\n\n if (!params.changePositionOnly) {\n this.clearCache();\n }\n\n // 更新 this._cacheActiveSpec\n this._updateViewSpec(data, params);\n const spec = this._cacheActiveSpec;\n if (isNil(spec) || spec.visible === false) {\n return TooltipResult.failed;\n }\n params.tooltipSpec = this.component.getSpec();\n params.activeTooltipSpec = spec;\n\n // 判断 tooltip 是否为空\n const { title, content } = spec;\n\n const isEmpty = isNil(title?.key) && isNil(title?.value) && !content?.length;\n // 触发事件\n this.component.event.emit(ChartEvent.tooltipShow, {\n ...params,\n isEmptyTooltip: isEmpty,\n tooltipData: data,\n activeType: this.activeType,\n tooltip: this.component\n } as TooltipEventParams);\n\n if (isEmpty) {\n return TooltipResult.failed;\n }\n\n // 显示 tooltip\n let showTooltip;\n if (spec.handler?.showTooltip) {\n showTooltip = spec.handler.showTooltip.bind(spec.handler);\n } else if (this.component.tooltipHandler?.showTooltip) {\n showTooltip = this.component.tooltipHandler.showTooltip.bind(this.component.tooltipHandler);\n }\n if (showTooltip) {\n return showTooltip(this.activeType, data, params) ?? TooltipResult.success;\n }\n return TooltipResult.failed;\n };\n\n protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined {\n const newDimensionInfo: IDimensionInfo[] = [];\n dimensionInfo?.forEach(info => {\n const di: IDimensionInfo = {\n ...info,\n data: info.data.filter(\n ({ series }: any) => series.getSpec()?.tooltip?.visible !== false // 过滤掉不需要显示的维度数据\n )\n };\n if (di.data.length > 0) {\n newDimensionInfo.push(di);\n }\n });\n if (newDimensionInfo.length > 0) {\n return newDimensionInfo;\n }\n return undefined;\n }\n\n /**\n * 合成实际显示的 tooltip spec\n * @param params\n */\n protected _updateViewSpec(data: TooltipData, params: TooltipHandlerParams) {\n const { changePositionOnly, model } = params;\n if (!changePositionOnly || !this._cacheActiveSpec) {\n const tooltipSpec = this.component.getSpec();\n /** spec 预处理 */\n this._cacheActiveSpec = getTooltipSpecForShow(\n this.activeType,\n this.component.getSpec(),\n model as ISeries,\n data,\n params\n );\n\n if (this._cacheActiveSpec) {\n if (isNil(this._cacheActiveSpec.handler) && isValid(tooltipSpec.handler)) {\n this._cacheActiveSpec.handler = tooltipSpec.handler;\n }\n const specByType = tooltipSpec[this.activeType] ?? {};\n const updateTitle = this._cacheActiveSpec.updateTitle ?? specByType.updateTitle;\n const updateContent = this._cacheActiveSpec.updateContent ?? specByType.updateContent;\n const maxLineCount = this._cacheActiveSpec.maxLineCount ?? specByType.maxLineCount ?? TOOLTIP_MAX_LINE_COUNT;\n\n if (updateTitle) {\n this._cacheActiveSpec.title =\n updateTitle(this._cacheActiveSpec.title, data, params) ?? this._cacheActiveSpec.title;\n }\n\n if (updateContent) {\n this._cacheActiveSpec.content =\n updateContent(this._cacheActiveSpec.content, data, params) ?? this._cacheActiveSpec.content;\n } else if (maxLineCount >= 1 && this._cacheActiveSpec.content?.length > maxLineCount) {\n const othersLine = this._cacheActiveSpec.othersLine ?? specByType.othersLine;\n const otherLine = othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n this._cacheActiveSpec.content = [\n ...this._cacheActiveSpec.content.slice(0, maxLineCount - 1),\n {\n ...this._cacheActiveSpec.content[maxLineCount - 1],\n ...otherLine\n }\n ];\n }\n }\n }\n }\n\n /** 判断是否应该触发 tooltip */\n shouldHandleTooltip(params: BaseEventParams, info: TooltipInfo): boolean {\n if (isNil(info)) {\n return false;\n }\n\n return isActiveTypeVisible(this.activeType, (params.model as ISeries)?.tooltipHelper?.spec);\n }\n\n clearCache() {\n this._cacheActiveSpec = undefined;\n }\n}\n"]}
@@ -26,7 +26,7 @@ class GroupTooltipProcessor extends base_1.BaseTooltipProcessor {
26
26
  let info;
27
27
  if ("series" === (null === (_a = params.model) || void 0 === _a ? void 0 : _a.modelType)) {
28
28
  const series = params.model, helper = series.tooltipHelper, activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.group;
29
- if ((null == activeTriggers ? void 0 : activeTriggers.has(params.model)) || (null == activeTriggers ? void 0 : activeTriggers.has(params.mark))) {
29
+ if (null == activeTriggers ? void 0 : activeTriggers.has(params.mark)) {
30
30
  const patternSpec = this.component.getSpec()[this.activeType];
31
31
  ((null == patternSpec ? void 0 : patternSpec.triggerMark) ? (0, vutils_1.array)(patternSpec.triggerMark) : []).includes(null === (_b = params.mark) || void 0 === _b ? void 0 : _b.name) && (info = {
32
32
  mark: params.mark,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/processor/group-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAC9C,6CAAyC;AAGzC,MAAa,qBAAsB,SAAQ,2BAAoB;IAA/D;;QACE,eAAU,GAAsB,OAAO,CAAC;IA4D1C,CAAC;IAzDC,WAAW,CAAC,IAAsB,EAAE,MAAuB,EAAE,kBAA2B;QACtF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,mCACT,MAAc,KAClB,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACvC,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,IAAI,IAAkC,CAAC;QAGvC,IAAI,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,SAAS,MAAK,QAAQ,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAgB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,KAAK,CAAC;YAEtD,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE;gBACzE,MAAM,WAAW,GAA0B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtG,MAAM,WAAW,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAC,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAW,CAAC,EAAE;oBAClD,IAAI,GAAG;wBACL,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,MAAM;qBACP,CAAC;iBACH;aACF;SACF;QAED,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,MAAuB;QAC9C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,KAAgB,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;SACrB;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,gBAAgB,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,gBAAgB,CAAC,CAAC;IAC7E,CAAC;CACF;AA7DD,sDA6DC","file":"group-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { Datum, IGroupTooltipPattern, TooltipActiveType } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\nimport type { GroupTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { array } from '@visactor/vutils';\nimport type { ISeries } from '../../../series/interface';\n\nexport class GroupTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'group';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: GroupTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const { datum, series } = info;\n const tooltipData = [{ datum: array(datum), series }];\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n groupDatum: this._getGroupDatum(params),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(tooltipData, newParams);\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let info: GroupTooltipInfo | undefined;\n\n // 处理mark info\n if (params.model?.modelType === 'series') {\n const series = params.model as ISeries;\n const helper = series.tooltipHelper;\n const activeTriggers = helper?.activeTriggerSet.group;\n\n if (activeTriggers?.has(params.model) || activeTriggers?.has(params.mark)) {\n const patternSpec: IGroupTooltipPattern = (this.component.getSpec() as ITooltipSpec)[this.activeType];\n const triggerMark = patternSpec?.triggerMark ? array(patternSpec.triggerMark) : [];\n if (triggerMark.includes(params.mark?.name as any)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series\n };\n }\n }\n }\n\n return {\n tooltipInfo: info,\n ignore: false\n };\n }\n\n protected _getGroupDatum(params: BaseEventParams) {\n const { model, mark, datum } = params;\n const series = model as ISeries;\n if (['line', 'area'].includes(mark.type)) {\n return array(datum);\n }\n\n const datumList = series.getViewData().latestData;\n const seriesField = series.getSeriesField();\n if (!seriesField) {\n return datumList;\n }\n\n const seriesFieldValue = array(datum)[0][seriesField];\n return datumList.filter((d: Datum) => d[seriesField] === seriesFieldValue);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/processor/group-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAC9C,6CAAyC;AAGzC,MAAa,qBAAsB,SAAQ,2BAAoB;IAA/D;;QACE,eAAU,GAAsB,OAAO,CAAC;IA4D1C,CAAC;IAzDC,WAAW,CAAC,IAAsB,EAAE,MAAuB,EAAE,kBAA2B;QACtF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,mCACT,MAAc,KAClB,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACvC,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,IAAI,IAAkC,CAAC;QAGvC,IAAI,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,SAAS,MAAK,QAAQ,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAgB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,KAAK,CAAC;YAEtD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACpC,MAAM,WAAW,GAA0B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtG,MAAM,WAAW,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAC,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAW,CAAC,EAAE;oBAClD,IAAI,GAAG;wBACL,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,MAAM;qBACP,CAAC;iBACH;aACF;SACF;QAED,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,MAAuB;QAC9C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,KAAgB,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;SACrB;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,gBAAgB,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,gBAAgB,CAAC,CAAC;IAC7E,CAAC;CACF;AA7DD,sDA6DC","file":"group-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { Datum, IGroupTooltipPattern, TooltipActiveType } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\nimport type { GroupTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { array } from '@visactor/vutils';\nimport type { ISeries } from '../../../series/interface';\n\nexport class GroupTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'group';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: GroupTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const { datum, series } = info;\n const tooltipData = [{ datum: array(datum), series }];\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n groupDatum: this._getGroupDatum(params),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(tooltipData, newParams);\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let info: GroupTooltipInfo | undefined;\n\n // 处理mark info\n if (params.model?.modelType === 'series') {\n const series = params.model as ISeries;\n const helper = series.tooltipHelper;\n const activeTriggers = helper?.activeTriggerSet.group;\n\n if (activeTriggers?.has(params.mark)) {\n const patternSpec: IGroupTooltipPattern = (this.component.getSpec() as ITooltipSpec)[this.activeType];\n const triggerMark = patternSpec?.triggerMark ? array(patternSpec.triggerMark) : [];\n if (triggerMark.includes(params.mark?.name as any)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series\n };\n }\n }\n }\n\n return {\n tooltipInfo: info,\n ignore: false\n };\n }\n\n protected _getGroupDatum(params: BaseEventParams) {\n const { model, mark, datum } = params;\n const series = model as ISeries;\n if (['line', 'area'].includes(mark.type)) {\n return array(datum);\n }\n\n const datumList = series.getViewData().latestData;\n const seriesField = series.getSeriesField();\n if (!seriesField) {\n return datumList;\n }\n\n const seriesFieldValue = array(datum)[0][seriesField];\n return datumList.filter((d: Datum) => d[seriesField] === seriesFieldValue);\n }\n}\n"]}
@@ -25,11 +25,11 @@ class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
25
25
  let info, ignore;
26
26
  if ("series" === (null === (_a = params.model) || void 0 === _a ? void 0 : _a.modelType)) {
27
27
  const series = params.model, helper = series.tooltipHelper, activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.mark, ignoreTriggers = null == helper ? void 0 : helper.ignoreTriggerSet.mark;
28
- (null == activeTriggers ? void 0 : activeTriggers.has(params.model)) || (null == activeTriggers ? void 0 : activeTriggers.has(params.mark)) ? info = {
28
+ (null == activeTriggers ? void 0 : activeTriggers.has(params.mark)) ? info = {
29
29
  mark: params.mark,
30
30
  datum: params.datum,
31
31
  series: series
32
- } : ((null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.model)) || (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark))) && (ignore = !0);
32
+ } : (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark)) && (ignore = !0);
33
33
  }
34
34
  return {
35
35
  tooltipInfo: info,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/processor/mark-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAG9C,MAAa,oBAAqB,SAAQ,2BAAoB;IAA9D;;QACE,eAAU,GAAsB,MAAM,CAAC;IAyCzC,CAAC;IAtCC,WAAW,CAAC,IAAqB,EAAE,MAAuB,EAAE,kBAA2B;QACrF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,mCACT,MAAc,KAClB,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,IAAI,IAAiC,CAAC;QACtC,IAAI,MAA2B,CAAC;QAGhC,IAAI,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,SAAS,MAAK,QAAQ,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAgB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,IAAI,CAAC;YACrD,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,IAAI,CAAC;YACrD,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE;gBACzE,IAAI,GAAG;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM;iBACP,CAAC;aACH;iBAAM,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE;gBAChF,MAAM,GAAG,IAAI,CAAC;aACf;SACF;QAED,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AA1CD,oDA0CC","file":"mark-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { MarkTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport type { ISeries } from '../../../series/interface';\n\nexport class MarkTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'mark';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: MarkTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const { datum, series } = info;\n const tooltipData = [{ datum: [datum], series }];\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(tooltipData, newParams);\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let info: MarkTooltipInfo | undefined;\n let ignore: boolean | undefined;\n\n // 处理mark info\n if (params.model?.modelType === 'series') {\n const series = params.model as ISeries;\n const helper = series.tooltipHelper;\n const activeTriggers = helper?.activeTriggerSet.mark;\n const ignoreTriggers = helper?.ignoreTriggerSet.mark;\n if (activeTriggers?.has(params.model) || activeTriggers?.has(params.mark)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series\n };\n } else if (ignoreTriggers?.has(params.model) || ignoreTriggers?.has(params.mark)) {\n ignore = true;\n }\n }\n\n return {\n tooltipInfo: info,\n ignore\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/processor/mark-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAG9C,MAAa,oBAAqB,SAAQ,2BAAoB;IAA9D;;QACE,eAAU,GAAsB,MAAM,CAAC;IAyCzC,CAAC;IAtCC,WAAW,CAAC,IAAqB,EAAE,MAAuB,EAAE,kBAA2B;QACrF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,mCACT,MAAc,KAClB,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,IAAI,IAAiC,CAAC;QACtC,IAAI,MAA2B,CAAC;QAGhC,IAAI,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,SAAS,MAAK,QAAQ,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAgB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,IAAI,CAAC;YACrD,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,IAAI,CAAC;YACrD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACpC,IAAI,GAAG;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM;iBACP,CAAC;aACH;iBAAM,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC3C,MAAM,GAAG,IAAI,CAAC;aACf;SACF;QAED,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AA1CD,oDA0CC","file":"mark-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { MarkTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport type { ISeries } from '../../../series/interface';\n\nexport class MarkTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'mark';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: MarkTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const { datum, series } = info;\n const tooltipData = [{ datum: [datum], series }];\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(tooltipData, newParams);\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let info: MarkTooltipInfo | undefined;\n let ignore: boolean | undefined;\n\n // 处理mark info\n if (params.model?.modelType === 'series') {\n const series = params.model as ISeries;\n const helper = series.tooltipHelper;\n const activeTriggers = helper?.activeTriggerSet.mark;\n const ignoreTriggers = helper?.ignoreTriggerSet.mark;\n if (activeTriggers?.has(params.mark)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series\n };\n } else if (ignoreTriggers?.has(params.mark)) {\n ignore = true;\n }\n }\n\n return {\n tooltipInfo: info,\n ignore\n };\n }\n}\n"]}
@@ -30,7 +30,6 @@ class TooltipSpecTransformer extends base_1.BaseComponentSpecTransformer {
30
30
  spec.enterable = null !== (_e = spec.enterable) && void 0 !== _e && _e, spec.transitionDuration = null !== (_f = spec.transitionDuration) && void 0 !== _f ? _f : 150,
31
31
  spec.triggerOff = null !== (_g = spec.triggerOff) && void 0 !== _g ? _g : spec.trigger,
32
32
  spec.confine = null !== (_h = spec.confine) && void 0 !== _h ? _h : "canvas" === spec.renderMode,
33
- (0, util_1.isValid)(spec.mark) && (spec.mark.activeType = "mark"), (0, util_1.isValid)(spec.dimension) && (spec.dimension.activeType = "dimension"),
34
33
  (0, util_1.isValid)(spec.parentElement) ? (0, util_1.isString)(spec.parentElement) && (spec.parentElement = vrender_core_1.vglobal.getElementById(spec.parentElement)) : (0,
35
34
  util_1.isTrueBrowser)(this._option.mode) && (spec.parentElement = null === util_1.domDocument || void 0 === util_1.domDocument ? void 0 : util_1.domDocument.body);
36
35
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/tooltip-transformer.ts"],"names":[],"mappings":"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","file":"tooltip-transformer.js","sourcesContent":["import { vglobal } from '@visactor/vrender-core';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { domDocument, isMiniAppLikeMode, isString, isTrueBrowser, isValid } from '../../util';\nimport { BaseComponentSpecTransformer } from '../base';\nimport { TOOLTIP_EL_CLASS_NAME } from './constant';\nimport { getTooltipActualActiveType } from './utils/common';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class TooltipSpecTransformer extends BaseComponentSpecTransformer<any> {\n protected _shouldMergeThemeToSpec() {\n return false;\n }\n\n protected _initTheme(spec: any, chartSpec: any): { spec: any; theme: any } {\n const { spec: newSpec, theme } = super._initTheme(spec, chartSpec);\n newSpec.style = mergeSpec({}, this._theme, newSpec.style);\n newSpec.offset = mergeSpec({}, theme.offset, spec.offset);\n newSpec.transitionDuration = spec.transitionDuration ?? theme.transitionDuration;\n return { spec: newSpec, theme };\n }\n\n protected _transformSpecAfterMergingTheme(spec: any, chartSpec: any, chartSpecInfo?: IChartSpecInfo) {\n super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);\n\n spec.visible = spec.visible ?? true;\n spec.activeType = getTooltipActualActiveType(spec);\n spec.renderMode =\n spec.renderMode ??\n // 小程序或非浏览器环境下,默认使用canvas渲染\n (isMiniAppLikeMode(this._option.mode) || !isTrueBrowser(this._option.mode) ? 'canvas' : 'html');\n spec.trigger = spec.trigger ?? 'hover';\n spec.className = spec.className ?? TOOLTIP_EL_CLASS_NAME;\n spec.enterable = spec.enterable ?? false;\n spec.transitionDuration = spec.transitionDuration ?? 150;\n spec.triggerOff = spec.triggerOff ?? spec.trigger;\n spec.confine = spec.confine ?? spec.renderMode === 'canvas';\n\n if (isValid(spec.mark)) {\n spec.mark.activeType = 'mark';\n }\n if (isValid(spec.dimension)) {\n spec.dimension.activeType = 'dimension';\n }\n\n if (isValid(spec.parentElement)) {\n if (isString(spec.parentElement)) {\n spec.parentElement = vglobal.getElementById(spec.parentElement);\n }\n } else if (isTrueBrowser(this._option.mode)) {\n spec.parentElement = domDocument?.body;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/tooltip-transformer.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAEjD,qCAA8F;AAC9F,kCAAuD;AACvD,yCAAmD;AACnD,2CAA4D;AAC5D,iEAAuD;AAEvD,MAAa,sBAAuB,SAAQ,mCAAiC;IACjE,uBAAuB;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAES,UAAU,CAAC,IAAS,EAAE,SAAc;;QAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,KAAK,CAAC,kBAAkB,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,+BAA+B,CAAC,IAAS,EAAE,SAAc,EAAE,aAA8B;;QACjG,KAAK,CAAC,+BAA+B,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU;YACb,MAAA,IAAI,CAAC,UAAU,mCAEf,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,gCAAqB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,GAAG,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;QAE5D,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC/B,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,CAAC,aAAa,GAAG,sBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACjE;SACF;aAAM,IAAI,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,aAAa,GAAG,kBAAW,aAAX,kBAAW,uBAAX,kBAAW,CAAE,IAAI,CAAC;SACxC;IACH,CAAC;CACF;AArCD,wDAqCC","file":"tooltip-transformer.js","sourcesContent":["import { vglobal } from '@visactor/vrender-core';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { domDocument, isMiniAppLikeMode, isString, isTrueBrowser, isValid } from '../../util';\nimport { BaseComponentSpecTransformer } from '../base';\nimport { TOOLTIP_EL_CLASS_NAME } from './constant';\nimport { getTooltipActualActiveType } from './utils/common';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class TooltipSpecTransformer extends BaseComponentSpecTransformer<any> {\n protected _shouldMergeThemeToSpec() {\n return false;\n }\n\n protected _initTheme(spec: any, chartSpec: any): { spec: any; theme: any } {\n const { spec: newSpec, theme } = super._initTheme(spec, chartSpec);\n newSpec.style = mergeSpec({}, this._theme, newSpec.style);\n newSpec.offset = mergeSpec({}, theme.offset, spec.offset);\n newSpec.transitionDuration = spec.transitionDuration ?? theme.transitionDuration;\n return { spec: newSpec, theme };\n }\n\n protected _transformSpecAfterMergingTheme(spec: any, chartSpec: any, chartSpecInfo?: IChartSpecInfo) {\n super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);\n\n spec.visible = spec.visible ?? true;\n spec.activeType = getTooltipActualActiveType(spec);\n spec.renderMode =\n spec.renderMode ??\n // 小程序或非浏览器环境下,默认使用canvas渲染\n (isMiniAppLikeMode(this._option.mode) || !isTrueBrowser(this._option.mode) ? 'canvas' : 'html');\n spec.trigger = spec.trigger ?? 'hover';\n spec.className = spec.className ?? TOOLTIP_EL_CLASS_NAME;\n spec.enterable = spec.enterable ?? false;\n spec.transitionDuration = spec.transitionDuration ?? 150;\n spec.triggerOff = spec.triggerOff ?? spec.trigger;\n spec.confine = spec.confine ?? spec.renderMode === 'canvas';\n\n if (isValid(spec.parentElement)) {\n if (isString(spec.parentElement)) {\n spec.parentElement = vglobal.getElementById(spec.parentElement);\n }\n } else if (isTrueBrowser(this._option.mode)) {\n spec.parentElement = domDocument?.body;\n }\n }\n}\n"]}
@@ -20,7 +20,11 @@ export declare class Tooltip extends BaseComponent<any> implements ITooltip {
20
20
  static specKey: string;
21
21
  specKey: string;
22
22
  layoutType: 'none';
23
- private _timer?;
23
+ private _hideTimer?;
24
+ private _outTimer?;
25
+ private _showTimer?;
26
+ private _needInitEventOfTooltip?;
27
+ private _enterable;
24
28
  protected _spec: ITooltipSpec;
25
29
  tooltipHandler?: ITooltipHandler;
26
30
  processor: ITooltipActiveTypeAsKeys<MarkTooltipProcessor, DimensionTooltipProcessor, GroupTooltipProcessor>;
@@ -28,8 +32,8 @@ export declare class Tooltip extends BaseComponent<any> implements ITooltip {
28
32
  private _cacheInfo;
29
33
  private _cacheParams;
30
34
  private _cacheActiveType;
35
+ private _cacheEnterableRect;
31
36
  private _eventList;
32
- protected _isTooltipShown: boolean;
33
37
  protected _clickLock: boolean;
34
38
  isTooltipShown(): boolean;
35
39
  changeRegions(regions: IRegion[]): void;
@@ -43,6 +47,7 @@ export declare class Tooltip extends BaseComponent<any> implements ITooltip {
43
47
  release(): void;
44
48
  beforeRelease(): void;
45
49
  protected _initHandler(): void;
50
+ protected _initEventOfTooltipContent(): void;
46
51
  protected _initProcessor(): void;
47
52
  protected _initEvent(): void;
48
53
  protected _mountEvent: (eType: EventType, query: EventQuery, callback: EventCallback<any>) => void;
@@ -50,15 +55,15 @@ export declare class Tooltip extends BaseComponent<any> implements ITooltip {
50
55
  protected _getMouseOutHandler: (needPointerDetection?: boolean) => (params: BaseEventParams) => void;
51
56
  protected _handleChartMouseOut: (params?: BaseEventParams) => void;
52
57
  protected _getMouseMoveHandler: (isClick: boolean) => (params: BaseEventParams) => void;
58
+ protected _handleChartMouseMove: (params: BaseEventParams, isClick: boolean) => void;
53
59
  protected _showTooltipByMouseEvent: (activeType: TooltipActiveType, mouseEventData: TotalMouseEventData, params: BaseEventParams, isClick: boolean, useCache?: boolean) => boolean;
54
60
  protected _getMouseEventData: (params: BaseEventParams) => TotalMouseEventData;
55
61
  protected _hideTooltipByHandler: (params: TooltipHandlerParams) => TooltipResult;
56
62
  reInit(spec?: any): void;
57
63
  showTooltip(datum: Datum, options: IShowTooltipOption): false | "none" | TooltipActiveType;
58
- hideTooltip(): boolean;
64
+ hideTooltip: () => boolean;
59
65
  private _isSameAsCache;
60
66
  private _isPointerInChart;
61
- private _isPointerOnTooltip;
62
67
  getVisible(): boolean;
63
68
  }
64
69
  export declare const registerTooltip: () => void;
@@ -11,7 +11,7 @@ class Tooltip extends base_component_1.BaseComponent {
11
11
  super(...arguments), this.layoutZIndex = 1, this.type = type_1.ComponentTypeEnum.tooltip,
12
12
  this.name = type_1.ComponentTypeEnum.tooltip, this.transformerConstructor = tooltip_transformer_1.TooltipSpecTransformer,
13
13
  this.specKey = "tooltip", this.layoutType = "none", this._alwaysShow = !1, this._eventList = [],
14
- this._isTooltipShown = !1, this._clickLock = !1, this._mountEvent = (eType, query, callback) => {
14
+ this._clickLock = !1, this._mountEvent = (eType, query, callback) => {
15
15
  this.event.on(eType, query, callback), this._eventList.push({
16
16
  eventType: eType,
17
17
  handler: callback
@@ -19,25 +19,31 @@ class Tooltip extends base_component_1.BaseComponent {
19
19
  }, this._handleClickToLock = params => {
20
20
  this._clickLock ? (this._handleChartMouseOut(params), this._clickLock = !1) : this._clickLock = !0;
21
21
  }, this._getMouseOutHandler = needPointerDetection => params => {
22
- var _a, _b, _c;
22
+ var _a, _b, _c, _d;
23
23
  if (this._alwaysShow || this._clickLock) return;
24
- if (!this._isTooltipShown && !(null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.isTooltipShown) || void 0 === _b ? void 0 : _b.call(_a))) return;
24
+ if (!(null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.isTooltipShown) || void 0 === _b ? void 0 : _b.call(_a))) return;
25
25
  const browserEnv = (0, env_1.isTrueBrowser)(null === (_c = this._option) || void 0 === _c ? void 0 : _c.mode), {clientX: clientX, clientY: clientY} = params.event;
26
- browserEnv && this._isPointerOnTooltip(params) || browserEnv && needPointerDetection && this._isPointerInChart({
26
+ browserEnv && needPointerDetection && this._isPointerInChart({
27
27
  x: clientX,
28
28
  y: clientY
29
- }) || this._handleChartMouseOut(params);
29
+ }) || this._enterable && (this._outTimer = setTimeout((() => {
30
+ this._handleChartMouseOut(params);
31
+ }), null !== (_d = this._spec.showDelay) && void 0 !== _d ? _d : constant_1.DEFAULT_SHOW_DELAY));
30
32
  }, this._handleChartMouseOut = params => {
31
33
  this._alwaysShow || "none" !== this._spec.triggerOff && (this._hideTooltipByHandler(Object.assign(Object.assign({}, params), {
32
34
  tooltip: this
33
- })), this._cacheInfo = void 0, this._cacheParams = void 0, this._cacheActiveType = void 0);
35
+ })), this._cacheEnterableRect = null, this._cacheInfo = void 0, this._cacheParams = void 0,
36
+ this._cacheActiveType = void 0);
34
37
  }, this._getMouseMoveHandler = isClick => params => {
35
- if (this.tooltipHandler || this._initHandler(), this.processor || this._initProcessor(),
36
- this._alwaysShow) return;
37
- if (this._isPointerOnTooltip(params)) return;
38
- if (this._clickLock) return void (isClick && (this._handleChartMouseOut(params),
39
- this._clickLock = !1));
40
- const mouseEventData = this._getMouseEventData(params), {tooltipInfo: {dimension: dimensionInfo}, ignore: {mark: ignoreMark, dimension: ignoreDimension}} = mouseEventData, success = {
38
+ var _a;
39
+ this._outTimer && (clearTimeout(this._outTimer), this._outTimer = null), this.tooltipHandler || this._initHandler(),
40
+ this.processor || this._initProcessor(), this._alwaysShow || (this._clickLock ? isClick && (this._handleChartMouseOut(params),
41
+ this._clickLock = !1) : !isClick && this._enterable && this.isTooltipShown() ? (this._showTimer && clearTimeout(this._showTimer),
42
+ this._showTimer = setTimeout((() => {
43
+ this._handleChartMouseMove(params, isClick);
44
+ }), null !== (_a = this._spec.showDelay) && void 0 !== _a ? _a : constant_1.DEFAULT_SHOW_DELAY)) : this._handleChartMouseMove(params, isClick));
45
+ }, this._handleChartMouseMove = (params, isClick) => {
46
+ const mouseEventData = this._getMouseEventData(params), {tooltipInfo: {dimension: dimensionInfo}, ignore: {mark: ignoreMark}} = mouseEventData, success = {
41
47
  mark: !1,
42
48
  dimension: !1,
43
49
  group: !1
@@ -52,18 +58,18 @@ class Tooltip extends base_component_1.BaseComponent {
52
58
  Object.values(success).every((val => !val)) && !(0, common_1.isEmptyPos)(params) && (ignoreMark && (0,
53
59
  util_1.isMarkInfo)(this._cacheInfo) ? success.mark = this._showTooltipByMouseEvent("mark", mouseEventData, params, isClick, !0) : (0,
54
60
  vutils_1.isValid)(dimensionInfo) && (success.dimension = this._showTooltipByMouseEvent("dimension", mouseEventData, params, isClick))),
55
- success.mark || success.group || success.dimension && !(0, vutils_1.isNil)(dimensionInfo) || this._handleChartMouseOut(params);
61
+ success.mark || success.group || success.dimension && !(0, vutils_1.isNil)(dimensionInfo) ? this._initEventOfTooltipContent() : this._handleChartMouseOut(params);
56
62
  }, this._showTooltipByMouseEvent = (activeType, mouseEventData, params, isClick, useCache) => {
57
63
  var _a;
58
64
  const processor = this.processor[activeType];
59
65
  if (!processor.shouldHandleTooltip(params, mouseEventData.tooltipInfo[activeType])) return !1;
60
66
  let success;
61
- if (this._timer && clearTimeout(this._timer), useCache) success = !processor.showTooltip(this._cacheInfo, params, !0); else {
67
+ if (this._hideTimer && clearTimeout(this._hideTimer), useCache) success = !processor.showTooltip(this._cacheInfo, params, !0); else {
62
68
  const tooltipInfo = mouseEventData.tooltipInfo[activeType], isSameAsCache = this._isSameAsCache(tooltipInfo, params, activeType);
63
69
  success = !processor.showTooltip(tooltipInfo, params, isSameAsCache), success && (this._cacheInfo = tooltipInfo,
64
70
  this._cacheParams = params, this._cacheActiveType = activeType);
65
71
  }
66
- success && (this._isTooltipShown = !0, isClick && this._spec.lockAfterClick && !this._clickLock ? this._clickLock = !0 : Number.isFinite(this._spec.hideTimer) && (this._timer = setTimeout((() => {
72
+ success && (isClick && this._spec.lockAfterClick && !this._clickLock ? this._clickLock = !0 : Number.isFinite(this._spec.hideTimer) && (this._hideTimer = setTimeout((() => {
67
73
  this._handleChartMouseOut();
68
74
  }), this._spec.hideTimer)));
69
75
  const vchart = null === (_a = this._option) || void 0 === _a ? void 0 : _a.globalInstance;
@@ -80,7 +86,7 @@ class Tooltip extends base_component_1.BaseComponent {
80
86
  })), result;
81
87
  }, this._hideTooltipByHandler = params => {
82
88
  var _a, _b, _c;
83
- if (!this._isTooltipShown && !(null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.isTooltipShown) || void 0 === _b ? void 0 : _b.call(_a))) return 0;
89
+ if (!(null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.isTooltipShown) || void 0 === _b ? void 0 : _b.call(_a))) return 0;
84
90
  this.event.emit(event_1.ChartEvent.tooltipHide, Object.assign(Object.assign({}, params), {
85
91
  source: event_1.Event_Source_Type.chart,
86
92
  tooltip: this
@@ -88,15 +94,21 @@ class Tooltip extends base_component_1.BaseComponent {
88
94
  processor.clearCache();
89
95
  }));
90
96
  const handler = null !== (_c = this._spec.handler) && void 0 !== _c ? _c : this.tooltipHandler;
91
- if (handler.hideTooltip) {
92
- const result = handler.hideTooltip.call(handler, params);
93
- return result || (this._isTooltipShown = !1), result;
94
- }
95
- return 1;
97
+ return handler.hideTooltip ? handler.hideTooltip.call(handler, params) : 1;
98
+ }, this.hideTooltip = () => {
99
+ const params = {
100
+ changePositionOnly: !1,
101
+ tooltip: this,
102
+ item: void 0,
103
+ datum: void 0,
104
+ source: event_1.Event_Source_Type.chart
105
+ };
106
+ return this._alwaysShow = !1, !this._hideTooltipByHandler(params);
96
107
  };
97
108
  }
98
109
  isTooltipShown() {
99
- return this._isTooltipShown;
110
+ var _a, _b;
111
+ return null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.isTooltipShown) || void 0 === _b ? void 0 : _b.call(_a);
100
112
  }
101
113
  changeRegions(regions) {}
102
114
  _getNeedClearVRenderComponents() {
@@ -112,10 +124,9 @@ class Tooltip extends base_component_1.BaseComponent {
112
124
  }
113
125
  release() {
114
126
  var _a, _b;
115
- super.release(), this._timer && clearTimeout(this._timer), this._eventList.forEach((({eventType: eventType, handler: handler}) => {
127
+ super.release(), this._hideTimer && clearTimeout(this._hideTimer), this._eventList.forEach((({eventType: eventType, handler: handler}) => {
116
128
  this.event.off(eventType, handler);
117
- })), this._eventList = [], null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.release) || void 0 === _b || _b.call(_a),
118
- this._isTooltipShown = !1;
129
+ })), this._eventList = [], null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.release) || void 0 === _b || _b.call(_a);
119
130
  }
120
131
  beforeRelease() {
121
132
  this.event.emit(event_1.ChartEvent.tooltipHide, {
@@ -129,14 +140,39 @@ class Tooltip extends base_component_1.BaseComponent {
129
140
  _initHandler() {
130
141
  var _a, _b, _c;
131
142
  const renderMode = null !== (_a = this._spec.renderMode) && void 0 !== _a ? _a : "html", userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();
132
- if (userTooltipHandler) this.tooltipHandler = userTooltipHandler; else {
143
+ if (userTooltipHandler) this.tooltipHandler = userTooltipHandler, this._enterable = !1; else {
133
144
  const type = "canvas" === renderMode ? constant_1.TooltipHandlerType.canvas : constant_1.TooltipHandlerType.dom, handlerConstructor = factory_1.Factory.getComponentPluginInType(type);
134
145
  handlerConstructor || (0, util_2.error)("Can not find tooltip handler: " + type);
135
146
  const handler = new handlerConstructor;
136
147
  handler.name = `${this._spec.className}-${null !== (_b = this._option.globalInstance.id) && void 0 !== _b ? _b : 0}-${this.getSpecIndex()}`,
137
- null === (_c = this.pluginService) || void 0 === _c || _c.load([ handler ]), this.tooltipHandler = handler;
148
+ null === (_c = this.pluginService) || void 0 === _c || _c.load([ handler ]), this.tooltipHandler = handler,
149
+ this._spec.enterable && "html" === renderMode && this.tooltipHandler ? (this._enterable = !0,
150
+ this._needInitEventOfTooltip = !0) : this._enterable = !1;
138
151
  }
139
152
  }
153
+ _initEventOfTooltipContent() {
154
+ var _a, _b;
155
+ if (!this._needInitEventOfTooltip || !this._enterable) return;
156
+ const container = null === (_b = (_a = this.tooltipHandler).getTooltipContainer) || void 0 === _b ? void 0 : _b.call(_a), element = null == container ? void 0 : container.firstChild;
157
+ element && (element.addEventListener("mouseenter", (() => {
158
+ var _a;
159
+ const rect = null === (_a = element.getBoundingClientRect) || void 0 === _a ? void 0 : _a.call(element);
160
+ rect && (this._cacheEnterableRect = {
161
+ x: rect.x,
162
+ y: rect.y,
163
+ width: rect.width,
164
+ height: rect.height
165
+ }), this._outTimer && (clearTimeout(this._outTimer), this._outTimer = null), this._showTimer && (clearTimeout(this._showTimer),
166
+ this._showTimer = null);
167
+ })), element.addEventListener("mouseleave", (() => {
168
+ var _a, _b;
169
+ if (this._cacheEnterableRect) {
170
+ const newRect = null === (_a = element.getBoundingClientRect) || void 0 === _a ? void 0 : _a.call(element);
171
+ newRect && Object.keys(this._cacheEnterableRect).every((k => this._cacheEnterableRect[k] === newRect[k])) && (this._cacheEnterableRect = null,
172
+ this._outTimer = setTimeout(this.hideTooltip, null !== (_b = this._spec.showDelay) && void 0 !== _b ? _b : constant_1.DEFAULT_SHOW_DELAY));
173
+ }
174
+ })), this._needInitEventOfTooltip = !1);
175
+ }
140
176
  _initProcessor() {
141
177
  const activeType = this._spec.activeType;
142
178
  this.processor = {}, activeType.includes("dimension") && (this.processor.dimension = new processor_1.DimensionTooltipProcessor(this)),
@@ -153,7 +189,7 @@ class Tooltip extends base_component_1.BaseComponent {
153
189
  source: "chart"
154
190
  }, this._getMouseMoveHandler(!1)), this._mountEvent("pointerup", {
155
191
  source: "window"
156
- }, this._getMouseOutHandler(!0))), this._mountEvent("pointerout", {
192
+ }, this._getMouseOutHandler(!0))), this._mountEvent("pointerleave", {
157
193
  source: "canvas"
158
194
  }, this._getMouseOutHandler(!1))), trigger.includes("click") ? (this._mountEvent("pointertap", {
159
195
  source: "chart"
@@ -175,16 +211,6 @@ class Tooltip extends base_component_1.BaseComponent {
175
211
  return "none" !== result && (this._alwaysShow = !!(null == options ? void 0 : options.alwaysShow)),
176
212
  result;
177
213
  }
178
- hideTooltip() {
179
- const params = {
180
- changePositionOnly: !1,
181
- tooltip: this,
182
- item: void 0,
183
- datum: void 0,
184
- source: event_1.Event_Source_Type.chart
185
- };
186
- return this._alwaysShow = !1, !this._hideTooltipByHandler(params);
187
- }
188
214
  _isSameAsCache(nextInfo, nextParams, nextActiveType) {
189
215
  if (nextActiveType !== this._cacheActiveType) return !1;
190
216
  if (nextInfo === this._cacheInfo) return !0;
@@ -209,21 +235,6 @@ class Tooltip extends base_component_1.BaseComponent {
209
235
  const {x: x, y: y} = point, canvas = globalInstance.getCanvas(), {x: chartX, y: chartY, width: chartWidth, height: chartHeight} = canvas.getBoundingClientRect();
210
236
  return x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight;
211
237
  }
212
- _isPointerOnTooltip(params) {
213
- var _a, _b;
214
- if (this._spec.enterable && "html" === this._spec.renderMode) {
215
- const {event: event} = params;
216
- let newTarget;
217
- if ((0, vutils_1.isValid)(event.nativeEvent)) {
218
- const nativeEvent = event.nativeEvent;
219
- newTarget = nativeEvent.relatedTarget, nativeEvent.composedPath && nativeEvent.composedPath().length > 0 && (newTarget = nativeEvent.composedPath()[0]);
220
- } else newTarget = event.relatedTarget;
221
- const container = null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.getTooltipContainer) || void 0 === _b ? void 0 : _b.call(_a);
222
- if ((0, vutils_1.isValid)(container) && (0, vutils_1.isValid)(newTarget) && (0,
223
- vutils_1.hasParentElement)(newTarget, container)) return !0;
224
- }
225
- return !1;
226
- }
227
238
  getVisible() {
228
239
  return !1 !== this._spec.visible;
229
240
  }