@visactor/vchart 1.12.4-alpha.0 → 1.12.4-alpha.2

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 (861) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +4643 -4456
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +1 -1
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base/base-chart-transformer.js +4 -4
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +2 -0
  10. package/cjs/chart/base/base-chart.js +26 -13
  11. package/cjs/chart/base/base-chart.js.map +1 -1
  12. package/cjs/chart/chart-meta/data.d.ts +1 -2
  13. package/cjs/chart/chart-meta/data.js +11 -11
  14. package/cjs/chart/chart-meta/data.js.map +1 -1
  15. package/cjs/chart/gauge/interface.d.ts +1 -1
  16. package/cjs/chart/gauge/interface.js.map +1 -1
  17. package/cjs/chart/interface/chart.d.ts +1 -0
  18. package/cjs/chart/interface/chart.js.map +1 -1
  19. package/cjs/chart/mosaic/mosaic.d.ts +0 -1
  20. package/cjs/chart/mosaic/mosaic.js +0 -3
  21. package/cjs/chart/mosaic/mosaic.js.map +1 -1
  22. package/cjs/chart/pie/interface.d.ts +2 -2
  23. package/cjs/chart/pie/interface.js.map +1 -1
  24. package/cjs/chart/polar/interface.d.ts +2 -0
  25. package/cjs/chart/polar/interface.js.map +1 -1
  26. package/cjs/chart/sankey/sankey-transformer.js +1 -0
  27. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  28. package/cjs/chart/treemap/interface.d.ts +1 -1
  29. package/cjs/chart/treemap/interface.js.map +1 -1
  30. package/cjs/chart/venn/interface.d.ts +2 -2
  31. package/cjs/chart/venn/interface.js.map +1 -1
  32. package/cjs/compile/compilable-base.js +2 -1
  33. package/cjs/compile/compiler.js +4 -1
  34. package/cjs/compile/compiler.js.map +1 -1
  35. package/cjs/compile/interface/compiler.d.ts +15 -0
  36. package/cjs/compile/interface/compiler.js.map +1 -1
  37. package/cjs/compile/mark/compilable-mark.d.ts +7 -39
  38. package/cjs/compile/mark/compilable-mark.js +20 -90
  39. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  40. package/cjs/compile/mark/interface.d.ts +5 -25
  41. package/cjs/compile/mark/interface.js.map +1 -1
  42. package/cjs/compile/util.js +1 -2
  43. package/cjs/component/axis/base-axis.d.ts +2 -2
  44. package/cjs/component/axis/base-axis.js +36 -26
  45. package/cjs/component/axis/base-axis.js.map +1 -1
  46. package/cjs/component/axis/cartesian/axis.d.ts +2 -0
  47. package/cjs/component/axis/cartesian/axis.js +55 -14
  48. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  49. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  50. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  51. package/cjs/component/axis/cartesian/linear-axis.js +1 -1
  52. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  53. package/cjs/component/axis/cartesian/time-axis.js +4 -1
  54. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  55. package/cjs/component/axis/interface/spec.d.ts +1 -0
  56. package/cjs/component/axis/interface/spec.js.map +1 -1
  57. package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -10
  58. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  59. package/cjs/component/axis/mixin/util/break-data.d.ts +1 -1
  60. package/cjs/component/axis/mixin/util/break-data.js +35 -12
  61. package/cjs/component/axis/mixin/util/break-data.js.map +1 -1
  62. package/cjs/component/axis/polar/axis.d.ts +1 -1
  63. package/cjs/component/axis/polar/axis.js +18 -38
  64. package/cjs/component/axis/polar/axis.js.map +1 -1
  65. package/cjs/component/axis/polar/interface/spec.d.ts +3 -1
  66. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  67. package/cjs/component/axis/polar/util/common.js +1 -1
  68. package/cjs/component/axis/polar/util/common.js.map +1 -1
  69. package/cjs/component/axis/util.d.ts +3 -0
  70. package/cjs/component/axis/util.js +6 -2
  71. package/cjs/component/axis/util.js.map +1 -1
  72. package/cjs/component/base/base-component.js +1 -3
  73. package/cjs/component/base/base-component.js.map +1 -1
  74. package/cjs/component/brush/brush.js +2 -8
  75. package/cjs/component/brush/brush.js.map +1 -1
  76. package/cjs/component/crosshair/cartesian.js +2 -18
  77. package/cjs/component/crosshair/cartesian.js.map +1 -1
  78. package/cjs/component/crosshair/polar.js +2 -18
  79. package/cjs/component/crosshair/polar.js.map +1 -1
  80. package/cjs/component/custom-mark/custom-mark.d.ts +1 -4
  81. package/cjs/component/custom-mark/custom-mark.js +3 -28
  82. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  83. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -0
  84. package/cjs/component/data-zoom/data-filter-base-component.js +31 -15
  85. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  86. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  87. package/cjs/component/data-zoom/data-zoom/data-zoom.js +0 -19
  88. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  89. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  90. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +5 -20
  91. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  92. package/cjs/component/data-zoom/util.js +11 -3
  93. package/cjs/component/data-zoom/util.js.map +1 -1
  94. package/cjs/component/geo/geo-coordinate.d.ts +7 -0
  95. package/cjs/component/geo/geo-coordinate.js +10 -2
  96. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  97. package/cjs/component/indicator/indicator.js +2 -18
  98. package/cjs/component/indicator/indicator.js.map +1 -1
  99. package/cjs/component/interface/common.d.ts +1 -1
  100. package/cjs/component/interface/common.js.map +1 -1
  101. package/cjs/component/interface/index.d.ts +0 -1
  102. package/cjs/component/interface/index.js +1 -1
  103. package/cjs/component/interface/index.js.map +1 -1
  104. package/cjs/component/label/base-label.d.ts +1 -2
  105. package/cjs/component/label/base-label.js +0 -3
  106. package/cjs/component/label/base-label.js.map +1 -1
  107. package/cjs/component/label/interface.d.ts +2 -2
  108. package/cjs/component/label/interface.js.map +1 -1
  109. package/cjs/component/label/label.d.ts +0 -1
  110. package/cjs/component/label/label.js +18 -21
  111. package/cjs/component/label/label.js.map +1 -1
  112. package/cjs/component/label/total-label.d.ts +1 -1
  113. package/cjs/component/label/total-label.js +7 -13
  114. package/cjs/component/label/total-label.js.map +1 -1
  115. package/cjs/component/label/util.d.ts +5 -5
  116. package/cjs/component/label/util.js +13 -8
  117. package/cjs/component/label/util.js.map +1 -1
  118. package/cjs/component/legend/continuous/legend.js +6 -18
  119. package/cjs/component/legend/continuous/legend.js.map +1 -1
  120. package/cjs/component/legend/discrete/legend.js +1 -17
  121. package/cjs/component/legend/discrete/legend.js.map +1 -1
  122. package/cjs/component/legend/util.d.ts +2 -2
  123. package/cjs/component/map-label/component.js +3 -8
  124. package/cjs/component/map-label/component.js.map +1 -1
  125. package/cjs/component/marker/base-marker.d.ts +4 -1
  126. package/cjs/component/marker/base-marker.js +14 -19
  127. package/cjs/component/marker/base-marker.js.map +1 -1
  128. package/cjs/component/marker/interface.d.ts +9 -2
  129. package/cjs/component/marker/interface.js.map +1 -1
  130. package/cjs/component/marker/mark-area/base-mark-area.js +5 -5
  131. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
  132. package/cjs/component/marker/mark-line/base-mark-line.js +9 -9
  133. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  134. package/cjs/component/marker/mark-point/base-mark-point.js +16 -15
  135. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  136. package/cjs/component/marker/utils.d.ts +4 -4
  137. package/cjs/component/marker/utils.js +7 -7
  138. package/cjs/component/marker/utils.js.map +1 -1
  139. package/cjs/component/player/player.d.ts +1 -3
  140. package/cjs/component/player/player.js +0 -9
  141. package/cjs/component/player/player.js.map +1 -1
  142. package/cjs/component/title/interface/spec.d.ts +3 -3
  143. package/cjs/component/title/interface/spec.js.map +1 -1
  144. package/cjs/component/title/interface/theme.d.ts +1 -1
  145. package/cjs/component/title/interface/theme.js.map +1 -1
  146. package/cjs/component/title/title.js +22 -34
  147. package/cjs/component/title/title.js.map +1 -1
  148. package/cjs/component/tooltip/constant.d.ts +5 -4
  149. package/cjs/component/tooltip/constant.js +7 -7
  150. package/cjs/component/tooltip/constant.js.map +1 -1
  151. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  152. package/cjs/component/tooltip/interface/common.js.map +1 -1
  153. package/cjs/component/tooltip/interface/spec.d.ts +23 -3
  154. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  155. package/cjs/component/tooltip/interface/theme.d.ts +2 -2
  156. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  157. package/cjs/component/tooltip/processor/base.d.ts +4 -6
  158. package/cjs/component/tooltip/processor/base.js +25 -29
  159. package/cjs/component/tooltip/processor/base.js.map +1 -1
  160. package/cjs/component/tooltip/processor/dimension-tooltip.js +1 -6
  161. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  162. package/cjs/component/tooltip/processor/group-tooltip.js +5 -5
  163. package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
  164. package/cjs/component/tooltip/processor/mark-tooltip.js +31 -5
  165. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  166. package/cjs/component/tooltip/tooltip-transformer.js +2 -4
  167. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  168. package/cjs/component/tooltip/tooltip.d.ts +13 -6
  169. package/cjs/component/tooltip/tooltip.js +109 -89
  170. package/cjs/component/tooltip/tooltip.js.map +1 -1
  171. package/cjs/component/tooltip/utils/common.d.ts +6 -4
  172. package/cjs/component/tooltip/utils/common.js +54 -7
  173. package/cjs/component/tooltip/utils/common.js.map +1 -1
  174. package/cjs/component/tooltip/utils/get-spec.d.ts +4 -4
  175. package/cjs/component/tooltip/utils/get-spec.js +20 -82
  176. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  177. package/cjs/component/tooltip/utils/get-value.d.ts +1 -2
  178. package/cjs/component/tooltip/utils/get-value.js +2 -12
  179. package/cjs/component/tooltip/utils/get-value.js.map +1 -1
  180. package/cjs/component/tooltip/utils/index.d.ts +0 -1
  181. package/cjs/component/tooltip/utils/index.js +1 -2
  182. package/cjs/component/tooltip/utils/index.js.map +1 -1
  183. package/cjs/component/util.d.ts +3 -0
  184. package/cjs/component/util.js +16 -1
  185. package/cjs/component/util.js.map +1 -1
  186. package/cjs/constant/layout.d.ts +1 -0
  187. package/cjs/constant/layout.js +11 -10
  188. package/cjs/constant/layout.js.map +1 -1
  189. package/cjs/core/factory.js +3 -1
  190. package/cjs/core/factory.js.map +1 -1
  191. package/cjs/core/index.d.ts +1 -1
  192. package/cjs/core/index.js +1 -1
  193. package/cjs/core/index.js.map +1 -1
  194. package/cjs/core/vchart.d.ts +2 -1
  195. package/cjs/core/vchart.js +39 -36
  196. package/cjs/core/vchart.js.map +1 -1
  197. package/cjs/data/initialize.d.ts +1 -2
  198. package/cjs/data/initialize.js +5 -5
  199. package/cjs/data/initialize.js.map +1 -1
  200. package/cjs/data/transforms/pie.d.ts +3 -0
  201. package/cjs/data/transforms/pie.js +8 -3
  202. package/cjs/data/transforms/pie.js.map +1 -1
  203. package/cjs/event/event-dispatcher.js +1 -9
  204. package/cjs/event/event-dispatcher.js.map +1 -1
  205. package/cjs/interaction/interaction.d.ts +2 -0
  206. package/cjs/interaction/interaction.js +10 -0
  207. package/cjs/interaction/interaction.js.map +1 -1
  208. package/cjs/interaction/interface.d.ts +2 -0
  209. package/cjs/interaction/interface.js.map +1 -1
  210. package/cjs/interaction/zoom/zoomable.js +2 -1
  211. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  212. package/cjs/mark/base/base-line.js +3 -1
  213. package/cjs/mark/base/base-line.js.map +1 -1
  214. package/cjs/mark/base/base-mark.js +3 -3
  215. package/cjs/mark/base/base-mark.js.map +1 -1
  216. package/cjs/mark/group.js +1 -1
  217. package/cjs/mark/group.js.map +1 -1
  218. package/cjs/mark/interface/common.d.ts +10 -0
  219. package/cjs/mark/interface/common.js.map +1 -1
  220. package/cjs/model/base-model.d.ts +2 -2
  221. package/cjs/model/base-model.js +2 -2
  222. package/cjs/model/base-model.js.map +1 -1
  223. package/cjs/model/interface.d.ts +14 -0
  224. package/cjs/model/interface.js.map +1 -1
  225. package/cjs/plugin/chart/media-query/media-query.d.ts +1 -0
  226. package/cjs/plugin/chart/media-query/media-query.js +3 -1
  227. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  228. package/cjs/plugin/chart/plugin-service.d.ts +2 -0
  229. package/cjs/plugin/chart/plugin-service.js +5 -0
  230. package/cjs/plugin/chart/plugin-service.js.map +1 -1
  231. package/cjs/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  232. package/cjs/plugin/components/axis-sync/zero-align-transform.js +17 -4
  233. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  234. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -16
  235. package/cjs/plugin/components/tooltip-handler/base.js +84 -228
  236. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  237. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  238. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  239. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  240. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -19
  241. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  242. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  243. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  244. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js +7 -2
  245. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  246. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  247. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  248. package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  249. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  250. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  251. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  252. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  253. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  254. package/cjs/plugin/components/tooltip-handler/utils/position.js +22 -29
  255. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  256. package/cjs/region/interface.d.ts +3 -1
  257. package/cjs/region/interface.js.map +1 -1
  258. package/cjs/region/region.js +12 -8
  259. package/cjs/region/region.js.map +1 -1
  260. package/cjs/series/area/area-transformer.js +1 -2
  261. package/cjs/series/area/area-transformer.js.map +1 -1
  262. package/cjs/series/area/area.d.ts +2 -0
  263. package/cjs/series/area/area.js +54 -38
  264. package/cjs/series/area/area.js.map +1 -1
  265. package/cjs/series/bar/bar.d.ts +4 -4
  266. package/cjs/series/bar/bar.js +68 -62
  267. package/cjs/series/bar/bar.js.map +1 -1
  268. package/cjs/series/bar/interface.d.ts +5 -1
  269. package/cjs/series/bar/interface.js.map +1 -1
  270. package/cjs/series/base/base-series-transformer.js +7 -4
  271. package/cjs/series/base/base-series-transformer.js.map +1 -1
  272. package/cjs/series/base/base-series.d.ts +8 -7
  273. package/cjs/series/base/base-series.js +51 -37
  274. package/cjs/series/base/base-series.js.map +1 -1
  275. package/cjs/series/base/constant.js +1 -0
  276. package/cjs/series/base/constant.js.map +1 -1
  277. package/cjs/series/base/tooltip-helper.d.ts +30 -6
  278. package/cjs/series/base/tooltip-helper.js +80 -73
  279. package/cjs/series/base/tooltip-helper.js.map +1 -1
  280. package/cjs/series/box-plot/box-plot.d.ts +1 -0
  281. package/cjs/series/box-plot/box-plot.js +9 -5
  282. package/cjs/series/box-plot/box-plot.js.map +1 -1
  283. package/cjs/series/box-plot/tooltip-helper.d.ts +2 -2
  284. package/cjs/series/box-plot/tooltip-helper.js +26 -67
  285. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  286. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  287. package/cjs/series/circle-packing/circle-packing.js +4 -4
  288. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  289. package/cjs/series/correlation/correlation.d.ts +1 -0
  290. package/cjs/series/correlation/correlation.js +16 -6
  291. package/cjs/series/correlation/correlation.js.map +1 -1
  292. package/cjs/series/dot/dot.d.ts +0 -1
  293. package/cjs/series/dot/dot.js +7 -8
  294. package/cjs/series/dot/dot.js.map +1 -1
  295. package/cjs/series/dot/tooltip-helper.d.ts +8 -2
  296. package/cjs/series/dot/tooltip-helper.js +42 -52
  297. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  298. package/cjs/series/funnel/3d/funnel-3d.js +2 -1
  299. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  300. package/cjs/series/funnel/funnel.d.ts +2 -0
  301. package/cjs/series/funnel/funnel.js +35 -27
  302. package/cjs/series/funnel/funnel.js.map +1 -1
  303. package/cjs/series/funnel/interface.d.ts +3 -1
  304. package/cjs/series/funnel/interface.js.map +1 -1
  305. package/cjs/series/gauge/gauge-pointer.js +3 -2
  306. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  307. package/cjs/series/gauge/interface.d.ts +1 -1
  308. package/cjs/series/gauge/interface.js.map +1 -1
  309. package/cjs/series/gauge/pointer-tooltip-helper.d.ts +6 -0
  310. package/cjs/series/gauge/pointer-tooltip-helper.js +16 -0
  311. package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -0
  312. package/cjs/series/heatmap/heatmap.js +10 -10
  313. package/cjs/series/heatmap/heatmap.js.map +1 -1
  314. package/cjs/series/heatmap/tooltip-helper.d.ts +2 -3
  315. package/cjs/series/heatmap/tooltip-helper.js +3 -5
  316. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  317. package/cjs/series/interface/common.d.ts +1 -9
  318. package/cjs/series/interface/common.js.map +1 -1
  319. package/cjs/series/interface/tooltip-helper.d.ts +5 -4
  320. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  321. package/cjs/series/line/line.js +2 -2
  322. package/cjs/series/line/line.js.map +1 -1
  323. package/cjs/series/link/link.js +7 -3
  324. package/cjs/series/link/link.js.map +1 -1
  325. package/cjs/series/link/tooltip-helper.d.ts +5 -2
  326. package/cjs/series/link/tooltip-helper.js +26 -38
  327. package/cjs/series/link/tooltip-helper.js.map +1 -1
  328. package/cjs/series/liquid/liquid.js +11 -6
  329. package/cjs/series/liquid/liquid.js.map +1 -1
  330. package/cjs/series/liquid/tooltip-helper.d.ts +4 -5
  331. package/cjs/series/liquid/tooltip-helper.js +2 -22
  332. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  333. package/cjs/series/map/map.d.ts +1 -0
  334. package/cjs/series/map/map.js +7 -2
  335. package/cjs/series/map/map.js.map +1 -1
  336. package/cjs/series/mixin/line-mixin.d.ts +2 -2
  337. package/cjs/series/mixin/line-mixin.js +15 -14
  338. package/cjs/series/mixin/line-mixin.js.map +1 -1
  339. package/cjs/series/pie/3d/pie-3d.js +3 -1
  340. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  341. package/cjs/series/pie/interface.d.ts +3 -3
  342. package/cjs/series/pie/interface.js.map +1 -1
  343. package/cjs/series/pie/pie.d.ts +1 -0
  344. package/cjs/series/pie/pie.js +22 -13
  345. package/cjs/series/pie/pie.js.map +1 -1
  346. package/cjs/series/polar/animation.d.ts +9 -11
  347. package/cjs/series/polar/animation.js +28 -35
  348. package/cjs/series/polar/animation.js.map +1 -1
  349. package/cjs/series/polar/polar.js +9 -2
  350. package/cjs/series/polar/polar.js.map +1 -1
  351. package/cjs/series/polar/progress-like/progress-like.js +29 -24
  352. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  353. package/cjs/series/progress/circular/circular.js +6 -4
  354. package/cjs/series/progress/circular/circular.js.map +1 -1
  355. package/cjs/series/progress/linear/linear.js +10 -8
  356. package/cjs/series/progress/linear/linear.js.map +1 -1
  357. package/cjs/series/progress/linear/tooltip-helper.d.ts +2 -3
  358. package/cjs/series/progress/linear/tooltip-helper.js +2 -11
  359. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  360. package/cjs/series/radar/animation.d.ts +0 -3
  361. package/cjs/series/radar/animation.js +4 -4
  362. package/cjs/series/radar/animation.js.map +1 -1
  363. package/cjs/series/radar/radar.js +18 -14
  364. package/cjs/series/radar/radar.js.map +1 -1
  365. package/cjs/series/range-area/range-area.js +4 -3
  366. package/cjs/series/range-area/range-area.js.map +1 -1
  367. package/cjs/series/range-area/tooltip-helper.d.ts +1 -3
  368. package/cjs/series/range-area/tooltip-helper.js +2 -50
  369. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  370. package/cjs/series/range-column/range-column.js +5 -4
  371. package/cjs/series/range-column/range-column.js.map +1 -1
  372. package/cjs/series/range-column/tooltip-helper.d.ts +1 -2
  373. package/cjs/series/range-column/tooltip-helper.js +2 -19
  374. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  375. package/cjs/series/rose/rose.js +5 -4
  376. package/cjs/series/rose/rose.js.map +1 -1
  377. package/cjs/series/sankey/interface.d.ts +1 -0
  378. package/cjs/series/sankey/interface.js.map +1 -1
  379. package/cjs/series/sankey/sankey.d.ts +2 -2
  380. package/cjs/series/sankey/sankey.js +18 -6
  381. package/cjs/series/sankey/sankey.js.map +1 -1
  382. package/cjs/series/sankey/tooltip-helper.d.ts +3 -3
  383. package/cjs/series/sankey/tooltip-helper.js +10 -57
  384. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  385. package/cjs/series/scatter/scatter.js +8 -10
  386. package/cjs/series/scatter/scatter.js.map +1 -1
  387. package/cjs/series/sunburst/sunburst.js +3 -2
  388. package/cjs/series/sunburst/sunburst.js.map +1 -1
  389. package/cjs/series/treemap/treemap.js +6 -4
  390. package/cjs/series/treemap/treemap.js.map +1 -1
  391. package/cjs/series/waterfall/waterfall.d.ts +1 -0
  392. package/cjs/series/waterfall/waterfall.js +7 -2
  393. package/cjs/series/waterfall/waterfall.js.map +1 -1
  394. package/cjs/series/word-cloud/base.js +37 -23
  395. package/cjs/series/word-cloud/base.js.map +1 -1
  396. package/cjs/series/word-cloud/word-cloud-3d.js +2 -1
  397. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  398. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  399. package/cjs/theme/builtin/common/mark.js +2 -0
  400. package/cjs/theme/builtin/common/mark.js.map +1 -1
  401. package/cjs/theme/builtin/common/series/linear-progress.js +4 -1
  402. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -1
  403. package/cjs/theme/builtin/dark/color-scheme.js +2 -1
  404. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  405. package/cjs/theme/builtin/light/color-scheme.js +2 -1
  406. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  407. package/cjs/typings/spec/common.d.ts +10 -5
  408. package/cjs/typings/spec/common.js.map +1 -1
  409. package/cjs/typings/tooltip/position.d.ts +1 -0
  410. package/cjs/typings/tooltip/position.js.map +1 -1
  411. package/cjs/typings/tooltip/shape.d.ts +0 -1
  412. package/cjs/typings/tooltip/shape.js.map +1 -1
  413. package/cjs/typings/tooltip/tooltip.d.ts +7 -0
  414. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  415. package/cjs/util/array.d.ts +1 -1
  416. package/cjs/util/array.js +7 -6
  417. package/cjs/util/array.js.map +1 -1
  418. package/cjs/util/math.d.ts +1 -0
  419. package/cjs/util/math.js +7 -2
  420. package/cjs/util/math.js.map +1 -1
  421. package/cjs/util/scale.d.ts +1 -1
  422. package/cjs/util/scale.js +2 -2
  423. package/cjs/util/scale.js.map +1 -1
  424. package/esm/animation/utils.js +1 -1
  425. package/esm/animation/utils.js.map +1 -1
  426. package/esm/chart/base/base-chart-transformer.js +5 -3
  427. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  428. package/esm/chart/base/base-chart.d.ts +2 -0
  429. package/esm/chart/base/base-chart.js +28 -13
  430. package/esm/chart/base/base-chart.js.map +1 -1
  431. package/esm/chart/chart-meta/data.d.ts +1 -2
  432. package/esm/chart/chart-meta/data.js +12 -10
  433. package/esm/chart/chart-meta/data.js.map +1 -1
  434. package/esm/chart/gauge/interface.d.ts +1 -1
  435. package/esm/chart/gauge/interface.js.map +1 -1
  436. package/esm/chart/interface/chart.d.ts +1 -0
  437. package/esm/chart/interface/chart.js.map +1 -1
  438. package/esm/chart/mosaic/mosaic.d.ts +0 -1
  439. package/esm/chart/mosaic/mosaic.js +0 -3
  440. package/esm/chart/mosaic/mosaic.js.map +1 -1
  441. package/esm/chart/pie/interface.d.ts +2 -2
  442. package/esm/chart/pie/interface.js.map +1 -1
  443. package/esm/chart/polar/interface.d.ts +2 -0
  444. package/esm/chart/polar/interface.js.map +1 -1
  445. package/esm/chart/sankey/sankey-transformer.js +1 -0
  446. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  447. package/esm/chart/treemap/interface.d.ts +1 -1
  448. package/esm/chart/treemap/interface.js.map +1 -1
  449. package/esm/chart/venn/interface.d.ts +2 -2
  450. package/esm/chart/venn/interface.js.map +1 -1
  451. package/esm/compile/compilable-base.js +2 -1
  452. package/esm/compile/compiler.js +2 -1
  453. package/esm/compile/compiler.js.map +1 -1
  454. package/esm/compile/interface/compiler.d.ts +15 -0
  455. package/esm/compile/interface/compiler.js.map +1 -1
  456. package/esm/compile/mark/compilable-mark.d.ts +7 -39
  457. package/esm/compile/mark/compilable-mark.js +21 -90
  458. package/esm/compile/mark/compilable-mark.js.map +1 -1
  459. package/esm/compile/mark/interface.d.ts +5 -25
  460. package/esm/compile/mark/interface.js.map +1 -1
  461. package/esm/compile/util.js +1 -2
  462. package/esm/component/axis/base-axis.d.ts +2 -2
  463. package/esm/component/axis/base-axis.js +31 -22
  464. package/esm/component/axis/base-axis.js.map +1 -1
  465. package/esm/component/axis/cartesian/axis.d.ts +2 -0
  466. package/esm/component/axis/cartesian/axis.js +48 -14
  467. package/esm/component/axis/cartesian/axis.js.map +1 -1
  468. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  469. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  470. package/esm/component/axis/cartesian/linear-axis.js +2 -2
  471. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  472. package/esm/component/axis/cartesian/time-axis.js +3 -3
  473. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  474. package/esm/component/axis/interface/spec.d.ts +1 -0
  475. package/esm/component/axis/interface/spec.js.map +1 -1
  476. package/esm/component/axis/mixin/linear-axis-mixin.js +10 -11
  477. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  478. package/esm/component/axis/mixin/util/break-data.d.ts +1 -1
  479. package/esm/component/axis/mixin/util/break-data.js +35 -12
  480. package/esm/component/axis/mixin/util/break-data.js.map +1 -1
  481. package/esm/component/axis/polar/axis.d.ts +1 -1
  482. package/esm/component/axis/polar/axis.js +14 -40
  483. package/esm/component/axis/polar/axis.js.map +1 -1
  484. package/esm/component/axis/polar/interface/spec.d.ts +3 -1
  485. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  486. package/esm/component/axis/polar/util/common.js +2 -2
  487. package/esm/component/axis/polar/util/common.js.map +1 -1
  488. package/esm/component/axis/util.d.ts +3 -0
  489. package/esm/component/axis/util.js +4 -0
  490. package/esm/component/axis/util.js.map +1 -1
  491. package/esm/component/base/base-component.js +1 -3
  492. package/esm/component/base/base-component.js.map +1 -1
  493. package/esm/component/brush/brush.js +4 -8
  494. package/esm/component/brush/brush.js.map +1 -1
  495. package/esm/component/crosshair/cartesian.js +4 -18
  496. package/esm/component/crosshair/cartesian.js.map +1 -1
  497. package/esm/component/crosshair/polar.js +4 -18
  498. package/esm/component/crosshair/polar.js.map +1 -1
  499. package/esm/component/custom-mark/custom-mark.d.ts +1 -4
  500. package/esm/component/custom-mark/custom-mark.js +3 -30
  501. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  502. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -0
  503. package/esm/component/data-zoom/data-filter-base-component.js +28 -14
  504. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  505. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  506. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -20
  507. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  508. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  509. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +6 -21
  510. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  511. package/esm/component/data-zoom/util.js +11 -2
  512. package/esm/component/data-zoom/util.js.map +1 -1
  513. package/esm/component/geo/geo-coordinate.d.ts +7 -0
  514. package/esm/component/geo/geo-coordinate.js +11 -3
  515. package/esm/component/geo/geo-coordinate.js.map +1 -1
  516. package/esm/component/indicator/indicator.js +4 -18
  517. package/esm/component/indicator/indicator.js.map +1 -1
  518. package/esm/component/interface/common.d.ts +1 -1
  519. package/esm/component/interface/common.js.map +1 -1
  520. package/esm/component/interface/index.d.ts +0 -1
  521. package/esm/component/interface/index.js +0 -2
  522. package/esm/component/interface/index.js.map +1 -1
  523. package/esm/component/label/base-label.d.ts +1 -2
  524. package/esm/component/label/base-label.js +0 -3
  525. package/esm/component/label/base-label.js.map +1 -1
  526. package/esm/component/label/interface.d.ts +2 -2
  527. package/esm/component/label/interface.js.map +1 -1
  528. package/esm/component/label/label.d.ts +0 -1
  529. package/esm/component/label/label.js +18 -23
  530. package/esm/component/label/label.js.map +1 -1
  531. package/esm/component/label/total-label.d.ts +1 -1
  532. package/esm/component/label/total-label.js +6 -14
  533. package/esm/component/label/total-label.js.map +1 -1
  534. package/esm/component/label/util.d.ts +5 -5
  535. package/esm/component/label/util.js +13 -8
  536. package/esm/component/label/util.js.map +1 -1
  537. package/esm/component/legend/continuous/legend.js +7 -18
  538. package/esm/component/legend/continuous/legend.js.map +1 -1
  539. package/esm/component/legend/discrete/legend.js +3 -19
  540. package/esm/component/legend/discrete/legend.js.map +1 -1
  541. package/esm/component/legend/util.d.ts +2 -2
  542. package/esm/component/map-label/component.js +3 -7
  543. package/esm/component/map-label/component.js.map +1 -1
  544. package/esm/component/marker/base-marker.d.ts +4 -1
  545. package/esm/component/marker/base-marker.js +16 -19
  546. package/esm/component/marker/base-marker.js.map +1 -1
  547. package/esm/component/marker/interface.d.ts +9 -2
  548. package/esm/component/marker/interface.js.map +1 -1
  549. package/esm/component/marker/mark-area/base-mark-area.js +5 -5
  550. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
  551. package/esm/component/marker/mark-line/base-mark-line.js +9 -9
  552. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  553. package/esm/component/marker/mark-point/base-mark-point.js +15 -15
  554. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  555. package/esm/component/marker/utils.d.ts +4 -4
  556. package/esm/component/marker/utils.js +8 -7
  557. package/esm/component/marker/utils.js.map +1 -1
  558. package/esm/component/player/player.d.ts +1 -3
  559. package/esm/component/player/player.js +1 -10
  560. package/esm/component/player/player.js.map +1 -1
  561. package/esm/component/title/interface/spec.d.ts +3 -3
  562. package/esm/component/title/interface/spec.js.map +1 -1
  563. package/esm/component/title/interface/theme.d.ts +1 -1
  564. package/esm/component/title/interface/theme.js.map +1 -1
  565. package/esm/component/title/title.js +23 -35
  566. package/esm/component/title/title.js.map +1 -1
  567. package/esm/component/tooltip/constant.d.ts +5 -4
  568. package/esm/component/tooltip/constant.js +6 -3
  569. package/esm/component/tooltip/constant.js.map +1 -1
  570. package/esm/component/tooltip/interface/common.d.ts +1 -1
  571. package/esm/component/tooltip/interface/common.js.map +1 -1
  572. package/esm/component/tooltip/interface/spec.d.ts +23 -3
  573. package/esm/component/tooltip/interface/spec.js.map +1 -1
  574. package/esm/component/tooltip/interface/theme.d.ts +2 -2
  575. package/esm/component/tooltip/interface/theme.js.map +1 -1
  576. package/esm/component/tooltip/processor/base.d.ts +4 -6
  577. package/esm/component/tooltip/processor/base.js +25 -30
  578. package/esm/component/tooltip/processor/base.js.map +1 -1
  579. package/esm/component/tooltip/processor/dimension-tooltip.js +1 -6
  580. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  581. package/esm/component/tooltip/processor/group-tooltip.js +5 -5
  582. package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
  583. package/esm/component/tooltip/processor/mark-tooltip.js +32 -4
  584. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  585. package/esm/component/tooltip/tooltip-transformer.js +2 -4
  586. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  587. package/esm/component/tooltip/tooltip.d.ts +13 -6
  588. package/esm/component/tooltip/tooltip.js +110 -89
  589. package/esm/component/tooltip/tooltip.js.map +1 -1
  590. package/esm/component/tooltip/utils/common.d.ts +6 -4
  591. package/esm/component/tooltip/utils/common.js +48 -5
  592. package/esm/component/tooltip/utils/common.js.map +1 -1
  593. package/esm/component/tooltip/utils/get-spec.d.ts +4 -4
  594. package/esm/component/tooltip/utils/get-spec.js +24 -80
  595. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  596. package/esm/component/tooltip/utils/get-value.d.ts +1 -2
  597. package/esm/component/tooltip/utils/get-value.js +1 -9
  598. package/esm/component/tooltip/utils/get-value.js.map +1 -1
  599. package/esm/component/tooltip/utils/index.d.ts +0 -1
  600. package/esm/component/tooltip/utils/index.js +0 -2
  601. package/esm/component/tooltip/utils/index.js.map +1 -1
  602. package/esm/component/util.d.ts +3 -0
  603. package/esm/component/util.js +14 -1
  604. package/esm/component/util.js.map +1 -1
  605. package/esm/constant/layout.d.ts +1 -0
  606. package/esm/constant/layout.js +11 -10
  607. package/esm/constant/layout.js.map +1 -1
  608. package/esm/core/factory.js +3 -1
  609. package/esm/core/factory.js.map +1 -1
  610. package/esm/core/index.d.ts +1 -1
  611. package/esm/core/index.js +1 -1
  612. package/esm/core/index.js.map +1 -1
  613. package/esm/core/vchart.d.ts +2 -1
  614. package/esm/core/vchart.js +41 -37
  615. package/esm/core/vchart.js.map +1 -1
  616. package/esm/data/initialize.d.ts +1 -2
  617. package/esm/data/initialize.js +6 -7
  618. package/esm/data/initialize.js.map +1 -1
  619. package/esm/data/transforms/pie.d.ts +3 -0
  620. package/esm/data/transforms/pie.js +6 -3
  621. package/esm/data/transforms/pie.js.map +1 -1
  622. package/esm/event/event-dispatcher.js +1 -9
  623. package/esm/event/event-dispatcher.js.map +1 -1
  624. package/esm/interaction/interaction.d.ts +2 -0
  625. package/esm/interaction/interaction.js +10 -0
  626. package/esm/interaction/interaction.js.map +1 -1
  627. package/esm/interaction/interface.d.ts +2 -0
  628. package/esm/interaction/interface.js.map +1 -1
  629. package/esm/interaction/zoom/zoomable.js +2 -1
  630. package/esm/interaction/zoom/zoomable.js.map +1 -1
  631. package/esm/mark/base/base-line.js +3 -1
  632. package/esm/mark/base/base-line.js.map +1 -1
  633. package/esm/mark/base/base-mark.js +2 -2
  634. package/esm/mark/base/base-mark.js.map +1 -1
  635. package/esm/mark/group.js +1 -1
  636. package/esm/mark/group.js.map +1 -1
  637. package/esm/mark/interface/common.d.ts +10 -0
  638. package/esm/mark/interface/common.js.map +1 -1
  639. package/esm/model/base-model.d.ts +2 -2
  640. package/esm/model/base-model.js +2 -2
  641. package/esm/model/base-model.js.map +1 -1
  642. package/esm/model/interface.d.ts +14 -0
  643. package/esm/model/interface.js.map +1 -1
  644. package/esm/plugin/chart/media-query/media-query.d.ts +1 -0
  645. package/esm/plugin/chart/media-query/media-query.js +3 -1
  646. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  647. package/esm/plugin/chart/plugin-service.d.ts +2 -0
  648. package/esm/plugin/chart/plugin-service.js +5 -0
  649. package/esm/plugin/chart/plugin-service.js.map +1 -1
  650. package/esm/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  651. package/esm/plugin/components/axis-sync/zero-align-transform.js +17 -4
  652. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  653. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -16
  654. package/esm/plugin/components/tooltip-handler/base.js +80 -220
  655. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  656. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  657. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  658. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  659. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -19
  660. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  661. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  662. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  663. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js +8 -3
  664. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  665. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  666. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  667. package/esm/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  668. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  669. package/esm/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  670. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  671. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  672. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  673. package/esm/plugin/components/tooltip-handler/utils/position.js +20 -25
  674. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  675. package/esm/region/interface.d.ts +3 -1
  676. package/esm/region/interface.js.map +1 -1
  677. package/esm/region/region.js +12 -8
  678. package/esm/region/region.js.map +1 -1
  679. package/esm/series/area/area-transformer.js +1 -2
  680. package/esm/series/area/area-transformer.js.map +1 -1
  681. package/esm/series/area/area.d.ts +2 -0
  682. package/esm/series/area/area.js +54 -38
  683. package/esm/series/area/area.js.map +1 -1
  684. package/esm/series/bar/bar.d.ts +4 -4
  685. package/esm/series/bar/bar.js +68 -62
  686. package/esm/series/bar/bar.js.map +1 -1
  687. package/esm/series/bar/interface.d.ts +5 -1
  688. package/esm/series/bar/interface.js.map +1 -1
  689. package/esm/series/base/base-series-transformer.js +7 -4
  690. package/esm/series/base/base-series-transformer.js.map +1 -1
  691. package/esm/series/base/base-series.d.ts +8 -7
  692. package/esm/series/base/base-series.js +50 -35
  693. package/esm/series/base/base-series.js.map +1 -1
  694. package/esm/series/base/constant.js +1 -0
  695. package/esm/series/base/constant.js.map +1 -1
  696. package/esm/series/base/tooltip-helper.d.ts +30 -6
  697. package/esm/series/base/tooltip-helper.js +85 -74
  698. package/esm/series/base/tooltip-helper.js.map +1 -1
  699. package/esm/series/box-plot/box-plot.d.ts +1 -0
  700. package/esm/series/box-plot/box-plot.js +9 -5
  701. package/esm/series/box-plot/box-plot.js.map +1 -1
  702. package/esm/series/box-plot/tooltip-helper.d.ts +2 -2
  703. package/esm/series/box-plot/tooltip-helper.js +26 -67
  704. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  705. package/esm/series/cartesian/cartesian.d.ts +1 -1
  706. package/esm/series/circle-packing/circle-packing.js +4 -4
  707. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  708. package/esm/series/correlation/correlation.d.ts +1 -0
  709. package/esm/series/correlation/correlation.js +16 -6
  710. package/esm/series/correlation/correlation.js.map +1 -1
  711. package/esm/series/dot/dot.d.ts +0 -1
  712. package/esm/series/dot/dot.js +7 -8
  713. package/esm/series/dot/dot.js.map +1 -1
  714. package/esm/series/dot/tooltip-helper.d.ts +8 -2
  715. package/esm/series/dot/tooltip-helper.js +42 -52
  716. package/esm/series/dot/tooltip-helper.js.map +1 -1
  717. package/esm/series/funnel/3d/funnel-3d.js +2 -1
  718. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  719. package/esm/series/funnel/funnel.d.ts +2 -0
  720. package/esm/series/funnel/funnel.js +35 -27
  721. package/esm/series/funnel/funnel.js.map +1 -1
  722. package/esm/series/funnel/interface.d.ts +3 -1
  723. package/esm/series/funnel/interface.js.map +1 -1
  724. package/esm/series/gauge/gauge-pointer.js +3 -1
  725. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  726. package/esm/series/gauge/interface.d.ts +1 -1
  727. package/esm/series/gauge/interface.js.map +1 -1
  728. package/esm/series/gauge/pointer-tooltip-helper.d.ts +6 -0
  729. package/esm/series/gauge/pointer-tooltip-helper.js +8 -0
  730. package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -0
  731. package/esm/series/heatmap/heatmap.js +10 -10
  732. package/esm/series/heatmap/heatmap.js.map +1 -1
  733. package/esm/series/heatmap/tooltip-helper.d.ts +2 -3
  734. package/esm/series/heatmap/tooltip-helper.js +2 -6
  735. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  736. package/esm/series/interface/common.d.ts +1 -9
  737. package/esm/series/interface/common.js.map +1 -1
  738. package/esm/series/interface/tooltip-helper.d.ts +5 -4
  739. package/esm/series/interface/tooltip-helper.js.map +1 -1
  740. package/esm/series/line/line.js +2 -2
  741. package/esm/series/line/line.js.map +1 -1
  742. package/esm/series/link/link.js +7 -3
  743. package/esm/series/link/link.js.map +1 -1
  744. package/esm/series/link/tooltip-helper.d.ts +5 -2
  745. package/esm/series/link/tooltip-helper.js +26 -38
  746. package/esm/series/link/tooltip-helper.js.map +1 -1
  747. package/esm/series/liquid/liquid.js +11 -6
  748. package/esm/series/liquid/liquid.js.map +1 -1
  749. package/esm/series/liquid/tooltip-helper.d.ts +4 -5
  750. package/esm/series/liquid/tooltip-helper.js +2 -22
  751. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  752. package/esm/series/map/map.d.ts +1 -0
  753. package/esm/series/map/map.js +7 -2
  754. package/esm/series/map/map.js.map +1 -1
  755. package/esm/series/mixin/line-mixin.d.ts +2 -2
  756. package/esm/series/mixin/line-mixin.js +15 -14
  757. package/esm/series/mixin/line-mixin.js.map +1 -1
  758. package/esm/series/pie/3d/pie-3d.js +3 -1
  759. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  760. package/esm/series/pie/interface.d.ts +3 -3
  761. package/esm/series/pie/interface.js.map +1 -1
  762. package/esm/series/pie/pie.d.ts +1 -0
  763. package/esm/series/pie/pie.js +24 -13
  764. package/esm/series/pie/pie.js.map +1 -1
  765. package/esm/series/polar/animation.d.ts +9 -11
  766. package/esm/series/polar/animation.js +27 -35
  767. package/esm/series/polar/animation.js.map +1 -1
  768. package/esm/series/polar/polar.js +9 -1
  769. package/esm/series/polar/polar.js.map +1 -1
  770. package/esm/series/polar/progress-like/progress-like.js +28 -23
  771. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  772. package/esm/series/progress/circular/circular.js +6 -4
  773. package/esm/series/progress/circular/circular.js.map +1 -1
  774. package/esm/series/progress/linear/linear.js +10 -8
  775. package/esm/series/progress/linear/linear.js.map +1 -1
  776. package/esm/series/progress/linear/tooltip-helper.d.ts +2 -3
  777. package/esm/series/progress/linear/tooltip-helper.js +2 -11
  778. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  779. package/esm/series/radar/animation.d.ts +0 -3
  780. package/esm/series/radar/animation.js +4 -4
  781. package/esm/series/radar/animation.js.map +1 -1
  782. package/esm/series/radar/radar.js +18 -14
  783. package/esm/series/radar/radar.js.map +1 -1
  784. package/esm/series/range-area/range-area.js +4 -3
  785. package/esm/series/range-area/range-area.js.map +1 -1
  786. package/esm/series/range-area/tooltip-helper.d.ts +1 -3
  787. package/esm/series/range-area/tooltip-helper.js +2 -50
  788. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  789. package/esm/series/range-column/range-column.js +5 -4
  790. package/esm/series/range-column/range-column.js.map +1 -1
  791. package/esm/series/range-column/tooltip-helper.d.ts +1 -2
  792. package/esm/series/range-column/tooltip-helper.js +2 -19
  793. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  794. package/esm/series/rose/rose.js +5 -4
  795. package/esm/series/rose/rose.js.map +1 -1
  796. package/esm/series/sankey/interface.d.ts +1 -0
  797. package/esm/series/sankey/interface.js.map +1 -1
  798. package/esm/series/sankey/sankey.d.ts +2 -2
  799. package/esm/series/sankey/sankey.js +18 -6
  800. package/esm/series/sankey/sankey.js.map +1 -1
  801. package/esm/series/sankey/tooltip-helper.d.ts +3 -3
  802. package/esm/series/sankey/tooltip-helper.js +10 -57
  803. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  804. package/esm/series/scatter/scatter.js +8 -10
  805. package/esm/series/scatter/scatter.js.map +1 -1
  806. package/esm/series/sunburst/sunburst.js +3 -2
  807. package/esm/series/sunburst/sunburst.js.map +1 -1
  808. package/esm/series/treemap/treemap.js +6 -4
  809. package/esm/series/treemap/treemap.js.map +1 -1
  810. package/esm/series/waterfall/waterfall.d.ts +1 -0
  811. package/esm/series/waterfall/waterfall.js +7 -2
  812. package/esm/series/waterfall/waterfall.js.map +1 -1
  813. package/esm/series/word-cloud/base.js +36 -23
  814. package/esm/series/word-cloud/base.js.map +1 -1
  815. package/esm/series/word-cloud/word-cloud-3d.js +2 -1
  816. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  817. package/esm/theme/builtin/common/component/title.js.map +1 -1
  818. package/esm/theme/builtin/common/mark.js +2 -0
  819. package/esm/theme/builtin/common/mark.js.map +1 -1
  820. package/esm/theme/builtin/common/series/linear-progress.js +4 -1
  821. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -1
  822. package/esm/theme/builtin/dark/color-scheme.js +2 -1
  823. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  824. package/esm/theme/builtin/light/color-scheme.js +2 -1
  825. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  826. package/esm/typings/spec/common.d.ts +10 -5
  827. package/esm/typings/spec/common.js.map +1 -1
  828. package/esm/typings/tooltip/position.d.ts +1 -0
  829. package/esm/typings/tooltip/position.js.map +1 -1
  830. package/esm/typings/tooltip/shape.d.ts +0 -1
  831. package/esm/typings/tooltip/shape.js.map +1 -1
  832. package/esm/typings/tooltip/tooltip.d.ts +7 -0
  833. package/esm/typings/tooltip/tooltip.js.map +1 -1
  834. package/esm/util/array.d.ts +1 -1
  835. package/esm/util/array.js +5 -4
  836. package/esm/util/array.js.map +1 -1
  837. package/esm/util/math.d.ts +1 -0
  838. package/esm/util/math.js +4 -0
  839. package/esm/util/math.js.map +1 -1
  840. package/esm/util/scale.d.ts +1 -1
  841. package/esm/util/scale.js +2 -2
  842. package/esm/util/scale.js.map +1 -1
  843. package/package.json +17 -17
  844. package/cjs/component/interface/tooltip-helper.d.ts +0 -5
  845. package/cjs/component/interface/tooltip-helper.js +0 -6
  846. package/cjs/component/interface/tooltip-helper.js.map +0 -1
  847. package/cjs/component/tooltip/utils/compose.d.ts +0 -4
  848. package/cjs/component/tooltip/utils/compose.js +0 -120
  849. package/cjs/component/tooltip/utils/compose.js.map +0 -1
  850. package/cjs/model/tooltip-helper.d.ts +0 -27
  851. package/cjs/model/tooltip-helper.js +0 -22
  852. package/cjs/model/tooltip-helper.js.map +0 -1
  853. package/esm/component/interface/tooltip-helper.d.ts +0 -5
  854. package/esm/component/interface/tooltip-helper.js +0 -2
  855. package/esm/component/interface/tooltip-helper.js.map +0 -1
  856. package/esm/component/tooltip/utils/compose.d.ts +0 -4
  857. package/esm/component/tooltip/utils/compose.js +0 -105
  858. package/esm/component/tooltip/utils/compose.js.map +0 -1
  859. package/esm/model/tooltip-helper.d.ts +0 -27
  860. package/esm/model/tooltip-helper.js +0 -14
  861. package/esm/model/tooltip-helper.js.map +0 -1
