@visactor/vchart 1.11.0-alpha.2 → 1.11.0-alpha.3

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 (1059) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +49567 -46010
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.d.ts +2 -2
  6. package/cjs/animation/utils.js +2 -2
  7. package/cjs/animation/utils.js.map +1 -1
  8. package/cjs/chart/base/base-chart-transformer.js +5 -2
  9. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  10. package/cjs/chart/base/base-chart.d.ts +4 -2
  11. package/cjs/chart/base/base-chart.js +24 -11
  12. package/cjs/chart/base/base-chart.js.map +1 -1
  13. package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
  14. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  15. package/cjs/chart/common/common-transformer.js +3 -2
  16. package/cjs/chart/common/common-transformer.js.map +1 -1
  17. package/cjs/chart/common/interface.d.ts +2 -2
  18. package/cjs/chart/common/interface.js.map +1 -1
  19. package/cjs/chart/index.d.ts +6 -4
  20. package/cjs/chart/index.js +21 -2
  21. package/cjs/chart/index.js.map +1 -1
  22. package/cjs/chart/interface/chart.d.ts +6 -1
  23. package/cjs/chart/interface/chart.js.map +1 -1
  24. package/cjs/chart/interface/type.d.ts +2 -1
  25. package/cjs/chart/interface/type.js +1 -1
  26. package/cjs/chart/interface/type.js.map +1 -1
  27. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  28. package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
  29. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  30. package/cjs/chart/radar/radar-transformer.js +3 -3
  31. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  32. package/cjs/chart/range-column/range-column-transformer.js +5 -1
  33. package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
  34. package/cjs/chart/rose/rose-transformer.js +2 -2
  35. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  36. package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
  37. package/cjs/chart/sequence/sequence.js +3 -2
  38. package/cjs/chart/sequence/sequence.js.map +1 -1
  39. package/cjs/chart/stack.js +2 -1
  40. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  41. package/cjs/chart/util.js +4 -3
  42. package/cjs/chart/util.js.map +1 -1
  43. package/cjs/chart/venn/index.d.ts +3 -0
  44. package/cjs/chart/venn/index.js +22 -0
  45. package/cjs/chart/venn/index.js.map +1 -0
  46. package/cjs/chart/venn/interface.d.ts +6 -0
  47. package/cjs/chart/venn/interface.js +6 -0
  48. package/cjs/chart/venn/interface.js.map +1 -0
  49. package/cjs/chart/venn/venn-transformer.d.ts +7 -0
  50. package/cjs/chart/venn/venn-transformer.js +28 -0
  51. package/cjs/chart/venn/venn-transformer.js.map +1 -0
  52. package/cjs/chart/venn/venn.d.ts +14 -0
  53. package/cjs/chart/venn/venn.js +24 -0
  54. package/cjs/chart/venn/venn.js.map +1 -0
  55. package/cjs/compile/data/compilable-data.js +3 -1
  56. package/cjs/compile/data/compilable-data.js.map +1 -1
  57. package/cjs/compile/grammar-item.js +1 -2
  58. package/cjs/compile/interface/compiler.d.ts +1 -0
  59. package/cjs/compile/interface/compiler.js.map +1 -1
  60. package/cjs/compile/mark/compilable-mark.d.ts +2 -1
  61. package/cjs/compile/mark/compilable-mark.js +4 -0
  62. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  63. package/cjs/compile/mark/interface.d.ts +1 -0
  64. package/cjs/compile/mark/interface.js.map +1 -1
  65. package/cjs/component/axis/base-axis.d.ts +2 -0
  66. package/cjs/component/axis/base-axis.js +13 -6
  67. package/cjs/component/axis/base-axis.js.map +1 -1
  68. package/cjs/component/axis/cartesian/axis.d.ts +1 -2
  69. package/cjs/component/axis/cartesian/axis.js +30 -38
  70. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  71. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  72. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  73. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  74. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  75. package/cjs/component/axis/interface/spec.d.ts +2 -0
  76. package/cjs/component/axis/interface/spec.js.map +1 -1
  77. package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
  78. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  79. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  80. package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
  81. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  82. package/cjs/component/axis/polar/axis.d.ts +0 -1
  83. package/cjs/component/axis/polar/axis.js +7 -11
  84. package/cjs/component/axis/polar/axis.js.map +1 -1
  85. package/cjs/component/axis/polar/interface/common.d.ts +1 -0
  86. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  87. package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
  88. package/cjs/component/axis/polar/linear-axis.js +5 -1
  89. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  90. package/cjs/component/axis/util.js +3 -3
  91. package/cjs/component/axis/util.js.map +1 -1
  92. package/cjs/component/base/base-component.d.ts +1 -0
  93. package/cjs/component/base/base-component.js +14 -6
  94. package/cjs/component/base/base-component.js.map +1 -1
  95. package/cjs/component/base/util.js +12 -12
  96. package/cjs/component/base/util.js.map +1 -1
  97. package/cjs/component/common/trigger/mobile.js +1 -2
  98. package/cjs/component/common/trigger/mobile.js.map +1 -1
  99. package/cjs/component/crosshair/base.d.ts +1 -2
  100. package/cjs/component/crosshair/base.js +4 -6
  101. package/cjs/component/crosshair/base.js.map +1 -1
  102. package/cjs/component/crosshair/cartesian.js +1 -3
  103. package/cjs/component/crosshair/cartesian.js.map +1 -1
  104. package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
  105. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  106. package/cjs/component/crosshair/interface/polar.d.ts +7 -5
  107. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  108. package/cjs/component/crosshair/polar.js +2 -5
  109. package/cjs/component/crosshair/polar.js.map +1 -1
  110. package/cjs/component/crosshair/utils/cartesian.js +14 -14
  111. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  112. package/cjs/component/crosshair/utils/common.js +6 -5
  113. package/cjs/component/crosshair/utils/common.js.map +1 -1
  114. package/cjs/component/crosshair/utils/polar.js +17 -11
  115. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  116. package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
  117. package/cjs/component/custom-mark/custom-mark.js +43 -12
  118. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  119. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
  120. package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
  121. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  122. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
  123. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  124. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  125. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  126. package/cjs/component/data-zoom/interface.d.ts +1 -4
  127. package/cjs/component/data-zoom/interface.js +1 -5
  128. package/cjs/component/data-zoom/interface.js.map +1 -1
  129. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  130. package/cjs/component/data-zoom/util.js.map +1 -1
  131. package/cjs/component/geo/geo-coordinate.js +2 -2
  132. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  133. package/cjs/component/index.d.ts +7 -7
  134. package/cjs/component/index.js +48 -8
  135. package/cjs/component/index.js.map +1 -1
  136. package/cjs/component/indicator/indicator.js +2 -2
  137. package/cjs/component/indicator/indicator.js.map +1 -1
  138. package/cjs/component/interface/theme.d.ts +4 -0
  139. package/cjs/component/interface/theme.js.map +1 -1
  140. package/cjs/component/interface/type.d.ts +4 -0
  141. package/cjs/component/interface/type.js +3 -1
  142. package/cjs/component/interface/type.js.map +1 -1
  143. package/cjs/component/label/label.js +4 -5
  144. package/cjs/component/label/label.js.map +1 -1
  145. package/cjs/component/label/total-label.js +10 -3
  146. package/cjs/component/label/total-label.js.map +1 -1
  147. package/cjs/component/label/util.d.ts +9 -1
  148. package/cjs/component/label/util.js +25 -9
  149. package/cjs/component/label/util.js.map +1 -1
  150. package/cjs/component/legend/base-legend.js +13 -7
  151. package/cjs/component/legend/base-legend.js.map +1 -1
  152. package/cjs/component/legend/continuous/interface.d.ts +1 -0
  153. package/cjs/component/legend/continuous/interface.js.map +1 -1
  154. package/cjs/component/legend/continuous/legend.js +4 -1
  155. package/cjs/component/legend/continuous/legend.js.map +1 -1
  156. package/cjs/component/legend/continuous/util.js +3 -3
  157. package/cjs/component/legend/continuous/util.js.map +1 -1
  158. package/cjs/component/legend/discrete/interface.d.ts +1 -0
  159. package/cjs/component/legend/discrete/interface.js.map +1 -1
  160. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  161. package/cjs/component/legend/discrete/legend.js +20 -9
  162. package/cjs/component/legend/discrete/legend.js.map +1 -1
  163. package/cjs/component/legend/discrete/util.js +7 -6
  164. package/cjs/component/legend/discrete/util.js.map +1 -1
  165. package/cjs/component/legend/util.d.ts +12 -2
  166. package/cjs/component/legend/util.js +2 -2
  167. package/cjs/component/legend/util.js.map +1 -1
  168. package/cjs/component/map-label/component.js +2 -1
  169. package/cjs/component/map-label/component.js.map +1 -1
  170. package/cjs/component/marker/base-marker.d.ts +30 -44
  171. package/cjs/component/marker/base-marker.js +103 -45
  172. package/cjs/component/marker/base-marker.js.map +1 -1
  173. package/cjs/component/marker/interface.d.ts +40 -13
  174. package/cjs/component/marker/interface.js.map +1 -1
  175. package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
  176. package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
  177. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
  178. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  179. package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
  180. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  181. package/cjs/component/marker/mark-area/index.d.ts +2 -1
  182. package/cjs/component/marker/mark-area/index.js +2 -1
  183. package/cjs/component/marker/mark-area/index.js.map +1 -1
  184. package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
  185. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  186. package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
  187. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  188. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  189. package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
  190. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
  191. package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
  192. package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
  193. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
  194. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  195. package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
  196. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  197. package/cjs/component/marker/mark-line/index.d.ts +2 -1
  198. package/cjs/component/marker/mark-line/index.js +2 -1
  199. package/cjs/component/marker/mark-line/index.js.map +1 -1
  200. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  201. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  202. package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
  203. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  204. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  205. package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
  206. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
  207. package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  208. package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
  209. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
  210. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  211. package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
  212. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  213. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  214. package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
  215. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
  216. package/cjs/component/marker/mark-point/index.d.ts +3 -1
  217. package/cjs/component/marker/mark-point/index.js +2 -1
  218. package/cjs/component/marker/mark-point/index.js.map +1 -1
  219. package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
  220. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  221. package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
  222. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  223. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  224. package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
  225. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
  226. package/cjs/component/marker/utils.d.ts +40 -5
  227. package/cjs/component/marker/utils.js +148 -13
  228. package/cjs/component/marker/utils.js.map +1 -1
  229. package/cjs/component/player/player.d.ts +2 -1
  230. package/cjs/component/player/player.js +16 -9
  231. package/cjs/component/player/player.js.map +1 -1
  232. package/cjs/component/player/utils/transform.js +3 -2
  233. package/cjs/component/player/utils/transform.js.map +1 -1
  234. package/cjs/component/tooltip/tooltip-transformer.js +3 -2
  235. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  236. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  237. package/cjs/component/tooltip/tooltip.js +13 -11
  238. package/cjs/component/tooltip/tooltip.js.map +1 -1
  239. package/cjs/component/tooltip/utils/compose.js +3 -3
  240. package/cjs/component/tooltip/utils/compose.js.map +1 -1
  241. package/cjs/component/tooltip/utils/get-spec.js +2 -2
  242. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  243. package/cjs/component/tooltip/utils/index.d.ts +1 -0
  244. package/cjs/component/tooltip/utils/index.js +1 -1
  245. package/cjs/component/tooltip/utils/index.js.map +1 -1
  246. package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  247. package/cjs/component/tooltip/utils/pattern.js.map +1 -0
  248. package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
  249. package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
  250. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  251. package/cjs/core/factory.d.ts +1 -1
  252. package/cjs/core/factory.js +0 -1
  253. package/cjs/core/factory.js.map +1 -1
  254. package/cjs/core/index.d.ts +1 -1
  255. package/cjs/core/index.js +1 -1
  256. package/cjs/core/index.js.map +1 -1
  257. package/cjs/core/interface.d.ts +5 -1
  258. package/cjs/core/interface.js.map +1 -1
  259. package/cjs/core/vchart.d.ts +2 -2
  260. package/cjs/core/vchart.js +47 -24
  261. package/cjs/core/vchart.js.map +1 -1
  262. package/cjs/data/transforms/aggregation.d.ts +12 -7
  263. package/cjs/data/transforms/aggregation.js +16 -1
  264. package/cjs/data/transforms/aggregation.js.map +1 -1
  265. package/cjs/data/transforms/invalid-travel.d.ts +1 -1
  266. package/cjs/data/transforms/invalid-travel.js +4 -2
  267. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  268. package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
  269. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  270. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  271. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  272. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  273. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  274. package/cjs/data/transforms/pie.js +3 -2
  275. package/cjs/data/transforms/pie.js.map +1 -1
  276. package/cjs/data/transforms/waterfall.js +4 -2
  277. package/cjs/data/transforms/waterfall.js.map +1 -1
  278. package/cjs/event/event-dispatcher.js +8 -1
  279. package/cjs/event/event-dispatcher.js.map +1 -1
  280. package/cjs/event/interface.d.ts +2 -0
  281. package/cjs/event/interface.js.map +1 -1
  282. package/cjs/index-lark.js +1 -1
  283. package/cjs/index-lark.js.map +1 -1
  284. package/cjs/index-wx.js +1 -1
  285. package/cjs/index-wx.js.map +1 -1
  286. package/cjs/layout/base-layout.js +6 -5
  287. package/cjs/layout/base-layout.js.map +1 -1
  288. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
  289. package/cjs/layout/grid-layout/grid-layout.js +4 -4
  290. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  291. package/cjs/layout/layout-item.js +1 -1
  292. package/cjs/layout/layout-item.js.map +1 -1
  293. package/cjs/mark/base/base-mark.js +2 -2
  294. package/cjs/mark/base/base-mark.js.map +1 -1
  295. package/cjs/mark/index.d.ts +20 -20
  296. package/cjs/mark/index.js +95 -22
  297. package/cjs/mark/index.js.map +1 -1
  298. package/cjs/model/base-model-transformer.js +2 -2
  299. package/cjs/model/base-model-transformer.js.map +1 -1
  300. package/cjs/model/base-model.js +1 -1
  301. package/cjs/model/base-model.js.map +1 -1
  302. package/cjs/model/interface.d.ts +1 -0
  303. package/cjs/model/interface.js.map +1 -1
  304. package/cjs/model/layout-model.js +3 -2
  305. package/cjs/model/layout-model.js.map +1 -1
  306. package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
  307. package/cjs/plugin/base/base-plugin-service.js +11 -1
  308. package/cjs/plugin/base/base-plugin-service.js.map +1 -1
  309. package/cjs/plugin/base/interface.d.ts +3 -0
  310. package/cjs/plugin/base/interface.js.map +1 -1
  311. package/cjs/plugin/chart/media-query/media-query.js +4 -4
  312. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  313. package/cjs/plugin/chart/media-query/util/action.js +4 -3
  314. package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
  315. package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
  316. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  317. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
  318. package/cjs/plugin/components/tooltip-handler/base.js +3 -3
  319. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  320. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  321. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
  322. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  323. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
  324. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  325. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  326. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  327. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
  328. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  329. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
  330. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  331. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  332. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  333. package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  334. package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -2
  335. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  336. package/cjs/region/interface.d.ts +2 -0
  337. package/cjs/region/interface.js.map +1 -1
  338. package/cjs/region/region.d.ts +1 -0
  339. package/cjs/region/region.js +5 -1
  340. package/cjs/region/region.js.map +1 -1
  341. package/cjs/series/area/area-transformer.js +6 -5
  342. package/cjs/series/area/area-transformer.js.map +1 -1
  343. package/cjs/series/area/area.js +3 -2
  344. package/cjs/series/area/area.js.map +1 -1
  345. package/cjs/series/bar/bar-3d.js +2 -1
  346. package/cjs/series/bar/bar-3d.js.map +1 -1
  347. package/cjs/series/bar/bar.js +3 -2
  348. package/cjs/series/bar/bar.js.map +1 -1
  349. package/cjs/series/base/base-series-transformer.js +4 -4
  350. package/cjs/series/base/base-series-transformer.js.map +1 -1
  351. package/cjs/series/base/base-series.d.ts +9 -17
  352. package/cjs/series/base/base-series.js +45 -27
  353. package/cjs/series/base/base-series.js.map +1 -1
  354. package/cjs/series/base/tooltip-helper.d.ts +8 -5
  355. package/cjs/series/base/tooltip-helper.js +31 -23
  356. package/cjs/series/base/tooltip-helper.js.map +1 -1
  357. package/cjs/series/box-plot/box-plot.js +2 -1
  358. package/cjs/series/box-plot/box-plot.js.map +1 -1
  359. package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
  360. package/cjs/series/box-plot/tooltip-helper.js +21 -21
  361. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  362. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  363. package/cjs/series/cartesian/cartesian.js +14 -4
  364. package/cjs/series/cartesian/cartesian.js.map +1 -1
  365. package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
  366. package/cjs/series/circle-packing/tooltip-helper.js +1 -1
  367. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  368. package/cjs/series/dot/dot.js +2 -2
  369. package/cjs/series/dot/dot.js.map +1 -1
  370. package/cjs/series/dot/tooltip-helper.js +12 -12
  371. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  372. package/cjs/series/funnel/funnel.js +8 -4
  373. package/cjs/series/funnel/funnel.js.map +1 -1
  374. package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
  375. package/cjs/series/funnel/tooltip-helper.js +3 -3
  376. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  377. package/cjs/series/gauge/gauge-pointer.js +4 -3
  378. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  379. package/cjs/series/gauge/gauge.js +3 -3
  380. package/cjs/series/gauge/gauge.js.map +1 -1
  381. package/cjs/series/geo/geo.d.ts +1 -0
  382. package/cjs/series/geo/geo.js +4 -2
  383. package/cjs/series/geo/geo.js.map +1 -1
  384. package/cjs/series/heatmap/heatmap.js +2 -1
  385. package/cjs/series/heatmap/heatmap.js.map +1 -1
  386. package/cjs/series/index.d.ts +7 -3
  387. package/cjs/series/index.js +30 -2
  388. package/cjs/series/index.js.map +1 -1
  389. package/cjs/series/interface/common.d.ts +3 -2
  390. package/cjs/series/interface/common.js.map +1 -1
  391. package/cjs/series/interface/series.d.ts +7 -0
  392. package/cjs/series/interface/series.js.map +1 -1
  393. package/cjs/series/interface/theme.d.ts +2 -0
  394. package/cjs/series/interface/theme.js +3 -2
  395. package/cjs/series/interface/theme.js.map +1 -1
  396. package/cjs/series/interface/tooltip-helper.d.ts +8 -5
  397. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  398. package/cjs/series/interface/type.d.ts +6 -2
  399. package/cjs/series/interface/type.js +3 -2
  400. package/cjs/series/interface/type.js.map +1 -1
  401. package/cjs/series/line/line.js +3 -2
  402. package/cjs/series/line/line.js.map +1 -1
  403. package/cjs/series/link/link.js +3 -2
  404. package/cjs/series/link/link.js.map +1 -1
  405. package/cjs/series/link/tooltip-helper.js +8 -8
  406. package/cjs/series/link/tooltip-helper.js.map +1 -1
  407. package/cjs/series/liquid/tooltip-helper.js +2 -2
  408. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  409. package/cjs/series/map/geo-source.d.ts +3 -1
  410. package/cjs/series/map/geo-source.js +6 -1
  411. package/cjs/series/map/geo-source.js.map +1 -1
  412. package/cjs/series/map/tooltip-helper.d.ts +1 -1
  413. package/cjs/series/map/tooltip-helper.js +1 -1
  414. package/cjs/series/map/tooltip-helper.js.map +1 -1
  415. package/cjs/series/mixin/line-mixin.js +2 -2
  416. package/cjs/series/mixin/line-mixin.js.map +1 -1
  417. package/cjs/series/pie/pie-transformer.js +4 -4
  418. package/cjs/series/pie/pie-transformer.js.map +1 -1
  419. package/cjs/series/polar/polar.d.ts +2 -2
  420. package/cjs/series/polar/polar.js +17 -6
  421. package/cjs/series/polar/polar.js.map +1 -1
  422. package/cjs/series/progress/circular/circular.js +4 -2
  423. package/cjs/series/progress/circular/circular.js.map +1 -1
  424. package/cjs/series/radar/radar.js +5 -4
  425. package/cjs/series/radar/radar.js.map +1 -1
  426. package/cjs/series/range-area/range-area.d.ts +0 -2
  427. package/cjs/series/range-area/range-area.js +3 -6
  428. package/cjs/series/range-area/range-area.js.map +1 -1
  429. package/cjs/series/range-area/tooltip-helper.js +10 -10
  430. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  431. package/cjs/series/range-column/3d/range-column-3d.js +3 -2
  432. package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
  433. package/cjs/series/range-column/range-column.js +3 -2
  434. package/cjs/series/range-column/range-column.js.map +1 -1
  435. package/cjs/series/range-column/tooltip-helper.js +5 -5
  436. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  437. package/cjs/series/rose/rose.js +3 -2
  438. package/cjs/series/rose/rose.js.map +1 -1
  439. package/cjs/series/sankey/sankey.d.ts +2 -1
  440. package/cjs/series/sankey/sankey.js +51 -118
  441. package/cjs/series/sankey/sankey.js.map +1 -1
  442. package/cjs/series/sankey/tooltip-helper.js +9 -9
  443. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  444. package/cjs/series/scatter/scatter.js +2 -1
  445. package/cjs/series/scatter/scatter.js.map +1 -1
  446. package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
  447. package/cjs/series/sunburst/tooltip-helper.js +1 -1
  448. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  449. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  450. package/cjs/series/treemap/tooltip-helper.js +1 -1
  451. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  452. package/cjs/series/util/stack.js +29 -15
  453. package/cjs/series/util/stack.js.map +1 -1
  454. package/cjs/series/venn/animation.d.ts +6 -0
  455. package/cjs/series/venn/animation.js +76 -0
  456. package/cjs/series/venn/animation.js.map +1 -0
  457. package/cjs/series/venn/constant.d.ts +2 -0
  458. package/cjs/series/venn/constant.js +23 -0
  459. package/cjs/series/venn/constant.js.map +1 -0
  460. package/cjs/series/venn/interface.d.ts +21 -0
  461. package/cjs/series/venn/interface.js +6 -0
  462. package/cjs/series/venn/interface.js.map +1 -0
  463. package/cjs/series/venn/tooltip-helper.d.ts +5 -0
  464. package/cjs/series/venn/tooltip-helper.js +17 -0
  465. package/cjs/series/venn/tooltip-helper.js.map +1 -0
  466. package/cjs/series/venn/util.d.ts +1 -0
  467. package/cjs/series/venn/util.js +11 -0
  468. package/cjs/series/venn/util.js.map +1 -0
  469. package/cjs/series/venn/venn-transform.d.ts +6 -0
  470. package/cjs/series/venn/venn-transform.js +16 -0
  471. package/cjs/series/venn/venn-transform.js.map +1 -0
  472. package/cjs/series/venn/venn.d.ts +63 -0
  473. package/cjs/series/venn/venn.js +219 -0
  474. package/cjs/series/venn/venn.js.map +1 -0
  475. package/cjs/series/waterfall/interface.d.ts +6 -1
  476. package/cjs/series/waterfall/interface.js.map +1 -1
  477. package/cjs/series/waterfall/waterfall.d.ts +9 -0
  478. package/cjs/series/waterfall/waterfall.js +23 -4
  479. package/cjs/series/waterfall/waterfall.js.map +1 -1
  480. package/cjs/series/word-cloud/base.d.ts +2 -0
  481. package/cjs/series/word-cloud/base.js +11 -16
  482. package/cjs/series/word-cloud/base.js.map +1 -1
  483. package/cjs/theme/builtin/common/component/index.js +4 -0
  484. package/cjs/theme/builtin/common/component/index.js.map +1 -1
  485. package/cjs/theme/builtin/common/series/index.js +3 -2
  486. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  487. package/cjs/theme/builtin/common/series/venn.d.ts +2 -0
  488. package/cjs/theme/builtin/common/series/venn.js +60 -0
  489. package/cjs/theme/builtin/common/series/venn.js.map +1 -0
  490. package/cjs/typings/spec/chart.d.ts +2 -0
  491. package/cjs/typings/spec/chart.js.map +1 -1
  492. package/cjs/typings/spec/common.d.ts +5 -2
  493. package/cjs/typings/spec/common.js.map +1 -1
  494. package/cjs/typings/tooltip/tooltip.d.ts +1 -0
  495. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  496. package/cjs/util/data.d.ts +21 -4
  497. package/cjs/util/data.js +42 -14
  498. package/cjs/util/data.js.map +1 -1
  499. package/cjs/util/index.d.ts +1 -0
  500. package/cjs/util/index.js +4 -4
  501. package/cjs/util/index.js.map +1 -1
  502. package/cjs/util/math.d.ts +1 -1
  503. package/cjs/util/math.js +2 -3
  504. package/cjs/util/math.js.map +1 -1
  505. package/cjs/util/spec/index.d.ts +0 -5
  506. package/cjs/util/spec/index.js +1 -4
  507. package/cjs/util/spec/index.js.map +1 -1
  508. package/cjs/util/spec/transform.js.map +1 -1
  509. package/cjs/util/theme/merge-theme.js +3 -3
  510. package/cjs/util/theme/merge-theme.js.map +1 -1
  511. package/cjs/vchart-all.js +2 -2
  512. package/cjs/vchart-all.js.map +1 -1
  513. package/esm/animation/utils.d.ts +2 -2
  514. package/esm/animation/utils.js +1 -1
  515. package/esm/animation/utils.js.map +1 -1
  516. package/esm/chart/base/base-chart-transformer.js +5 -1
  517. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  518. package/esm/chart/base/base-chart.d.ts +4 -2
  519. package/esm/chart/base/base-chart.js +24 -11
  520. package/esm/chart/base/base-chart.js.map +1 -1
  521. package/esm/chart/cartesian/cartesian-transformer.js +3 -1
  522. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  523. package/esm/chart/common/common-transformer.js +3 -1
  524. package/esm/chart/common/common-transformer.js.map +1 -1
  525. package/esm/chart/common/interface.d.ts +2 -2
  526. package/esm/chart/common/interface.js.map +1 -1
  527. package/esm/chart/index.d.ts +6 -4
  528. package/esm/chart/index.js +5 -3
  529. package/esm/chart/index.js.map +1 -1
  530. package/esm/chart/interface/chart.d.ts +6 -1
  531. package/esm/chart/interface/chart.js.map +1 -1
  532. package/esm/chart/interface/type.d.ts +2 -1
  533. package/esm/chart/interface/type.js +1 -1
  534. package/esm/chart/interface/type.js.map +1 -1
  535. package/esm/chart/polar/polar-transformer.js.map +1 -1
  536. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  537. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  538. package/esm/chart/radar/radar-transformer.js +3 -1
  539. package/esm/chart/radar/radar-transformer.js.map +1 -1
  540. package/esm/chart/range-column/range-column-transformer.js +5 -1
  541. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  542. package/esm/chart/rose/rose-transformer.js +1 -1
  543. package/esm/chart/rose/rose-transformer.js.map +1 -1
  544. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  545. package/esm/chart/sequence/sequence.js +4 -1
  546. package/esm/chart/sequence/sequence.js.map +1 -1
  547. package/esm/chart/stack.js +2 -1
  548. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  549. package/esm/chart/util.js +5 -2
  550. package/esm/chart/util.js.map +1 -1
  551. package/esm/chart/venn/index.d.ts +3 -0
  552. package/esm/chart/venn/index.js +6 -0
  553. package/esm/chart/venn/index.js.map +1 -0
  554. package/esm/chart/venn/interface.d.ts +6 -0
  555. package/esm/chart/venn/interface.js +2 -0
  556. package/esm/chart/venn/interface.js.map +1 -0
  557. package/esm/chart/venn/venn-transformer.d.ts +7 -0
  558. package/esm/chart/venn/venn-transformer.js +20 -0
  559. package/esm/chart/venn/venn-transformer.js.map +1 -0
  560. package/esm/chart/venn/venn.d.ts +14 -0
  561. package/esm/chart/venn/venn.js +24 -0
  562. package/esm/chart/venn/venn.js.map +1 -0
  563. package/esm/compile/data/compilable-data.js +3 -1
  564. package/esm/compile/data/compilable-data.js.map +1 -1
  565. package/esm/compile/grammar-item.js +1 -2
  566. package/esm/compile/interface/compiler.d.ts +1 -0
  567. package/esm/compile/interface/compiler.js.map +1 -1
  568. package/esm/compile/mark/compilable-mark.d.ts +2 -1
  569. package/esm/compile/mark/compilable-mark.js +4 -0
  570. package/esm/compile/mark/compilable-mark.js.map +1 -1
  571. package/esm/compile/mark/interface.d.ts +1 -0
  572. package/esm/compile/mark/interface.js.map +1 -1
  573. package/esm/component/axis/base-axis.d.ts +2 -0
  574. package/esm/component/axis/base-axis.js +8 -1
  575. package/esm/component/axis/base-axis.js.map +1 -1
  576. package/esm/component/axis/cartesian/axis.d.ts +1 -2
  577. package/esm/component/axis/cartesian/axis.js +30 -36
  578. package/esm/component/axis/cartesian/axis.js.map +1 -1
  579. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  580. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  581. package/esm/component/axis/cartesian/time-axis.js +2 -2
  582. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  583. package/esm/component/axis/interface/spec.d.ts +2 -0
  584. package/esm/component/axis/interface/spec.js.map +1 -1
  585. package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
  586. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  587. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  588. package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
  589. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  590. package/esm/component/axis/polar/axis.d.ts +0 -1
  591. package/esm/component/axis/polar/axis.js +7 -11
  592. package/esm/component/axis/polar/axis.js.map +1 -1
  593. package/esm/component/axis/polar/interface/common.d.ts +1 -0
  594. package/esm/component/axis/polar/interface/common.js.map +1 -1
  595. package/esm/component/axis/polar/linear-axis.d.ts +5 -1
  596. package/esm/component/axis/polar/linear-axis.js +5 -1
  597. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  598. package/esm/component/axis/util.js +1 -1
  599. package/esm/component/axis/util.js.map +1 -1
  600. package/esm/component/base/base-component.d.ts +1 -0
  601. package/esm/component/base/base-component.js +14 -6
  602. package/esm/component/base/base-component.js.map +1 -1
  603. package/esm/component/base/util.js +2 -2
  604. package/esm/component/base/util.js.map +1 -1
  605. package/esm/component/common/trigger/mobile.js +1 -2
  606. package/esm/component/common/trigger/mobile.js.map +1 -1
  607. package/esm/component/crosshair/base.d.ts +1 -2
  608. package/esm/component/crosshair/base.js +4 -6
  609. package/esm/component/crosshair/base.js.map +1 -1
  610. package/esm/component/crosshair/cartesian.js +3 -5
  611. package/esm/component/crosshair/cartesian.js.map +1 -1
  612. package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
  613. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  614. package/esm/component/crosshair/interface/polar.d.ts +7 -5
  615. package/esm/component/crosshair/interface/polar.js.map +1 -1
  616. package/esm/component/crosshair/polar.js +4 -7
  617. package/esm/component/crosshair/polar.js.map +1 -1
  618. package/esm/component/crosshair/utils/cartesian.js +14 -14
  619. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  620. package/esm/component/crosshair/utils/common.js +2 -2
  621. package/esm/component/crosshair/utils/common.js.map +1 -1
  622. package/esm/component/crosshair/utils/polar.js +15 -9
  623. package/esm/component/crosshair/utils/polar.js.map +1 -1
  624. package/esm/component/custom-mark/custom-mark.d.ts +11 -4
  625. package/esm/component/custom-mark/custom-mark.js +43 -14
  626. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  627. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
  628. package/esm/component/data-zoom/data-filter-base-component.js +15 -11
  629. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  630. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
  631. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  632. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  633. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  634. package/esm/component/data-zoom/interface.d.ts +1 -4
  635. package/esm/component/data-zoom/interface.js +1 -5
  636. package/esm/component/data-zoom/interface.js.map +1 -1
  637. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  638. package/esm/component/data-zoom/util.js.map +1 -1
  639. package/esm/component/geo/geo-coordinate.js +1 -1
  640. package/esm/component/geo/geo-coordinate.js.map +1 -1
  641. package/esm/component/index.d.ts +7 -7
  642. package/esm/component/index.js +5 -5
  643. package/esm/component/index.js.map +1 -1
  644. package/esm/component/indicator/indicator.js +1 -1
  645. package/esm/component/indicator/indicator.js.map +1 -1
  646. package/esm/component/interface/theme.d.ts +4 -0
  647. package/esm/component/interface/theme.js.map +1 -1
  648. package/esm/component/interface/type.d.ts +4 -0
  649. package/esm/component/interface/type.js +3 -1
  650. package/esm/component/interface/type.js.map +1 -1
  651. package/esm/component/label/label.js +3 -4
  652. package/esm/component/label/label.js.map +1 -1
  653. package/esm/component/label/total-label.js +9 -2
  654. package/esm/component/label/total-label.js.map +1 -1
  655. package/esm/component/label/util.d.ts +9 -1
  656. package/esm/component/label/util.js +21 -6
  657. package/esm/component/label/util.js.map +1 -1
  658. package/esm/component/legend/base-legend.js +9 -4
  659. package/esm/component/legend/base-legend.js.map +1 -1
  660. package/esm/component/legend/continuous/interface.d.ts +1 -0
  661. package/esm/component/legend/continuous/interface.js.map +1 -1
  662. package/esm/component/legend/continuous/legend.js +5 -2
  663. package/esm/component/legend/continuous/legend.js.map +1 -1
  664. package/esm/component/legend/continuous/util.js +1 -1
  665. package/esm/component/legend/continuous/util.js.map +1 -1
  666. package/esm/component/legend/discrete/interface.d.ts +1 -0
  667. package/esm/component/legend/discrete/interface.js.map +1 -1
  668. package/esm/component/legend/discrete/legend.d.ts +4 -1
  669. package/esm/component/legend/discrete/legend.js +20 -9
  670. package/esm/component/legend/discrete/legend.js.map +1 -1
  671. package/esm/component/legend/discrete/util.js +4 -4
  672. package/esm/component/legend/discrete/util.js.map +1 -1
  673. package/esm/component/legend/util.d.ts +12 -2
  674. package/esm/component/legend/util.js +1 -1
  675. package/esm/component/legend/util.js.map +1 -1
  676. package/esm/component/map-label/component.js +2 -1
  677. package/esm/component/map-label/component.js.map +1 -1
  678. package/esm/component/marker/base-marker.d.ts +30 -44
  679. package/esm/component/marker/base-marker.js +101 -42
  680. package/esm/component/marker/base-marker.js.map +1 -1
  681. package/esm/component/marker/interface.d.ts +40 -13
  682. package/esm/component/marker/interface.js.map +1 -1
  683. package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
  684. package/esm/component/marker/mark-area/base-mark-area.js +105 -0
  685. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
  686. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  687. package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
  688. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  689. package/esm/component/marker/mark-area/index.d.ts +2 -1
  690. package/esm/component/marker/mark-area/index.js +3 -1
  691. package/esm/component/marker/mark-area/index.js.map +1 -1
  692. package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
  693. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  694. package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
  695. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  696. package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  697. package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
  698. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
  699. package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
  700. package/esm/component/marker/mark-line/base-mark-line.js +124 -0
  701. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
  702. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  703. package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
  704. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  705. package/esm/component/marker/mark-line/index.d.ts +2 -1
  706. package/esm/component/marker/mark-line/index.js +3 -1
  707. package/esm/component/marker/mark-line/index.js.map +1 -1
  708. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  709. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  710. package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
  711. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  712. package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  713. package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
  714. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
  715. package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  716. package/esm/component/marker/mark-point/base-mark-point.js +139 -0
  717. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
  718. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  719. package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
  720. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  721. package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  722. package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
  723. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
  724. package/esm/component/marker/mark-point/index.d.ts +3 -1
  725. package/esm/component/marker/mark-point/index.js +5 -1
  726. package/esm/component/marker/mark-point/index.js.map +1 -1
  727. package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
  728. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  729. package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
  730. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  731. package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  732. package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
  733. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
  734. package/esm/component/marker/utils.d.ts +40 -5
  735. package/esm/component/marker/utils.js +137 -8
  736. package/esm/component/marker/utils.js.map +1 -1
  737. package/esm/component/player/player.d.ts +2 -1
  738. package/esm/component/player/player.js +16 -9
  739. package/esm/component/player/player.js.map +1 -1
  740. package/esm/component/player/utils/transform.js +3 -2
  741. package/esm/component/player/utils/transform.js.map +1 -1
  742. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  743. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  744. package/esm/component/tooltip/tooltip.d.ts +1 -1
  745. package/esm/component/tooltip/tooltip.js +13 -11
  746. package/esm/component/tooltip/tooltip.js.map +1 -1
  747. package/esm/component/tooltip/utils/compose.js +3 -3
  748. package/esm/component/tooltip/utils/compose.js.map +1 -1
  749. package/esm/component/tooltip/utils/get-spec.js +2 -2
  750. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  751. package/esm/component/tooltip/utils/index.d.ts +1 -0
  752. package/esm/component/tooltip/utils/index.js +2 -0
  753. package/esm/component/tooltip/utils/index.js.map +1 -1
  754. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  755. package/esm/component/tooltip/utils/pattern.js.map +1 -0
  756. package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
  757. package/esm/component/tooltip/utils/show-tooltip.js +99 -87
  758. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  759. package/esm/core/factory.d.ts +1 -1
  760. package/esm/core/factory.js +1 -2
  761. package/esm/core/factory.js.map +1 -1
  762. package/esm/core/index.d.ts +1 -1
  763. package/esm/core/index.js +1 -1
  764. package/esm/core/index.js.map +1 -1
  765. package/esm/core/interface.d.ts +5 -1
  766. package/esm/core/interface.js.map +1 -1
  767. package/esm/core/vchart.d.ts +2 -2
  768. package/esm/core/vchart.js +42 -21
  769. package/esm/core/vchart.js.map +1 -1
  770. package/esm/data/transforms/aggregation.d.ts +12 -7
  771. package/esm/data/transforms/aggregation.js +16 -1
  772. package/esm/data/transforms/aggregation.js.map +1 -1
  773. package/esm/data/transforms/invalid-travel.d.ts +1 -1
  774. package/esm/data/transforms/invalid-travel.js +4 -2
  775. package/esm/data/transforms/invalid-travel.js.map +1 -1
  776. package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
  777. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  778. package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
  779. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  780. package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  781. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  782. package/esm/data/transforms/pie.js +2 -1
  783. package/esm/data/transforms/pie.js.map +1 -1
  784. package/esm/data/transforms/waterfall.js +5 -1
  785. package/esm/data/transforms/waterfall.js.map +1 -1
  786. package/esm/event/event-dispatcher.js +8 -1
  787. package/esm/event/event-dispatcher.js.map +1 -1
  788. package/esm/event/interface.d.ts +2 -0
  789. package/esm/event/interface.js.map +1 -1
  790. package/esm/index-lark.js +4 -4
  791. package/esm/index-lark.js.map +1 -1
  792. package/esm/index-wx.js +4 -4
  793. package/esm/index-wx.js.map +1 -1
  794. package/esm/layout/base-layout.js +6 -5
  795. package/esm/layout/base-layout.js.map +1 -1
  796. package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
  797. package/esm/layout/grid-layout/grid-layout.js +4 -4
  798. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  799. package/esm/layout/layout-item.js +1 -1
  800. package/esm/layout/layout-item.js.map +1 -1
  801. package/esm/mark/base/base-mark.js +1 -1
  802. package/esm/mark/base/base-mark.js.map +1 -1
  803. package/esm/mark/index.d.ts +20 -20
  804. package/esm/mark/index.js +25 -20
  805. package/esm/mark/index.js.map +1 -1
  806. package/esm/model/base-model-transformer.js +3 -1
  807. package/esm/model/base-model-transformer.js.map +1 -1
  808. package/esm/model/base-model.js +1 -1
  809. package/esm/model/base-model.js.map +1 -1
  810. package/esm/model/interface.d.ts +1 -0
  811. package/esm/model/interface.js.map +1 -1
  812. package/esm/model/layout-model.js +3 -2
  813. package/esm/model/layout-model.js.map +1 -1
  814. package/esm/plugin/base/base-plugin-service.d.ts +2 -0
  815. package/esm/plugin/base/base-plugin-service.js +11 -1
  816. package/esm/plugin/base/base-plugin-service.js.map +1 -1
  817. package/esm/plugin/base/interface.d.ts +3 -0
  818. package/esm/plugin/base/interface.js.map +1 -1
  819. package/esm/plugin/chart/media-query/media-query.js +3 -1
  820. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  821. package/esm/plugin/chart/media-query/util/action.js +2 -2
  822. package/esm/plugin/chart/media-query/util/action.js.map +1 -1
  823. package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
  824. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  825. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
  826. package/esm/plugin/components/tooltip-handler/base.js +3 -3
  827. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  828. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  829. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
  830. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  831. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
  832. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  833. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
  834. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  835. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
  836. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  837. package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
  838. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  839. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  840. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  841. package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  842. package/esm/plugin/components/tooltip-handler/utils/index.js +0 -2
  843. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  844. package/esm/region/interface.d.ts +2 -0
  845. package/esm/region/interface.js.map +1 -1
  846. package/esm/region/region.d.ts +1 -0
  847. package/esm/region/region.js +5 -1
  848. package/esm/region/region.js.map +1 -1
  849. package/esm/series/area/area-transformer.js +1 -1
  850. package/esm/series/area/area-transformer.js.map +1 -1
  851. package/esm/series/area/area.js +4 -1
  852. package/esm/series/area/area.js.map +1 -1
  853. package/esm/series/bar/bar-3d.js +4 -1
  854. package/esm/series/bar/bar-3d.js.map +1 -1
  855. package/esm/series/bar/bar.js +4 -1
  856. package/esm/series/bar/bar.js.map +1 -1
  857. package/esm/series/base/base-series-transformer.js +3 -1
  858. package/esm/series/base/base-series-transformer.js.map +1 -1
  859. package/esm/series/base/base-series.d.ts +9 -17
  860. package/esm/series/base/base-series.js +41 -23
  861. package/esm/series/base/base-series.js.map +1 -1
  862. package/esm/series/base/tooltip-helper.d.ts +8 -5
  863. package/esm/series/base/tooltip-helper.js +31 -23
  864. package/esm/series/base/tooltip-helper.js.map +1 -1
  865. package/esm/series/box-plot/box-plot.js +4 -1
  866. package/esm/series/box-plot/box-plot.js.map +1 -1
  867. package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
  868. package/esm/series/box-plot/tooltip-helper.js +21 -21
  869. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  870. package/esm/series/cartesian/cartesian.d.ts +1 -1
  871. package/esm/series/cartesian/cartesian.js +15 -4
  872. package/esm/series/cartesian/cartesian.js.map +1 -1
  873. package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
  874. package/esm/series/circle-packing/tooltip-helper.js +1 -1
  875. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  876. package/esm/series/dot/dot.js +1 -1
  877. package/esm/series/dot/dot.js.map +1 -1
  878. package/esm/series/dot/tooltip-helper.js +12 -12
  879. package/esm/series/dot/tooltip-helper.js.map +1 -1
  880. package/esm/series/funnel/funnel.js +8 -4
  881. package/esm/series/funnel/funnel.js.map +1 -1
  882. package/esm/series/funnel/tooltip-helper.d.ts +3 -3
  883. package/esm/series/funnel/tooltip-helper.js +3 -3
  884. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  885. package/esm/series/gauge/gauge-pointer.js +4 -1
  886. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  887. package/esm/series/gauge/gauge.js +4 -1
  888. package/esm/series/gauge/gauge.js.map +1 -1
  889. package/esm/series/geo/geo.d.ts +1 -0
  890. package/esm/series/geo/geo.js +4 -2
  891. package/esm/series/geo/geo.js.map +1 -1
  892. package/esm/series/heatmap/heatmap.js +4 -1
  893. package/esm/series/heatmap/heatmap.js.map +1 -1
  894. package/esm/series/index.d.ts +7 -3
  895. package/esm/series/index.js +6 -2
  896. package/esm/series/index.js.map +1 -1
  897. package/esm/series/interface/common.d.ts +3 -2
  898. package/esm/series/interface/common.js.map +1 -1
  899. package/esm/series/interface/series.d.ts +7 -0
  900. package/esm/series/interface/series.js.map +1 -1
  901. package/esm/series/interface/theme.d.ts +2 -0
  902. package/esm/series/interface/theme.js +4 -1
  903. package/esm/series/interface/theme.js.map +1 -1
  904. package/esm/series/interface/tooltip-helper.d.ts +8 -5
  905. package/esm/series/interface/tooltip-helper.js.map +1 -1
  906. package/esm/series/interface/type.d.ts +6 -2
  907. package/esm/series/interface/type.js +3 -2
  908. package/esm/series/interface/type.js.map +1 -1
  909. package/esm/series/line/line.js +4 -1
  910. package/esm/series/line/line.js.map +1 -1
  911. package/esm/series/link/link.js +4 -1
  912. package/esm/series/link/link.js.map +1 -1
  913. package/esm/series/link/tooltip-helper.js +8 -8
  914. package/esm/series/link/tooltip-helper.js.map +1 -1
  915. package/esm/series/liquid/tooltip-helper.js +2 -2
  916. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  917. package/esm/series/map/geo-source.d.ts +3 -1
  918. package/esm/series/map/geo-source.js +7 -2
  919. package/esm/series/map/geo-source.js.map +1 -1
  920. package/esm/series/map/tooltip-helper.d.ts +1 -1
  921. package/esm/series/map/tooltip-helper.js +1 -1
  922. package/esm/series/map/tooltip-helper.js.map +1 -1
  923. package/esm/series/mixin/line-mixin.js +1 -1
  924. package/esm/series/mixin/line-mixin.js.map +1 -1
  925. package/esm/series/pie/pie-transformer.js +1 -1
  926. package/esm/series/pie/pie-transformer.js.map +1 -1
  927. package/esm/series/polar/polar.d.ts +2 -2
  928. package/esm/series/polar/polar.js +18 -6
  929. package/esm/series/polar/polar.js.map +1 -1
  930. package/esm/series/progress/circular/circular.js +5 -2
  931. package/esm/series/progress/circular/circular.js.map +1 -1
  932. package/esm/series/radar/radar.js +5 -2
  933. package/esm/series/radar/radar.js.map +1 -1
  934. package/esm/series/range-area/range-area.d.ts +0 -2
  935. package/esm/series/range-area/range-area.js +3 -5
  936. package/esm/series/range-area/range-area.js.map +1 -1
  937. package/esm/series/range-area/tooltip-helper.js +10 -10
  938. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  939. package/esm/series/range-column/3d/range-column-3d.js +4 -1
  940. package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
  941. package/esm/series/range-column/range-column.js +3 -1
  942. package/esm/series/range-column/range-column.js.map +1 -1
  943. package/esm/series/range-column/tooltip-helper.js +5 -5
  944. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  945. package/esm/series/rose/rose.js +4 -1
  946. package/esm/series/rose/rose.js.map +1 -1
  947. package/esm/series/sankey/sankey.d.ts +2 -1
  948. package/esm/series/sankey/sankey.js +52 -119
  949. package/esm/series/sankey/sankey.js.map +1 -1
  950. package/esm/series/sankey/tooltip-helper.js +9 -9
  951. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  952. package/esm/series/scatter/scatter.js +4 -1
  953. package/esm/series/scatter/scatter.js.map +1 -1
  954. package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
  955. package/esm/series/sunburst/tooltip-helper.js +1 -1
  956. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  957. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  958. package/esm/series/treemap/tooltip-helper.js +1 -1
  959. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  960. package/esm/series/util/stack.js +28 -15
  961. package/esm/series/util/stack.js.map +1 -1
  962. package/esm/series/venn/animation.d.ts +6 -0
  963. package/esm/series/venn/animation.js +68 -0
  964. package/esm/series/venn/animation.js.map +1 -0
  965. package/esm/series/venn/constant.d.ts +2 -0
  966. package/esm/series/venn/constant.js +17 -0
  967. package/esm/series/venn/constant.js.map +1 -0
  968. package/esm/series/venn/interface.d.ts +21 -0
  969. package/esm/series/venn/interface.js +2 -0
  970. package/esm/series/venn/interface.js.map +1 -0
  971. package/esm/series/venn/tooltip-helper.d.ts +5 -0
  972. package/esm/series/venn/tooltip-helper.js +11 -0
  973. package/esm/series/venn/tooltip-helper.js.map +1 -0
  974. package/esm/series/venn/util.d.ts +1 -0
  975. package/esm/series/venn/util.js +4 -0
  976. package/esm/series/venn/util.js.map +1 -0
  977. package/esm/series/venn/venn-transform.d.ts +6 -0
  978. package/esm/series/venn/venn-transform.js +8 -0
  979. package/esm/series/venn/venn-transform.js.map +1 -0
  980. package/esm/series/venn/venn.d.ts +63 -0
  981. package/esm/series/venn/venn.js +237 -0
  982. package/esm/series/venn/venn.js.map +1 -0
  983. package/esm/series/waterfall/interface.d.ts +6 -1
  984. package/esm/series/waterfall/interface.js.map +1 -1
  985. package/esm/series/waterfall/waterfall.d.ts +9 -0
  986. package/esm/series/waterfall/waterfall.js +24 -3
  987. package/esm/series/waterfall/waterfall.js.map +1 -1
  988. package/esm/series/word-cloud/base.d.ts +2 -0
  989. package/esm/series/word-cloud/base.js +12 -17
  990. package/esm/series/word-cloud/base.js.map +1 -1
  991. package/esm/theme/builtin/common/component/index.js +4 -0
  992. package/esm/theme/builtin/common/component/index.js.map +1 -1
  993. package/esm/theme/builtin/common/series/index.js +4 -1
  994. package/esm/theme/builtin/common/series/index.js.map +1 -1
  995. package/esm/theme/builtin/common/series/venn.d.ts +2 -0
  996. package/esm/theme/builtin/common/series/venn.js +56 -0
  997. package/esm/theme/builtin/common/series/venn.js.map +1 -0
  998. package/esm/typings/spec/chart.d.ts +2 -0
  999. package/esm/typings/spec/chart.js.map +1 -1
  1000. package/esm/typings/spec/common.d.ts +5 -2
  1001. package/esm/typings/spec/common.js.map +1 -1
  1002. package/esm/typings/tooltip/tooltip.d.ts +1 -0
  1003. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1004. package/esm/util/data.d.ts +21 -4
  1005. package/esm/util/data.js +39 -10
  1006. package/esm/util/data.js.map +1 -1
  1007. package/esm/util/index.d.ts +1 -0
  1008. package/esm/util/index.js +2 -0
  1009. package/esm/util/index.js.map +1 -1
  1010. package/esm/util/math.d.ts +1 -1
  1011. package/esm/util/math.js +2 -3
  1012. package/esm/util/math.js.map +1 -1
  1013. package/esm/util/spec/index.d.ts +0 -5
  1014. package/esm/util/spec/index.js +0 -10
  1015. package/esm/util/spec/index.js.map +1 -1
  1016. package/esm/util/spec/transform.js.map +1 -1
  1017. package/esm/util/theme/merge-theme.js +1 -1
  1018. package/esm/util/theme/merge-theme.js.map +1 -1
  1019. package/esm/vchart-all.js +6 -4
  1020. package/esm/vchart-all.js.map +1 -1
  1021. package/package.json +16 -15
  1022. package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
  1023. package/cjs/component/marker/mark-area/mark-area.js +0 -128
  1024. package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
  1025. package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
  1026. package/cjs/component/marker/mark-line/mark-line.js +0 -198
  1027. package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
  1028. package/cjs/component/marker/mark-point/mark-point.js +0 -138
  1029. package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
  1030. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1031. package/cjs/util/spec/clone-deep.d.ts +0 -1
  1032. package/cjs/util/spec/clone-deep.js +0 -27
  1033. package/cjs/util/spec/clone-deep.js.map +0 -1
  1034. package/cjs/util/spec/common.d.ts +0 -3
  1035. package/cjs/util/spec/common.js +0 -23
  1036. package/cjs/util/spec/common.js.map +0 -1
  1037. package/cjs/util/spec/merge-spec.d.ts +0 -5
  1038. package/cjs/util/spec/merge-spec.js +0 -69
  1039. package/cjs/util/spec/merge-spec.js.map +0 -1
  1040. package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
  1041. package/esm/component/marker/mark-area/mark-area.js +0 -134
  1042. package/esm/component/marker/mark-area/mark-area.js.map +0 -1
  1043. package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
  1044. package/esm/component/marker/mark-line/mark-line.js +0 -213
  1045. package/esm/component/marker/mark-line/mark-line.js.map +0 -1
  1046. package/esm/component/marker/mark-point/mark-point.js +0 -147
  1047. package/esm/component/marker/mark-point/mark-point.js.map +0 -1
  1048. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1049. package/esm/util/spec/clone-deep.d.ts +0 -1
  1050. package/esm/util/spec/clone-deep.js +0 -20
  1051. package/esm/util/spec/clone-deep.js.map +0 -1
  1052. package/esm/util/spec/common.d.ts +0 -3
  1053. package/esm/util/spec/common.js +0 -15
  1054. package/esm/util/spec/common.js.map +0 -1
  1055. package/esm/util/spec/merge-spec.d.ts +0 -5
  1056. package/esm/util/spec/merge-spec.js +0 -57
  1057. package/esm/util/spec/merge-spec.js.map +0 -1
  1058. /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
  1059. /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, TimeUtil } from '@visactor/vutils';\nimport type { ITooltipLinePattern, ITooltipPattern, TooltipData, ITooltipLineActual } from '../../../typings/tooltip';\nimport {\n getFirstDatumFromTooltipData,\n getTooltipContentPattern,\n getTooltipContentValue,\n getTooltipPatternValue\n} from './get-value';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\nimport { getTooltipActualActiveType } from '.';\nimport type { TooltipActualTitleContent, TooltipHandlerParams } from '..';\nimport type { Datum } from '../../../typings';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape, valueFormatter } =\n patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(\n getTooltipContentValue(value, datum, params, valueFormatter),\n valueTimeFormat,\n valueTimeFormatMode\n ),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = getTooltipContentPattern(pattern.content, data, params);\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n\n const getTooltipContentFromDatumList = (datumList?: Datum[]) => {\n if (datumList?.length) {\n for (const datum of datumList) {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData(datum, content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n }\n }\n };\n\n switch (pattern.activeType) {\n case 'mark':\n getTooltipContentFromDatumList((data as IDimensionData[])[0]?.datum);\n break;\n case 'group':\n getTooltipContentFromDatumList(params.groupDatum);\n break;\n case 'dimension':\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum: datumList, series } of d) {\n if (!getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension')) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datum of datumList) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datum, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n break;\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: ITooltipLinePattern,\n params: TooltipHandlerParams\n): ITooltipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params, config.keyFormatter),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params, config.valueFormatter),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, TimeUtil } from '@visactor/vutils';\nimport type { ITooltipLinePattern, ITooltipPattern, TooltipData, ITooltipLineActual } from '../../../typings/tooltip';\nimport {\n getFirstDatumFromTooltipData,\n getTooltipContentPattern,\n getTooltipContentValue,\n getTooltipPatternValue\n} from './get-value';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\nimport { getTooltipActualActiveType } from '.';\nimport type { TooltipActualTitleContent, TooltipHandlerParams } from '..';\nimport type { Datum } from '../../../typings';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape, valueFormatter } =\n patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(\n getTooltipContentValue(value, datum, params, valueFormatter),\n valueTimeFormat,\n valueTimeFormatMode\n ),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = getTooltipContentPattern(pattern.content, data, params);\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n const othersLine = pattern.othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...pattern.othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n\n const getTooltipContentFromDatumList = (datumList?: Datum[]) => {\n if (datumList?.length) {\n for (const datum of datumList) {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData(datum, content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n }\n }\n };\n\n switch (pattern.activeType) {\n case 'mark':\n getTooltipContentFromDatumList((data as IDimensionData[])[0]?.datum);\n break;\n case 'group':\n getTooltipContentFromDatumList(params.groupDatum);\n break;\n case 'dimension':\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum: datumList, series } of d) {\n if (!getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension')) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datum of datumList) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datum, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n break;\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: ITooltipLinePattern,\n params: TooltipHandlerParams\n): ITooltipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params, config.keyFormatter),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params, config.valueFormatter),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
