@visactor/vchart 1.0.1-alpha.1 → 1.1.0-beta.0

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 (870) hide show
  1. package/build/index.js +65046 -64871
  2. package/build/index.min.js +2 -2
  3. package/chart.d.ts +1 -1
  4. package/chart.js +1 -1
  5. package/cjs/chart/area/area.d.ts +1 -0
  6. package/cjs/chart/area/area.js +6 -1
  7. package/cjs/chart/area/area.js.map +1 -1
  8. package/cjs/chart/bar/bar-3d.d.ts +7 -0
  9. package/cjs/chart/bar/bar-3d.js +19 -0
  10. package/cjs/chart/bar/bar-3d.js.map +1 -0
  11. package/cjs/chart/bar/bar.d.ts +1 -6
  12. package/cjs/chart/bar/bar.js +7 -11
  13. package/cjs/chart/bar/bar.js.map +1 -1
  14. package/cjs/chart/bar/index.d.ts +1 -0
  15. package/cjs/chart/bar/index.js +2 -1
  16. package/cjs/chart/bar/index.js.map +1 -1
  17. package/cjs/chart/base-chart.d.ts +1 -1
  18. package/cjs/chart/base-chart.js +2 -1
  19. package/cjs/chart/base-chart.js.map +1 -1
  20. package/cjs/chart/box-plot/box-plot.js +4 -2
  21. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  22. package/cjs/chart/circle-packing/circle-packing.js +3 -1
  23. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  24. package/cjs/chart/funnel/base.d.ts +9 -0
  25. package/cjs/chart/funnel/base.js +47 -0
  26. package/cjs/chart/funnel/base.js.map +1 -0
  27. package/cjs/chart/funnel/funnel-3d.d.ts +7 -0
  28. package/cjs/chart/funnel/funnel-3d.js +19 -0
  29. package/cjs/chart/funnel/funnel-3d.js.map +1 -0
  30. package/cjs/chart/funnel/funnel.d.ts +1 -16
  31. package/cjs/chart/funnel/funnel.js +4 -48
  32. package/cjs/chart/funnel/funnel.js.map +1 -1
  33. package/cjs/chart/funnel/index.d.ts +1 -0
  34. package/cjs/chart/funnel/index.js +2 -1
  35. package/cjs/chart/funnel/index.js.map +1 -1
  36. package/cjs/chart/gauge/gauge.js +3 -1
  37. package/cjs/chart/gauge/gauge.js.map +1 -1
  38. package/cjs/chart/heatmap/heatmap.js +3 -1
  39. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  40. package/cjs/chart/histogram/base.d.ts +5 -0
  41. package/cjs/chart/histogram/base.js +22 -0
  42. package/cjs/chart/histogram/base.js.map +1 -0
  43. package/cjs/chart/histogram/histogram-3d.d.ts +7 -0
  44. package/cjs/chart/histogram/histogram-3d.js +19 -0
  45. package/cjs/chart/histogram/histogram-3d.js.map +1 -0
  46. package/cjs/chart/histogram/histogram.d.ts +2 -12
  47. package/cjs/chart/histogram/histogram.js +7 -23
  48. package/cjs/chart/histogram/histogram.js.map +1 -1
  49. package/cjs/chart/histogram/index.d.ts +1 -0
  50. package/cjs/chart/histogram/index.js +2 -1
  51. package/cjs/chart/histogram/index.js.map +1 -1
  52. package/cjs/chart/index.d.ts +57 -22
  53. package/cjs/chart/index.js +293 -26
  54. package/cjs/chart/index.js.map +1 -1
  55. package/cjs/chart/line/line.d.ts +1 -0
  56. package/cjs/chart/line/line.js +6 -1
  57. package/cjs/chart/line/line.js.map +1 -1
  58. package/cjs/chart/map/map.js +3 -1
  59. package/cjs/chart/map/map.js.map +1 -1
  60. package/cjs/chart/pie/base.d.ts +5 -0
  61. package/cjs/chart/pie/base.js +26 -0
  62. package/cjs/chart/pie/base.js.map +1 -0
  63. package/cjs/chart/pie/index.d.ts +1 -0
  64. package/cjs/chart/pie/index.js +2 -1
  65. package/cjs/chart/pie/index.js.map +1 -1
  66. package/cjs/chart/pie/pie-3d.d.ts +8 -0
  67. package/cjs/chart/pie/pie-3d.js +24 -0
  68. package/cjs/chart/pie/pie-3d.js.map +1 -0
  69. package/cjs/chart/pie/pie.d.ts +1 -13
  70. package/cjs/chart/pie/pie.js +4 -32
  71. package/cjs/chart/pie/pie.js.map +1 -1
  72. package/cjs/chart/progress/circular/circular.js +3 -1
  73. package/cjs/chart/progress/circular/circular.js.map +1 -1
  74. package/cjs/chart/progress/linear/linear.js +3 -1
  75. package/cjs/chart/progress/linear/linear.js.map +1 -1
  76. package/cjs/chart/radar/radar.js +3 -1
  77. package/cjs/chart/radar/radar.js.map +1 -1
  78. package/cjs/chart/range-area/range-area.d.ts +1 -0
  79. package/cjs/chart/range-area/range-area.js +6 -1
  80. package/cjs/chart/range-area/range-area.js.map +1 -1
  81. package/cjs/chart/range-column/index.d.ts +2 -1
  82. package/cjs/chart/range-column/index.js +2 -1
  83. package/cjs/chart/range-column/index.js.map +1 -1
  84. package/cjs/chart/range-column/{rangeColumn.d.ts → range-column-3d.d.ts} +0 -7
  85. package/cjs/chart/range-column/{rangeColumn.js → range-column-3d.js} +4 -17
  86. package/cjs/chart/range-column/range-column-3d.js.map +1 -0
  87. package/cjs/chart/range-column/range-column.d.ts +9 -0
  88. package/cjs/chart/range-column/range-column.js +28 -0
  89. package/cjs/chart/range-column/range-column.js.map +1 -0
  90. package/cjs/chart/rose/rose.js +3 -1
  91. package/cjs/chart/rose/rose.js.map +1 -1
  92. package/cjs/chart/sankey/sankey.js +3 -1
  93. package/cjs/chart/sankey/sankey.js.map +1 -1
  94. package/cjs/chart/scatter/scatter.js +3 -1
  95. package/cjs/chart/scatter/scatter.js.map +1 -1
  96. package/cjs/chart/sequence/sequence.js +3 -1
  97. package/cjs/chart/sequence/sequence.js.map +1 -1
  98. package/cjs/chart/sunburst/sunburst.js +3 -1
  99. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  100. package/cjs/chart/treemap/treemap.js +3 -1
  101. package/cjs/chart/treemap/treemap.js.map +1 -1
  102. package/cjs/chart/util.d.ts +2 -0
  103. package/cjs/chart/util.js +23 -0
  104. package/cjs/chart/util.js.map +1 -0
  105. package/cjs/chart/waterfall/waterfall.js +4 -2
  106. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  107. package/cjs/chart/word-cloud/base.d.ts +6 -0
  108. package/cjs/chart/word-cloud/base.js +25 -0
  109. package/cjs/chart/word-cloud/base.js.map +1 -0
  110. package/cjs/chart/word-cloud/index.d.ts +1 -0
  111. package/cjs/chart/word-cloud/index.js +2 -1
  112. package/cjs/chart/word-cloud/index.js.map +1 -1
  113. package/cjs/chart/word-cloud/word-cloud-3d.d.ts +9 -0
  114. package/cjs/chart/word-cloud/word-cloud-3d.js +46 -0
  115. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -0
  116. package/cjs/chart/word-cloud/word-cloud.d.ts +2 -15
  117. package/cjs/chart/word-cloud/word-cloud.js +4 -53
  118. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  119. package/cjs/component/axis/cartesian/axis.js +1 -1
  120. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  121. package/cjs/component/crosshair/base.js +1 -2
  122. package/cjs/component/crosshair/base.js.map +1 -1
  123. package/cjs/component/crosshair/interface/spec.d.ts +1 -1
  124. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  125. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  126. package/cjs/component/index.d.ts +39 -1
  127. package/cjs/component/index.js +202 -17
  128. package/cjs/component/index.js.map +1 -1
  129. package/cjs/component/legend/base-legend.d.ts +1 -1
  130. package/cjs/component/legend/base-legend.js +7 -3
  131. package/cjs/component/legend/base-legend.js.map +1 -1
  132. package/cjs/component/legend/util.d.ts +3 -3
  133. package/cjs/component/player/utils/transform.js +1 -3
  134. package/cjs/component/player/utils/transform.js.map +1 -1
  135. package/cjs/component/tooltip/handler/base.d.ts +5 -4
  136. package/cjs/component/tooltip/handler/base.js +44 -34
  137. package/cjs/component/tooltip/handler/base.js.map +1 -1
  138. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  139. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +2 -2
  140. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  141. package/cjs/component/tooltip/handler/constants.d.ts +4 -0
  142. package/cjs/component/tooltip/handler/constants.js +5 -2
  143. package/cjs/component/tooltip/handler/constants.js.map +1 -1
  144. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +6 -2
  145. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +20 -13
  146. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  147. package/cjs/component/tooltip/handler/dom/interface.d.ts +16 -5
  148. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  149. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +7 -13
  150. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js +12 -27
  151. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  152. package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +13 -3
  153. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +46 -26
  154. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  155. package/cjs/component/tooltip/handler/dom/model/content-model.d.ts +4 -3
  156. package/cjs/component/tooltip/handler/dom/model/content-model.js +4 -4
  157. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  158. package/cjs/component/tooltip/handler/dom/model/interface.d.ts +4 -0
  159. package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
  160. package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +5 -5
  161. package/cjs/component/tooltip/handler/dom/model/shape-model.js +4 -4
  162. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  163. package/cjs/component/tooltip/handler/dom/model/style-constants.d.ts +4 -4
  164. package/cjs/component/tooltip/handler/dom/model/style-constants.js +16 -18
  165. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  166. package/cjs/component/tooltip/handler/dom/model/text-model.js +1 -0
  167. package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  168. package/cjs/component/tooltip/handler/dom/model/title-model.d.ts +3 -2
  169. package/cjs/component/tooltip/handler/dom/model/title-model.js +15 -19
  170. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  171. package/cjs/component/tooltip/handler/dom/model/tooltip-model.d.ts +1 -2
  172. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +21 -16
  173. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  174. package/cjs/component/tooltip/handler/dom/util.d.ts +5 -0
  175. package/cjs/component/tooltip/handler/dom/{utils/style.js → util.js} +32 -20
  176. package/cjs/component/tooltip/handler/dom/util.js.map +1 -0
  177. package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
  178. package/cjs/component/tooltip/handler/interface/index.js +1 -1
  179. package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
  180. package/cjs/component/tooltip/handler/utils/attribute.js +12 -8
  181. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  182. package/cjs/component/tooltip/handler/utils/common.d.ts +6 -2
  183. package/cjs/component/tooltip/handler/utils/common.js +30 -5
  184. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  185. package/cjs/component/tooltip/handler/utils/compose.d.ts +3 -2
  186. package/cjs/component/tooltip/handler/utils/compose.js +56 -45
  187. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  188. package/cjs/component/tooltip/handler/utils/get-spec.js +64 -28
  189. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  190. package/cjs/component/tooltip/handler/utils/style.d.ts +2 -1
  191. package/cjs/component/tooltip/handler/utils/style.js +4 -4
  192. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  193. package/cjs/component/tooltip/tooltip.d.ts +3 -1
  194. package/cjs/component/tooltip/tooltip.js +33 -18
  195. package/cjs/component/tooltip/tooltip.js.map +1 -1
  196. package/cjs/component/tooltip/utils/common.js +4 -2
  197. package/cjs/component/tooltip/utils/common.js.map +1 -1
  198. package/cjs/constant/word-cloud.js +2 -1
  199. package/cjs/core/factory.js +1 -2
  200. package/cjs/{export/core.d.ts → core/index.d.ts} +4 -4
  201. package/cjs/{export/core.js → core/index.js} +5 -5
  202. package/cjs/core/index.js.map +1 -0
  203. package/cjs/core/instance-manager.d.ts +1 -1
  204. package/cjs/core/instance-manager.js +1 -1
  205. package/cjs/core/instance-manager.js.map +1 -1
  206. package/cjs/core/interface.js +1 -1
  207. package/cjs/core/vchart.d.ts +1 -0
  208. package/cjs/core/vchart.js +11 -3
  209. package/cjs/core/vchart.js.map +1 -1
  210. package/cjs/data/initialize.js +2 -1
  211. package/cjs/index.d.ts +6 -6
  212. package/cjs/index.js +4 -4
  213. package/cjs/index.js.map +1 -1
  214. package/cjs/layout/base-layout.d.ts +24 -0
  215. package/cjs/layout/base-layout.js +123 -0
  216. package/cjs/layout/base-layout.js.map +1 -0
  217. package/cjs/layout/grid-layout/grid-layout.d.ts +5 -35
  218. package/cjs/layout/grid-layout/grid-layout.js +2 -1
  219. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  220. package/cjs/layout/index.d.ts +6 -24
  221. package/cjs/layout/index.js +25 -115
  222. package/cjs/layout/index.js.map +1 -1
  223. package/cjs/layout/interface.d.ts +31 -3
  224. package/cjs/layout/interface.js.map +1 -1
  225. package/cjs/layout/layout3d/index.d.ts +1 -1
  226. package/cjs/layout/layout3d/index.js +2 -2
  227. package/cjs/layout/layout3d/index.js.map +1 -1
  228. package/cjs/mark/arc-3d.d.ts +9 -0
  229. package/cjs/mark/arc-3d.js +16 -0
  230. package/cjs/mark/arc-3d.js.map +1 -0
  231. package/cjs/mark/arc.d.ts +5 -9
  232. package/cjs/mark/arc.js +12 -22
  233. package/cjs/mark/arc.js.map +1 -1
  234. package/cjs/mark/area.js +1 -1
  235. package/cjs/mark/base/base-line.js +3 -3
  236. package/cjs/mark/base/base-line.js.map +1 -1
  237. package/cjs/mark/base/base-mark.d.ts +7 -0
  238. package/cjs/mark/base/base-mark.js +10 -6
  239. package/cjs/mark/base/base-mark.js.map +1 -1
  240. package/cjs/mark/box-plot.js +1 -1
  241. package/cjs/mark/cell.js +1 -1
  242. package/cjs/mark/index.d.ts +21 -0
  243. package/cjs/{export/mark.js → mark/index.js} +49 -37
  244. package/cjs/mark/index.js.map +1 -0
  245. package/cjs/mark/{linkPath.js → link-path.js} +1 -1
  246. package/cjs/mark/link-path.js.map +1 -0
  247. package/cjs/mark/polygon/base-polygon.d.ts +6 -0
  248. package/cjs/mark/polygon/base-polygon.js +18 -0
  249. package/cjs/mark/polygon/base-polygon.js.map +1 -0
  250. package/cjs/mark/polygon/polygon.d.ts +9 -0
  251. package/cjs/mark/polygon/polygon.js +16 -0
  252. package/cjs/mark/polygon/polygon.js.map +1 -0
  253. package/cjs/mark/polygon/pyramid-3d.d.ts +9 -0
  254. package/cjs/mark/polygon/pyramid-3d.js +16 -0
  255. package/cjs/mark/polygon/pyramid-3d.js.map +1 -0
  256. package/cjs/mark/rect-3d.d.ts +10 -0
  257. package/cjs/mark/rect-3d.js +23 -0
  258. package/cjs/mark/rect-3d.js.map +1 -0
  259. package/cjs/mark/rect.d.ts +1 -7
  260. package/cjs/mark/rect.js +1 -16
  261. package/cjs/mark/rect.js.map +1 -1
  262. package/cjs/mark/utils/common.d.ts +0 -12
  263. package/cjs/mark/utils/common.js +2 -13
  264. package/cjs/mark/utils/common.js.map +1 -1
  265. package/cjs/model/base-model.js +1 -1
  266. package/cjs/model/interface.js +1 -1
  267. package/cjs/model/layout-item.js +1 -1
  268. package/cjs/model/model-state-manager.js +1 -1
  269. package/cjs/model/tooltip-helper.d.ts +3 -4
  270. package/cjs/model/tooltip-helper.js +5 -10
  271. package/cjs/model/tooltip-helper.js.map +1 -1
  272. package/cjs/region/interface.js +1 -1
  273. package/cjs/region/region.js +5 -10
  274. package/cjs/region/region.js.map +1 -1
  275. package/cjs/series/area/area.js +3 -1
  276. package/cjs/series/area/area.js.map +1 -1
  277. package/cjs/series/bar/bar-3d.d.ts +11 -0
  278. package/cjs/series/bar/bar-3d.js +25 -0
  279. package/cjs/series/bar/bar-3d.js.map +1 -0
  280. package/cjs/series/bar/bar.d.ts +0 -7
  281. package/cjs/series/bar/bar.js +3 -18
  282. package/cjs/series/bar/bar.js.map +1 -1
  283. package/cjs/series/base/base-series.js +1 -1
  284. package/cjs/series/base/base-series.js.map +1 -1
  285. package/cjs/series/base/tooltip-helper.d.ts +9 -8
  286. package/cjs/series/base/tooltip-helper.js +23 -12
  287. package/cjs/series/base/tooltip-helper.js.map +1 -1
  288. package/cjs/series/box-plot/box-plot.js +5 -1
  289. package/cjs/series/box-plot/box-plot.js.map +1 -1
  290. package/cjs/series/circle-packing/circle-packing.js +3 -1
  291. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  292. package/cjs/series/dot/dot.js +3 -1
  293. package/cjs/series/dot/dot.js.map +1 -1
  294. package/cjs/series/dot/tooltip-helper.d.ts +1 -2
  295. package/cjs/series/dot/tooltip-helper.js +6 -5
  296. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  297. package/cjs/series/funnel/funnel-3d.d.ts +18 -0
  298. package/cjs/series/funnel/funnel-3d.js +104 -0
  299. package/cjs/series/funnel/funnel-3d.js.map +1 -0
  300. package/cjs/series/funnel/funnel.d.ts +3 -15
  301. package/cjs/series/funnel/funnel.js +12 -104
  302. package/cjs/series/funnel/funnel.js.map +1 -1
  303. package/cjs/series/funnel/tooltip-helper.d.ts +5 -3
  304. package/cjs/series/funnel/tooltip-helper.js +10 -8
  305. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  306. package/cjs/series/gauge/gauge-pointer.js +3 -1
  307. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  308. package/cjs/series/gauge/gauge.js +3 -1
  309. package/cjs/series/gauge/gauge.js.map +1 -1
  310. package/cjs/series/heatmap/heatmap.js +2 -2
  311. package/cjs/series/heatmap/heatmap.js.map +1 -1
  312. package/cjs/series/index.d.ts +66 -0
  313. package/cjs/{export/series.js → series/index.js} +70 -50
  314. package/cjs/series/index.js.map +1 -0
  315. package/cjs/series/interface/series.d.ts +2 -1
  316. package/cjs/series/interface/series.js.map +1 -1
  317. package/cjs/series/interface/tooltip-helper.d.ts +6 -6
  318. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  319. package/cjs/series/line/line.js +3 -1
  320. package/cjs/series/line/line.js.map +1 -1
  321. package/cjs/series/link/link.js +3 -1
  322. package/cjs/series/link/link.js.map +1 -1
  323. package/cjs/series/map/map.js +2 -2
  324. package/cjs/series/map/map.js.map +1 -1
  325. package/cjs/series/pie/pie-3d.d.ts +16 -0
  326. package/cjs/series/pie/pie-3d.js +97 -0
  327. package/cjs/series/pie/pie-3d.js.map +1 -0
  328. package/cjs/series/pie/pie.d.ts +1 -11
  329. package/cjs/series/pie/pie.js +4 -89
  330. package/cjs/series/pie/pie.js.map +1 -1
  331. package/cjs/series/polar/animation.d.ts +1 -1
  332. package/cjs/series/polar/animation.js.map +1 -1
  333. package/cjs/series/progress/circular/circular.js +3 -1
  334. package/cjs/series/progress/circular/circular.js.map +1 -1
  335. package/cjs/series/progress/linear/linear.js +3 -1
  336. package/cjs/series/progress/linear/linear.js.map +1 -1
  337. package/cjs/series/radar/animation.d.ts +1 -1
  338. package/cjs/series/radar/animation.js.map +1 -1
  339. package/cjs/series/radar/radar.js +3 -1
  340. package/cjs/series/radar/radar.js.map +1 -1
  341. package/cjs/series/range-column/rangeColumn-3d.d.ts +10 -0
  342. package/cjs/series/range-column/rangeColumn-3d.js +19 -0
  343. package/cjs/series/range-column/rangeColumn-3d.js.map +1 -0
  344. package/cjs/series/range-column/rangeColumn.d.ts +0 -6
  345. package/cjs/series/range-column/rangeColumn.js +1 -10
  346. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  347. package/cjs/series/rose/rose.js +2 -2
  348. package/cjs/series/rose/rose.js.map +1 -1
  349. package/cjs/series/sankey/sankey.js +2 -1
  350. package/cjs/series/sankey/sankey.js.map +1 -1
  351. package/cjs/series/scatter/scatter.js +3 -1
  352. package/cjs/series/scatter/scatter.js.map +1 -1
  353. package/cjs/series/sunburst/sunburst.js +3 -1
  354. package/cjs/series/sunburst/sunburst.js.map +1 -1
  355. package/cjs/series/treemap/treemap.js +3 -1
  356. package/cjs/series/treemap/treemap.js.map +1 -1
  357. package/cjs/series/waterfall/waterfall.js +2 -2
  358. package/cjs/series/waterfall/waterfall.js.map +1 -1
  359. package/cjs/series/word-cloud/base.d.ts +60 -0
  360. package/cjs/series/word-cloud/base.js +254 -0
  361. package/cjs/series/word-cloud/base.js.map +1 -0
  362. package/cjs/series/word-cloud/word-cloud-3d.d.ts +11 -0
  363. package/cjs/series/word-cloud/word-cloud-3d.js +199 -0
  364. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -0
  365. package/cjs/series/word-cloud/word-cloud.d.ts +2 -69
  366. package/cjs/series/word-cloud/word-cloud.js +5 -441
  367. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  368. package/cjs/theme/buildin-theme/index.d.ts +0 -1
  369. package/cjs/theme/buildin-theme/index.js +3 -3
  370. package/cjs/theme/buildin-theme/index.js.map +1 -1
  371. package/cjs/theme/buildin-theme/light/component/crosshair.js +4 -4
  372. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  373. package/cjs/theme/buildin-theme/light/component/tooltip.js +1 -0
  374. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  375. package/cjs/typings/spec/common.d.ts +1 -1
  376. package/cjs/typings/spec/common.js.map +1 -1
  377. package/cjs/typings/tooltip/common.d.ts +7 -1
  378. package/cjs/typings/tooltip/common.js.map +1 -1
  379. package/cjs/typings/tooltip/handler.d.ts +1 -1
  380. package/cjs/typings/tooltip/handler.js.map +1 -1
  381. package/cjs/typings/tooltip/line.d.ts +6 -4
  382. package/cjs/typings/tooltip/line.js.map +1 -1
  383. package/cjs/typings/tooltip/shape.d.ts +3 -3
  384. package/cjs/typings/tooltip/shape.js.map +1 -1
  385. package/cjs/typings/tooltip/tooltip.d.ts +11 -8
  386. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  387. package/cjs/typings/visual.d.ts +4 -11
  388. package/cjs/typings/visual.js.map +1 -1
  389. package/cjs/util/debug.d.ts +3 -3
  390. package/cjs/util/debug.js +11 -20
  391. package/cjs/util/debug.js.map +1 -1
  392. package/cjs/util/index.d.ts +1 -0
  393. package/cjs/util/index.js +2 -1
  394. package/cjs/util/index.js.map +1 -1
  395. package/cjs/util/style.js +3 -7
  396. package/cjs/util/style.js.map +1 -1
  397. package/cjs/vchart-all.d.ts +1 -1
  398. package/cjs/vchart-all.js +3 -5
  399. package/cjs/vchart-all.js.map +1 -1
  400. package/cjs/vchart-simple.d.ts +1 -1
  401. package/cjs/vchart-simple.js +2 -4
  402. package/cjs/vchart-simple.js.map +1 -1
  403. package/component.d.ts +1 -1
  404. package/component.js +1 -1
  405. package/core.d.ts +1 -1
  406. package/core.js +1 -1
  407. package/esm/chart/area/area.d.ts +1 -0
  408. package/esm/chart/area/area.js +11 -0
  409. package/esm/chart/area/area.js.map +1 -1
  410. package/esm/chart/bar/bar-3d.d.ts +7 -0
  411. package/esm/chart/bar/bar-3d.js +20 -0
  412. package/esm/chart/bar/bar-3d.js.map +1 -0
  413. package/esm/chart/bar/bar.d.ts +1 -6
  414. package/esm/chart/bar/bar.js +11 -8
  415. package/esm/chart/bar/bar.js.map +1 -1
  416. package/esm/chart/bar/index.d.ts +1 -0
  417. package/esm/chart/bar/index.js +2 -0
  418. package/esm/chart/bar/index.js.map +1 -1
  419. package/esm/chart/base-chart.d.ts +1 -1
  420. package/esm/chart/base-chart.js +2 -1
  421. package/esm/chart/base-chart.js.map +1 -1
  422. package/esm/chart/box-plot/box-plot.js +9 -1
  423. package/esm/chart/box-plot/box-plot.js.map +1 -1
  424. package/esm/chart/circle-packing/circle-packing.js +6 -0
  425. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  426. package/esm/chart/funnel/base.d.ts +9 -0
  427. package/esm/chart/funnel/base.js +39 -0
  428. package/esm/chart/funnel/base.js.map +1 -0
  429. package/esm/chart/funnel/funnel-3d.d.ts +7 -0
  430. package/esm/chart/funnel/funnel-3d.js +20 -0
  431. package/esm/chart/funnel/funnel-3d.js.map +1 -0
  432. package/esm/chart/funnel/funnel.d.ts +1 -16
  433. package/esm/chart/funnel/funnel.js +7 -46
  434. package/esm/chart/funnel/funnel.js.map +1 -1
  435. package/esm/chart/funnel/index.d.ts +1 -0
  436. package/esm/chart/funnel/index.js +2 -0
  437. package/esm/chart/funnel/index.js.map +1 -1
  438. package/esm/chart/gauge/gauge.js +6 -0
  439. package/esm/chart/gauge/gauge.js.map +1 -1
  440. package/esm/chart/heatmap/heatmap.js +6 -0
  441. package/esm/chart/heatmap/heatmap.js.map +1 -1
  442. package/esm/chart/histogram/base.d.ts +5 -0
  443. package/esm/chart/histogram/base.js +14 -0
  444. package/esm/chart/histogram/base.js.map +1 -0
  445. package/esm/chart/histogram/histogram-3d.d.ts +7 -0
  446. package/esm/chart/histogram/histogram-3d.js +20 -0
  447. package/esm/chart/histogram/histogram-3d.js.map +1 -0
  448. package/esm/chart/histogram/histogram.d.ts +2 -12
  449. package/esm/chart/histogram/histogram.js +12 -21
  450. package/esm/chart/histogram/histogram.js.map +1 -1
  451. package/esm/chart/histogram/index.d.ts +1 -0
  452. package/esm/chart/histogram/index.js +2 -0
  453. package/esm/chart/histogram/index.js.map +1 -1
  454. package/esm/chart/index.d.ts +57 -22
  455. package/esm/chart/index.js +36 -22
  456. package/esm/chart/index.js.map +1 -1
  457. package/esm/chart/line/line.d.ts +1 -0
  458. package/esm/chart/line/line.js +11 -0
  459. package/esm/chart/line/line.js.map +1 -1
  460. package/esm/chart/map/map.js +6 -0
  461. package/esm/chart/map/map.js.map +1 -1
  462. package/esm/chart/pie/base.d.ts +5 -0
  463. package/esm/chart/pie/base.js +18 -0
  464. package/esm/chart/pie/base.js.map +1 -0
  465. package/esm/chart/pie/index.d.ts +1 -0
  466. package/esm/chart/pie/index.js +2 -0
  467. package/esm/chart/pie/index.js.map +1 -1
  468. package/esm/chart/pie/pie-3d.d.ts +8 -0
  469. package/esm/chart/pie/pie-3d.js +25 -0
  470. package/esm/chart/pie/pie-3d.js.map +1 -0
  471. package/esm/chart/pie/pie.d.ts +1 -13
  472. package/esm/chart/pie/pie.js +6 -29
  473. package/esm/chart/pie/pie.js.map +1 -1
  474. package/esm/chart/progress/circular/circular.js +6 -0
  475. package/esm/chart/progress/circular/circular.js.map +1 -1
  476. package/esm/chart/progress/linear/linear.js +6 -0
  477. package/esm/chart/progress/linear/linear.js.map +1 -1
  478. package/esm/chart/radar/radar.js +6 -0
  479. package/esm/chart/radar/radar.js.map +1 -1
  480. package/esm/chart/range-area/range-area.d.ts +1 -0
  481. package/esm/chart/range-area/range-area.js +11 -0
  482. package/esm/chart/range-area/range-area.js.map +1 -1
  483. package/esm/chart/range-column/index.d.ts +2 -1
  484. package/esm/chart/range-column/index.js +3 -1
  485. package/esm/chart/range-column/index.js.map +1 -1
  486. package/esm/chart/range-column/{rangeColumn.d.ts → range-column-3d.d.ts} +0 -7
  487. package/esm/chart/range-column/{rangeColumn.js → range-column-3d.js} +5 -13
  488. package/esm/chart/range-column/range-column-3d.js.map +1 -0
  489. package/esm/chart/range-column/range-column.d.ts +9 -0
  490. package/esm/chart/range-column/range-column.js +33 -0
  491. package/esm/chart/range-column/range-column.js.map +1 -0
  492. package/esm/chart/rose/rose.js +6 -0
  493. package/esm/chart/rose/rose.js.map +1 -1
  494. package/esm/chart/sankey/sankey.js +6 -0
  495. package/esm/chart/sankey/sankey.js.map +1 -1
  496. package/esm/chart/scatter/scatter.js +6 -0
  497. package/esm/chart/scatter/scatter.js.map +1 -1
  498. package/esm/chart/sequence/sequence.js +6 -0
  499. package/esm/chart/sequence/sequence.js.map +1 -1
  500. package/esm/chart/sunburst/sunburst.js +6 -0
  501. package/esm/chart/sunburst/sunburst.js.map +1 -1
  502. package/esm/chart/treemap/treemap.js +6 -0
  503. package/esm/chart/treemap/treemap.js.map +1 -1
  504. package/esm/chart/util.d.ts +2 -0
  505. package/esm/chart/util.js +16 -0
  506. package/esm/chart/util.js.map +1 -0
  507. package/esm/chart/waterfall/waterfall.js +9 -1
  508. package/esm/chart/waterfall/waterfall.js.map +1 -1
  509. package/esm/chart/word-cloud/base.d.ts +6 -0
  510. package/esm/chart/word-cloud/base.js +21 -0
  511. package/esm/chart/word-cloud/base.js.map +1 -0
  512. package/esm/chart/word-cloud/index.d.ts +1 -0
  513. package/esm/chart/word-cloud/index.js +2 -0
  514. package/esm/chart/word-cloud/index.js.map +1 -1
  515. package/esm/chart/word-cloud/word-cloud-3d.d.ts +9 -0
  516. package/esm/chart/word-cloud/word-cloud-3d.js +47 -0
  517. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -0
  518. package/esm/chart/word-cloud/word-cloud.d.ts +2 -15
  519. package/esm/chart/word-cloud/word-cloud.js +6 -50
  520. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  521. package/esm/component/axis/cartesian/axis.js +2 -2
  522. package/esm/component/axis/cartesian/axis.js.map +1 -1
  523. package/esm/component/crosshair/base.js +1 -2
  524. package/esm/component/crosshair/base.js.map +1 -1
  525. package/esm/component/crosshair/interface/spec.d.ts +1 -1
  526. package/esm/component/crosshair/interface/spec.js.map +1 -1
  527. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  528. package/esm/component/index.d.ts +39 -1
  529. package/esm/component/index.js +39 -2
  530. package/esm/component/index.js.map +1 -1
  531. package/esm/component/legend/base-legend.d.ts +1 -1
  532. package/esm/component/legend/base-legend.js +7 -3
  533. package/esm/component/legend/base-legend.js.map +1 -1
  534. package/esm/component/legend/util.d.ts +3 -3
  535. package/esm/component/player/utils/transform.js +1 -3
  536. package/esm/component/player/utils/transform.js.map +1 -1
  537. package/esm/component/tooltip/handler/base.d.ts +5 -4
  538. package/esm/component/tooltip/handler/base.js +45 -35
  539. package/esm/component/tooltip/handler/base.js.map +1 -1
  540. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  541. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +2 -3
  542. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  543. package/esm/component/tooltip/handler/constants.d.ts +4 -0
  544. package/esm/component/tooltip/handler/constants.js +9 -0
  545. package/esm/component/tooltip/handler/constants.js.map +1 -1
  546. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +6 -2
  547. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +20 -12
  548. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  549. package/esm/component/tooltip/handler/dom/interface.d.ts +16 -5
  550. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  551. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +7 -13
  552. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js +11 -29
  553. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  554. package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +13 -3
  555. package/esm/component/tooltip/handler/dom/model/content-column-model.js +46 -24
  556. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  557. package/esm/component/tooltip/handler/dom/model/content-model.d.ts +4 -3
  558. package/esm/component/tooltip/handler/dom/model/content-model.js +5 -5
  559. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  560. package/esm/component/tooltip/handler/dom/model/interface.d.ts +4 -0
  561. package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
  562. package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +5 -5
  563. package/esm/component/tooltip/handler/dom/model/shape-model.js +4 -4
  564. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  565. package/esm/component/tooltip/handler/dom/model/style-constants.d.ts +4 -4
  566. package/esm/component/tooltip/handler/dom/model/style-constants.js +18 -20
  567. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  568. package/esm/component/tooltip/handler/dom/model/text-model.js +1 -0
  569. package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  570. package/esm/component/tooltip/handler/dom/model/title-model.d.ts +3 -2
  571. package/esm/component/tooltip/handler/dom/model/title-model.js +15 -19
  572. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  573. package/esm/component/tooltip/handler/dom/model/tooltip-model.d.ts +1 -2
  574. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +22 -16
  575. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  576. package/esm/component/tooltip/handler/dom/util.d.ts +5 -0
  577. package/esm/component/tooltip/handler/dom/util.js +71 -0
  578. package/esm/component/tooltip/handler/dom/util.js.map +1 -0
  579. package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
  580. package/esm/component/tooltip/handler/interface/index.js +0 -2
  581. package/esm/component/tooltip/handler/interface/index.js.map +1 -1
  582. package/esm/component/tooltip/handler/utils/attribute.js +11 -7
  583. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  584. package/esm/component/tooltip/handler/utils/common.d.ts +6 -2
  585. package/esm/component/tooltip/handler/utils/common.js +25 -2
  586. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  587. package/esm/component/tooltip/handler/utils/compose.d.ts +3 -2
  588. package/esm/component/tooltip/handler/utils/compose.js +52 -43
  589. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  590. package/esm/component/tooltip/handler/utils/get-spec.js +60 -23
  591. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  592. package/esm/component/tooltip/handler/utils/style.d.ts +2 -1
  593. package/esm/component/tooltip/handler/utils/style.js +4 -4
  594. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  595. package/esm/component/tooltip/tooltip.d.ts +3 -1
  596. package/esm/component/tooltip/tooltip.js +33 -18
  597. package/esm/component/tooltip/tooltip.js.map +1 -1
  598. package/esm/component/tooltip/utils/common.js +4 -2
  599. package/esm/component/tooltip/utils/common.js.map +1 -1
  600. package/esm/constant/word-cloud.js +2 -1
  601. package/esm/core/factory.js +1 -2
  602. package/esm/{export/core.d.ts → core/index.d.ts} +4 -4
  603. package/esm/{export/core.js → core/index.js} +5 -5
  604. package/esm/core/index.js.map +1 -0
  605. package/esm/core/instance-manager.d.ts +1 -1
  606. package/esm/core/instance-manager.js +1 -1
  607. package/esm/core/instance-manager.js.map +1 -1
  608. package/esm/core/interface.js +1 -1
  609. package/esm/core/vchart.d.ts +1 -0
  610. package/esm/core/vchart.js +10 -3
  611. package/esm/core/vchart.js.map +1 -1
  612. package/esm/data/initialize.js +2 -1
  613. package/esm/index.d.ts +6 -6
  614. package/esm/index.js +6 -6
  615. package/esm/index.js.map +1 -1
  616. package/esm/layout/base-layout.d.ts +24 -0
  617. package/esm/layout/base-layout.js +115 -0
  618. package/esm/layout/base-layout.js.map +1 -0
  619. package/esm/layout/grid-layout/grid-layout.d.ts +5 -35
  620. package/esm/layout/grid-layout/grid-layout.js +2 -1
  621. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  622. package/esm/layout/index.d.ts +6 -24
  623. package/esm/layout/index.js +8 -115
  624. package/esm/layout/index.js.map +1 -1
  625. package/esm/layout/interface.d.ts +31 -3
  626. package/esm/layout/interface.js.map +1 -1
  627. package/esm/layout/layout3d/index.d.ts +1 -1
  628. package/esm/layout/layout3d/index.js +1 -1
  629. package/esm/layout/layout3d/index.js.map +1 -1
  630. package/esm/mark/arc-3d.d.ts +9 -0
  631. package/esm/mark/arc-3d.js +12 -0
  632. package/esm/mark/arc-3d.js.map +1 -0
  633. package/esm/mark/arc.d.ts +5 -9
  634. package/esm/mark/arc.js +11 -21
  635. package/esm/mark/arc.js.map +1 -1
  636. package/esm/mark/area.js +1 -1
  637. package/esm/mark/base/base-line.js +2 -4
  638. package/esm/mark/base/base-line.js.map +1 -1
  639. package/esm/mark/base/base-mark.d.ts +7 -0
  640. package/esm/mark/base/base-mark.js +9 -7
  641. package/esm/mark/base/base-mark.js.map +1 -1
  642. package/esm/mark/box-plot.js +1 -1
  643. package/esm/mark/cell.js +1 -1
  644. package/esm/mark/index.d.ts +21 -0
  645. package/esm/mark/index.js +40 -0
  646. package/esm/mark/index.js.map +1 -0
  647. package/esm/mark/{linkPath.js → link-path.js} +1 -1
  648. package/esm/mark/link-path.js.map +1 -0
  649. package/esm/mark/polygon/base-polygon.d.ts +6 -0
  650. package/esm/mark/polygon/base-polygon.js +10 -0
  651. package/esm/mark/polygon/base-polygon.js.map +1 -0
  652. package/esm/mark/polygon/polygon.d.ts +9 -0
  653. package/esm/mark/polygon/polygon.js +12 -0
  654. package/esm/mark/polygon/polygon.js.map +1 -0
  655. package/esm/mark/polygon/pyramid-3d.d.ts +9 -0
  656. package/esm/mark/polygon/pyramid-3d.js +12 -0
  657. package/esm/mark/polygon/pyramid-3d.js.map +1 -0
  658. package/esm/mark/rect-3d.d.ts +10 -0
  659. package/esm/mark/rect-3d.js +19 -0
  660. package/esm/mark/rect-3d.js.map +1 -0
  661. package/esm/mark/rect.d.ts +1 -7
  662. package/esm/mark/rect.js +0 -15
  663. package/esm/mark/rect.js.map +1 -1
  664. package/esm/mark/utils/common.d.ts +0 -12
  665. package/esm/mark/utils/common.js +0 -13
  666. package/esm/mark/utils/common.js.map +1 -1
  667. package/esm/model/base-model.js +1 -1
  668. package/esm/model/interface.js +1 -1
  669. package/esm/model/layout-item.js +1 -1
  670. package/esm/model/model-state-manager.js +1 -1
  671. package/esm/model/tooltip-helper.d.ts +3 -4
  672. package/esm/model/tooltip-helper.js +5 -10
  673. package/esm/model/tooltip-helper.js.map +1 -1
  674. package/esm/region/interface.js +1 -1
  675. package/esm/region/region.js +6 -10
  676. package/esm/region/region.js.map +1 -1
  677. package/esm/series/area/area.js +12 -0
  678. package/esm/series/area/area.js.map +1 -1
  679. package/esm/series/bar/bar-3d.d.ts +11 -0
  680. package/esm/series/bar/bar-3d.js +30 -0
  681. package/esm/series/bar/bar-3d.js.map +1 -0
  682. package/esm/series/bar/bar.d.ts +0 -7
  683. package/esm/series/bar/bar.js +8 -14
  684. package/esm/series/bar/bar.js.map +1 -1
  685. package/esm/series/base/base-series.js +1 -1
  686. package/esm/series/base/base-series.js.map +1 -1
  687. package/esm/series/base/tooltip-helper.d.ts +9 -8
  688. package/esm/series/base/tooltip-helper.js +23 -12
  689. package/esm/series/base/tooltip-helper.js.map +1 -1
  690. package/esm/series/box-plot/box-plot.js +8 -0
  691. package/esm/series/box-plot/box-plot.js.map +1 -1
  692. package/esm/series/circle-packing/circle-packing.js +8 -0
  693. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  694. package/esm/series/dot/dot.js +12 -0
  695. package/esm/series/dot/dot.js.map +1 -1
  696. package/esm/series/dot/tooltip-helper.d.ts +1 -2
  697. package/esm/series/dot/tooltip-helper.js +7 -4
  698. package/esm/series/dot/tooltip-helper.js.map +1 -1
  699. package/esm/series/funnel/funnel-3d.d.ts +18 -0
  700. package/esm/series/funnel/funnel-3d.js +113 -0
  701. package/esm/series/funnel/funnel-3d.js.map +1 -0
  702. package/esm/series/funnel/funnel.d.ts +3 -15
  703. package/esm/series/funnel/funnel.js +18 -101
  704. package/esm/series/funnel/funnel.js.map +1 -1
  705. package/esm/series/funnel/tooltip-helper.d.ts +5 -3
  706. package/esm/series/funnel/tooltip-helper.js +11 -7
  707. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  708. package/esm/series/gauge/gauge-pointer.js +8 -0
  709. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  710. package/esm/series/gauge/gauge.js +6 -0
  711. package/esm/series/gauge/gauge.js.map +1 -1
  712. package/esm/series/heatmap/heatmap.js +8 -0
  713. package/esm/series/heatmap/heatmap.js.map +1 -1
  714. package/esm/series/index.d.ts +66 -0
  715. package/esm/series/index.js +70 -0
  716. package/esm/series/index.js.map +1 -0
  717. package/esm/series/interface/series.d.ts +2 -1
  718. package/esm/series/interface/series.js.map +1 -1
  719. package/esm/series/interface/tooltip-helper.d.ts +6 -6
  720. package/esm/series/interface/tooltip-helper.js.map +1 -1
  721. package/esm/series/line/line.js +10 -0
  722. package/esm/series/line/line.js.map +1 -1
  723. package/esm/series/link/link.js +8 -0
  724. package/esm/series/link/link.js.map +1 -1
  725. package/esm/series/map/map.js +7 -1
  726. package/esm/series/map/map.js.map +1 -1
  727. package/esm/series/pie/pie-3d.d.ts +16 -0
  728. package/esm/series/pie/pie-3d.js +107 -0
  729. package/esm/series/pie/pie-3d.js.map +1 -0
  730. package/esm/series/pie/pie.d.ts +1 -11
  731. package/esm/series/pie/pie.js +10 -83
  732. package/esm/series/pie/pie.js.map +1 -1
  733. package/esm/series/polar/animation.d.ts +1 -1
  734. package/esm/series/polar/animation.js.map +1 -1
  735. package/esm/series/progress/circular/circular.js +8 -0
  736. package/esm/series/progress/circular/circular.js.map +1 -1
  737. package/esm/series/progress/linear/linear.js +6 -0
  738. package/esm/series/progress/linear/linear.js.map +1 -1
  739. package/esm/series/radar/animation.d.ts +1 -1
  740. package/esm/series/radar/animation.js.map +1 -1
  741. package/esm/series/radar/radar.js +12 -0
  742. package/esm/series/radar/radar.js.map +1 -1
  743. package/esm/series/range-column/rangeColumn-3d.d.ts +10 -0
  744. package/esm/series/range-column/rangeColumn-3d.js +23 -0
  745. package/esm/series/range-column/rangeColumn-3d.js.map +1 -0
  746. package/esm/series/range-column/rangeColumn.d.ts +0 -6
  747. package/esm/series/range-column/rangeColumn.js +0 -9
  748. package/esm/series/range-column/rangeColumn.js.map +1 -1
  749. package/esm/series/rose/rose.js +8 -0
  750. package/esm/series/rose/rose.js.map +1 -1
  751. package/esm/series/sankey/sankey.js +9 -1
  752. package/esm/series/sankey/sankey.js.map +1 -1
  753. package/esm/series/scatter/scatter.js +8 -0
  754. package/esm/series/scatter/scatter.js.map +1 -1
  755. package/esm/series/sunburst/sunburst.js +8 -0
  756. package/esm/series/sunburst/sunburst.js.map +1 -1
  757. package/esm/series/treemap/treemap.js +8 -0
  758. package/esm/series/treemap/treemap.js.map +1 -1
  759. package/esm/series/waterfall/waterfall.js +6 -0
  760. package/esm/series/waterfall/waterfall.js.map +1 -1
  761. package/esm/series/word-cloud/base.d.ts +60 -0
  762. package/esm/series/word-cloud/base.js +278 -0
  763. package/esm/series/word-cloud/base.js.map +1 -0
  764. package/esm/series/word-cloud/word-cloud-3d.d.ts +11 -0
  765. package/esm/series/word-cloud/word-cloud-3d.js +205 -0
  766. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -0
  767. package/esm/series/word-cloud/word-cloud.d.ts +2 -69
  768. package/esm/series/word-cloud/word-cloud.js +2 -461
  769. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  770. package/esm/theme/buildin-theme/index.d.ts +0 -1
  771. package/esm/theme/buildin-theme/index.js +1 -5
  772. package/esm/theme/buildin-theme/index.js.map +1 -1
  773. package/esm/theme/buildin-theme/light/component/crosshair.js +4 -4
  774. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  775. package/esm/theme/buildin-theme/light/component/tooltip.js +1 -0
  776. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  777. package/esm/typings/spec/common.d.ts +1 -1
  778. package/esm/typings/spec/common.js.map +1 -1
  779. package/esm/typings/tooltip/common.d.ts +7 -1
  780. package/esm/typings/tooltip/common.js.map +1 -1
  781. package/esm/typings/tooltip/handler.d.ts +1 -1
  782. package/esm/typings/tooltip/handler.js.map +1 -1
  783. package/esm/typings/tooltip/line.d.ts +6 -4
  784. package/esm/typings/tooltip/line.js.map +1 -1
  785. package/esm/typings/tooltip/shape.d.ts +3 -3
  786. package/esm/typings/tooltip/shape.js.map +1 -1
  787. package/esm/typings/tooltip/tooltip.d.ts +11 -8
  788. package/esm/typings/tooltip/tooltip.js.map +1 -1
  789. package/esm/typings/visual.d.ts +4 -11
  790. package/esm/typings/visual.js.map +1 -1
  791. package/esm/util/debug.d.ts +3 -3
  792. package/esm/util/debug.js +11 -14
  793. package/esm/util/debug.js.map +1 -1
  794. package/esm/util/index.d.ts +1 -0
  795. package/esm/util/index.js +2 -0
  796. package/esm/util/index.js.map +1 -1
  797. package/esm/util/style.js +3 -8
  798. package/esm/util/style.js.map +1 -1
  799. package/esm/vchart-all.d.ts +1 -1
  800. package/esm/vchart-all.js +4 -12
  801. package/esm/vchart-all.js.map +1 -1
  802. package/esm/vchart-simple.d.ts +1 -1
  803. package/esm/vchart-simple.js +4 -10
  804. package/esm/vchart-simple.js.map +1 -1
  805. package/layout.d.ts +1 -1
  806. package/layout.js +1 -1
  807. package/mark.d.ts +1 -1
  808. package/mark.js +1 -1
  809. package/package.json +35 -39
  810. package/series.d.ts +1 -1
  811. package/series.js +1 -1
  812. package/cjs/chart/range-column/rangeColumn.js.map +0 -1
  813. package/cjs/component/tooltip/handler/dom/utils/style.d.ts +0 -3
  814. package/cjs/component/tooltip/handler/dom/utils/style.js.map +0 -1
  815. package/cjs/component/tooltip/handler/interface/cache.d.ts +0 -28
  816. package/cjs/component/tooltip/handler/interface/cache.js +0 -6
  817. package/cjs/component/tooltip/handler/interface/cache.js.map +0 -1
  818. package/cjs/export/chart.d.ts +0 -57
  819. package/cjs/export/chart.js +0 -298
  820. package/cjs/export/chart.js.map +0 -1
  821. package/cjs/export/component.d.ts +0 -39
  822. package/cjs/export/component.js +0 -207
  823. package/cjs/export/component.js.map +0 -1
  824. package/cjs/export/core.js.map +0 -1
  825. package/cjs/export/layout.d.ts +0 -7
  826. package/cjs/export/layout.js +0 -33
  827. package/cjs/export/layout.js.map +0 -1
  828. package/cjs/export/mark.d.ts +0 -18
  829. package/cjs/export/mark.js.map +0 -1
  830. package/cjs/export/series.d.ts +0 -61
  831. package/cjs/export/series.js.map +0 -1
  832. package/cjs/mark/linkPath.js.map +0 -1
  833. package/cjs/mark/polygon.d.ts +0 -18
  834. package/cjs/mark/polygon.js +0 -32
  835. package/cjs/mark/polygon.js.map +0 -1
  836. package/cjs/theme/buildin-theme/dark.d.ts +0 -2
  837. package/cjs/theme/buildin-theme/dark.js +0 -16
  838. package/cjs/theme/buildin-theme/dark.js.map +0 -1
  839. package/esm/chart/range-column/rangeColumn.js.map +0 -1
  840. package/esm/component/tooltip/handler/dom/utils/style.d.ts +0 -3
  841. package/esm/component/tooltip/handler/dom/utils/style.js +0 -59
  842. package/esm/component/tooltip/handler/dom/utils/style.js.map +0 -1
  843. package/esm/component/tooltip/handler/interface/cache.d.ts +0 -28
  844. package/esm/component/tooltip/handler/interface/cache.js +0 -2
  845. package/esm/component/tooltip/handler/interface/cache.js.map +0 -1
  846. package/esm/export/chart.d.ts +0 -57
  847. package/esm/export/chart.js +0 -58
  848. package/esm/export/chart.js.map +0 -1
  849. package/esm/export/component.d.ts +0 -39
  850. package/esm/export/component.js +0 -40
  851. package/esm/export/component.js.map +0 -1
  852. package/esm/export/core.js.map +0 -1
  853. package/esm/export/layout.d.ts +0 -7
  854. package/esm/export/layout.js +0 -8
  855. package/esm/export/layout.js.map +0 -1
  856. package/esm/export/mark.d.ts +0 -18
  857. package/esm/export/mark.js +0 -34
  858. package/esm/export/mark.js.map +0 -1
  859. package/esm/export/series.d.ts +0 -61
  860. package/esm/export/series.js +0 -60
  861. package/esm/export/series.js.map +0 -1
  862. package/esm/mark/linkPath.js.map +0 -1
  863. package/esm/mark/polygon.d.ts +0 -18
  864. package/esm/mark/polygon.js +0 -28
  865. package/esm/mark/polygon.js.map +0 -1
  866. package/esm/theme/buildin-theme/dark.d.ts +0 -2
  867. package/esm/theme/buildin-theme/dark.js +0 -12
  868. package/esm/theme/buildin-theme/dark.js.map +0 -1
  869. /package/cjs/mark/{linkPath.d.ts → link-path.d.ts} +0 -0
  870. /package/esm/mark/{linkPath.d.ts → link-path.d.ts} +0 -0