@@ -2,16 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.TOOLTIP_TYPES = exports.TOOLTIP_OTHERS_LINE = exports.TOOLTIP_MAX_LINE_COUNT = exports.TOOLTIP_EL_CLASS_NAME = exports.TooltipHandlerType = void 0;
5
+ }), exports.DEFAULT_SHOW_DELAY = exports.TOOLTIP_TYPES = exports.TOOLTIP_OTHERS_LINE = exports.TOOLTIP_MAX_LINE_COUNT = exports.TOOLTIP_EL_CLASS_NAME = exports.TooltipHandlerType = void 0;
6
6
 
7
7
  const base_1 = require("../../constant/base");
8
8
 
9
- class TooltipHandlerType {}
10
-
11
- exports.TooltipHandlerType = TooltipHandlerType, TooltipHandlerType.dom = `${base_1.PREFIX}_TOOLTIP_HANDLER_DOM`,
12
- TooltipHandlerType.canvas = `${base_1.PREFIX}_TOOLTIP_HANDLER_CANVAS`, exports.TOOLTIP_EL_CLASS_NAME = "vchart-tooltip-element",
13
- exports.TOOLTIP_MAX_LINE_COUNT = 20, exports.TOOLTIP_OTHERS_LINE = {
9
+ exports.TooltipHandlerType = {
10
+ dom: `${base_1.PREFIX}_TOOLTIP_HANDLER_DOM`,
11
+ canvas: `${base_1.PREFIX}_TOOLTIP_HANDLER_CANVAS`
12
+ }, exports.TOOLTIP_EL_CLASS_NAME = "vchart-tooltip-element", exports.TOOLTIP_MAX_LINE_COUNT = 20,
13
+ exports.TOOLTIP_OTHERS_LINE = {
14
14
  key: "其他",
15
15
  value: "..."
16
- }, exports.TOOLTIP_TYPES = [ "group", "mark", "dimension" ];
16
+ }, exports.TOOLTIP_TYPES = [ "group", "mark", "dimension" ], exports.DEFAULT_SHOW_DELAY = 50;
17
17
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/constant.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;AAG7C,MAAa,kBAAkB;;AAA/B,gDAGC;AAFQ,sBAAG,GAAG,GAAG,aAAM,sBAAsB,CAAC;AACtC,yBAAM,GAAG,GAAG,aAAM,yBAAyB,CAAC;AAGxC,QAAA,qBAAqB,GAAG,wBAAwB,CAAC;AAEjD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAE5B,QAAA,mBAAmB,GAAG;IAEjC,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,KAAK;CACS,CAAC;AAEX,QAAA,aAAa,GAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC","file":"constant.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ITooltipLineActual, TooltipActiveType } from '../../typings';\n\nexport class TooltipHandlerType {\n static dom = `${PREFIX}_TOOLTIP_HANDLER_DOM`; // 模拟 enum\n static canvas = `${PREFIX}_TOOLTIP_HANDLER_CANVAS`;\n}\n\nexport const TOOLTIP_EL_CLASS_NAME = 'vchart-tooltip-element';\n\nexport const TOOLTIP_MAX_LINE_COUNT = 20;\n\nexport const TOOLTIP_OTHERS_LINE = {\n // TODO: i18n\n key: '其他',\n value: '...'\n} as ITooltipLineActual;\n\nexport const TOOLTIP_TYPES: TooltipActiveType[] = ['group', 'mark', 'dimension'];\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/constant.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;AAGhC,QAAA,kBAAkB,GAAG;IAChC,GAAG,EAAE,GAAG,aAAM,sBAAsB;IACpC,MAAM,EAAE,GAAG,aAAM,yBAAyB;CAC3C,CAAC;AAEW,QAAA,qBAAqB,GAAG,wBAAwB,CAAC;AAEjD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAE5B,QAAA,mBAAmB,GAAG;IAEjC,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,KAAK;CACS,CAAC;AAEX,QAAA,aAAa,GAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAEpE,QAAA,kBAAkB,GAAG,EAAE,CAAC","file":"constant.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ITooltipLineActual, TooltipActiveType } from '../../typings';\n\nexport const TooltipHandlerType = {\n dom: `${PREFIX}_TOOLTIP_HANDLER_DOM`, // 模拟 enum\n canvas: `${PREFIX}_TOOLTIP_HANDLER_CANVAS`\n};\n\nexport const TOOLTIP_EL_CLASS_NAME = 'vchart-tooltip-element';\n\nexport const TOOLTIP_MAX_LINE_COUNT = 20;\n\nexport const TOOLTIP_OTHERS_LINE = {\n // TODO: i18n\n key: '其他',\n value: '...'\n} as ITooltipLineActual;\n\nexport const TOOLTIP_TYPES: TooltipActiveType[] = ['group', 'mark', 'dimension'];\n\nexport const DEFAULT_SHOW_DELAY = 50;\n"]}
@@ -7,7 +7,7 @@ export type TooltipHandlerParams = DimensionEventParams & {
7
7
  changePositionOnly?: boolean;
8
8
  tooltip: ITooltip;
9
9
  tooltipSpec?: ITooltipSpec;
10
- tooltipActual?: ITooltipActual;
10
+ activeTooltipSpec?: ITooltipActual;
11
11
  groupDatum?: Datum[];
12
12
  };
13
13
  export interface ITooltipActiveTypeAsKeys<T, K, U> {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/interface/common.ts"],"names":[],"mappings":";;;AA8BA,IAAkB,aAKjB;AALD,WAAkB,aAAa;IAE7B,uDAAW,CAAA;IAEX,qDAAU,CAAA;AACZ,CAAC,EALiB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAK9B","file":"common.js","sourcesContent":["import type { DimensionEventParams } from '../../../event/events/dimension/interface';\nimport type { DimensionTooltipInfo, GroupTooltipInfo, MarkTooltipInfo } from '../processor/interface';\nimport type { Datum, IShowTooltipOption, ITooltipActual } from '../../../typings';\nimport type { IComponent } from '../../interface';\nimport type { ITooltipSpec } from './spec';\n\nexport type TooltipHandlerParams = DimensionEventParams & {\n /** 本次触发的 tooltip 是否只改变了位置 */\n changePositionOnly?: boolean;\n /** tooltip 组件实例 */\n tooltip: ITooltip;\n /** 本次触发的 tooltip 对应的最终 spec(可能经过了一些补全) */\n tooltipSpec?: ITooltipSpec;\n /** 本次触发的 tooltip 的显示数据 */\n tooltipActual?: ITooltipActual;\n /** 和 datum 同组的数据项 */\n groupDatum?: Datum[];\n};\n\nexport interface ITooltipActiveTypeAsKeys<T, K, U> {\n mark?: T;\n dimension?: K;\n group?: U;\n}\n\nexport type TotalMouseEventData = {\n tooltipInfo: Partial<ITooltipActiveTypeAsKeys<MarkTooltipInfo, DimensionTooltipInfo, GroupTooltipInfo>>;\n ignore: Partial<ITooltipActiveTypeAsKeys<boolean, boolean, boolean>>;\n};\n\nexport const enum TooltipResult {\n /** tooltip 显示成功 */\n success = 0,\n /** tooltip 未成功显示 */\n failed = 1\n}\n\nexport interface ITooltip extends IComponent {\n getVisible: () => boolean;\n showTooltip: (datum: Datum, options: IShowTooltipOption) => void;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/interface/common.ts"],"names":[],"mappings":";;;AA+BA,IAAkB,aAKjB;AALD,WAAkB,aAAa;IAE7B,uDAAW,CAAA;IAEX,qDAAU,CAAA;AACZ,CAAC,EALiB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAK9B","file":"common.js","sourcesContent":["import type { DimensionEventParams } from '../../../event/events/dimension/interface';\nimport type { DimensionTooltipInfo, GroupTooltipInfo, MarkTooltipInfo } from '../processor/interface';\nimport type { Datum, IShowTooltipOption, ITooltipActual } from '../../../typings';\nimport type { IComponent } from '../../interface';\nimport type { ITooltipSpec } from './spec';\n\nexport type TooltipHandlerParams = DimensionEventParams & {\n /** 本次触发的 tooltip 是否只改变了位置 */\n changePositionOnly?: boolean;\n /** tooltip 组件实例 */\n tooltip: ITooltip;\n /** tooltip 原始的spec */\n tooltipSpec?: ITooltipSpec;\n /** TODO: 本次触发的tooltip,主要包含pattern数据,待优化 */\n activeTooltipSpec?: ITooltipActual;\n // Pick<ITooltipSpec, 'activeType' | 'dimension' | 'mark' | 'group' | 'visible' | 'handler'>;\n /** 和 datum 同组的数据项 */\n groupDatum?: Datum[];\n};\n\nexport interface ITooltipActiveTypeAsKeys<T, K, U> {\n mark?: T;\n dimension?: K;\n group?: U;\n}\n\nexport type TotalMouseEventData = {\n tooltipInfo: Partial<ITooltipActiveTypeAsKeys<MarkTooltipInfo, DimensionTooltipInfo, GroupTooltipInfo>>;\n ignore: Partial<ITooltipActiveTypeAsKeys<boolean, boolean, boolean>>;\n};\n\nexport const enum TooltipResult {\n /** tooltip 显示成功 */\n success = 0,\n /** tooltip 未成功显示 */\n failed = 1\n}\n\nexport interface ITooltip extends IComponent {\n getVisible: () => boolean;\n showTooltip: (datum: Datum, options: IShowTooltipOption) => void;\n}\n"]}
@@ -1,11 +1,24 @@
1
+ import type { EventSourceType, EventType } from '../../../event/interface';
1
2
  import type { IGroupTooltipPattern, ITooltipActual, ITooltipPattern, Maybe, MaybeArray, TooltipActiveType, TooltipData } from '../../../typings';
2
3
  import type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';
3
4
  import type { ITooltipTheme } from './theme';
4
- export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern, ITooltipPattern, IGroupTooltipPattern>> {
5
+ export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern & {
6
+ checkOverlap?: boolean;
7
+ }, ITooltipPattern, IGroupTooltipPattern>> {
5
8
  visible?: boolean;
6
9
  activeType?: TooltipActiveType | TooltipActiveType[];
7
- trigger?: MaybeArray<'hover' | 'click'> | 'none';
8
- triggerOff?: MaybeArray<'hover' | 'click'> | 'none';
10
+ trigger?: MaybeArray<'hover' | 'click' | {
11
+ eventType: EventType;
12
+ source?: EventSourceType;
13
+ consume?: boolean;
14
+ }> | 'none';
15
+ triggerOff?: MaybeArray<'hover' | 'click' | {
16
+ eventType: EventType;
17
+ source?: EventSourceType;
18
+ consume?: boolean;
19
+ checkOutside?: boolean;
20
+ }> | 'none';
21
+ showDelay?: number;
9
22
  hideTimer?: number;
10
23
  lockAfterClick?: boolean;
11
24
  style?: Omit<ITooltipTheme<string>, 'offset' | 'transitionDuration'>;
@@ -23,9 +36,16 @@ export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipP
23
36
  y?: number;
24
37
  };
25
38
  }
39
+ type ISeriesToolipPattern = Pick<ITooltipPattern, 'visible' | 'title' | 'content' | 'hasShape' | 'shapeColor' | 'shapeFill' | 'shapeHollow' | 'shapeLineWidth' | 'shapeSize' | 'shapeStroke' | 'shapeType' | 'updateContent' | 'updateTitle' | 'updatePosition'>;
40
+ export interface ISeriesTooltipSpec extends Pick<ITooltipSpec, 'visible' | 'activeType' | 'handler'> {
41
+ dimension?: ISeriesToolipPattern;
42
+ mark?: ISeriesToolipPattern;
43
+ group?: Pick<IGroupTooltipPattern, 'triggerMark'> & ISeriesToolipPattern;
44
+ }
26
45
  export interface ITooltipHandlerSpec {
27
46
  showTooltip: (activeType: TooltipActiveType, tooltipData: TooltipData, params: TooltipHandlerParams) => Maybe<TooltipResult>;
28
47
  hideTooltip: (params: TooltipHandlerParams) => Maybe<TooltipResult>;
29
48
  release: () => void;
30
49
  isTooltipShown?: () => boolean;
31
50
  }
51
+ export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type {\n IGroupTooltipPattern,\n ITooltipActual,\n ITooltipPattern,\n Maybe,\n MaybeArray,\n TooltipActiveType,\n TooltipData\n} from '../../../typings';\nimport type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';\nimport type { ITooltipTheme } from './theme';\n\nexport interface ITooltipSpec\n extends Partial<\n /**\n * mark tooltip pattern\n * & dimension tooltip pattern\n * (*支持在series上设置)\n */\n ITooltipActiveTypeAsKeys<ITooltipPattern, ITooltipPattern, IGroupTooltipPattern>\n > {\n /**\n * 是否显示\n * (*支持在series上设置)\n * (*会影响自定义handler)\n */\n visible?: boolean;\n /**\n * 受支持的激活类型\n * (*支持在series上设置)\n * (*会影响自定义handler)\n */\n activeType?: TooltipActiveType | TooltipActiveType[];\n /**\n * tooltip触发方式\n * (*会影响自定义handler)\n */\n trigger?: MaybeArray<'hover' | 'click'> | 'none';\n /**\n * 隐藏tooltip的触发方式(目前仅支持和trigger一致的设置以及none)\n * (*会影响自定义handler)\n */\n triggerOff?: MaybeArray<'hover' | 'click'> | 'none';\n /**\n * 隐藏计时器\n * @since 1.11.7\n */\n hideTimer?: number;\n /**\n * 点击后锁定,只有点击才可以更新位置或者解锁,通常用于 trigger 为 `['hover', 'click']` 的场景\n * (*会影响自定义handler)\n * @since 1.10.0\n */\n lockAfterClick?: boolean;\n /**\n * tooltip样式\n */\n style?: Omit<ITooltipTheme<string>, 'offset' | 'transitionDuration'>;\n\n /**\n * 自定义handler方法\n */\n handler?: Partial<ITooltipHandlerSpec>;\n\n /**\n * tooltip 渲染方式,默认为 html\n */\n renderMode?: 'html' | 'canvas';\n /**\n * 是否将 tooltip 框限制在画布区域内,renderMode 为 canvas 时,默认开启。\n */\n confine?: boolean;\n\n /**\n * tooltip dom元素的 className,仅当 renderMode: 'html' 时生效\n */\n className?: string;\n /**\n * tooltip dom 元素的挂载点,可传 id 或 dom 对象\n */\n parentElement?: Maybe<string | HTMLElement | HTMLCanvasElement>;\n /**\n * 鼠标是否可进入提示框浮层中,默认为false,如需详情内交互,如添加链接,按钮,可设置为 true。\n * 该属性目前只对 renderMode 为 html 时生效\n * TODO: 支持 renderMode: canvas\n */\n enterable?: boolean;\n\n /**\n * 浮层移动动画过渡时间,单位是 ms,设置为 0 的时候会紧跟着鼠标移动(目前仅影响 dom tooltip)\n */\n transitionDuration?: number;\n\n /**\n * 更新 tooltip 的防抖动时间间隔,单位是 ms\n */\n throttleInterval?: number;\n\n /**\n * 更新 tooltip dom 元素,仅当 renderMode: 'html' 时生效\n * @since 1.6.0\n */\n updateElement?: (tooltipElement: HTMLElement, actualTooltip: ITooltipActual, params: TooltipHandlerParams) => void;\n\n offset?: {\n x?: number;\n y?: number;\n };\n}\n\nexport interface ITooltipHandlerSpec {\n /** 显示 tooltip,可以选择返回是否遇到异常 */\n showTooltip: (\n activeType: TooltipActiveType,\n tooltipData: TooltipData,\n params: TooltipHandlerParams\n ) => Maybe<TooltipResult>;\n /** 隐藏 tooltip,可以选择返回是否遇到异常 */\n hideTooltip: (params: TooltipHandlerParams) => Maybe<TooltipResult>;\n /** 释放 tooltip */\n release: () => void;\n /** 可选,判断 tooltip 是否正在显示 */\n isTooltipShown?: () => boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { EventSourceType, EventType } from '../../../event/interface';\nimport type {\n IGroupTooltipPattern,\n ITooltipActual,\n ITooltipPattern,\n Maybe,\n MaybeArray,\n TooltipActiveType,\n TooltipData\n} from '../../../typings';\nimport type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';\nimport type { ITooltipTheme } from './theme';\n\nexport interface ITooltipSpec\n extends Partial<\n /**\n * mark tooltip pattern\n * & dimension tooltip pattern\n * (*支持在series上设置)\n */\n ITooltipActiveTypeAsKeys<\n ITooltipPattern & {\n checkOverlap?: boolean;\n },\n ITooltipPattern,\n IGroupTooltipPattern\n >\n > {\n /**\n * 是否显示\n * (*支持在series上设置)\n * (*会影响自定义handler)\n */\n visible?: boolean;\n /**\n * 受支持的激活类型\n * (*支持在series上设置)\n * (*会影响自定义handler)\n */\n activeType?: TooltipActiveType | TooltipActiveType[];\n /**\n * tooltip触发方式\n * (*会影响自定义handler)\n * @since 1.12.10 支持自定义的事件触发\n */\n trigger?:\n | MaybeArray<'hover' | 'click' | { eventType: EventType; source?: EventSourceType; consume?: boolean }>\n | 'none';\n /**\n * 隐藏tooltip的触发方式(目前仅支持和trigger一致的设置以及none)\n * (*会影响自定义handler)\n * @since 1.12.10 支持自定义的事件触发\n */\n triggerOff?:\n | MaybeArray<\n | 'hover'\n | 'click'\n | { eventType: EventType; source?: EventSourceType; consume?: boolean; checkOutside?: boolean }\n >\n | 'none';\n /**\n * 当设置了`enterable: true`,且 trigger类型为`hover`的时候,为了方便鼠标进入提示信息的内容区域,设置的显示延迟时长\n * 其他情况设置无效\n * @since 1.12.8\n */\n showDelay?: number;\n\n /**\n * 隐藏计时器\n * @since 1.11.7\n */\n hideTimer?: number;\n /**\n * 点击后锁定,只有点击才可以更新位置或者解锁,通常用于 trigger 为 `['hover', 'click']` 的场景\n * (*会影响自定义handler)\n * @since 1.10.0\n */\n lockAfterClick?: boolean;\n /**\n * tooltip样式\n */\n style?: Omit<ITooltipTheme<string>, 'offset' | 'transitionDuration'>;\n\n /**\n * 自定义handler方法\n */\n handler?: Partial<ITooltipHandlerSpec>;\n\n /**\n * tooltip 渲染方式,默认为 html\n */\n renderMode?: 'html' | 'canvas';\n /**\n * 是否将 tooltip 框限制在画布区域内,renderMode 为 canvas 时,默认开启。\n */\n confine?: boolean;\n\n /**\n * tooltip dom元素的 className,仅当 renderMode: 'html' 时生效\n */\n className?: string;\n /**\n * tooltip dom 元素的挂载点,可传 id 或 dom 对象\n */\n parentElement?: Maybe<string | HTMLElement | HTMLCanvasElement>;\n /**\n * 鼠标是否可进入提示框浮层中,默认为false,如需详情内交互,如添加链接,按钮,可设置为 true。\n * 该属性目前只对 renderMode 为 html 时生效\n * TODO: 支持 renderMode: canvas\n */\n enterable?: boolean;\n\n /**\n * 浮层移动动画过渡时间,单位是 ms,设置为 0 的时候会紧跟着鼠标移动(目前仅影响 dom tooltip)\n */\n transitionDuration?: number;\n\n /**\n * 更新 tooltip 的防抖动时间间隔,单位是 ms\n */\n throttleInterval?: number;\n\n /**\n * 更新 tooltip dom 元素,仅当 renderMode: 'html' 时生效\n * @since 1.6.0\n */\n updateElement?: (tooltipElement: HTMLElement, actualTooltip: ITooltipActual, params: TooltipHandlerParams) => void;\n\n offset?: {\n x?: number;\n y?: number;\n };\n}\n\ntype ISeriesToolipPattern = Pick<\n ITooltipPattern,\n | 'visible'\n | 'title'\n | 'content'\n | 'hasShape'\n | 'shapeColor'\n | 'shapeFill'\n | 'shapeHollow'\n | 'shapeLineWidth'\n | 'shapeSize'\n | 'shapeStroke'\n | 'shapeType'\n | 'updateContent'\n | 'updateTitle'\n | 'updatePosition'\n>;\n\n/**\n * 系列上的tooltip配置,优先级高于全局tooltip配置\n * 对于visible相当配置,系列tooltip只能关闭,不能覆盖全局tooltip配置\n */\nexport interface ISeriesTooltipSpec extends Pick<ITooltipSpec, 'visible' | 'activeType' | 'handler'> {\n dimension?: ISeriesToolipPattern;\n mark?: ISeriesToolipPattern;\n group?: Pick<IGroupTooltipPattern, 'triggerMark'> & ISeriesToolipPattern;\n}\n\nexport interface ITooltipHandlerSpec {\n /** 显示 tooltip,可以选择返回是否遇到异常 */\n showTooltip: (\n activeType: TooltipActiveType,\n tooltipData: TooltipData,\n params: TooltipHandlerParams\n ) => Maybe<TooltipResult>;\n /** 隐藏 tooltip,可以选择返回是否遇到异常 */\n hideTooltip: (params: TooltipHandlerParams) => Maybe<TooltipResult>;\n /** 释放 tooltip */\n release: () => void;\n /** 可选,判断 tooltip 是否正在显示 */\n isTooltipShown?: () => boolean;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { RichTextWordBreak } from '@visactor/vrender-core';
1
+ import type { ITextAttribute } from '@visactor/vrender-core';
2
2
  import type { ITooltipShapePattern, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';
3
3
  import type { Padding } from '@visactor/vrender-components';
4
4
  import type { ITokenKey } from '../../../theme/token';
@@ -14,7 +14,7 @@ export interface ITooltipTextTheme<ColorType = string> {
14
14
  spacing?: number;
15
15
  multiLine?: boolean;
16
16
  maxWidth?: number;
17
- wordBreak?: RichTextWordBreak;
17
+ wordBreak?: ITextAttribute['wordBreak'];
18
18
  autoWidth?: boolean;
19
19
  }
20
20
  export interface ITooltipTheme<ColorType = string> {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { RichTextWordBreak } from '@visactor/vrender-core';\nimport type { ITooltipShapePattern, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';\nimport type { Padding } from '@visactor/vrender-components';\nimport type { ITokenKey } from '../../../theme/token';\n\nexport interface ITooltipTextTheme<ColorType = string> {\n /** 字体 */\n fontFamily?: string;\n /** 字体大小 */\n fontSize?: number | ITokenKey;\n /** 字体颜色 */\n fill?: ColorType;\n /** @deprecated 字体颜色(兼容旧版本) */\n fontColor?: ColorType;\n /** 字重 */\n fontWeight?: StringOrNumber;\n /** 对齐方式 */\n textAlign?: TextAlign;\n /** 字体基线 */\n textBaseline?: TextBaseLine;\n /** 行高 */\n lineHeight?: number | string | ITokenKey;\n /** 与相邻元素的水平间距 */\n spacing?: number;\n /** 是否支持换行 */\n multiLine?: boolean;\n /** 最大宽度 */\n maxWidth?: number;\n /** 换行模式,默认为'break-word' */\n wordBreak?: RichTextWordBreak;\n /**\n * 是否开启自动宽度。效果分为以下几种情况:\n * - tooltip 标题:`autoWidth` 默认为 `false`。如果配置为 `true`,则 tooltip 标题会保持和 tooltip 内容一致的宽度\n * - tooltip key 标签:`autoWidth` 不适用\n * - tooltip value 标签:`autoWidth` 默认为 `true`。如果配置为 `true`,则 tooltip value 标签会自动占满 tooltip 整体宽度的剩余部分\n * @since 1.4.2\n */\n autoWidth?: boolean;\n}\n\nexport interface ITooltipTheme<ColorType = string> {\n /** 容器样式配置 */\n panel?: {\n /** tooltip 容器内边距 */\n padding?: Padding;\n /** 背景色 */\n backgroundColor?: ColorType;\n /** tooltip边框 */\n border?: {\n color?: ColorType;\n width?: number;\n /** 圆角 */\n radius?: number;\n };\n /** tooltip阴影 */\n shadow?: {\n x: number;\n y: number;\n blur: number;\n spread: number;\n color: ColorType;\n };\n };\n shape?: {\n /** 标记大小 */\n size?: number;\n /** shape 与相邻元素的水平间距 */\n spacing?: number;\n } & Omit<ITooltipShapePattern, 'seriesId'>;\n /** tooltip标题 */\n titleLabel?: ITooltipTextTheme<ColorType>;\n /** tooltip内容,key字段 */\n keyLabel?: Omit<ITooltipTextTheme<ColorType>, 'autoWidth'>;\n /** tooltip内容,value字段 */\n valueLabel?: ITooltipTextTheme<ColorType>;\n /** 内容项行间距 */\n spaceRow?: number;\n /**\n * 最大内容区高度,内容区若超过该高度将显示局部滚动条(适用于 dom tooltip)\n * @since 1.9.0\n */\n maxContentHeight?: number;\n /** 偏移量 */\n offset?: {\n x?: number;\n y?: number;\n };\n /**\n * 浮层移动动画过渡时间,单位是 ms,设置为 0 的时候会紧跟着鼠标移动(目前仅影响 dom tooltip)\n * @since 1.11.9\n */\n transitionDuration?: number;\n /**\n * @since 1.11.5\n *\n * shape、key、value的对齐方式,可选项如下:\n * 'left': 从左到右对齐\n * 'right': 从右到左对齐\n */\n align?: 'left' | 'right';\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ITextAttribute } from '@visactor/vrender-core';\nimport type { ITooltipShapePattern, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';\nimport type { Padding } from '@visactor/vrender-components';\nimport type { ITokenKey } from '../../../theme/token';\n\nexport interface ITooltipTextTheme<ColorType = string> {\n /** 字体 */\n fontFamily?: string;\n /** 字体大小 */\n fontSize?: number | ITokenKey;\n /** 字体颜色 */\n fill?: ColorType;\n /** @deprecated 字体颜色(兼容旧版本) */\n fontColor?: ColorType;\n /** 字重 */\n fontWeight?: StringOrNumber;\n /** 对齐方式 */\n textAlign?: TextAlign;\n /** 字体基线 */\n textBaseline?: TextBaseLine;\n /** 行高 */\n lineHeight?: number | string | ITokenKey;\n /** 与相邻元素的水平间距 */\n spacing?: number;\n /** 是否支持换行 */\n multiLine?: boolean;\n /** 最大宽度 */\n maxWidth?: number;\n /** 换行模式,默认为'break-word' */\n wordBreak?: ITextAttribute['wordBreak'];\n /**\n * 是否开启自动宽度。效果分为以下几种情况:\n * - tooltip 标题:`autoWidth` 默认为 `false`。如果配置为 `true`,则 tooltip 标题会保持和 tooltip 内容一致的宽度\n * - tooltip key 标签:`autoWidth` 不适用\n * - tooltip value 标签:`autoWidth` 默认为 `true`。如果配置为 `true`,则 tooltip value 标签会自动占满 tooltip 整体宽度的剩余部分\n * @since 1.4.2\n */\n autoWidth?: boolean;\n}\n\nexport interface ITooltipTheme<ColorType = string> {\n /** 容器样式配置 */\n panel?: {\n /** tooltip 容器内边距 */\n padding?: Padding;\n /** 背景色 */\n backgroundColor?: ColorType;\n /** tooltip边框 */\n border?: {\n color?: ColorType;\n width?: number;\n /** 圆角 */\n radius?: number;\n };\n /** tooltip阴影 */\n shadow?: {\n x: number;\n y: number;\n blur: number;\n spread: number;\n color: ColorType;\n };\n };\n shape?: {\n /** 标记大小 */\n size?: number;\n /** shape 与相邻元素的水平间距 */\n spacing?: number;\n } & Omit<ITooltipShapePattern, 'seriesId'>;\n /** tooltip标题 */\n titleLabel?: ITooltipTextTheme<ColorType>;\n /** tooltip内容,key字段 */\n keyLabel?: Omit<ITooltipTextTheme<ColorType>, 'autoWidth'>;\n /** tooltip内容,value字段 */\n valueLabel?: ITooltipTextTheme<ColorType>;\n /** 内容项行间距 */\n spaceRow?: number;\n /**\n * 最大内容区高度,内容区若超过该高度将显示局部滚动条(适用于 dom tooltip)\n * @since 1.9.0\n */\n maxContentHeight?: number;\n /** 偏移量 */\n offset?: {\n x?: number;\n y?: number;\n };\n /**\n * 浮层移动动画过渡时间,单位是 ms,设置为 0 的时候会紧跟着鼠标移动(目前仅影响 dom tooltip)\n * @since 1.11.9\n */\n transitionDuration?: number;\n /**\n * @since 1.11.5\n *\n * shape、key、value的对齐方式,可选项如下:\n * 'left': 从左到右对齐\n * 'right': 从右到左对齐\n */\n align?: 'left' | 'right';\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { BaseEventParams } from '../../../event/interface';
2
2
  import type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';
3
- import type { ITooltipSpec, TooltipHandlerParams } from '../interface';
3
+ import type { TooltipHandlerParams } from '../interface';
4
4
  import { TooltipResult } from '../interface/common';
5
5
  import type { Tooltip } from '../tooltip';
6
6
  import type { MouseEventData, TooltipInfo } from './interface';
@@ -8,15 +8,13 @@ import type { IDimensionInfo } from '../../../event/events/dimension';
8
8
  export declare abstract class BaseTooltipProcessor {
9
9
  readonly component: Tooltip;
10
10
  abstract activeType: TooltipActiveType;
11
- protected _cacheViewSpec: ITooltipSpec | undefined;
12
- protected _cacheActualTooltip: ITooltipActual | undefined;
11
+ protected _cacheActiveSpec: ITooltipActual | undefined;
13
12
  constructor(component: Tooltip);
14
13
  abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;
15
14
  abstract getMouseEventData(params: BaseEventParams): MouseEventData;
16
15
  protected _showTooltipByHandler: (data: TooltipData | undefined, params: TooltipHandlerParams) => TooltipResult;
17
16
  protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined;
18
- protected _updateViewSpec(params: TooltipHandlerParams): void;
19
- protected _updateActualTooltip(data: TooltipData, params: TooltipHandlerParams): void;
20
- shouldHandleTooltip(params: BaseEventParams, mouseEventData: Partial<MouseEventData>): boolean;
17
+ protected _updateViewSpec(data: TooltipData, params: TooltipHandlerParams): void;
18
+ shouldHandleTooltip(params: BaseEventParams, info: TooltipInfo): boolean;
21
19
  clearCache(): void;
22
20
  }
@@ -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,33 +40,29 @@ 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
- shouldHandleTooltip(params, mouseEventData) {
60
+ shouldHandleTooltip(params, info) {
64
61
  var _a, _b;
65
- const {tooltipInfo: info} = mouseEventData;
66
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);
67
63
  }
68
64
  clearCache() {
69
- this._cacheViewSpec = void 0, this._cacheActualTooltip = void 0;
65
+ this._cacheActiveSpec = void 0;
70
66
  }
71
67
  }
72
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, mouseEventData: Partial<MouseEventData>): boolean {\n const { tooltipInfo: info } = mouseEventData;\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"]}
@@ -57,14 +57,9 @@ class DimensionTooltipProcessor extends base_1.BaseTooltipProcessor {
57
57
  return targetDimensionInfo;
58
58
  }
59
59
  getMouseEventData(params) {
60
- var _a;
61
60
  return {
62
61
  tooltipInfo: this._getDimensionInfo(params),
63
- ignore: [ ...null !== (_a = this.component.getOption().getAllSeries()) && void 0 !== _a ? _a : [] ].some((model => {
64
- var _a;
65
- const ignoreTriggers = null === (_a = model.tooltipHelper) || void 0 === _a ? void 0 : _a.ignoreTriggerSet.dimension;
66
- return params.model && (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.model)) || params.mark && (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark));
67
- }))
62
+ ignore: !1
68
63
  };
69
64
  }
70
65
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":"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","file":"dimension-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { DimensionTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { isValid } from '@visactor/vutils';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport { getCartesianDimensionInfo } from '../../../event/events/dimension/util/cartesian';\nimport { getPolarDimensionInfo } from '../../../event/events/dimension/util/polar';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isDiscrete } from '@visactor/vscale';\n\nexport class DimensionTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'dimension';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: DimensionTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const newParams: TooltipHandlerParams = {\n ...(params as TooltipHandlerParams),\n dimensionInfo: this._preprocessDimensionInfo(info),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(info, newParams);\n }\n\n protected _getDimensionInfo(params: BaseEventParams): IDimensionInfo[] {\n let targetDimensionInfo: IDimensionInfo[] | undefined;\n // 处理dimension info\n const chart = this.component.getChart();\n\n // compute layer offset\n const layer = chart.getCompiler().getStage().getLayer(undefined);\n const point = { x: params.event.viewX, y: params.event.viewY };\n layer.globalTransMatrix.transformPoint({ x: params.event.viewX, y: params.event.viewY }, point);\n\n targetDimensionInfo = [\n ...(getCartesianDimensionInfo(chart, point, true) ?? []),\n ...(getPolarDimensionInfo(chart, point) ?? [])\n ];\n if (targetDimensionInfo.length === 0) {\n targetDimensionInfo = undefined;\n } else if (targetDimensionInfo.length > 1) {\n // 只保留一个轴的dimension info\n const dimensionAxisInfo = targetDimensionInfo.filter(info => {\n const axis = info.axis;\n if (axis.getSpec().hasDimensionTooltip) {\n return true;\n }\n\n // 优先显示离散轴 tooltip\n if (!isDiscrete(axis.getScale().type)) {\n return false;\n }\n // 下面的逻辑用来判断当前的离散轴是不是维度轴\n let firstSeries: ICartesianSeries | undefined;\n for (const region of axis?.getRegions() ?? []) {\n for (const series of region.getSeries()) {\n if (series.coordinate === 'cartesian') {\n firstSeries = series as ICartesianSeries;\n break;\n }\n }\n if (isValid(firstSeries)) {\n break;\n }\n }\n if (isValid(firstSeries) && firstSeries.getDimensionField()[0] === firstSeries.fieldY[0]) {\n // 维度轴为Y轴时,选择只显示Y轴tooltip\n return axis.getOrient() === 'left' || axis.getOrient() === 'right';\n }\n // 维度轴为X轴时,选择只显示X轴tooltip\n return axis.getOrient() === 'bottom' || axis.getOrient() === 'top';\n });\n targetDimensionInfo = dimensionAxisInfo.length ? dimensionAxisInfo : targetDimensionInfo.slice(0, 1);\n\n // datum 去重,保证每个系列的每个数据项只对应于一行 tooltip 内容项\n if (targetDimensionInfo.length > 1) {\n const dimensionDataKeySet = new Set<string>();\n targetDimensionInfo.forEach(info => {\n info.data = info.data.filter(({ key }: IDimensionData) => {\n if (dimensionDataKeySet.has(key)) {\n return false;\n }\n dimensionDataKeySet.add(key);\n return true;\n });\n });\n }\n }\n\n return targetDimensionInfo;\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n return {\n tooltipInfo: this._getDimensionInfo(params),\n // 排除被声明要忽略的项\n ignore: [...((this.component.getOption() as any).getAllSeries() ?? [])].some(model => {\n const ignoreTriggers = model.tooltipHelper?.ignoreTriggerSet.dimension;\n return (params.model && ignoreTriggers?.has(params.model)) || (params.mark && ignoreTriggers?.has(params.mark));\n })\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":"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","file":"dimension-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { DimensionTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { isValid } from '@visactor/vutils';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport { getCartesianDimensionInfo } from '../../../event/events/dimension/util/cartesian';\nimport { getPolarDimensionInfo } from '../../../event/events/dimension/util/polar';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isDiscrete } from '@visactor/vscale';\n\nexport class DimensionTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'dimension';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: DimensionTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const newParams: TooltipHandlerParams = {\n ...(params as TooltipHandlerParams),\n dimensionInfo: this._preprocessDimensionInfo(info),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(info, newParams);\n }\n\n protected _getDimensionInfo(params: BaseEventParams): IDimensionInfo[] {\n let targetDimensionInfo: IDimensionInfo[] | undefined;\n // 处理dimension info\n const chart = this.component.getChart();\n\n // compute layer offset\n const layer = chart.getCompiler().getStage().getLayer(undefined);\n const point = { x: params.event.viewX, y: params.event.viewY };\n layer.globalTransMatrix.transformPoint({ x: params.event.viewX, y: params.event.viewY }, point);\n\n targetDimensionInfo = [\n ...(getCartesianDimensionInfo(chart, point, true) ?? []),\n ...(getPolarDimensionInfo(chart, point) ?? [])\n ];\n if (targetDimensionInfo.length === 0) {\n targetDimensionInfo = undefined;\n } else if (targetDimensionInfo.length > 1) {\n // 只保留一个轴的dimension info\n const dimensionAxisInfo = targetDimensionInfo.filter(info => {\n const axis = info.axis;\n if (axis.getSpec().hasDimensionTooltip) {\n return true;\n }\n\n // 优先显示离散轴 tooltip\n if (!isDiscrete(axis.getScale().type)) {\n return false;\n }\n // 下面的逻辑用来判断当前的离散轴是不是维度轴\n let firstSeries: ICartesianSeries | undefined;\n for (const region of axis?.getRegions() ?? []) {\n for (const series of region.getSeries()) {\n if (series.coordinate === 'cartesian') {\n firstSeries = series as ICartesianSeries;\n break;\n }\n }\n if (isValid(firstSeries)) {\n break;\n }\n }\n if (isValid(firstSeries) && firstSeries.getDimensionField()[0] === firstSeries.fieldY[0]) {\n // 维度轴为Y轴时,选择只显示Y轴tooltip\n return axis.getOrient() === 'left' || axis.getOrient() === 'right';\n }\n // 维度轴为X轴时,选择只显示X轴tooltip\n return axis.getOrient() === 'bottom' || axis.getOrient() === 'top';\n });\n targetDimensionInfo = dimensionAxisInfo.length ? dimensionAxisInfo : targetDimensionInfo.slice(0, 1);\n\n // datum 去重,保证每个系列的每个数据项只对应于一行 tooltip 内容项\n if (targetDimensionInfo.length > 1) {\n const dimensionDataKeySet = new Set<string>();\n targetDimensionInfo.forEach(info => {\n info.data = info.data.filter(({ key }: IDimensionData) => {\n if (dimensionDataKeySet.has(key)) {\n return false;\n }\n dimensionDataKeySet.add(key);\n return true;\n });\n });\n }\n }\n\n return targetDimensionInfo;\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n return {\n tooltipInfo: this._getDimensionInfo(params),\n // 排除被声明要忽略的项\n ignore: false\n };\n }\n}\n"]}
@@ -23,21 +23,21 @@ class GroupTooltipProcessor extends base_1.BaseTooltipProcessor {
23
23
  }
24
24
  getMouseEventData(params) {
25
25
  var _a, _b;
26
- let info, ignore;
26
+ let info;
27
27
  if ("series" === (null === (_a = params.model) || void 0 === _a ? void 0 : _a.modelType)) {
28
- const series = params.model, helper = series.tooltipHelper, activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.group, ignoreTriggers = null == helper ? void 0 : helper.ignoreTriggerSet.group;
29
- if ((null == activeTriggers ? void 0 : activeTriggers.has(params.model)) || (null == activeTriggers ? void 0 : activeTriggers.has(params.mark))) {
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.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,
33
33
  datum: params.datum,
34
34
  series: series
35
35
  });
36
- } else ((null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.model)) || (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark))) && (ignore = !0);
36
+ }
37
37
  }
38
38
  return {
39
39
  tooltipInfo: info,
40
- ignore: ignore
40
+ ignore: !1
41
41
  };
42
42
  }
43
43
  _getGroupDatum(params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/processor/group-tooltip.ts"],"names":[],"mappings":"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","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 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.group;\n const ignoreTriggers = helper?.ignoreTriggerSet.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 } 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 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"]}
@@ -4,20 +4,46 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.MarkTooltipProcessor = void 0;
6
6
 
7
- const base_1 = require("./base");
7
+ const base_1 = require("./base"), vrender_core_1 = require("@visactor/vrender-core");
8
8
 
9
9
  class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
10
10
  constructor() {
11
11
  super(...arguments), this.activeType = "mark";
12
12
  }
13
13
  showTooltip(info, params, changePositionOnly) {
14
- const {datum: datum, series: series} = info, tooltipData = [ {
14
+ var _a, _b, _c;
15
+ const {datum: datum, series: series} = info, tooltipSpec = this.component.getSpec(), tooltipData = [ {
15
16
  datum: [ datum ],
16
17
  series: series
17
- } ], newParams = Object.assign(Object.assign({}, params), {
18
+ } ], helper = series.tooltipHelper, seriesSpec = null === (_a = series.getSpec()) || void 0 === _a ? void 0 : _a.tooltip, seriesCheckOverlap = null === (_b = null == seriesSpec ? void 0 : seriesSpec.mark) || void 0 === _b ? void 0 : _b.checkOverlap;
19
+ let checkOverlap = !1;
20
+ if (!0 === seriesCheckOverlap || !0 === (null === (_c = tooltipSpec.mark) || void 0 === _c ? void 0 : _c.checkOverlap) && !1 !== seriesCheckOverlap) {
21
+ const activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.mark;
22
+ if (activeTriggers) {
23
+ checkOverlap = !0;
24
+ const layer = this.component.getChart().getCompiler().getStage().getLayer(void 0), point = {
25
+ x: params.event.viewX,
26
+ y: params.event.viewY
27
+ };
28
+ layer.globalTransMatrix.transformPoint({
29
+ x: params.event.viewX,
30
+ y: params.event.viewY
31
+ }, point), activeTriggers.forEach((mark => {
32
+ mark.getProductElements().forEach((el => {
33
+ const graphic = el.getGraphicItem();
34
+ el !== params.item && graphic && graphic.containsPoint(point.x, point.y, vrender_core_1.IContainPointMode.GLOBAL, graphic.stage.getPickerService()) && tooltipData[0].datum.push(el.getDatum());
35
+ }));
36
+ }));
37
+ }
38
+ }
39
+ const newParams = Object.assign(Object.assign({}, params), {
18
40
  changePositionOnly: changePositionOnly,
19
41
  tooltip: this.component
20
42
  });
43
+ if (changePositionOnly && checkOverlap) {
44
+ const cacheData = this._cacheActiveSpec && this._cacheActiveSpec.data;
45
+ cacheData && cacheData[0].series === tooltipData[0].series && cacheData[0].datum.length === tooltipData[0].datum.length && !cacheData[0].datum.some(((d, index) => d !== tooltipData[0].datum[index])) || (newParams.changePositionOnly = !1);
46
+ }
21
47
  return this._showTooltipByHandler(tooltipData, newParams);
22
48
  }
23
49
  getMouseEventData(params) {
@@ -25,11 +51,11 @@ class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
25
51
  let info, ignore;
26
52
  if ("series" === (null === (_a = params.model) || void 0 === _a ? void 0 : _a.modelType)) {
27
53
  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 = {
54
+ (null == activeTriggers ? void 0 : activeTriggers.has(params.mark)) ? info = {
29
55
  mark: params.mark,
30
56
  datum: params.datum,
31
57
  series: series
32
- } : ((null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.model)) || (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark))) && (ignore = !0);
58
+ } : (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark)) && (ignore = !0);
33
59
  }
34
60
  return {
35
61
  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":"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","file":"mark-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\nimport type { MarkTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport type { ISeries } from '../../../series/interface';\nimport { IContainPointMode } from '@visactor/vrender-core';\nimport type { IDimensionData } from '../../../event/events/dimension/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 tooltipSpec = this.component.getSpec();\n const tooltipData = [{ datum: [datum], series }];\n const helper = series.tooltipHelper;\n const seriesSpec = series.getSpec()?.tooltip as ITooltipSpec;\n const seriesCheckOverlap = seriesSpec?.mark?.checkOverlap;\n let checkOverlap = false;\n\n if (seriesCheckOverlap === true || (tooltipSpec.mark?.checkOverlap === true && seriesCheckOverlap !== false)) {\n const activeTriggers = helper?.activeTriggerSet.mark;\n\n if (activeTriggers) {\n checkOverlap = true;\n const chart = this.component.getChart();\n // compute layer offset\n const layer = chart.getCompiler().getStage().getLayer(undefined);\n const point = { x: params.event.viewX, y: params.event.viewY };\n layer.globalTransMatrix.transformPoint({ x: params.event.viewX, y: params.event.viewY }, point);\n\n activeTriggers.forEach(mark => {\n mark.getProductElements().forEach(el => {\n const graphic = el.getGraphicItem();\n\n if (\n el !== params.item &&\n graphic &&\n graphic.containsPoint(point.x, point.y, IContainPointMode.GLOBAL, graphic.stage.getPickerService())\n ) {\n tooltipData[0].datum.push(el.getDatum());\n }\n });\n });\n }\n }\n\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n changePositionOnly,\n tooltip: this.component\n };\n if (changePositionOnly && checkOverlap) {\n const cacheData = this._cacheActiveSpec && this._cacheActiveSpec.data;\n\n if (\n !cacheData ||\n (cacheData as IDimensionData[])[0].series !== tooltipData[0].series ||\n (cacheData as IDimensionData[])[0].datum.length !== tooltipData[0].datum.length ||\n (cacheData as IDimensionData[])[0].datum.some((d, index) => d !== tooltipData[0].datum[index])\n ) {\n newParams.changePositionOnly = false;\n }\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"]}
@@ -22,15 +22,13 @@ class TooltipSpecTransformer extends base_1.BaseComponentSpecTransformer {
22
22
  };
23
23
  }
24
24
  _transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo) {
25
- var _a, _b, _c, _d, _e, _f, _g, _h;
25
+ var _a, _b, _c, _d, _e, _f, _g;
26
26
  super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo), spec.visible = null === (_a = spec.visible) || void 0 === _a || _a,
27
27
  spec.activeType = (0, common_1.getTooltipActualActiveType)(spec), spec.renderMode = null !== (_b = spec.renderMode) && void 0 !== _b ? _b : (0,
28
28
  util_1.isMiniAppLikeMode)(this._option.mode) || !(0, util_1.isTrueBrowser)(this._option.mode) ? "canvas" : "html",
29
29
  spec.trigger = null !== (_c = spec.trigger) && void 0 !== _c ? _c : "hover", spec.className = null !== (_d = spec.className) && void 0 !== _d ? _d : constant_1.TOOLTIP_EL_CLASS_NAME,
30
30
  spec.enterable = null !== (_e = spec.enterable) && void 0 !== _e && _e, spec.transitionDuration = null !== (_f = spec.transitionDuration) && void 0 !== _f ? _f : 150,
31
- spec.triggerOff = null !== (_g = spec.triggerOff) && void 0 !== _g ? _g : spec.trigger,
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"),
31
+ spec.confine = null !== (_g = spec.confine) && void 0 !== _g ? _g : "canvas" === spec.renderMode,
34
32
  (0, util_1.isValid)(spec.parentElement) ? (0, util_1.isString)(spec.parentElement) && (spec.parentElement = vrender_core_1.vglobal.getElementById(spec.parentElement)) : (0,
35
33
  util_1.isTrueBrowser)(this._option.mode) && (spec.parentElement = null === util_1.domDocument || void 0 === util_1.domDocument ? void 0 : util_1.domDocument.body);
36
34
  }
@@ -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,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;AApCD,wDAoCC","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.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"]}