- import { mergeSpec } from "../../../util/spec/merge-spec";
1
+ import { mergeSpec } from "@visactor/vutils-extension";
2
2
 
3
- import { makeDefaultPattern } from "../../../plugin/components/tooltip-handler/utils/pattern";
3
+ import { makeDefaultPattern } from "./pattern";
4
4
 
5
5
  import { memoize, isValid, array, isFunction, isNil, cloneDeep } from "@visactor/vutils";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type {\n ITooltipLinePattern,\n ITooltipPattern,\n ITooltipShapePattern,\n MaybeArray,\n TooltipActiveType,\n TooltipPatternProperty\n} from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { makeDefaultPattern } from '../../../plugin/components/tooltip-handler/utils/pattern';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { memoize, isValid, array, isFunction, isNil, cloneDeep } from '@visactor/vutils';\nimport type { ITooltipSpec, ITooltipTheme } from '..';\nimport { getTooltipActualActiveType } from '.';\nimport {\n addExtraInfoToTooltipContentPattern,\n addExtraInfoToTooltipTitlePattern\n} from '../../../series/base/tooltip-helper';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n\n const { style = {} } = globalSpec;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n\n // visible\n if (isValid(seriesSpec.visible) || isValid(seriesSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(seriesSpec).includes(activeType);\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes(activeType);\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler ?? globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n\n // visible\n if (seriesList.every(series => !getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension'))) {\n finalSpec.visible = false;\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('dimension');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n }\n\n // 默认的 pattern\n const defaultPattern = getDefaultTooltipPattern(activeType, series, dimensionInfo);\n // 来自系列的 pattern\n const seriesPattern = getSeriesTooltipPattern(activeType, series, dimensionInfo);\n // 来自用户配置的 pattern\n const userPattern: ITooltipPattern = mergeSpec({}, cloneDeep(globalSpec[activeType]), seriesPattern);\n\n // 对pattern进行组装\n // 组装 title\n const defaultPatternTitle = defaultPattern.title as ITooltipLinePattern | undefined;\n const titleShape: ITooltipShapePattern = getShapePattern(\n undefined,\n userPattern,\n style.shape,\n undefined,\n defaultPatternTitle\n );\n if (isValid(userPattern.title)) {\n userPattern.title = addExtraInfoToTooltipTitlePattern(userPattern.title, {\n ...defaultPatternTitle,\n ...titleShape // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n });\n } else {\n userPattern.title = addExtraInfoToTooltipTitlePattern(\n defaultPatternTitle,\n titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n true\n );\n }\n\n // 组装 content\n const defaultPatternContent = array(defaultPattern.content) as ITooltipLinePattern[];\n if (isValid(userPattern.content)) {\n const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);\n userPattern.content = addExtraInfoToTooltipContentPattern(\n userPattern.content,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n userLine => getShapePattern(userLine, userPattern, style.shape, shapePatternMap)\n );\n } else {\n userPattern.content = addExtraInfoToTooltipContentPattern(\n defaultPatternContent,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n line => getShapePattern(undefined, userPattern, style.shape, undefined, line),\n true\n );\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n\n/** 获取默认 tooltip pattern */\nconst getDefaultTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let defaultPattern = {} as ITooltipPattern;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n defaultPattern = makeDefaultPattern(series, activeType) ?? {};\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n const patternList: ITooltipPattern[] = [];\n dimensionInfo.forEach(({ data }) =>\n data.forEach(data => {\n const { series } = data;\n const mockDimensionInfo = [\n {\n ...dimensionInfo[0],\n data: [data]\n }\n ] as IDimensionInfo[];\n const pattern = makeDefaultPattern(series, 'dimension', mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n })\n );\n // 拼接默认 tooltip content\n const defaultPatternContent: Array<TooltipPatternProperty<MaybeArray<ITooltipLinePattern>>> = [];\n patternList.forEach(({ content }) => {\n if (isFunction(content)) {\n defaultPatternContent.push(content);\n } else {\n defaultPatternContent.push(...array(content));\n }\n });\n defaultPattern = {\n ...patternList[0],\n content: defaultPatternContent\n };\n }\n break;\n }\n return defaultPattern;\n};\n\n/** 获取来自系列 spec 的 tooltip pattern */\nconst getSeriesTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let seriesPattern = {} as ITooltipPattern;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n seriesPattern = seriesSpec[activeType] ? cloneDeep(seriesSpec[activeType]) : {};\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n // dimension tooltip\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n const seriesPatternList = seriesList\n .filter(series => {\n const spec = series.tooltipHelper?.spec;\n return isValid(spec?.dimension) && getTooltipActualActiveType(spec).includes('dimension');\n })\n .map(series => series.tooltipHelper.spec.dimension);\n if (seriesPatternList.length) {\n // 拼接系列 tooltip content\n let seriesPatternContent: Array<TooltipPatternProperty<MaybeArray<ITooltipLinePattern>>> | undefined = [];\n if (seriesPatternList.every(({ content }) => isNil(content))) {\n seriesPatternContent = undefined;\n } else {\n seriesPatternList.forEach(({ content }) => {\n if (isNil(content)) {\n return;\n }\n if (isFunction(content)) {\n seriesPatternContent?.push(content);\n } else {\n seriesPatternContent?.push(...array(content));\n }\n });\n }\n seriesPattern = {\n ...seriesPatternList[0],\n content: seriesPatternContent\n };\n }\n }\n break;\n }\n return seriesPattern;\n};\n\nconst getSeriesListFromDimensionInfo = memoize((dimensionInfo: IDimensionInfo[]): ISeries[] => {\n return dimensionInfo.reduce(\n (list, cur) => list.concat(cur.data.map(data => data.series).filter(isValid)),\n [] as ISeries[]\n );\n});\n\n/** 获取每个系列对应的 shape pattern */\nconst getShapePatternMapOfEachSeries = (content: ITooltipLinePattern[]): Record<number, ITooltipShapePattern> => {\n const shapePatternMap: Record<number, ITooltipShapePattern> = {};\n content.forEach(line => {\n const key = line.seriesId ?? 0;\n if (!shapePatternMap[key]) {\n shapePatternMap[key] = line;\n }\n });\n return shapePatternMap;\n};\n\n/** 根据优先级获取形状配置 */\nconst getShapePattern = (\n userLinePattern?: ITooltipLinePattern,\n userPattern?: ITooltipPattern,\n userStyle?: ITooltipTheme['shape'],\n shapePatternMap?: Record<number, ITooltipShapePattern>,\n defaultShapePattern?: ITooltipShapePattern\n): ITooltipShapePattern => {\n if (userStyle) {\n userStyle.shapeSize = userStyle.shapeSize ?? userStyle.size; // 兼容旧配置\n }\n const shapePatternFromMap = shapePatternMap?.[userLinePattern?.seriesId ?? 0] ?? shapePatternMap?.[0];\n\n const maps = [userLinePattern, userPattern, userStyle, shapePatternFromMap, defaultShapePattern].filter(isValid);\n\n const shapeKeys: Set<keyof ITooltipShapePattern> = new Set(\n maps\n .reduce((keys, cur) => keys.concat(Object.keys(cur)), [] as string[])\n .filter(key => key.toLowerCase().includes('shape')) as any[]\n );\n\n const shapePattern: ITooltipShapePattern = {};\n shapeKeys.forEach(key => {\n let value;\n let i = 0;\n do {\n value = maps[i++][key];\n } while (i < maps.length && isNil(value));\n if (value !== undefined) {\n shapePattern[key as any] = value;\n }\n });\n return shapePattern;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type {\n ITooltipLinePattern,\n ITooltipPattern,\n ITooltipShapePattern,\n MaybeArray,\n TooltipActiveType,\n TooltipPatternProperty\n} from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { makeDefaultPattern } from './pattern';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { memoize, isValid, array, isFunction, isNil, cloneDeep } from '@visactor/vutils';\nimport type { ITooltipSpec, ITooltipTheme } from '..';\nimport { getTooltipActualActiveType } from '.';\nimport {\n addExtraInfoToTooltipContentPattern,\n addExtraInfoToTooltipTitlePattern\n} from '../../../series/base/tooltip-helper';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n\n const { style = {} } = globalSpec;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n\n // visible\n if (isValid(seriesSpec.visible) || isValid(seriesSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(seriesSpec).includes(activeType);\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes(activeType);\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler ?? globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n\n // visible\n if (seriesList.every(series => !getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension'))) {\n finalSpec.visible = false;\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('dimension');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n }\n\n // 默认的 pattern\n const defaultPattern = getDefaultTooltipPattern(activeType, series, dimensionInfo);\n // 来自系列的 pattern\n const seriesPattern = getSeriesTooltipPattern(activeType, series, dimensionInfo);\n // 来自用户配置的 pattern\n const userPattern: ITooltipPattern = mergeSpec({}, cloneDeep(globalSpec[activeType]), seriesPattern);\n\n // 对pattern进行组装\n // 组装 title\n const defaultPatternTitle = defaultPattern.title as ITooltipLinePattern | undefined;\n const titleShape: ITooltipShapePattern = getShapePattern(\n undefined,\n userPattern,\n style.shape,\n undefined,\n defaultPatternTitle\n );\n if (isValid(userPattern.title)) {\n userPattern.title = addExtraInfoToTooltipTitlePattern(userPattern.title, {\n ...defaultPatternTitle,\n ...titleShape // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n });\n } else {\n userPattern.title = addExtraInfoToTooltipTitlePattern(\n defaultPatternTitle,\n titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n true\n );\n }\n\n // 组装 content\n const defaultPatternContent = array(defaultPattern.content) as ITooltipLinePattern[];\n if (isValid(userPattern.content)) {\n const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);\n userPattern.content = addExtraInfoToTooltipContentPattern(\n userPattern.content,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n userLine => getShapePattern(userLine, userPattern, style.shape, shapePatternMap)\n );\n } else {\n userPattern.content = addExtraInfoToTooltipContentPattern(\n defaultPatternContent,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n line => getShapePattern(undefined, userPattern, style.shape, undefined, line),\n true\n );\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n\n/** 获取默认 tooltip pattern */\nconst getDefaultTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let defaultPattern = {} as ITooltipPattern;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n defaultPattern = makeDefaultPattern(series, activeType) ?? {};\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n const patternList: ITooltipPattern[] = [];\n dimensionInfo.forEach(({ data }) =>\n data.forEach(data => {\n const { series } = data;\n const mockDimensionInfo = [\n {\n ...dimensionInfo[0],\n data: [data]\n }\n ] as IDimensionInfo[];\n const pattern = makeDefaultPattern(series, 'dimension', mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n })\n );\n // 拼接默认 tooltip content\n const defaultPatternContent: Array<TooltipPatternProperty<MaybeArray<ITooltipLinePattern>>> = [];\n patternList.forEach(({ content }) => {\n if (isFunction(content)) {\n defaultPatternContent.push(content);\n } else {\n defaultPatternContent.push(...array(content));\n }\n });\n defaultPattern = {\n ...patternList[0],\n content: defaultPatternContent\n };\n }\n break;\n }\n return defaultPattern;\n};\n\n/** 获取来自系列 spec 的 tooltip pattern */\nconst getSeriesTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let seriesPattern = {} as ITooltipPattern;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n seriesPattern = seriesSpec[activeType] ? cloneDeep(seriesSpec[activeType]) : {};\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n // dimension tooltip\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n const seriesPatternList = seriesList\n .filter(series => {\n const spec = series.tooltipHelper?.spec;\n return isValid(spec?.dimension) && getTooltipActualActiveType(spec).includes('dimension');\n })\n .map(series => series.tooltipHelper.spec.dimension);\n if (seriesPatternList.length) {\n // 拼接系列 tooltip content\n let seriesPatternContent: Array<TooltipPatternProperty<MaybeArray<ITooltipLinePattern>>> | undefined = [];\n if (seriesPatternList.every(({ content }) => isNil(content))) {\n seriesPatternContent = undefined;\n } else {\n seriesPatternList.forEach(({ content }) => {\n if (isNil(content)) {\n return;\n }\n if (isFunction(content)) {\n seriesPatternContent?.push(content);\n } else {\n seriesPatternContent?.push(...array(content));\n }\n });\n }\n seriesPattern = {\n ...seriesPatternList[0],\n content: seriesPatternContent\n };\n }\n }\n break;\n }\n return seriesPattern;\n};\n\nconst getSeriesListFromDimensionInfo = memoize((dimensionInfo: IDimensionInfo[]): ISeries[] => {\n return dimensionInfo.reduce(\n (list, cur) => list.concat(cur.data.map(data => data.series).filter(isValid)),\n [] as ISeries[]\n );\n});\n\n/** 获取每个系列对应的 shape pattern */\nconst getShapePatternMapOfEachSeries = (content: ITooltipLinePattern[]): Record<number, ITooltipShapePattern> => {\n const shapePatternMap: Record<number, ITooltipShapePattern> = {};\n content.forEach(line => {\n const key = line.seriesId ?? 0;\n if (!shapePatternMap[key]) {\n shapePatternMap[key] = line;\n }\n });\n return shapePatternMap;\n};\n\n/** 根据优先级获取形状配置 */\nconst getShapePattern = (\n userLinePattern?: ITooltipLinePattern,\n userPattern?: ITooltipPattern,\n userStyle?: ITooltipTheme['shape'],\n shapePatternMap?: Record<number, ITooltipShapePattern>,\n defaultShapePattern?: ITooltipShapePattern\n): ITooltipShapePattern => {\n if (userStyle) {\n userStyle.shapeSize = userStyle.shapeSize ?? userStyle.size; // 兼容旧配置\n }\n const shapePatternFromMap = shapePatternMap?.[userLinePattern?.seriesId ?? 0] ?? shapePatternMap?.[0];\n\n const maps = [userLinePattern, userPattern, userStyle, shapePatternFromMap, defaultShapePattern].filter(isValid);\n\n const shapeKeys: Set<keyof ITooltipShapePattern> = new Set(\n maps\n .reduce((keys, cur) => keys.concat(Object.keys(cur)), [] as string[])\n .filter(key => key.toLowerCase().includes('shape')) as any[]\n );\n\n const shapePattern: ITooltipShapePattern = {};\n shapeKeys.forEach(key => {\n let value;\n let i = 0;\n do {\n value = maps[i++][key];\n } while (i < maps.length && isNil(value));\n if (value !== undefined) {\n shapePattern[key as any] = value;\n }\n });\n return shapePattern;\n};\n"]}