@@ -17,23 +17,16 @@ class Tooltip extends base_1.BaseComponent {
17
17
  }, this.handleMouseOut = params => {
18
18
  if (this._alwaysShow) return;
19
19
  const {clientX: clientX, clientY: clientY} = params.event;
20
- (0, util_1.isTrueBrowser)(this._option.mode) && this._isPointInChart({
20
+ (0, util_1.isTrueBrowser)(this._option.mode) && (this._isPointerInChart({
21
21
  x: clientX,
22
22
  y: clientY
23
- }) || this.handleChartMouseOut(params);
23
+ }) || this._isPointerOnTooltip(params)) || this.handleChartMouseOut(params);
24
24
  }, this.handleChartMouseOut = params => {
25
25
  this._alwaysShow || "none" !== this._spec.triggerOff && (this._hideTooltipByHandler(Object.assign({}, params)),
26
26
  this._cacheInfo = void 0);
27
27
  }, this.handleMouseMove = params => {
28
- var _a, _b;
29
28
  if (this._alwaysShow) return;
30
- if (this._spec.enterable && "html" === this._spec.renderMode) {
31
- const nativeEvent = params.event.nativeEvent;
32
- let target = nativeEvent.target;
33
- nativeEvent.composedPath && nativeEvent.composedPath().length > 0 && (target = nativeEvent.composedPath()[0]);
34
- const container = null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.getTooltipContainer) || void 0 === _b ? void 0 : _b.call(_a);
35
- if ((0, util_1.isValid)(container) && (0, vutils_1.hasParentElement)(target, container)) return;
36
- }
29
+ if (this._isPointerOnTooltip(params)) return;
37
30
  const mouseEventData = this._getMouseEventData(params), {tooltipInfo: {dimension: dimensionInfo}, ignore: {mark: ignoreMark, dimension: ignoreDimension}} = mouseEventData;