@@ -3,3 +3,4 @@ export * from './common';
3
3
  export * from './get-spec';
4
4
  export * from './get-value';
5
5
  export * from './compose';
6
+ export * from './pattern';
@@ -7,4 +7,6 @@ export * from "./get-spec";
7
7
  export * from "./get-value";
8
8
 
9
9
  export * from "./compose";
10
+
11
+ export * from "./pattern";
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["export * from './show-tooltip';\nexport * from './common';\nexport * from './get-spec';\nexport * from './get-value';\nexport * from './compose';\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["export * from './show-tooltip';\nexport * from './common';\nexport * from './get-spec';\nexport * from './get-value';\nexport * from './compose';\nexport * from './pattern';\n"]}
@@ -1,4 +1,4 @@
1
- import type { IDimensionInfo } from '../../../../event/events/dimension/interface';
2
- import type { ISeries } from '../../../../series/interface';
3
- import type { ITooltipPattern, TooltipActiveType } from '../../../../typings';
1
+ import type { IDimensionInfo } from '../../../event/events/dimension/interface';
2
+ import type { ISeries } from '../../../series/interface';
3
+ import type { ITooltipPattern, TooltipActiveType } from '../../../typings';
4
4
  export declare const makeDefaultPattern: (series: ISeries, activeType: TooltipActiveType, dimensionInfo?: IDimensionInfo[]) => ITooltipPattern | null;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/component/tooltip/utils/pattern.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAe,EACf,UAA6B,EAC7B,aAAgC,EACR,EAAE;;IAC1B,OAAO,MAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,wBAAwB,CAAC,UAAU,EAAE,aAAa,CAAC,mCAAI,IAAI,CAAC;AAC3F,CAAC,CAAC","file":"pattern.js","sourcesContent":["import type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport type { ISeries } from '../../../series/interface';\nimport type { ITooltipPattern, TooltipActiveType } from '../../../typings';\n\n/**\n * 根据图表上下文生成默认的tooltip pattern\n * @param activeType\n * @param series\n * @param dimensionInfo\n * @returns\n */\nexport const makeDefaultPattern = (\n series: ISeries,\n activeType: TooltipActiveType,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern | null => {\n return series.tooltipHelper?.getDefaultTooltipPattern(activeType, dimensionInfo) ?? null;\n};\n"]}
@@ -1,3 +1,20 @@
1
- import type { Datum, IShowTooltipOption, ITooltipHandler, TooltipActiveType } from '../../../typings';
2
- import type { IComponentOption } from '../../interface';
3
- export declare function showTooltip(datum: Datum, options: IShowTooltipOption, tooltipHandler: ITooltipHandler, componentOptions: IComponentOption): TooltipActiveType | 'none';
1
+ import type { Datum, IPoint, IShowTooltipOption, TooltipActiveType } from '../../../typings';
2
+ import type { ISeries } from '../../../series/interface';
3
+ import type { IRegion } from '../../../region';
4
+ import type { Tooltip } from '../tooltip';
5
+ type MarkInfo = {
6
+ pos: IPoint;
7
+ data: {
8
+ dimensionFields: string[];
9
+ measureFields: string[];
10
+ dimensionData?: any[];
11
+ measureData?: any[];
12
+ hasMeasureData?: boolean;
13
+ groupField?: string;
14
+ groupData?: any;
15
+ };
16
+ series: ISeries;
17
+ };
18
+ export declare function showTooltip(datum: Datum, options: IShowTooltipOption, component: Tooltip): TooltipActiveType | 'none';
19
+ export declare const getMarkInfoList: (datum: Datum, region: IRegion) => MarkInfo[];
20
+ export {};
@@ -8,14 +8,105 @@ import { VChart } from "../../../core/vchart";
8
8
 
9
9
  const getDataArrayFromFieldArray = (fields, datum) => isValid(datum) ? fields.map((f => datum[f])) : void 0, datumContainsArray = (fields, data) => datum => fields.every(((key, i) => datum[key] === (null == data ? void 0 : data[i]))), hasData = data => !isNil(data) && (isArray(data) ? data.length > 0 && data.every(isValid) : Object.keys(data).length > 0);
10
10
 
11
- export function showTooltip(datum, options, tooltipHandler, componentOptions) {
12
- var _a, _b, _c, _d, _e;
11
+ export function showTooltip(datum, options, component) {
12
+ var _a, _b, _c;
13
13
  const opt = Object.assign({
14
14
  regionIndex: 0
15
- }, options), region = componentOptions.getRegionsInUserIdOrIndex(isValid(opt.regionId) ? [ opt.regionId ] : void 0, isValid(opt.regionIndex) ? [ opt.regionIndex ] : void 0)[0];
15
+ }, options), componentOptions = component.getOption(), region = componentOptions.getRegionsInUserIdOrIndex(isValid(opt.regionId) ? [ opt.regionId ] : void 0, isValid(opt.regionIndex) ? [ opt.regionIndex ] : void 0)[0];
16
16
  if (!region) return "none";
17
+ const markInfoList = getMarkInfoList(datum, region), activeType = null !== (_a = opt.activeType) && void 0 !== _a ? _a : markInfoList.length > 1 ? "dimension" : "mark", regionPos = region.getLayoutStartPoint(), regionRect = region.getLayoutRect(), container = componentOptions.globalInstance.getContainer(), containerPos = Object.assign({
18
+ x: 0,
19
+ y: 0
20
+ }, container ? getElementAbsolutePosition(container) : {}), getOriginDatum = info => {
21
+ var _a;
22
+ const {dimensionFields: dimensionFields, dimensionData: dimensionData, measureFields: measureFields, measureData: measureData, groupField: groupField, groupData: groupData} = info.data, originDatum = null === (_a = info.series.getViewData()) || void 0 === _a ? void 0 : _a.latestData.find((datum => datumContainsArray(dimensionFields, dimensionData)(datum) && datumContainsArray(measureFields, measureData)(datum) && (isNil(groupField) || datumContainsArray([ groupField ], [ groupData ])(datum))));
23
+ return originDatum;
24
+ }, getMockEvent = originPos => {
25
+ var _a, _b;
26
+ const pos = (pos => ({
27
+ x: Math.min(Math.max(pos.x, 0), regionRect.width),
28
+ y: Math.min(Math.max(pos.y, 0), regionRect.height)
29
+ }))(originPos), canvasX = null !== (_a = opt.x) && void 0 !== _a ? _a : regionPos.x + pos.x, canvasY = null !== (_b = opt.y) && void 0 !== _b ? _b : regionPos.y + pos.y;
30
+ return {
31
+ canvasX: canvasX,
32
+ canvasY: canvasY,
33
+ clientX: containerPos.x + canvasX,
34
+ clientY: containerPos.y + canvasY
35
+ };
36
+ };
37
+ if ("dimension" === activeType) {
38
+ const firstInfo = markInfoList[0];
39
+ if (!firstInfo) return "none";
40
+ const markInfoSeriesMap = new Map;
41
+ markInfoList.forEach((info => {
42
+ var _a;
43
+ markInfoSeriesMap.has(info.series) || markInfoSeriesMap.set(info.series, []), null === (_a = markInfoSeriesMap.get(info.series)) || void 0 === _a || _a.push(info);
44
+ }));
45
+ const mockDimensionInfo = [ {
46
+ value: datum[firstInfo.data.dimensionFields[0]],
47
+ data: [ ...markInfoSeriesMap.keys() ].map((series => {
48
+ var _a, _b;
49
+ return {
50
+ series: series,
51
+ datum: null !== (_b = null === (_a = markInfoSeriesMap.get(series)) || void 0 === _a ? void 0 : _a.map((info => getOriginDatum(info)))) && void 0 !== _b ? _b : []
52
+ };
53
+ }))
54
+ } ], mockParams = {
55
+ changePositionOnly: !1,
56
+ action: "enter",
57
+ tooltip: null,
58
+ dimensionInfo: mockDimensionInfo,
59
+ chart: null !== (_b = componentOptions.globalInstance.getChart()) && void 0 !== _b ? _b : void 0,
60
+ datum: void 0,
61
+ model: void 0,
62
+ source: Event_Source_Type.chart,
63
+ event: getMockEvent({
64
+ x: markInfoList.reduce(((sum, info) => sum + info.pos.x), 0) / markInfoList.length,
65
+ y: markInfoList.reduce(((sum, info) => sum + info.pos.y), 0) / markInfoList.length
66
+ }),
67
+ item: void 0,
68
+ itemMap: new Map
69
+ };
70
+ component.processor.dimension.showTooltip(mockDimensionInfo, mockParams, !1);
71
+ const vchart = componentOptions.globalInstance;
72
+ return VChart.globalConfig.uniqueTooltip && VChart.hideTooltip(vchart.id), activeType;
73
+ }
74
+ if ("mark" === activeType) {
75
+ const info = markInfoList[0];
76
+ if (!info) return "none";
77
+ const mockDatum = Object.assign(Object.assign({}, getOriginDatum(info)), datum), mockDimensionData = [ {
78
+ datum: [ mockDatum ],
79
+ series: info.series
80
+ } ], mockDimensionInfo = [ {
81
+ value: mockDatum[info.data.dimensionFields[0]],
82
+ data: mockDimensionData
83
+ } ], mockParams = {
84
+ changePositionOnly: !1,
85
+ tooltip: null,
86
+ dimensionInfo: mockDimensionInfo,
87
+ chart: null !== (_c = componentOptions.globalInstance.getChart()) && void 0 !== _c ? _c : void 0,
88
+ datum: mockDatum,
89
+ model: info.series,
90
+ source: Event_Source_Type.chart,
91
+ event: getMockEvent(info.pos),
92
+ item: void 0,
93
+ itemMap: new Map
94
+ };
95
+ component.processor.mark.showTooltip({
96
+ datum: mockDatum,
97
+ mark: null,
98
+ series: info.series,
99
+ dimensionInfo: mockDimensionInfo
100
+ }, mockParams, !1);
101
+ const vchart = componentOptions.globalInstance;
102
+ return VChart.globalConfig.uniqueTooltip && VChart.hideTooltip(vchart.id), activeType;
103
+ }
104
+ return "none";
105
+ }
106
+
107
+ export const getMarkInfoList = (datum, region) => {
17
108
  const seriesList = region.getSeries(), markInfoList = [];
18
- seriesList.forEach((series => {
109
+ return seriesList.forEach((series => {
19
110
  var _a, _b, _c, _d, _e, _f, _g, _h;
20
111
  const dimensionFields = series.getDimensionField(), measureFields = series.getMeasureField(), groupField = series.getSeriesField(), groupData = isValid(groupField) ? datum[groupField] : void 0, groupDomain = isValid(groupField) && null !== (_d = null === (_c = null === (_b = null === (_a = series.getViewDataStatistics) || void 0 === _a ? void 0 : _a.call(series)) || void 0 === _b ? void 0 : _b.latestData[groupField]) || void 0 === _c ? void 0 : _c.values) && void 0 !== _d ? _d : [], dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);
21
112
  let measureData = getDataArrayFromFieldArray(measureFields, datum);
@@ -137,10 +228,10 @@ export function showTooltip(datum, options, tooltipHandler, componentOptions) {
137
228
  });
138
229
  }
139
230
  } else if ("geo" === series.coordinate) {
140
- const gs = series, originDatum = null === (_h = gs.getViewData()) || void 0 === _h ? void 0 : _h.latestData.find(datumContainsArray(dimensionFields, dimensionData));
231
+ const geoSeries = series, originDatum = null === (_h = geoSeries.getViewData()) || void 0 === _h ? void 0 : _h.latestData.find(datumContainsArray(dimensionFields, dimensionData));
141
232
  if (!hasMeasureData && (measureData = getDataArrayFromFieldArray(measureFields, originDatum),
142
233
  !hasData(measureData))) return;
143
- const pos = gs.dataToPosition(originDatum);
234
+ const pos = geoSeries.dataToPosition(originDatum);
144
235
  if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) return;
145
236
  markInfoList.push({
146
237
  pos: pos,
@@ -156,85 +247,6 @@ export function showTooltip(datum, options, tooltipHandler, componentOptions) {
156
247
  series: series
157
248
  });
158
249
  }
159
- }));
160
- const activeType = null !== (_a = opt.activeType) && void 0 !== _a ? _a : markInfoList.length > 1 ? "dimension" : "mark", regionPos = region.getLayoutStartPoint(), regionRect = region.getLayoutRect(), container = componentOptions.globalInstance.getContainer(), containerPos = Object.assign({
161
- x: 0,
162
- y: 0
163
- }, container ? getElementAbsolutePosition(container) : {}), getOriginDatum = info => {
164
- var _a;
165
- const {dimensionFields: dimensionFields, dimensionData: dimensionData, measureFields: measureFields, measureData: measureData, groupField: groupField, groupData: groupData} = info.data, originDatum = null === (_a = info.series.getViewData()) || void 0 === _a ? void 0 : _a.latestData.find((datum => datumContainsArray(dimensionFields, dimensionData)(datum) && datumContainsArray(measureFields, measureData)(datum) && (isNil(groupField) || datumContainsArray([ groupField ], [ groupData ])(datum))));
166
- return originDatum;
167
- }, getMockEvent = originPos => {
168
- var _a, _b;
169
- const pos = (pos => ({
170
- x: Math.min(Math.max(pos.x, 0), regionRect.width),
171
- y: Math.min(Math.max(pos.y, 0), regionRect.height)
172
- }))(originPos), canvasX = null !== (_a = opt.x) && void 0 !== _a ? _a : regionPos.x + pos.x, canvasY = null !== (_b = opt.y) && void 0 !== _b ? _b : regionPos.y + pos.y;
173
- return {
174
- canvasX: canvasX,
175
- canvasY: canvasY,
176
- clientX: containerPos.x + canvasX,
177
- clientY: containerPos.y + canvasY
178
- };
179
- };
180
- if ("dimension" === activeType) {
181
- const firstInfo = markInfoList[0];
182
- if (!firstInfo) return "none";
183
- const markInfoSeriesMap = new Map;
184
- markInfoList.forEach((info => {
185
- var _a;
186
- markInfoSeriesMap.has(info.series) || markInfoSeriesMap.set(info.series, []), null === (_a = markInfoSeriesMap.get(info.series)) || void 0 === _a || _a.push(info);
187
- }));
188
- const mockDimensionInfo = [ {
189
- value: datum[firstInfo.data.dimensionFields[0]],
190
- data: [ ...markInfoSeriesMap.keys() ].map((series => {
191
- var _a, _b;
192
- return {
193
- series: series,
194
- datum: null !== (_b = null === (_a = markInfoSeriesMap.get(series)) || void 0 === _a ? void 0 : _a.map((info => getOriginDatum(info)))) && void 0 !== _b ? _b : []
195
- };
196
- }))
197
- } ], mockParams = {
198
- changePositionOnly: !1,
199
- action: "enter",
200
- tooltip: null,
201
- dimensionInfo: mockDimensionInfo,
202
- chart: null !== (_b = componentOptions.globalInstance.getChart()) && void 0 !== _b ? _b : void 0,
203
- datum: void 0,
204
- model: void 0,
205
- source: Event_Source_Type.chart,
206
- event: getMockEvent({
207
- x: markInfoList.reduce(((sum, info) => sum + info.pos.x), 0) / markInfoList.length,
208
- y: markInfoList.reduce(((sum, info) => sum + info.pos.y), 0) / markInfoList.length
209
- }),
210
- item: void 0,
211
- itemMap: new Map
212
- };
213
- null === (_c = null == tooltipHandler ? void 0 : tooltipHandler.showTooltip) || void 0 === _c || _c.call(tooltipHandler, activeType, mockDimensionInfo, mockParams);
214
- const vchart = componentOptions.globalInstance;
215
- return VChart.globalConfig.uniqueTooltip && VChart.hideTooltip(vchart.id), activeType;
216
- }
217
- if ("mark" === activeType) {
218
- const info = markInfoList[0];
219
- if (!info) return "none";
220
- const mockDatum = Object.assign(Object.assign({}, getOriginDatum(info)), datum), mockParams = {
221
- changePositionOnly: !1,
222
- tooltip: null,
223
- chart: null !== (_d = componentOptions.globalInstance.getChart()) && void 0 !== _d ? _d : void 0,
224
- datum: mockDatum,
225
- model: info.series,
226
- source: Event_Source_Type.chart,
227
- event: getMockEvent(info.pos),
228
- item: void 0,
229
- itemMap: new Map
230
- };
231
- null === (_e = null == tooltipHandler ? void 0 : tooltipHandler.showTooltip) || void 0 === _e || _e.call(tooltipHandler, activeType, [ {
232
- datum: [ mockDatum ],
233
- series: info.series
234
- } ], mockParams);
235
- const vchart = componentOptions.globalInstance;
236
- return VChart.globalConfig.uniqueTooltip && VChart.hideTooltip(vchart.id), activeType;
237
- }
238
- return "none";
239
- }
250
+ })), markInfoList;
251
+ };
240
252
  //# sourceMappingURL=show-tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/show-tooltip.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,0BAA0B,GAAG,CAAC,MAAgB,EAAE,KAAa,EAAE,EAAE,CACrE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAChF,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,CAAA,CAAC,CAAC;AAErD,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAE,EAAE;IACvC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACf,OAAO,KAAK,CAAC;KACd;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC/C;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACtC,CAAC,CAAC;AAgBF,MAAM,UAAU,WAAW,CACzB,KAAY,EACZ,OAA2B,EAC3B,cAA+B,EAC/B,gBAAkC;;IAElC,MAAM,GAAG,mBACP,WAAW,EAAE,CAAC,IACX,OAAO,CACX,CAAC;IAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,yBAAyB,CACvD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAClD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,MAAM,CAAC;KACf;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,YAAY,GAAe,EAAE,CAAC;IACpC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;QAE1B,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAEnD,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,MAAA,MAAA,MAAA,MAAA,MAAM,CAAC,qBAAqB,sDAAI,0CAAE,UAAU,CAAC,UAAU,CAAC,0CAAE,MAAM,mCAAI,EAAE;YACxE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,aAAa,GAAG,0BAA0B,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3G,IAAI,MAAM,CAAC,UAAU,KAAK,WAAW,EAAE;YACrC,MAAM,eAAe,GAAG,MAAyB,CAAC;YAGlD,MAAM,sBAAsB,GAAG,eAAe;iBAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAqB,CAAC;iBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,iBAAiB,GAAY,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC,CAAC;YACvD,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;;oBAC5C,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,MAAA,MAAM,CAAC,qBAAqB,sDAAI,0CAAE,UAAU,CAAC,KAAK,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAY,EAAE,CAAC;oBAC7B,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;wBACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;;4BAC5B,MAAM,OAAO,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,EAAE,mCAAI,EAAE,CAAC;4BAC7C,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACnB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACzB,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,iBAAiB,GAAG,QAAQ,CAAC;gBAC/B,CAAC,CAAC,CAAC;aACJ;YACD,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;;gBACxC,IAAI,aAAa,EAAE;oBACjB,MAAM,eAAe,GAAG,MAAA,eAAe;yBACpC,WAAW,EAAE,0CACZ,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;oBAC1E,WAAW,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;wBACrC,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC;wBAEpF,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;4BACzB,OAAO;yBACR;wBAED,MAAM,GAAG,GAAG,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACxD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BAC9C,OAAO;yBACR;wBAED,YAAY,CAAC,IAAI,CAAC;4BAChB,GAAG;4BACH,IAAI,EAAE;gCACJ,eAAe;gCACf,aAAa;gCACb,aAAa;gCACb,WAAW;gCACX,cAAc;gCACd,UAAU;gCACV,SAAS;6BACV;4BACD,MAAM;yBACP,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,WAAW,GAAG,MAAA,eAAe;yBAChC,WAAW,EAAE,0CACZ,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;oBACxE,IAAI,CAAC,cAAc,EAAE;wBAEnB,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;4BACzB,OAAO;yBACR;qBACF;oBAED,MAAM,GAAG,GAAG,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACxD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBAC9C,OAAO;qBACR;oBAED,YAAY,CAAC,IAAI,CAAC;wBAChB,GAAG;wBACH,IAAI,EAAE;4BACJ,eAAe;4BACf,aAAa;4BACb,aAAa;4BACb,WAAW;4BACX,cAAc;4BACd,UAAU;4BACV,SAAS;yBACV;wBACD,MAAM;qBACP,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE;YACxC,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,GAAG,EAAE;gBAEtC,MAAM,SAAS,GAAG,MAAmB,CAAC;gBAEtC,MAAM,WAAW,GAAG,MAAA,SAAS;qBAC1B,WAAW,EAAE,0CACZ,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,cAAc,EAAE;oBAEnB,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;wBACzB,OAAO;qBACR;iBACF;gBAED,MAAM,GAAG,GAAG,SAAS,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACzD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC9C,OAAO;iBACR;gBAED,YAAY,CAAC,IAAI,CAAC;oBAChB,GAAG;oBACH,IAAI,EAAE;wBACJ,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,UAAU;wBACV,SAAS;qBACV;oBACD,MAAM;iBACP,CAAC,CAAC;aACJ;iBAAM;gBAEL,MAAM,WAAW,GAAG,MAAqB,CAAC;gBAE1C,IAAI,aAAa,EAAE;oBACjB,MAAM,eAAe,GAAG,MAAA,WAAW;yBAChC,WAAW,EAAE,0CACZ,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;oBAC1E,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC;oBACpF,WAAW,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;wBAErC,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;4BACzB,OAAO;yBACR;wBAED,MAAM,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACpD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BAC9C,OAAO;yBACR;wBAED,YAAY,CAAC,IAAI,CAAC;4BAChB,GAAG;4BACH,IAAI,EAAE;gCACJ,eAAe;gCACf,aAAa;gCACb,aAAa;gCACb,WAAW;gCACX,cAAc;gCACd,UAAU;gCACV,SAAS;6BACV;4BACD,MAAM;yBACP,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,WAAW,GAAG,MAAA,WAAW;yBAC5B,WAAW,EAAE,0CACZ,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;oBACxE,IAAI,CAAC,cAAc,EAAE;wBAEnB,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;4BACzB,OAAO;yBACR;qBACF;oBAED,MAAM,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACpD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBAC9C,OAAO;qBACR;oBAED,YAAY,CAAC,IAAI,CAAC;wBAChB,GAAG;wBACH,IAAI,EAAE;4BACJ,eAAe;4BACf,aAAa;4BACb,aAAa;4BACb,WAAW;4BACX,cAAc;4BACd,UAAU;4BACV,SAAS;yBACV;wBACD,MAAM;qBACP,CAAC,CAAC;iBACJ;aACF;SACF;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE;YACtC,MAAM,EAAE,GAAG,MAAmB,CAAC;YAE/B,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,cAAc,EAAE;gBAEnB,WAAW,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gBACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBACzB,OAAO;iBACR;aACF;YAED,MAAM,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC9C,OAAO;aACR;YAED,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG;gBACH,IAAI,EAAE;oBACJ,eAAe;oBACf,aAAa;oBACb,aAAa;oBACb,WAAW;oBACX,cAAc;oBACd,UAAU;oBACV,SAAS;iBACV;gBACD,MAAM;aACP,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAGH,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,UAAU,mCAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IACjE,MAAM,YAAY,mBAChB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,IACD,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5D,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;QACjD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;KACnD,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,EAAE;;QACxC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACxG,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;YAC5E,OAAO,CACL,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC;gBACzD,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;gBACrD,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAO,EAAE;;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,CAAC,mCAAI,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,CAAC,mCAAI,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO;YACL,OAAO;YACP,OAAO;YACP,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,OAAO;YACjC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,OAAO;SAClC,CAAC;IACJ,CAAC,CAAC;IAGF,IAAI,UAAU,KAAK,WAAW,EAAE;QAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,MAAM,CAAC;SACf;QAGD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;QACzD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YAC1B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACvC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACxC;YACD,MAAA,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAqB;YAC1C;gBACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;oBAC/C,OAAO;wBACL,MAAM;wBACN,KAAK,EAAE,MAAA,MAAA,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,mCAAI,EAAE;qBAC9E,CAAC;gBACJ,CAAC,CAAC;aACH;SACF,CAAC;QACF,MAAM,UAAU,GAAyB;YACvC,kBAAkB,EAAE,KAAK;YACzB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,iBAAiB;YAChC,KAAK,EAAE,MAAA,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,mCAAI,SAAS;YAC9D,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,iBAAiB,CAAC,KAAK;YAC/B,KAAK,EAAE,YAAY,CAAC;gBAClB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM;gBAChF,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM;aACjF,CAAC;YACF,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,GAAG,EAAe;SAChC,CAAC;QACF,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,+DAAG,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC;QAC/C,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;YACrC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,OAAO,UAAU,CAAC;KACnB;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,MAAM,CAAC;SACf;QACD,MAAM,SAAS,mCACV,cAAc,CAAC,IAAI,CAAC,GACpB,KAAK,CACT,CAAC;QACF,MAAM,UAAU,GAAyB;YAEvC,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAA,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,mCAAI,SAAS;YAC9D,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,iBAAiB,CAAC,KAAK;YAC/B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,GAAG,EAAe;SACzB,CAAC;QACT,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,+DACzB,UAAU,EACV;YACE;gBACE,KAAK,EAAE,CAAC,SAAS,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,EACD,UAAU,CACX,CAAC;QAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC;QAC/C,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;YACrC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","file":"show-tooltip.js","sourcesContent":["import type { Datum, IPoint, IShowTooltipOption, ITooltipHandler, TooltipActiveType } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\nimport type { ISeries } from '../../../series/interface';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport type { CartesianSeries } from '../../../series/cartesian/cartesian';\nimport type { PolarSeries } from '../../../series/polar/polar';\nimport type { GeoSeries } from '../../../series/geo/geo';\nimport type { PieSeries } from '../../../series/pie/pie';\nimport type { TooltipHandlerParams } from '../interface';\nimport { Event_Source_Type } from '../../../constant';\nimport { getElementAbsolutePosition, isArray, isValid, isNil } from '@visactor/vutils';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { VChart } from '../../../core/vchart';\n\nconst getDataArrayFromFieldArray = (fields: string[], datum?: Datum) =>\n isValid(datum) ? fields.map(f => datum[f]) : undefined;\n\nconst datumContainsArray = (fields: string[], data?: Datum[]) => (datum: Datum) =>\n fields.every((key, i) => datum[key] === data?.[i]);\n\nconst hasData = (data?: any[] | Datum) => {\n if (isNil(data)) {\n return false;\n }\n if (isArray(data)) {\n return data.length > 0 && data.every(isValid);\n }\n return Object.keys(data).length > 0;\n};\n\ntype MarkInfo = {\n pos: IPoint;\n data: {\n dimensionFields: string[];\n measureFields: string[];\n dimensionData?: any[];\n measureData?: any[];\n hasMeasureData?: boolean;\n groupField?: string;\n groupData?: any;\n };\n series: ISeries;\n};\n\nexport function showTooltip(\n datum: Datum,\n options: IShowTooltipOption,\n tooltipHandler: ITooltipHandler,\n componentOptions: IComponentOption\n): TooltipActiveType | 'none' {\n const opt: IShowTooltipOption = {\n regionIndex: 0,\n ...options\n };\n // 确认region\n const region = componentOptions.getRegionsInUserIdOrIndex(\n isValid(opt.regionId) ? [opt.regionId] : undefined,\n isValid(opt.regionIndex) ? [opt.regionIndex] : undefined\n )[0];\n if (!region) {\n return 'none';\n }\n // 查询图元信息\n const seriesList = region.getSeries();\n const markInfoList: MarkInfo[] = [];\n seriesList.forEach(series => {\n /** 维度field */\n const dimensionFields = series.getDimensionField();\n /** 指标原始field(用于显示tooltip) */\n const measureFields = series.getMeasureField();\n\n const groupField = series.getSeriesField();\n const groupData = isValid(groupField) ? datum[groupField] : undefined;\n const groupDomain = isValid(groupField)\n ? series.getViewDataStatistics?.()?.latestData[groupField]?.values ?? []\n : [];\n\n const dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);\n let measureData = getDataArrayFromFieldArray(measureFields, datum);\n const hasMeasureData = hasData(measureData);\n\n const isMultiGroups = !hasMeasureData && isValid(groupField) && isNil(groupData) && groupDomain.length > 0; // 是否需要考虑多个数据组\n\n if (series.coordinate === 'cartesian') {\n const cartesianSeries = series as CartesianSeries;\n\n // 补全维度轴数据\n const invalidDimensionFields = dimensionFields\n .map((field, i) => [field, i] as [string, number])\n .filter(([, i]) => isNil(dimensionData?.[i]));\n let dimensionDataList: any[][] = [dimensionData ?? []];\n if (invalidDimensionFields.length > 0) {\n invalidDimensionFields.forEach(([field, i]) => {\n const domain = series.getViewDataStatistics?.()?.latestData[field]?.values ?? [];\n const nextList: any[][] = [];\n dimensionDataList.forEach(dimensionData => {\n domain.forEach((value: any) => {\n const newData = dimensionData?.slice() ?? [];\n newData[i] = value;\n nextList.push(newData);\n });\n });\n dimensionDataList = nextList;\n });\n }\n dimensionDataList.forEach(dimensionData => {\n if (isMultiGroups) {\n const measureDataList = cartesianSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n groupDomain.forEach((groupData: any) => {\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = cartesianSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n } else if (series.coordinate === 'polar') {\n if (series.type === SeriesTypeEnum.pie) {\n // 处理饼图\n const pieSeries = series as PieSeries;\n\n const originDatum = pieSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = pieSeries.dataToCentralPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n } else {\n // 处理玫瑰图、雷达图\n const polarSeries = series as PolarSeries;\n\n if (isMultiGroups) {\n const measureDataList = polarSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n groupDomain.forEach((groupData: any) => {\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = polarSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n }\n } else if (series.coordinate === 'geo') {\n const gs = series as GeoSeries;\n\n const originDatum = gs.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = gs.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n\n // 组织数据\n const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark');\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n const container = componentOptions.globalInstance.getContainer();\n const containerPos = {\n x: 0,\n y: 0,\n ...(container ? getElementAbsolutePosition(container) : {})\n };\n const bound = (pos: IPoint): IPoint => ({\n x: Math.min(Math.max(pos.x, 0), regionRect.width),\n y: Math.min(Math.max(pos.y, 0), regionRect.height)\n });\n const getOriginDatum = (info: MarkInfo) => {\n const { dimensionFields, dimensionData, measureFields, measureData, groupField, groupData } = info.data;\n const originDatum = info.series.getViewData()?.latestData.find((datum: any) => {\n return (\n datumContainsArray(dimensionFields, dimensionData)(datum) &&\n datumContainsArray(measureFields, measureData)(datum) &&\n (isNil(groupField) || datumContainsArray([groupField], [groupData])(datum))\n );\n });\n return originDatum;\n };\n const getMockEvent = (originPos: IPoint): any => {\n const pos = bound(originPos);\n const canvasX = opt.x ?? regionPos.x + pos.x;\n const canvasY = opt.y ?? regionPos.y + pos.y;\n return {\n canvasX,\n canvasY,\n clientX: containerPos.x + canvasX,\n clientY: containerPos.y + canvasY\n };\n };\n\n // 显示tooltip\n if (activeType === 'dimension') {\n const firstInfo = markInfoList[0];\n if (!firstInfo) {\n return 'none';\n }\n\n // 将markInfoList按系列分组\n const markInfoSeriesMap = new Map<ISeries, MarkInfo[]>();\n markInfoList.forEach(info => {\n if (!markInfoSeriesMap.has(info.series)) {\n markInfoSeriesMap.set(info.series, []);\n }\n markInfoSeriesMap.get(info.series)?.push(info);\n });\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: datum[firstInfo.data.dimensionFields[0]],\n data: [...markInfoSeriesMap.keys()].map(series => {\n return {\n series,\n datum: markInfoSeriesMap.get(series)?.map(info => getOriginDatum(info)) ?? []\n };\n })\n }\n ];\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n action: 'enter',\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: undefined,\n model: undefined,\n source: Event_Source_Type.chart,\n event: getMockEvent({\n x: markInfoList.reduce((sum, info) => sum + info.pos.x, 0) / markInfoList.length,\n y: markInfoList.reduce((sum, info) => sum + info.pos.y, 0) / markInfoList.length // 位置求平均\n }),\n item: undefined,\n itemMap: new Map<string, any>()\n };\n tooltipHandler?.showTooltip?.(activeType, mockDimensionInfo, mockParams);\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n } else if (activeType === 'mark') {\n const info = markInfoList[0];\n if (!info) {\n return 'none';\n }\n const mockDatum = {\n ...getOriginDatum(info),\n ...datum\n };\n const mockParams: TooltipHandlerParams = {\n // FIXME: 补充 action、dimensionInfo\n changePositionOnly: false,\n tooltip: null,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: mockDatum,\n model: info.series,\n source: Event_Source_Type.chart,\n event: getMockEvent(info.pos),\n item: undefined,\n itemMap: new Map<string, any>()\n } as any;\n tooltipHandler?.showTooltip?.(\n activeType,\n [\n {\n datum: [mockDatum],\n series: info.series\n }\n ],\n mockParams\n );\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n }\n return 'none';\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/show-tooltip.ts"],"names":[],"mappings":"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","file":"show-tooltip.js","sourcesContent":["import type { Datum, IPoint, IShowTooltipOption, TooltipActiveType } from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport type { CartesianSeries } from '../../../series/cartesian/cartesian';\nimport type { PolarSeries } from '../../../series/polar/polar';\nimport type { GeoSeries } from '../../../series/geo/geo';\nimport type { PieSeries } from '../../../series/pie/pie';\nimport type { TooltipHandlerParams } from '../interface';\nimport { Event_Source_Type } from '../../../constant';\nimport { getElementAbsolutePosition, isArray, isValid, isNil } from '@visactor/vutils';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { VChart } from '../../../core/vchart';\nimport type { IRegion } from '../../../region';\nimport type { Tooltip } from '../tooltip';\nimport type { IComponentOption } from '../../interface';\n\nconst getDataArrayFromFieldArray = (fields: string[], datum?: Datum) =>\n isValid(datum) ? fields.map(f => datum[f]) : undefined;\n\nconst datumContainsArray = (fields: string[], data?: Datum[]) => (datum: Datum) =>\n fields.every((key, i) => datum[key] === data?.[i]);\n\nconst hasData = (data?: any[] | Datum) => {\n if (isNil(data)) {\n return false;\n }\n if (isArray(data)) {\n return data.length > 0 && data.every(isValid);\n }\n return Object.keys(data).length > 0;\n};\n\ntype MarkInfo = {\n pos: IPoint;\n data: {\n dimensionFields: string[];\n measureFields: string[];\n dimensionData?: any[];\n measureData?: any[];\n hasMeasureData?: boolean;\n groupField?: string;\n groupData?: any;\n };\n series: ISeries;\n};\n\nexport function showTooltip(datum: Datum, options: IShowTooltipOption, component: Tooltip): TooltipActiveType | 'none' {\n const opt: IShowTooltipOption = {\n regionIndex: 0,\n ...options\n };\n const componentOptions = component.getOption() as IComponentOption;\n\n // 确认region\n const region = componentOptions.getRegionsInUserIdOrIndex(\n isValid(opt.regionId) ? [opt.regionId] : undefined,\n isValid(opt.regionIndex) ? [opt.regionIndex] : undefined\n )[0];\n if (!region) {\n return 'none';\n }\n\n // 查询图元信息\n const markInfoList = getMarkInfoList(datum, region);\n\n // 组织数据\n const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark');\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n const container = componentOptions.globalInstance.getContainer();\n const containerPos = {\n x: 0,\n y: 0,\n ...(container ? getElementAbsolutePosition(container) : {})\n };\n const bound = (pos: IPoint): IPoint => ({\n x: Math.min(Math.max(pos.x, 0), regionRect.width),\n y: Math.min(Math.max(pos.y, 0), regionRect.height)\n });\n const getOriginDatum = (info: MarkInfo) => {\n const { dimensionFields, dimensionData, measureFields, measureData, groupField, groupData } = info.data;\n const originDatum = info.series.getViewData()?.latestData.find((datum: any) => {\n return (\n datumContainsArray(dimensionFields, dimensionData)(datum) &&\n datumContainsArray(measureFields, measureData)(datum) &&\n (isNil(groupField) || datumContainsArray([groupField], [groupData])(datum))\n );\n });\n return originDatum;\n };\n const getMockEvent = (originPos: IPoint): any => {\n const pos = bound(originPos);\n const canvasX = opt.x ?? regionPos.x + pos.x;\n const canvasY = opt.y ?? regionPos.y + pos.y;\n return {\n canvasX,\n canvasY,\n clientX: containerPos.x + canvasX,\n clientY: containerPos.y + canvasY\n };\n };\n\n // 显示tooltip\n if (activeType === 'dimension') {\n const firstInfo = markInfoList[0];\n if (!firstInfo) {\n return 'none';\n }\n\n // 将markInfoList按系列分组\n const markInfoSeriesMap = new Map<ISeries, MarkInfo[]>();\n markInfoList.forEach(info => {\n if (!markInfoSeriesMap.has(info.series)) {\n markInfoSeriesMap.set(info.series, []);\n }\n markInfoSeriesMap.get(info.series)?.push(info);\n });\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: datum[firstInfo.data.dimensionFields[0]],\n data: [...markInfoSeriesMap.keys()].map(series => {\n return {\n series,\n datum: markInfoSeriesMap.get(series)?.map(info => getOriginDatum(info)) ?? []\n };\n })\n }\n ];\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n action: 'enter',\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: undefined,\n model: undefined,\n source: Event_Source_Type.chart,\n event: getMockEvent({\n x: markInfoList.reduce((sum, info) => sum + info.pos.x, 0) / markInfoList.length,\n y: markInfoList.reduce((sum, info) => sum + info.pos.y, 0) / markInfoList.length // 位置求平均\n }),\n item: undefined,\n itemMap: new Map<string, any>()\n };\n\n component.processor.dimension.showTooltip(mockDimensionInfo, mockParams, false);\n\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n\n return activeType;\n } else if (activeType === 'mark') {\n const info = markInfoList[0];\n if (!info) {\n return 'none';\n }\n const mockDatum = {\n ...getOriginDatum(info),\n ...datum\n };\n const mockDimensionData: IDimensionData[] = [\n {\n datum: [mockDatum],\n series: info.series\n }\n ];\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: mockDatum[info.data.dimensionFields[0]],\n data: mockDimensionData\n }\n ];\n const mockParams: TooltipHandlerParams = {\n // FIXME: 补充 action、dimensionInfo\n changePositionOnly: false,\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: mockDatum,\n model: info.series,\n source: Event_Source_Type.chart,\n event: getMockEvent(info.pos),\n item: undefined,\n itemMap: new Map<string, any>()\n } as any;\n\n component.processor.mark.showTooltip(\n {\n datum: mockDatum,\n mark: null,\n series: info.series,\n dimensionInfo: mockDimensionInfo\n },\n mockParams,\n false\n );\n\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n }\n return 'none';\n}\n\nexport const getMarkInfoList = (datum: Datum, region: IRegion) => {\n const seriesList = region.getSeries();\n const markInfoList: MarkInfo[] = [];\n seriesList.forEach(series => {\n /** 维度field */\n const dimensionFields = series.getDimensionField();\n /** 指标原始field(用于显示tooltip) */\n const measureFields = series.getMeasureField();\n\n const groupField = series.getSeriesField();\n const groupData = isValid(groupField) ? datum[groupField] : undefined;\n const groupDomain = isValid(groupField)\n ? series.getViewDataStatistics?.()?.latestData[groupField]?.values ?? []\n : [];\n\n const dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);\n let measureData = getDataArrayFromFieldArray(measureFields, datum);\n const hasMeasureData = hasData(measureData);\n\n const isMultiGroups = !hasMeasureData && isValid(groupField) && isNil(groupData) && groupDomain.length > 0; // 是否需要考虑多个数据组\n\n if (series.coordinate === 'cartesian') {\n const cartesianSeries = series as CartesianSeries;\n\n // 补全维度轴数据\n const invalidDimensionFields = dimensionFields\n .map((field, i) => [field, i] as [string, number])\n .filter(([, i]) => isNil(dimensionData?.[i]));\n let dimensionDataList: any[][] = [dimensionData ?? []];\n if (invalidDimensionFields.length > 0) {\n invalidDimensionFields.forEach(([field, i]) => {\n const domain = series.getViewDataStatistics?.()?.latestData[field]?.values ?? [];\n const nextList: any[][] = [];\n dimensionDataList.forEach(dimensionData => {\n domain.forEach((value: any) => {\n const newData = dimensionData?.slice() ?? [];\n newData[i] = value;\n nextList.push(newData);\n });\n });\n dimensionDataList = nextList;\n });\n }\n dimensionDataList.forEach(dimensionData => {\n if (isMultiGroups) {\n const measureDataList = cartesianSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n groupDomain.forEach((groupData: any) => {\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = cartesianSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n } else if (series.coordinate === 'polar') {\n if (series.type === SeriesTypeEnum.pie) {\n // 处理饼图\n const pieSeries = series as PieSeries;\n\n const originDatum = pieSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = pieSeries.dataToCentralPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n } else {\n // 处理玫瑰图、雷达图\n const polarSeries = series as PolarSeries;\n\n if (isMultiGroups) {\n const measureDataList = polarSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n groupDomain.forEach((groupData: any) => {\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = polarSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n }\n } else if (series.coordinate === 'geo') {\n const geoSeries = series as GeoSeries;\n\n const originDatum = geoSeries.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = geoSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n\n return markInfoList;\n};\n"]}