38
31
  let markTooltipSuccess = !1, dimensionTooltipSuccess = !1;
39
32
  markTooltipSuccess = this._showTooltipByMouseEvent("mark", mouseEventData, params),
@@ -104,7 +97,7 @@ class Tooltip extends base_1.BaseComponent {
104
97
  const renderMode = null !== (_a = this._spec.renderMode) && void 0 !== _a ? _a : "html", userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();
105
98
  if (userTooltipHandler) this.tooltipHandler = userTooltipHandler; else {
106
99
  const Handler = "canvas" === renderMode ? handler_1.CanvasTooltipHandler : handler_1.DomTooltipHandler, id = `${this._spec.className}-${null !== (_b = this._option.globalInstance.id) && void 0 !== _b ? _b : 0}-${null !== (_c = this._option.specIndex) && void 0 !== _c ? _c : 0}`;
107
- this.tooltipHandler = new Handler(this._spec, id, this);
100
+ this.tooltipHandler = new Handler(id, this);
108
101
  }
109
102
  }
110
103
  initProcessor() {
@@ -118,17 +111,25 @@ class Tooltip extends base_1.BaseComponent {
118
111
  const trigger = null !== (_a = this._spec.trigger) && void 0 !== _a ? _a : "hover", mode = this._option.mode;
119
112
  "hover" === trigger ? (this.mountEvent("pointermove", {
120
113
  level: constant_1.Event_Bubble_Level.chart
121
- }, this.handleMouseMove), this.mountEvent("pointerleave", {
122
- level: constant_1.Event_Bubble_Level.chart
123
- }, this.handleMouseOut), ((0, util_1.isMobileLikeMode)(mode) || (0, util_1.isMiniAppLikeMode)(mode)) && this.mountEvent("pointerdown", {
114
+ }, this.handleMouseMove), ((0, util_1.isMobileLikeMode)(mode) || (0, util_1.isMiniAppLikeMode)(mode)) && (this.mountEvent("pointerdown", {
124
115
  level: constant_1.Event_Bubble_Level.chart
125
- }, this.handleMouseMove)) : "click" === trigger && this.mountEvent("pointertap", {
116
+ }, this.handleMouseMove), this.mountEvent("pointerup", {
117
+ source: "window"
118
+ }, this.handleMouseOut)), this.mountEvent("pointermove", {
119
+ source: "window"
120
+ }, this.handleMouseOut)) : "click" === trigger && (this.mountEvent("pointertap", {
126
121
  level: constant_1.Event_Bubble_Level.chart
127
- }, this.handleMouseMove);
122
+ }, this.handleMouseMove), this.mountEvent("pointerup", {
123
+ source: "window"
124
+ }, this.handleMouseOut));
128
125
  }