@@ -64,5 +64,5 @@ export declare class Factory {
64
64
  static getComponentPlugins(): IComponentPluginConstructor[];
65
65
  static getComponentPluginInType(type: string): IComponentPluginConstructor;
66
66
  static registerFormatter(func: typeof Factory['_formatter']): void;
67
- static getFormatter(): (text: string | number | string[] | number[], datum: any, formatter: string | string[]) => any;
67
+ static getFormatter(): (text: string | number | number[] | string[], datum: any, formatter: string | string[]) => any;
68
68
  }
@@ -1,4 +1,4 @@
1
- import { fields, filter, simplify, fold, csvParser, dsvParser, tsvParser } from "@visactor/vdataset";
1
+ import { fields, filter, fold, csvParser, dsvParser, tsvParser } from "@visactor/vdataset";
2
2
 
3
3
  export class Factory {
4
4
  static registerChart(key, chart) {
@@ -119,7 +119,6 @@ export class Factory {
119
119
  Factory._charts = {}, Factory._series = {}, Factory._components = {}, Factory._marks = {},
120
120
  Factory._regions = {}, Factory._animations = {}, Factory._implements = {}, Factory._chartPlugin = {},
121
121
  Factory._componentPlugin = {}, Factory.transforms = {
122
- simplify: simplify,
123
122
  fields: fields,
124
123
  filter: filter,
125
124
  fold: fold