129
126
  _initTheme(theme) {
130
127
  super._initTheme(theme), this._spec.style = (0, util_1.merge)({}, this._theme, this._originalSpec.style);
131
128
  }
129
+ reInit(theme) {
130
+ var _a, _b;
131
+ super.reInit(theme), null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.reInit) || void 0 === _b || _b.call(_a);
132
+ }
132
133
  setAttrFromSpec() {
133
134
  var _a;
134
135
  super.setAttrFromSpec();
@@ -181,9 +182,9 @@ class Tooltip extends base_1.BaseComponent {
181
182
  }
182
183
  if ((0, processor_1.isDimensionInfo)(this._cacheInfo)) return !1;
183
184
  const prevInfo = this._cacheInfo;
184
- return nextInfo.datum === prevInfo.datum && nextInfo.mark === prevInfo.mark && nextInfo.series === prevInfo.series;
185
+ return (null == nextInfo ? void 0 : nextInfo.datum) === prevInfo.datum && (null == nextInfo ? void 0 : nextInfo.mark) === prevInfo.mark && (null == nextInfo ? void 0 : nextInfo.series) === prevInfo.series;
185
186
  }
186
- _isPointInChart(point) {
187
+ _isPointerInChart(point) {
187
188
  const globalInstance = this._option.globalInstance, chart = globalInstance.getChart();
188
189
  if (!chart) return !1;
189
190
  const {x: x, y: y} = point, container = globalInstance.getContainer(), {x: chartX, y: chartY} = (0,
@@ -191,6 +192,20 @@ class Tooltip extends base_1.BaseComponent {
191
192
  vutils_1.getElementAbsoluteScrollOffset)(container), canvasRect = chart.getCanvasRect(), chartWidth = null == canvasRect ? void 0 : canvasRect.width, chartHeight = null == canvasRect ? void 0 : canvasRect.height;
192
193
  return x >= chartX - scrollOffsetX && x <= chartX + chartWidth - scrollOffsetX && y >= chartY - scrollOffsetY && y <= chartY + chartHeight - scrollOffsetY;
193
194
  }
195
+ _isPointerOnTooltip(params) {
196
+ var _a, _b;
197
+ if (this._spec.enterable && "html" === this._spec.renderMode) {
198
+ const {event: event} = params;
199
+ let target;
200
+ if ((0, util_1.isValid)(event.nativeEvent)) {
201
+ const nativeEvent = event.nativeEvent;
202
+ target = nativeEvent.target, nativeEvent.composedPath && nativeEvent.composedPath().length > 0 && (target = nativeEvent.composedPath()[0]);
203
+ } else target = event.target;
204
+ const container = null === (_b = null === (_a = this.tooltipHandler) || void 0 === _a ? void 0 : _a.getTooltipContainer) || void 0 === _b ? void 0 : _b.call(_a);
205
+ if ((0, util_1.isValid)(container) && (0, util_1.isValid)(target) && (0, vutils_1.hasParentElement)(target, container)) return !0;
206
+ }
207
+ return !1;
208
+ }
194
209
  }
195
210
 
196
211
  exports.Tooltip = Tooltip, Tooltip.type = interface_1.ComponentTypeEnum.tooltip;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { IModelLayoutOption, IModelRenderOption, ILayoutItem } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, IToolTipLineActual, TooltipActiveType } from '../../typings/tooltip';\nimport { DomTooltipHandler, CanvasTooltipHandler } from './handler';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport {\n cloneDeep,\n isArray,\n isValid,\n merge,\n isMobileLikeMode,\n isTrueBrowser,\n isNil,\n isMiniAppLikeMode\n} from '../../util';\nimport type {\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n ITooltipTheme,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TOOLTIP_EL_CLASS_NAME } from './handler/constants';\n// eslint-disable-next-line no-duplicate-imports\nimport { getTooltipActualActiveType, showTooltip, isEmptyPos } from './utils';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util';\nimport { Event_Bubble_Level, Event_Source_Type } from '../../constant';\nimport type { DimensionTooltipInfo, MarkTooltipInfo, TooltipInfo } from './processor';\n// eslint-disable-next-line no-duplicate-imports\nimport { isDimensionInfo, isMarkInfo, MarkTooltipProcessor, DimensionTooltipProcessor } from './processor';\nimport { getElementAbsolutePosition, getElementAbsoluteScrollOffset, hasParentElement } from '@visactor/vutils';\n\nexport type TooltipContent = {\n title?: IToolTipLineActual;\n content?: IToolTipLineActual[];\n};\n\nexport class Tooltip extends BaseComponent {\n static type = ComponentTypeEnum.tooltip;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n\n layoutType: ILayoutItem['layoutType'] = 'absolute';\n\n static createComponent(spec: any, options: IComponentOption) {\n const tooltipSpec = spec.tooltip;\n if (!tooltipSpec) {\n return null;\n }\n if (!isArray(tooltipSpec)) {\n return new Tooltip(tooltipSpec, { ...options, specKey: 'tooltip' });\n }\n const tooltips: Tooltip[] = [];\n tooltipSpec.forEach((s: any, i: number) => {\n tooltips.push(new Tooltip(s, { ...options, specIndex: i, specKey: 'tooltip' }));\n });\n return tooltips;\n }\n\n tooltipHandler?: ITooltipHandler;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n\n private _eventList: {\n eventType: EventType;\n handler: any;\n }[] = [];\n\n protected declare _spec: ITooltipSpec;\n\n protected declare _theme: ITooltipTheme;\n\n protected _processor: ITooltipActiveTypeAsKeys<MarkTooltipProcessor, DimensionTooltipProcessor>;\n\n changeRegions(regions: IRegion[]) {\n /* do nothing */\n }\n protected registerEvent() {\n /* do nothing */\n }\n protected releaseEvent() {\n /* do nothing */\n }\n onLayout(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onLayoutEnd(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onRender(ctx: IModelRenderOption) {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // handler\n this.initHandler();\n // processor\n this.initProcessor();\n // event\n this.initEvent();\n }\n\n release() {\n super.release();\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n }\n\n protected initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n } else {\n // 构造内部默认 handler\n const Handler = renderMode === 'canvas' ? CanvasTooltipHandler : DomTooltipHandler;\n const id = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this._option.specIndex ?? 0}`;\n this.tooltipHandler = new Handler(this._spec, id, this);\n }\n }\n\n protected initProcessor() {\n // 初始化 tooltip 类型\n this._processor = {\n mark: new MarkTooltipProcessor(this),\n dimension: new DimensionTooltipProcessor(this)\n };\n }\n\n protected initEvent() {\n const trigger = this._spec.trigger ?? 'hover';\n // TODO: triggerOff完整支持\n // const triggerOff = this._spec.triggerOff ?? trigger;\n const mode = this._option.mode;\n\n if (trigger === 'hover') {\n this.mountEvent('pointermove', { level: Event_Bubble_Level.chart }, this.handleMouseMove);\n this.mountEvent('pointerleave', { level: Event_Bubble_Level.chart }, this.handleMouseOut);\n // TODO: 需要封装一个复合事件,用于移动端的点按+滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this.mountEvent('pointerdown', { level: Event_Bubble_Level.chart }, this.handleMouseMove);\n }\n } else if (trigger === 'click') {\n this.mountEvent('pointertap', { level: Event_Bubble_Level.chart }, this.handleMouseMove);\n }\n }\n\n protected mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected handleMouseOut = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n // 当 enterable 为true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n const { clientX, clientY } = params.event as MouseEvent;\n if (isTrueBrowser(this._option.mode) && this._isPointInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n this.handleChartMouseOut(params);\n };\n\n protected handleChartMouseOut = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...params\n });\n this._cacheInfo = undefined;\n }\n };\n\n protected handleMouseMove = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n // TODO:后续支持 renderMode === 'canvas' 场景\n if (this._spec.enterable && this._spec.renderMode === 'html') {\n // get native event object\n const nativeEvent = params.event.nativeEvent;\n let target = nativeEvent.target;\n // if in shadow DOM use composedPath to access target\n if (nativeEvent.composedPath && nativeEvent.composedPath().length > 0) {\n target = nativeEvent.composedPath()[0];\n }\n\n const container = this.tooltipHandler?.getTooltipContainer?.();\n if (isValid(container) && hasParentElement(target, container)) {\n return;\n }\n }\n\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark, dimension: ignoreDimension }\n } = mouseEventData;\n\n let markTooltipSuccess: boolean = false;\n let dimensionTooltipSuccess: boolean = false;\n\n /* 显示常规tooltip */\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params);\n if (!markTooltipSuccess) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (!markTooltipSuccess && !dimensionTooltipSuccess && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params, true);\n } else if (ignoreDimension && isDimensionInfo(this._cacheInfo)) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (!markTooltipSuccess && (!dimensionTooltipSuccess || isNil(dimensionInfo))) {\n this.handleChartMouseOut(params);\n }\n };\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n useCache?: boolean\n ): boolean => {\n const processor = this._processor[activeType];\n // 判断是否应该触发 tooltip\n if (\n !processor.shouldHandleTooltip(params, {\n tooltipInfo: mouseEventData.tooltipInfo[activeType],\n ignore: mouseEventData.ignore[activeType]\n })\n ) {\n return false;\n }\n\n let success: boolean;\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCacheInfo(tooltipInfo);\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n }\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n Object.keys(this._processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this._processor[activeType].getMouseEventData(params);\n result.tooltipInfo[activeType] = tooltipInfo;\n result.ignore[activeType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams) => {\n if (this.tooltipHandler?.hideTooltip) {\n this.tooltipHandler.hideTooltip(params);\n }\n };\n\n protected _initTheme(theme?: any) {\n super._initTheme(theme);\n this._spec.style = merge({}, this._theme, this._originalSpec.style);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const userSpec = this._spec as ITooltipSpec;\n this._spec = {\n ...userSpec,\n visible: isValid(userSpec.visible) ? userSpec.visible : true,\n activeType: getTooltipActualActiveType(userSpec),\n renderMode: 'html',\n trigger: isValid(userSpec.trigger) ? userSpec.trigger : 'hover',\n className: isValid(userSpec.className) ? userSpec.className : TOOLTIP_EL_CLASS_NAME,\n enterable: isValid(userSpec.enterable) ? userSpec.enterable : false,\n transitionDuration: isValid(userSpec.transitionDuration) ? userSpec.transitionDuration : 150\n } as ITooltipSpec;\n this._spec.triggerOff = isValid(userSpec.triggerOff) ? userSpec.triggerOff : this._spec.trigger;\n\n if (isValid(userSpec.renderMode)) {\n this._spec.renderMode = userSpec.renderMode;\n } else if (isMiniAppLikeMode(this._option.mode)) {\n // 小程序环境下,默认使用canvas渲染\n this._spec.renderMode = 'canvas';\n }\n\n if (isValid(userSpec.mark)) {\n this._spec.mark = {\n ...cloneDeep(userSpec.mark),\n activeType: 'mark'\n };\n }\n if (isValid(userSpec.dimension)) {\n this._spec.dimension = {\n ...cloneDeep(userSpec.dimension),\n activeType: 'dimension'\n };\n }\n\n if (isValid(userSpec.parentElement)) {\n this._spec.parentElement = userSpec.parentElement;\n } else if (isTrueBrowser(this._option.mode)) {\n this._spec.parentElement = globalThis.document?.body;\n }\n\n if (isValid(userSpec.confine)) {\n this._spec.confine = userSpec.confine;\n } else {\n this._spec.confine = this._spec.renderMode === 'canvas';\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n const result = showTooltip(datum, options, this.tooltipHandler, this._option);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n }\n return result;\n }\n\n hideTooltip() {\n if (!this.tooltipHandler?.hideTooltip) {\n return false;\n }\n this._alwaysShow = false;\n this.tooltipHandler.hideTooltip({\n changePositionOnly: false,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any);\n return true;\n }\n\n private _isSameAsCacheInfo(nextInfo?: TooltipInfo): boolean {\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n return prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n }\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n return nextInfo.datum === prevInfo.datum && nextInfo.mark === prevInfo.mark && nextInfo.series === prevInfo.series;\n }\n\n private _isPointInChart(point: IPoint): boolean {\n const globalInstance = this._option.globalInstance;\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const container = globalInstance.getContainer();\n const { x: chartX, y: chartY } = getElementAbsolutePosition(container);\n const { x: scrollOffsetX, y: scrollOffsetY } = getElementAbsoluteScrollOffset(container);\n const canvasRect = chart.getCanvasRect();\n const chartWidth = canvasRect?.width;\n const chartHeight = canvasRect?.height;\n // 鼠标仍在图表范围内,则不处理\n if (\n x >= chartX - scrollOffsetX &&\n x <= chartX + chartWidth - scrollOffsetX &&\n y >= chartY - scrollOffsetY &&\n y <= chartY + chartHeight - scrollOffsetY\n ) {\n return true;\n }\n\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { IModelLayoutOption, IModelRenderOption, ILayoutItem } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, IToolTipLineActual, TooltipActiveType } from '../../typings/tooltip';\nimport { DomTooltipHandler, CanvasTooltipHandler } from './handler';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport {\n cloneDeep,\n isArray,\n isValid,\n merge,\n isMobileLikeMode,\n isTrueBrowser,\n isNil,\n isMiniAppLikeMode\n} from '../../util';\nimport type {\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n ITooltipTheme,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TOOLTIP_EL_CLASS_NAME } from './handler/constants';\n// eslint-disable-next-line no-duplicate-imports\nimport { getTooltipActualActiveType, showTooltip, isEmptyPos } from './utils';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util';\nimport { Event_Bubble_Level, Event_Source_Type } from '../../constant';\nimport type { DimensionTooltipInfo, MarkTooltipInfo, TooltipInfo } from './processor';\n// eslint-disable-next-line no-duplicate-imports\nimport { isDimensionInfo, isMarkInfo, MarkTooltipProcessor, DimensionTooltipProcessor } from './processor';\nimport { getElementAbsolutePosition, getElementAbsoluteScrollOffset, hasParentElement } from '@visactor/vutils';\n\nexport type TooltipContent = {\n title?: IToolTipLineActual;\n content?: IToolTipLineActual[];\n};\n\nexport class Tooltip extends BaseComponent {\n static type = ComponentTypeEnum.tooltip;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n\n layoutType: ILayoutItem['layoutType'] = 'absolute';\n\n static createComponent(spec: any, options: IComponentOption) {\n const tooltipSpec = spec.tooltip;\n if (!tooltipSpec) {\n return null;\n }\n if (!isArray(tooltipSpec)) {\n return new Tooltip(tooltipSpec, { ...options, specKey: 'tooltip' });\n }\n const tooltips: Tooltip[] = [];\n tooltipSpec.forEach((s: any, i: number) => {\n tooltips.push(new Tooltip(s, { ...options, specIndex: i, specKey: 'tooltip' }));\n });\n return tooltips;\n }\n\n tooltipHandler?: ITooltipHandler;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n\n private _eventList: {\n eventType: EventType;\n handler: any;\n }[] = [];\n\n protected declare _spec: ITooltipSpec;\n\n protected declare _theme: ITooltipTheme;\n\n protected _processor: ITooltipActiveTypeAsKeys<MarkTooltipProcessor, DimensionTooltipProcessor>;\n\n changeRegions(regions: IRegion[]) {\n /* do nothing */\n }\n protected registerEvent() {\n /* do nothing */\n }\n protected releaseEvent() {\n /* do nothing */\n }\n onLayout(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onLayoutEnd(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onRender(ctx: IModelRenderOption) {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // handler\n this.initHandler();\n // processor\n this.initProcessor();\n // event\n this.initEvent();\n }\n\n release() {\n super.release();\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n }\n\n protected initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n } else {\n // 构造内部默认 handler\n const Handler = renderMode === 'canvas' ? CanvasTooltipHandler : DomTooltipHandler;\n const id = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this._option.specIndex ?? 0}`;\n this.tooltipHandler = new Handler(id, this);\n }\n }\n\n protected initProcessor() {\n // 初始化 tooltip 类型\n this._processor = {\n mark: new MarkTooltipProcessor(this),\n dimension: new DimensionTooltipProcessor(this)\n };\n }\n\n protected initEvent() {\n const trigger = this._spec.trigger ?? 'hover';\n // TODO: triggerOff完整支持\n // const triggerOff = this._spec.triggerOff ?? trigger;\n const mode = this._option.mode;\n\n if (trigger === 'hover') {\n this.mountEvent('pointermove', { level: Event_Bubble_Level.chart }, this.handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this.mountEvent('pointerdown', { level: Event_Bubble_Level.chart }, this.handleMouseMove);\n this.mountEvent('pointerup', { source: 'window' }, this.handleMouseOut);\n }\n this.mountEvent('pointermove', { source: 'window' }, this.handleMouseOut);\n } else if (trigger === 'click') {\n this.mountEvent('pointertap', { level: Event_Bubble_Level.chart }, this.handleMouseMove);\n this.mountEvent('pointerup', { source: 'window' }, this.handleMouseOut);\n }\n }\n\n protected mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected handleMouseOut = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n const { clientX, clientY } = params.event as MouseEvent;\n if (\n isTrueBrowser(this._option.mode) &&\n (this._isPointerInChart({ x: clientX, y: clientY }) || this._isPointerOnTooltip(params))\n ) {\n return;\n }\n\n this.handleChartMouseOut(params);\n };\n\n protected handleChartMouseOut = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...params\n });\n this._cacheInfo = undefined;\n }\n };\n\n protected handleMouseMove = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n if (this._isPointerOnTooltip(params)) {\n return;\n }\n\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark, dimension: ignoreDimension }\n } = mouseEventData;\n\n let markTooltipSuccess: boolean = false;\n let dimensionTooltipSuccess: boolean = false;\n\n /* 显示常规tooltip */\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params);\n if (!markTooltipSuccess) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (!markTooltipSuccess && !dimensionTooltipSuccess && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params, true);\n } else if (ignoreDimension && isDimensionInfo(this._cacheInfo)) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (!markTooltipSuccess && (!dimensionTooltipSuccess || isNil(dimensionInfo))) {\n this.handleChartMouseOut(params);\n }\n };\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n useCache?: boolean\n ): boolean => {\n const processor = this._processor[activeType];\n // 判断是否应该触发 tooltip\n if (\n !processor.shouldHandleTooltip(params, {\n tooltipInfo: mouseEventData.tooltipInfo[activeType],\n ignore: mouseEventData.ignore[activeType]\n })\n ) {\n return false;\n }\n\n let success: boolean;\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCacheInfo(tooltipInfo);\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n }\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n Object.keys(this._processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this._processor[activeType].getMouseEventData(params);\n result.tooltipInfo[activeType] = tooltipInfo;\n result.ignore[activeType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams) => {\n if (this.tooltipHandler?.hideTooltip) {\n this.tooltipHandler.hideTooltip(params);\n }\n };\n\n protected _initTheme(theme?: any) {\n super._initTheme(theme);\n this._spec.style = merge({}, this._theme, this._originalSpec.style);\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n this.tooltipHandler?.reInit?.();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const userSpec = this._spec as ITooltipSpec;\n this._spec = {\n ...userSpec,\n visible: isValid(userSpec.visible) ? userSpec.visible : true,\n activeType: getTooltipActualActiveType(userSpec),\n renderMode: 'html',\n trigger: isValid(userSpec.trigger) ? userSpec.trigger : 'hover',\n className: isValid(userSpec.className) ? userSpec.className : TOOLTIP_EL_CLASS_NAME,\n enterable: isValid(userSpec.enterable) ? userSpec.enterable : false,\n transitionDuration: isValid(userSpec.transitionDuration) ? userSpec.transitionDuration : 150\n } as ITooltipSpec;\n this._spec.triggerOff = isValid(userSpec.triggerOff) ? userSpec.triggerOff : this._spec.trigger;\n\n if (isValid(userSpec.renderMode)) {\n this._spec.renderMode = userSpec.renderMode;\n } else if (isMiniAppLikeMode(this._option.mode)) {\n // 小程序环境下,默认使用canvas渲染\n this._spec.renderMode = 'canvas';\n }\n\n if (isValid(userSpec.mark)) {\n this._spec.mark = {\n ...cloneDeep(userSpec.mark),\n activeType: 'mark'\n };\n }\n if (isValid(userSpec.dimension)) {\n this._spec.dimension = {\n ...cloneDeep(userSpec.dimension),\n activeType: 'dimension'\n };\n }\n\n if (isValid(userSpec.parentElement)) {\n this._spec.parentElement = userSpec.parentElement;\n } else if (isTrueBrowser(this._option.mode)) {\n this._spec.parentElement = globalThis.document?.body;\n }\n\n if (isValid(userSpec.confine)) {\n this._spec.confine = userSpec.confine;\n } else {\n this._spec.confine = this._spec.renderMode === 'canvas';\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n const result = showTooltip(datum, options, this.tooltipHandler, this._option);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n }\n return result;\n }\n\n hideTooltip() {\n if (!this.tooltipHandler?.hideTooltip) {\n return false;\n }\n this._alwaysShow = false;\n this.tooltipHandler.hideTooltip({\n changePositionOnly: false,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any);\n return true;\n }\n\n private _isSameAsCacheInfo(nextInfo?: TooltipInfo): boolean {\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n return prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n }\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n return (\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option.globalInstance;\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const container = globalInstance.getContainer();\n const { x: chartX, y: chartY } = getElementAbsolutePosition(container);\n const { x: scrollOffsetX, y: scrollOffsetY } = getElementAbsoluteScrollOffset(container);\n const canvasRect = chart.getCanvasRect();\n const chartWidth = canvasRect?.width;\n const chartHeight = canvasRect?.height;\n // 鼠标仍在图表范围内,则不处理\n if (\n x >= chartX - scrollOffsetX &&\n x <= chartX + chartWidth - scrollOffsetX &&\n y >= chartY - scrollOffsetY &&\n y <= chartY + chartHeight - scrollOffsetY\n ) {\n return true;\n }\n\n return false;\n }\n\n private _isPointerOnTooltip(params: BaseEventParams): boolean {\n // TODO:后续支持 renderMode === 'canvas' 场景\n if (this._spec.enterable && this._spec.renderMode === 'html') {\n const { event } = params;\n let target: any;\n if (isValid(event.nativeEvent)) {\n // get native event object\n const nativeEvent = event.nativeEvent as Event;\n target = nativeEvent.target;\n // if in shadow DOM use composedPath to access target\n if (nativeEvent.composedPath && nativeEvent.composedPath().length > 0) {\n target = nativeEvent.composedPath()[0];\n }\n } else {\n target = event.target;\n }\n\n const container = this.tooltipHandler?.getTooltipContainer?.();\n if (isValid(container) && isValid(target) && hasParentElement(target, container)) {\n return true;\n }\n }\n return false;\n }\n}\n"]}
@@ -11,8 +11,10 @@ const util_1 = require("../../../util"), getTooltipActualActiveType = spec => {
11
11
  mark: !1 !== (null === (_a = null == spec ? void 0 : spec.mark) || void 0 === _a ? void 0 : _a.visible),
12
12
  dimension: !1 !== (null === (_b = null == spec ? void 0 : spec.dimension) || void 0 === _b ? void 0 : _b.visible)
13
13
  };
14
- return (0, util_1.isValid)(null == spec ? void 0 : spec.activeType) && Object.keys(activeTypeMap).forEach((t => activeTypeMap[t] = null == spec ? void 0 : spec.activeType.includes(t))),
15
- Object.keys(activeTypeMap).filter((t => activeTypeMap[t]));
14
+ return (0, util_1.isValid)(null == spec ? void 0 : spec.activeType) && Object.keys(activeTypeMap).forEach((t => {
15
+ var _a;
16
+ activeTypeMap[t] = null === (_a = null == spec ? void 0 : spec.activeType) || void 0 === _a ? void 0 : _a.includes(t);
17
+ })), Object.keys(activeTypeMap).filter((t => activeTypeMap[t]));
16
18
  };
17
19
 
18
20
  function isEmptyPos(params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/common.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAKxC,MAAM,0BAA0B,GAAG,CAAC,IAAmB,EAAuB,EAAE;;IACrF,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,MAAM,aAAa,GAA+C;QAChE,IAAI,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,OAAO,MAAK,KAAK;QACnC,SAAS,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,OAAO,MAAK,KAAK;KAC9C,CAAC;IAEF,IAAI,IAAA,cAAO,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,QAAQ,CAAC,CAAsB,CAAC,CAAC,CAAC,CAAC;KACjH;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAwB,CAAC;AACzF,CAAC,CAAC;AAfW,QAAA,0BAA0B,8BAerC;AAEF,SAAgB,UAAU,CAAC,MAAuB;IAChD,OAAO,IAAA,YAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAA,YAAK,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAA,YAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAFD,gCAEC","file":"common.js","sourcesContent":["import { isNil, isValid } from '../../../util';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../interface';\nimport type { BaseEventParams } from '../../../event/interface';\n\nexport const getTooltipActualActiveType = (spec?: ITooltipSpec): TooltipActiveType[] => {\n if (spec?.visible === false) {\n return [];\n }\n\n const activeTypeMap: ITooltipActiveTypeAsKeys<boolean, boolean> = {\n mark: spec?.mark?.visible !== false,\n dimension: spec?.dimension?.visible !== false\n };\n\n if (isValid(spec?.activeType)) {\n Object.keys(activeTypeMap).forEach(t => (activeTypeMap[t] = spec?.activeType.includes(t as TooltipActiveType)));\n }\n\n return Object.keys(activeTypeMap).filter(t => activeTypeMap[t]) as TooltipActiveType[];\n};\n\nexport function isEmptyPos(params: BaseEventParams): boolean {\n return isNil(params.mark) && isNil(params.model) && isNil(params.datum);\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/common.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAKxC,MAAM,0BAA0B,GAAG,CAAC,IAAmB,EAAuB,EAAE;;IACrF,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,MAAM,aAAa,GAA+C;QAChE,IAAI,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,OAAO,MAAK,KAAK;QACnC,SAAS,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,OAAO,MAAK,KAAK;KAC9C,CAAC;IAEF,IAAI,IAAA,cAAO,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YACrC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,QAAQ,CAAC,CAAsB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAwB,CAAC;AACzF,CAAC,CAAC;AAjBW,QAAA,0BAA0B,8BAiBrC;AAEF,SAAgB,UAAU,CAAC,MAAuB;IAChD,OAAO,IAAA,YAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAA,YAAK,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAA,YAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAFD,gCAEC","file":"common.js","sourcesContent":["import { isNil, isValid } from '../../../util';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../interface';\nimport type { BaseEventParams } from '../../../event/interface';\n\nexport const getTooltipActualActiveType = (spec?: ITooltipSpec): TooltipActiveType[] => {\n if (spec?.visible === false) {\n return [];\n }\n\n const activeTypeMap: ITooltipActiveTypeAsKeys<boolean, boolean> = {\n mark: spec?.mark?.visible !== false,\n dimension: spec?.dimension?.visible !== false\n };\n\n if (isValid(spec?.activeType)) {\n Object.keys(activeTypeMap).forEach(t => {\n activeTypeMap[t] = spec?.activeType?.includes(t as TooltipActiveType);\n });\n }\n\n return Object.keys(activeTypeMap).filter(t => activeTypeMap[t]) as TooltipActiveType[];\n};\n\nexport function isEmptyPos(params: BaseEventParams): boolean {\n return isNil(params.mark) && isNil(params.model) && isNil(params.datum);\n}\n"]}
@@ -9,4 +9,5 @@ const base_1 = require("./base");
9
9
  exports.WORD_CLOUD_ANGLE = `${base_1.PREFIX}_WORD_CLOUD_ANGLE`, exports.WORD_CLOUD_FILLING_ANGLE = `${base_1.PREFIX}_WORD_CLOUD_FILLING_ANGLE`,
10
10
  exports.WORD_CLOUD_WEIGHT = `${base_1.PREFIX}_WORD_CLOUD_WEIGHT`, exports.WORDCLOUD_COLOR = `${base_1.PREFIX}_WORDCLOUD_COLOR`,
11
11
  exports.WORDCLOUD_DATA_TOTAL = `${base_1.PREFIX}_WORDCLOUD_DATA_TOTAL`, exports.WORD_CLOUD_TEXT = `${base_1.PREFIX}_WORD_CLOUD_TEXT`,
12
- exports.WORDCLOUD_SHAPE_DATA_TOTAL = `${base_1.PREFIX}_WORDCLOUD_SHAPE_DATA_TOTAL`;
12
+ exports.WORDCLOUD_SHAPE_DATA_TOTAL = `${base_1.PREFIX}_WORDCLOUD_SHAPE_DATA_TOTAL`;
13
+ //# sourceMappingURL=word-cloud.js.map
@@ -70,5 +70,4 @@ Factory._marks = {}, Factory._regions = {}, Factory.transforms = {
70
70
  csv: vdataset_1.csvParser,
71
71
  dsv: vdataset_1.dsvParser,
72
72
  tsv: vdataset_1.tsvParser
73
- }, Factory._layout = {};
74
- //# sourceMappingURL=factory.js.map
73
+ }, Factory._layout = {};
@@ -1,8 +1,8 @@
1
- import { VChart } from '../core/vchart';
2
- import { Factory } from '../core/factory';
1
+ import { VChart } from './vchart';
2
+ import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.0.1-alpha.1";
5
- export type { IVChart } from '../core/interface';
4
+ export declare const version = "1.1.0-beta.0";
5
+ export type { IVChart } from './interface';
6
6
  export * from '../event/interface';
7
7
  export * from '../typings/spec/common';
8
8
  export type { IStateSpec, StateValueType } from '../compile/mark';
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), exports.version = exports.Factory = exports.VChart = void 0;
21
21
 
22
- const vchart_1 = require("../core/vchart");
22
+ const vchart_1 = require("./vchart");
23
23
 
24
24
  Object.defineProperty(exports, "VChart", {
25
25
  enumerable: !0,
@@ -28,7 +28,7 @@ Object.defineProperty(exports, "VChart", {
28
28
  }
29
29
  });
30
30
 
31
- const factory_1 = require("../core/factory");
31
+ const factory_1 = require("./factory");
32
32
 
33
33
  Object.defineProperty(exports, "Factory", {
34
34
  enumerable: !0,
@@ -37,10 +37,10 @@ Object.defineProperty(exports, "Factory", {
37
37
  }
38
38
  });
39
39
 
40
- const region_1 = require("../region/region"), index_1 = require("../layout/index"), group_1 = require("../mark/group"), component_1 = require("../mark/component");
40
+ const region_1 = require("../region/region"), base_layout_1 = require("../layout/base-layout"), group_1 = require("../mark/group"), component_1 = require("../mark/component");
41
41
 
42
42
  vchart_1.VChart.useMark([ component_1.ComponentMark, group_1.GroupMark ]), factory_1.Factory.registerRegion("region", region_1.Region),
43
- factory_1.Factory.registerLayout("base", index_1.Layout), exports.version = "1.0.1-alpha.1",
43
+ factory_1.Factory.registerLayout("base", base_layout_1.Layout), exports.version = "1.1.0-beta.0",
44
44
  __exportStar(require("../event/interface"), exports), __exportStar(require("../typings/spec/common"), exports),
45
45
  __exportStar(require("../theme/interface"), exports);
46
- //# sourceMappingURL=core.js.map
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAgBzB,uFAhBA,eAAM,OAgBA;AAff,uCAAoC;AAenB,wFAfR,iBAAO,OAeQ;AAdxB,6CAA0C;AAC1C,uDAA+C;AAC/C,yCAA0C;AAC1C,iDAAkD;AAGlD,eAAM,CAAC,OAAO,CAAC,CAAC,yBAAa,EAAE,iBAAS,CAAC,CAAC,CAAC;AAG3C,iBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAa,CAAC,CAAC;AAGhD,iBAAO,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAa,CAAC,CAAC;AAKjC,QAAA,OAAO,GAAG,cAAc,CAAC;AAKtC,qDAAmC;AACnC,yDAAuC;AAEvC,qDAAmC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.1.0-beta.0\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport * from '../theme/interface';\n"]}
@@ -5,5 +5,5 @@ export declare class InstanceManager {
5
5
  static unregisterInstance(instance: IVChart): void;
6
6
  static getInstance(id: number): IVChart | undefined;
7
7
  static instanceExist(id: number): boolean;
8
- static forEach(callbackfn: (value: IVChart, key: number, map: Map<number, IVChart>) => void, thisArg?: any): void;
8
+ static forEach(callbackfn: (instance: IVChart, id: number, map: Map<number, IVChart>) => void, thisArg?: any): void;
9
9
  }
@@ -23,4 +23,4 @@ class InstanceManager {
23
23
  }
24
24
 
25
25
  exports.InstanceManager = InstanceManager, InstanceManager.instances = new Map;
26
- //# sourceMappingURL=instance-manager.js.map
26
+ //# sourceMappingURL=instance-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/instance-manager.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAI1B,MAAM,CAAC,gBAAgB,CAAC,QAAiB;QACvC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAiB;QACzC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAMD,MAAM,CAAC,WAAW,CAAC,EAAU;QAC3B,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAMD,MAAM,CAAC,aAAa,CAAC,EAAU;QAC7B,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAA4E,EAAE,OAAa;QACxG,OAAO,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;;AA9BH,0CA+BC;AA7BiB,yBAAS,GAAyB,IAAI,GAAG,EAAE,CAAC","file":"instance-manager.js","sourcesContent":["import type { IVChart } from './interface';\n\n/** vchart 全局实例管理类,为了防止与 ThemeManager 循环依赖,单独从 VChart 类抽出 */\nexport class InstanceManager {\n /** 全局实例 map */\n static readonly instances: Map<number, IVChart> = new Map();\n /** 注册实例 */\n static registerInstance(instance: IVChart) {\n InstanceManager.instances.set(instance.id, instance);\n }\n /** 注销实例 */\n static unregisterInstance(instance: IVChart) {\n InstanceManager.instances.delete(instance.id);\n }\n /**\n * 根据 vChart 实例的 id 获取 vChart 实例\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static getInstance(id: number): IVChart | undefined {\n return InstanceManager.instances.get(id);\n }\n /**\n * 根据图表 id 判断实例是否存在\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static instanceExist(id: number): boolean {\n return InstanceManager.instances.has(id);\n }\n\n static forEach(callbackfn: (value: IVChart, key: number, map: Map<number, IVChart>) => void, thisArg?: any) {\n return InstanceManager.instances.forEach(callbackfn, thisArg);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/instance-manager.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAI1B,MAAM,CAAC,gBAAgB,CAAC,QAAiB;QACvC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAiB;QACzC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAMD,MAAM,CAAC,WAAW,CAAC,EAAU;QAC3B,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAMD,MAAM,CAAC,aAAa,CAAC,EAAU;QAC7B,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAA8E,EAAE,OAAa;QAC1G,OAAO,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;;AA9BH,0CA+BC;AA7BiB,yBAAS,GAAyB,IAAI,GAAG,EAAE,CAAC","file":"instance-manager.js","sourcesContent":["import type { IVChart } from './interface';\n\n/** vchart 全局实例管理类,为了防止与 ThemeManager 循环依赖,单独从 VChart 类抽出 */\nexport class InstanceManager {\n /** 全局实例 map */\n static readonly instances: Map<number, IVChart> = new Map();\n /** 注册实例 */\n static registerInstance(instance: IVChart) {\n InstanceManager.instances.set(instance.id, instance);\n }\n /** 注销实例 */\n static unregisterInstance(instance: IVChart) {\n InstanceManager.instances.delete(instance.id);\n }\n /**\n * 根据 vChart 实例的 id 获取 vChart 实例\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static getInstance(id: number): IVChart | undefined {\n return InstanceManager.instances.get(id);\n }\n /**\n * 根据图表 id 判断实例是否存在\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static instanceExist(id: number): boolean {\n return InstanceManager.instances.has(id);\n }\n\n static forEach(callbackfn: (instance: IVChart, id: number, map: Map<number, IVChart>) => void, thisArg?: any) {\n return InstanceManager.instances.forEach(callbackfn, thisArg);\n }\n}\n"]}
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -33,6 +33,7 @@ export declare class VChart implements IVChart {
33
33
  static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption): void;
34
34
  static unregisterMap(key: string): void;
35
35
  static getMap(key: string): GeoSourceType;
36
+ static hideTooltip(): void;
36
37
  static readonly InstanceManager: typeof InstanceManager;
37
38
  static readonly ThemeManager: typeof ThemeManager;
38
39
  protected _spec: any;
@@ -71,6 +71,12 @@ class VChart {
71
71
  static getMap(key) {
72
72
  return (0, geo_source_1.getMapSource)(key);
73
73
  }
74
+ static hideTooltip() {
75
+ instance_manager_1.InstanceManager.forEach((instance => {
76
+ var _a;
77
+ return null === (_a = null == instance ? void 0 : instance.hideTooltip) || void 0 === _a ? void 0 : _a.call(instance);
78
+ }));
79
+ }
74
80
  getDataSet() {
75
81
  return this._dataSet;
76
82
  }
@@ -332,8 +338,10 @@ class VChart {
332
338
  this._chart && this._chart.setHovered(datum, filter, region);
333
339
  }
334
340
  _updateCurrentTheme() {
335
- var _a, _b;
336
- this._currentTheme = (0, util_1.merge)({}, theme_manager_1.ThemeManager.getTheme(this._currentThemeName), null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.theme) && void 0 !== _b ? _b : {});
341
+ var _a, _b, _c;
342
+ (0, util_1.isString)(null === (_a = this._spec) || void 0 === _a ? void 0 : _a.theme) ? (this._currentTheme = (0,
343
+ util_1.merge)({}, theme_manager_1.ThemeManager.getTheme(this._spec.theme)), this._currentThemeName = this._spec.theme) : this._currentTheme = (0,
344
+ util_1.merge)({}, theme_manager_1.ThemeManager.getTheme(this._currentThemeName), null !== (_c = null === (_b = this._spec) || void 0 === _b ? void 0 : _b.theme) && void 0 !== _c ? _c : {});
337
345
  }
338
346
  getCurrentTheme() {
339
347
  return this._currentTheme;
@@ -474,4 +482,4 @@ class VChart {
474
482
 
475
483
  exports.VChart = VChart, VChart.InstanceManager = instance_manager_1.InstanceManager,
476
484
  VChart.ThemeManager = theme_manager_1.ThemeManager;
477
- //# sourceMappingURL=vchart.js.map
485
+ //# sourceMappingURL=vchart.js.map