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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (795) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +4449 -4316
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +1 -1
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base/base-chart-transformer.js +4 -4
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +1 -0
  10. package/cjs/chart/base/base-chart.js +21 -13
  11. package/cjs/chart/base/base-chart.js.map +1 -1
  12. package/cjs/chart/chart-meta/data.d.ts +1 -2
  13. package/cjs/chart/chart-meta/data.js +11 -11
  14. package/cjs/chart/chart-meta/data.js.map +1 -1
  15. package/cjs/chart/gauge/interface.d.ts +1 -1
  16. package/cjs/chart/gauge/interface.js.map +1 -1
  17. package/cjs/chart/mosaic/mosaic.d.ts +0 -1
  18. package/cjs/chart/mosaic/mosaic.js +0 -3
  19. package/cjs/chart/mosaic/mosaic.js.map +1 -1
  20. package/cjs/chart/pie/interface.d.ts +2 -2
  21. package/cjs/chart/pie/interface.js.map +1 -1
  22. package/cjs/chart/polar/interface.d.ts +2 -0
  23. package/cjs/chart/polar/interface.js.map +1 -1
  24. package/cjs/chart/treemap/interface.d.ts +1 -1
  25. package/cjs/chart/treemap/interface.js.map +1 -1
  26. package/cjs/chart/venn/interface.d.ts +2 -2
  27. package/cjs/chart/venn/interface.js.map +1 -1
  28. package/cjs/compile/compiler.js +4 -1
  29. package/cjs/compile/compiler.js.map +1 -1
  30. package/cjs/compile/interface/compiler.d.ts +15 -0
  31. package/cjs/compile/interface/compiler.js.map +1 -1
  32. package/cjs/compile/mark/compilable-mark.d.ts +7 -39
  33. package/cjs/compile/mark/compilable-mark.js +20 -90
  34. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  35. package/cjs/compile/mark/interface.d.ts +5 -25
  36. package/cjs/compile/mark/interface.js.map +1 -1
  37. package/cjs/component/axis/base-axis.d.ts +2 -2
  38. package/cjs/component/axis/base-axis.js +36 -26
  39. package/cjs/component/axis/base-axis.js.map +1 -1
  40. package/cjs/component/axis/cartesian/axis.d.ts +2 -0
  41. package/cjs/component/axis/cartesian/axis.js +41 -8
  42. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  43. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  44. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  45. package/cjs/component/axis/interface/spec.d.ts +1 -0
  46. package/cjs/component/axis/interface/spec.js.map +1 -1
  47. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  48. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  49. package/cjs/component/axis/mixin/util/break-data.d.ts +1 -1
  50. package/cjs/component/axis/mixin/util/break-data.js +35 -12
  51. package/cjs/component/axis/mixin/util/break-data.js.map +1 -1
  52. package/cjs/component/axis/polar/axis.d.ts +1 -1
  53. package/cjs/component/axis/polar/axis.js +10 -36
  54. package/cjs/component/axis/polar/axis.js.map +1 -1
  55. package/cjs/component/axis/polar/interface/spec.d.ts +3 -1
  56. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  57. package/cjs/component/axis/polar/util/common.js +1 -1
  58. package/cjs/component/axis/polar/util/common.js.map +1 -1
  59. package/cjs/component/base/base-component.js +1 -3
  60. package/cjs/component/base/base-component.js.map +1 -1
  61. package/cjs/component/brush/brush.js +2 -8
  62. package/cjs/component/brush/brush.js.map +1 -1
  63. package/cjs/component/crosshair/cartesian.js +2 -18
  64. package/cjs/component/crosshair/cartesian.js.map +1 -1
  65. package/cjs/component/crosshair/polar.js +2 -18
  66. package/cjs/component/crosshair/polar.js.map +1 -1
  67. package/cjs/component/custom-mark/custom-mark.d.ts +1 -4
  68. package/cjs/component/custom-mark/custom-mark.js +3 -28
  69. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  70. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -0
  71. package/cjs/component/data-zoom/data-filter-base-component.js +31 -15
  72. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  73. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  74. package/cjs/component/data-zoom/data-zoom/data-zoom.js +0 -19
  75. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  76. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  77. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +5 -20
  78. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  79. package/cjs/component/data-zoom/util.js +11 -3
  80. package/cjs/component/data-zoom/util.js.map +1 -1
  81. package/cjs/component/geo/geo-coordinate.d.ts +7 -0
  82. package/cjs/component/geo/geo-coordinate.js +10 -2
  83. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  84. package/cjs/component/indicator/indicator.js +2 -18
  85. package/cjs/component/indicator/indicator.js.map +1 -1
  86. package/cjs/component/interface/common.d.ts +1 -1
  87. package/cjs/component/interface/common.js.map +1 -1
  88. package/cjs/component/interface/index.d.ts +0 -1
  89. package/cjs/component/interface/index.js +1 -1
  90. package/cjs/component/interface/index.js.map +1 -1
  91. package/cjs/component/label/base-label.d.ts +1 -2
  92. package/cjs/component/label/base-label.js +0 -3
  93. package/cjs/component/label/base-label.js.map +1 -1
  94. package/cjs/component/label/interface.d.ts +2 -2
  95. package/cjs/component/label/interface.js.map +1 -1
  96. package/cjs/component/label/label.d.ts +0 -1
  97. package/cjs/component/label/label.js +18 -21
  98. package/cjs/component/label/label.js.map +1 -1
  99. package/cjs/component/label/total-label.d.ts +1 -1
  100. package/cjs/component/label/total-label.js +7 -13
  101. package/cjs/component/label/total-label.js.map +1 -1
  102. package/cjs/component/label/util.d.ts +5 -5
  103. package/cjs/component/label/util.js +13 -8
  104. package/cjs/component/label/util.js.map +1 -1
  105. package/cjs/component/legend/continuous/legend.js +6 -18
  106. package/cjs/component/legend/continuous/legend.js.map +1 -1
  107. package/cjs/component/legend/discrete/legend.js +1 -17
  108. package/cjs/component/legend/discrete/legend.js.map +1 -1
  109. package/cjs/component/map-label/component.js +3 -8
  110. package/cjs/component/map-label/component.js.map +1 -1
  111. package/cjs/component/marker/base-marker.d.ts +4 -1
  112. package/cjs/component/marker/base-marker.js +14 -19
  113. package/cjs/component/marker/base-marker.js.map +1 -1
  114. package/cjs/component/marker/interface.d.ts +9 -2
  115. package/cjs/component/marker/interface.js.map +1 -1
  116. package/cjs/component/marker/mark-area/base-mark-area.js +5 -5
  117. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
  118. package/cjs/component/marker/mark-line/base-mark-line.js +9 -9
  119. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  120. package/cjs/component/marker/mark-point/base-mark-point.js +16 -15
  121. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  122. package/cjs/component/marker/utils.d.ts +4 -4
  123. package/cjs/component/marker/utils.js +7 -7
  124. package/cjs/component/marker/utils.js.map +1 -1
  125. package/cjs/component/player/player.d.ts +1 -3
  126. package/cjs/component/player/player.js +0 -9
  127. package/cjs/component/player/player.js.map +1 -1
  128. package/cjs/component/title/interface/spec.d.ts +3 -3
  129. package/cjs/component/title/interface/spec.js.map +1 -1
  130. package/cjs/component/title/interface/theme.d.ts +1 -1
  131. package/cjs/component/title/interface/theme.js.map +1 -1
  132. package/cjs/component/title/title.js +22 -34
  133. package/cjs/component/title/title.js.map +1 -1
  134. package/cjs/component/tooltip/constant.d.ts +5 -4
  135. package/cjs/component/tooltip/constant.js +7 -7
  136. package/cjs/component/tooltip/constant.js.map +1 -1
  137. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  138. package/cjs/component/tooltip/interface/common.js.map +1 -1
  139. package/cjs/component/tooltip/interface/spec.d.ts +23 -3
  140. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  141. package/cjs/component/tooltip/interface/theme.d.ts +2 -2
  142. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  143. package/cjs/component/tooltip/processor/base.d.ts +3 -5
  144. package/cjs/component/tooltip/processor/base.js +24 -27
  145. package/cjs/component/tooltip/processor/base.js.map +1 -1
  146. package/cjs/component/tooltip/processor/group-tooltip.js +1 -1
  147. package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
  148. package/cjs/component/tooltip/processor/mark-tooltip.js +31 -5
  149. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  150. package/cjs/component/tooltip/tooltip-transformer.js +2 -4
  151. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  152. package/cjs/component/tooltip/tooltip.d.ts +13 -6
  153. package/cjs/component/tooltip/tooltip.js +107 -83
  154. package/cjs/component/tooltip/tooltip.js.map +1 -1
  155. package/cjs/component/tooltip/utils/common.d.ts +6 -4
  156. package/cjs/component/tooltip/utils/common.js +54 -7
  157. package/cjs/component/tooltip/utils/common.js.map +1 -1
  158. package/cjs/component/tooltip/utils/get-spec.d.ts +4 -4
  159. package/cjs/component/tooltip/utils/get-spec.js +20 -82
  160. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  161. package/cjs/component/tooltip/utils/get-value.d.ts +1 -2
  162. package/cjs/component/tooltip/utils/get-value.js +2 -12
  163. package/cjs/component/tooltip/utils/get-value.js.map +1 -1
  164. package/cjs/component/tooltip/utils/index.d.ts +0 -1
  165. package/cjs/component/tooltip/utils/index.js +1 -2
  166. package/cjs/component/tooltip/utils/index.js.map +1 -1
  167. package/cjs/component/util.d.ts +3 -0
  168. package/cjs/component/util.js +16 -1
  169. package/cjs/component/util.js.map +1 -1
  170. package/cjs/core/factory.js +3 -1
  171. package/cjs/core/factory.js.map +1 -1
  172. package/cjs/core/index.d.ts +1 -1
  173. package/cjs/core/index.js +1 -1
  174. package/cjs/core/index.js.map +1 -1
  175. package/cjs/core/vchart.d.ts +1 -1
  176. package/cjs/core/vchart.js +31 -31
  177. package/cjs/core/vchart.js.map +1 -1
  178. package/cjs/data/initialize.d.ts +1 -2
  179. package/cjs/data/initialize.js +5 -5
  180. package/cjs/data/initialize.js.map +1 -1
  181. package/cjs/data/transforms/pie.d.ts +3 -0
  182. package/cjs/data/transforms/pie.js +8 -3
  183. package/cjs/data/transforms/pie.js.map +1 -1
  184. package/cjs/event/event-dispatcher.js +1 -9
  185. package/cjs/event/event-dispatcher.js.map +1 -1
  186. package/cjs/interaction/zoom/zoomable.js +2 -1
  187. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  188. package/cjs/mark/base/base-line.js +3 -1
  189. package/cjs/mark/base/base-line.js.map +1 -1
  190. package/cjs/mark/base/base-mark.js +3 -3
  191. package/cjs/mark/base/base-mark.js.map +1 -1
  192. package/cjs/mark/group.js +1 -1
  193. package/cjs/mark/group.js.map +1 -1
  194. package/cjs/mark/interface/common.d.ts +10 -0
  195. package/cjs/mark/interface/common.js.map +1 -1
  196. package/cjs/model/base-model.d.ts +2 -2
  197. package/cjs/model/base-model.js +2 -2
  198. package/cjs/model/base-model.js.map +1 -1
  199. package/cjs/model/interface.d.ts +14 -0
  200. package/cjs/model/interface.js.map +1 -1
  201. package/cjs/plugin/chart/media-query/media-query.d.ts +1 -0
  202. package/cjs/plugin/chart/media-query/media-query.js +3 -1
  203. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  204. package/cjs/plugin/chart/plugin-service.d.ts +2 -0
  205. package/cjs/plugin/chart/plugin-service.js +5 -0
  206. package/cjs/plugin/chart/plugin-service.js.map +1 -1
  207. package/cjs/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  208. package/cjs/plugin/components/axis-sync/zero-align-transform.js +17 -4
  209. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  210. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -16
  211. package/cjs/plugin/components/tooltip-handler/base.js +84 -228
  212. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  213. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  214. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  215. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  216. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -19
  217. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  218. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  219. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  220. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js +7 -2
  221. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  222. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  223. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  224. package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  225. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  226. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  227. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  228. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  229. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  230. package/cjs/plugin/components/tooltip-handler/utils/position.js +22 -29
  231. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  232. package/cjs/region/interface.d.ts +3 -1
  233. package/cjs/region/interface.js.map +1 -1
  234. package/cjs/region/region.js +10 -7
  235. package/cjs/region/region.js.map +1 -1
  236. package/cjs/series/area/area-transformer.js +1 -2
  237. package/cjs/series/area/area-transformer.js.map +1 -1
  238. package/cjs/series/area/area.d.ts +2 -0
  239. package/cjs/series/area/area.js +51 -35
  240. package/cjs/series/area/area.js.map +1 -1
  241. package/cjs/series/bar/bar.d.ts +4 -4
  242. package/cjs/series/bar/bar.js +68 -62
  243. package/cjs/series/bar/bar.js.map +1 -1
  244. package/cjs/series/base/base-series-transformer.js +7 -4
  245. package/cjs/series/base/base-series-transformer.js.map +1 -1
  246. package/cjs/series/base/base-series.d.ts +8 -7
  247. package/cjs/series/base/base-series.js +47 -34
  248. package/cjs/series/base/base-series.js.map +1 -1
  249. package/cjs/series/base/constant.js +1 -0
  250. package/cjs/series/base/constant.js.map +1 -1
  251. package/cjs/series/base/tooltip-helper.d.ts +30 -6
  252. package/cjs/series/base/tooltip-helper.js +80 -73
  253. package/cjs/series/base/tooltip-helper.js.map +1 -1
  254. package/cjs/series/box-plot/box-plot.d.ts +1 -0
  255. package/cjs/series/box-plot/box-plot.js +9 -5
  256. package/cjs/series/box-plot/box-plot.js.map +1 -1
  257. package/cjs/series/box-plot/tooltip-helper.d.ts +2 -2
  258. package/cjs/series/box-plot/tooltip-helper.js +26 -67
  259. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  260. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  261. package/cjs/series/circle-packing/circle-packing.js +4 -4
  262. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  263. package/cjs/series/correlation/correlation.d.ts +1 -0
  264. package/cjs/series/correlation/correlation.js +16 -6
  265. package/cjs/series/correlation/correlation.js.map +1 -1
  266. package/cjs/series/dot/dot.d.ts +0 -1
  267. package/cjs/series/dot/dot.js +7 -8
  268. package/cjs/series/dot/dot.js.map +1 -1
  269. package/cjs/series/dot/tooltip-helper.d.ts +8 -2
  270. package/cjs/series/dot/tooltip-helper.js +42 -41
  271. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  272. package/cjs/series/funnel/3d/funnel-3d.js +2 -1
  273. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  274. package/cjs/series/funnel/funnel.d.ts +2 -0
  275. package/cjs/series/funnel/funnel.js +35 -27
  276. package/cjs/series/funnel/funnel.js.map +1 -1
  277. package/cjs/series/funnel/interface.d.ts +3 -1
  278. package/cjs/series/funnel/interface.js.map +1 -1
  279. package/cjs/series/gauge/interface.d.ts +1 -1
  280. package/cjs/series/gauge/interface.js.map +1 -1
  281. package/cjs/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  282. package/cjs/series/gauge/pointer-tooltip-helper.js +3 -8
  283. package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -1
  284. package/cjs/series/heatmap/heatmap.js +10 -10
  285. package/cjs/series/heatmap/heatmap.js.map +1 -1
  286. package/cjs/series/heatmap/tooltip-helper.d.ts +2 -3
  287. package/cjs/series/heatmap/tooltip-helper.js +3 -5
  288. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  289. package/cjs/series/interface/common.d.ts +1 -9
  290. package/cjs/series/interface/common.js.map +1 -1
  291. package/cjs/series/interface/tooltip-helper.d.ts +5 -4
  292. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  293. package/cjs/series/link/link.js +7 -3
  294. package/cjs/series/link/link.js.map +1 -1
  295. package/cjs/series/link/tooltip-helper.d.ts +5 -2
  296. package/cjs/series/link/tooltip-helper.js +26 -27
  297. package/cjs/series/link/tooltip-helper.js.map +1 -1
  298. package/cjs/series/liquid/liquid.js +11 -6
  299. package/cjs/series/liquid/liquid.js.map +1 -1
  300. package/cjs/series/liquid/tooltip-helper.d.ts +4 -5
  301. package/cjs/series/liquid/tooltip-helper.js +2 -22
  302. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  303. package/cjs/series/map/map.d.ts +1 -0
  304. package/cjs/series/map/map.js +7 -2
  305. package/cjs/series/map/map.js.map +1 -1
  306. package/cjs/series/mixin/line-mixin.d.ts +2 -2
  307. package/cjs/series/mixin/line-mixin.js +15 -14
  308. package/cjs/series/mixin/line-mixin.js.map +1 -1
  309. package/cjs/series/pie/3d/pie-3d.js +3 -1
  310. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  311. package/cjs/series/pie/interface.d.ts +3 -3
  312. package/cjs/series/pie/interface.js.map +1 -1
  313. package/cjs/series/pie/pie.d.ts +1 -0
  314. package/cjs/series/pie/pie.js +20 -11
  315. package/cjs/series/pie/pie.js.map +1 -1
  316. package/cjs/series/polar/animation.d.ts +9 -11
  317. package/cjs/series/polar/animation.js +28 -35
  318. package/cjs/series/polar/animation.js.map +1 -1
  319. package/cjs/series/polar/polar.js +9 -2
  320. package/cjs/series/polar/polar.js.map +1 -1
  321. package/cjs/series/polar/progress-like/progress-like.js +29 -24
  322. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  323. package/cjs/series/progress/circular/circular.js +6 -4
  324. package/cjs/series/progress/circular/circular.js.map +1 -1
  325. package/cjs/series/progress/linear/linear.js +10 -8
  326. package/cjs/series/progress/linear/linear.js.map +1 -1
  327. package/cjs/series/progress/linear/tooltip-helper.d.ts +2 -3
  328. package/cjs/series/progress/linear/tooltip-helper.js +2 -11
  329. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  330. package/cjs/series/radar/animation.d.ts +0 -3
  331. package/cjs/series/radar/animation.js +4 -4
  332. package/cjs/series/radar/animation.js.map +1 -1
  333. package/cjs/series/radar/radar.js +15 -11
  334. package/cjs/series/radar/radar.js.map +1 -1
  335. package/cjs/series/range-area/range-area.js +3 -2
  336. package/cjs/series/range-area/range-area.js.map +1 -1
  337. package/cjs/series/range-area/tooltip-helper.d.ts +1 -3
  338. package/cjs/series/range-area/tooltip-helper.js +2 -50
  339. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  340. package/cjs/series/range-column/range-column.js +5 -4
  341. package/cjs/series/range-column/range-column.js.map +1 -1
  342. package/cjs/series/range-column/tooltip-helper.d.ts +1 -2
  343. package/cjs/series/range-column/tooltip-helper.js +2 -19
  344. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  345. package/cjs/series/rose/rose.js +5 -4
  346. package/cjs/series/rose/rose.js.map +1 -1
  347. package/cjs/series/sankey/sankey.d.ts +2 -1
  348. package/cjs/series/sankey/sankey.js +17 -6
  349. package/cjs/series/sankey/sankey.js.map +1 -1
  350. package/cjs/series/sankey/tooltip-helper.d.ts +3 -3
  351. package/cjs/series/sankey/tooltip-helper.js +10 -57
  352. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  353. package/cjs/series/scatter/scatter.js +8 -10
  354. package/cjs/series/scatter/scatter.js.map +1 -1
  355. package/cjs/series/sunburst/sunburst.js +3 -2
  356. package/cjs/series/sunburst/sunburst.js.map +1 -1
  357. package/cjs/series/treemap/treemap.js +6 -4
  358. package/cjs/series/treemap/treemap.js.map +1 -1
  359. package/cjs/series/waterfall/waterfall.d.ts +1 -0
  360. package/cjs/series/waterfall/waterfall.js +7 -2
  361. package/cjs/series/waterfall/waterfall.js.map +1 -1
  362. package/cjs/series/word-cloud/base.js +32 -17
  363. package/cjs/series/word-cloud/base.js.map +1 -1
  364. package/cjs/series/word-cloud/word-cloud-3d.js +2 -1
  365. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  366. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  367. package/cjs/theme/builtin/common/mark.js +2 -0
  368. package/cjs/theme/builtin/common/mark.js.map +1 -1
  369. package/cjs/theme/builtin/common/series/linear-progress.js +4 -1
  370. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -1
  371. package/cjs/theme/builtin/dark/color-scheme.js +2 -1
  372. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  373. package/cjs/theme/builtin/light/color-scheme.js +2 -1
  374. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  375. package/cjs/typings/spec/common.d.ts +6 -3
  376. package/cjs/typings/spec/common.js.map +1 -1
  377. package/cjs/typings/tooltip/position.d.ts +1 -0
  378. package/cjs/typings/tooltip/position.js.map +1 -1
  379. package/cjs/typings/tooltip/shape.d.ts +0 -1
  380. package/cjs/typings/tooltip/shape.js.map +1 -1
  381. package/cjs/typings/tooltip/tooltip.d.ts +7 -0
  382. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  383. package/cjs/util/array.js +2 -1
  384. package/cjs/util/array.js.map +1 -1
  385. package/cjs/util/math.d.ts +1 -0
  386. package/cjs/util/math.js +7 -2
  387. package/cjs/util/math.js.map +1 -1
  388. package/cjs/util/scale.d.ts +1 -1
  389. package/cjs/util/scale.js +2 -2
  390. package/cjs/util/scale.js.map +1 -1
  391. package/esm/animation/utils.js +1 -1
  392. package/esm/animation/utils.js.map +1 -1
  393. package/esm/chart/base/base-chart-transformer.js +5 -3
  394. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  395. package/esm/chart/base/base-chart.d.ts +1 -0
  396. package/esm/chart/base/base-chart.js +23 -13
  397. package/esm/chart/base/base-chart.js.map +1 -1
  398. package/esm/chart/chart-meta/data.d.ts +1 -2
  399. package/esm/chart/chart-meta/data.js +12 -10
  400. package/esm/chart/chart-meta/data.js.map +1 -1
  401. package/esm/chart/gauge/interface.d.ts +1 -1
  402. package/esm/chart/gauge/interface.js.map +1 -1
  403. package/esm/chart/mosaic/mosaic.d.ts +0 -1
  404. package/esm/chart/mosaic/mosaic.js +0 -3
  405. package/esm/chart/mosaic/mosaic.js.map +1 -1
  406. package/esm/chart/pie/interface.d.ts +2 -2
  407. package/esm/chart/pie/interface.js.map +1 -1
  408. package/esm/chart/polar/interface.d.ts +2 -0
  409. package/esm/chart/polar/interface.js.map +1 -1
  410. package/esm/chart/treemap/interface.d.ts +1 -1
  411. package/esm/chart/treemap/interface.js.map +1 -1
  412. package/esm/chart/venn/interface.d.ts +2 -2
  413. package/esm/chart/venn/interface.js.map +1 -1
  414. package/esm/compile/compiler.js +2 -1
  415. package/esm/compile/compiler.js.map +1 -1
  416. package/esm/compile/interface/compiler.d.ts +15 -0
  417. package/esm/compile/interface/compiler.js.map +1 -1
  418. package/esm/compile/mark/compilable-mark.d.ts +7 -39
  419. package/esm/compile/mark/compilable-mark.js +21 -90
  420. package/esm/compile/mark/compilable-mark.js.map +1 -1
  421. package/esm/compile/mark/interface.d.ts +5 -25
  422. package/esm/compile/mark/interface.js.map +1 -1
  423. package/esm/component/axis/base-axis.d.ts +2 -2
  424. package/esm/component/axis/base-axis.js +31 -22
  425. package/esm/component/axis/base-axis.js.map +1 -1
  426. package/esm/component/axis/cartesian/axis.d.ts +2 -0
  427. package/esm/component/axis/cartesian/axis.js +42 -9
  428. package/esm/component/axis/cartesian/axis.js.map +1 -1
  429. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  430. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  431. package/esm/component/axis/interface/spec.d.ts +1 -0
  432. package/esm/component/axis/interface/spec.js.map +1 -1
  433. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  434. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  435. package/esm/component/axis/mixin/util/break-data.d.ts +1 -1
  436. package/esm/component/axis/mixin/util/break-data.js +35 -12
  437. package/esm/component/axis/mixin/util/break-data.js.map +1 -1
  438. package/esm/component/axis/polar/axis.d.ts +1 -1
  439. package/esm/component/axis/polar/axis.js +10 -37
  440. package/esm/component/axis/polar/axis.js.map +1 -1
  441. package/esm/component/axis/polar/interface/spec.d.ts +3 -1
  442. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  443. package/esm/component/axis/polar/util/common.js +2 -2
  444. package/esm/component/axis/polar/util/common.js.map +1 -1
  445. package/esm/component/base/base-component.js +1 -3
  446. package/esm/component/base/base-component.js.map +1 -1
  447. package/esm/component/brush/brush.js +4 -8
  448. package/esm/component/brush/brush.js.map +1 -1
  449. package/esm/component/crosshair/cartesian.js +4 -18
  450. package/esm/component/crosshair/cartesian.js.map +1 -1
  451. package/esm/component/crosshair/polar.js +4 -18
  452. package/esm/component/crosshair/polar.js.map +1 -1
  453. package/esm/component/custom-mark/custom-mark.d.ts +1 -4
  454. package/esm/component/custom-mark/custom-mark.js +3 -30
  455. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  456. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -0
  457. package/esm/component/data-zoom/data-filter-base-component.js +28 -14
  458. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  459. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  460. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -20
  461. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  462. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  463. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +6 -21
  464. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  465. package/esm/component/data-zoom/util.js +11 -2
  466. package/esm/component/data-zoom/util.js.map +1 -1
  467. package/esm/component/geo/geo-coordinate.d.ts +7 -0
  468. package/esm/component/geo/geo-coordinate.js +11 -3
  469. package/esm/component/geo/geo-coordinate.js.map +1 -1
  470. package/esm/component/indicator/indicator.js +4 -18
  471. package/esm/component/indicator/indicator.js.map +1 -1
  472. package/esm/component/interface/common.d.ts +1 -1
  473. package/esm/component/interface/common.js.map +1 -1
  474. package/esm/component/interface/index.d.ts +0 -1
  475. package/esm/component/interface/index.js +0 -2
  476. package/esm/component/interface/index.js.map +1 -1
  477. package/esm/component/label/base-label.d.ts +1 -2
  478. package/esm/component/label/base-label.js +0 -3
  479. package/esm/component/label/base-label.js.map +1 -1
  480. package/esm/component/label/interface.d.ts +2 -2
  481. package/esm/component/label/interface.js.map +1 -1
  482. package/esm/component/label/label.d.ts +0 -1
  483. package/esm/component/label/label.js +18 -23
  484. package/esm/component/label/label.js.map +1 -1
  485. package/esm/component/label/total-label.d.ts +1 -1
  486. package/esm/component/label/total-label.js +6 -14
  487. package/esm/component/label/total-label.js.map +1 -1
  488. package/esm/component/label/util.d.ts +5 -5
  489. package/esm/component/label/util.js +13 -8
  490. package/esm/component/label/util.js.map +1 -1
  491. package/esm/component/legend/continuous/legend.js +7 -18
  492. package/esm/component/legend/continuous/legend.js.map +1 -1
  493. package/esm/component/legend/discrete/legend.js +3 -19
  494. package/esm/component/legend/discrete/legend.js.map +1 -1
  495. package/esm/component/map-label/component.js +3 -7
  496. package/esm/component/map-label/component.js.map +1 -1
  497. package/esm/component/marker/base-marker.d.ts +4 -1
  498. package/esm/component/marker/base-marker.js +16 -19
  499. package/esm/component/marker/base-marker.js.map +1 -1
  500. package/esm/component/marker/interface.d.ts +9 -2
  501. package/esm/component/marker/interface.js.map +1 -1
  502. package/esm/component/marker/mark-area/base-mark-area.js +5 -5
  503. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
  504. package/esm/component/marker/mark-line/base-mark-line.js +9 -9
  505. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  506. package/esm/component/marker/mark-point/base-mark-point.js +15 -15
  507. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  508. package/esm/component/marker/utils.d.ts +4 -4
  509. package/esm/component/marker/utils.js +8 -7
  510. package/esm/component/marker/utils.js.map +1 -1
  511. package/esm/component/player/player.d.ts +1 -3
  512. package/esm/component/player/player.js +1 -10
  513. package/esm/component/player/player.js.map +1 -1
  514. package/esm/component/title/interface/spec.d.ts +3 -3
  515. package/esm/component/title/interface/spec.js.map +1 -1
  516. package/esm/component/title/interface/theme.d.ts +1 -1
  517. package/esm/component/title/interface/theme.js.map +1 -1
  518. package/esm/component/title/title.js +23 -35
  519. package/esm/component/title/title.js.map +1 -1
  520. package/esm/component/tooltip/constant.d.ts +5 -4
  521. package/esm/component/tooltip/constant.js +6 -3
  522. package/esm/component/tooltip/constant.js.map +1 -1
  523. package/esm/component/tooltip/interface/common.d.ts +1 -1
  524. package/esm/component/tooltip/interface/common.js.map +1 -1
  525. package/esm/component/tooltip/interface/spec.d.ts +23 -3
  526. package/esm/component/tooltip/interface/spec.js.map +1 -1
  527. package/esm/component/tooltip/interface/theme.d.ts +2 -2
  528. package/esm/component/tooltip/interface/theme.js.map +1 -1
  529. package/esm/component/tooltip/processor/base.d.ts +3 -5
  530. package/esm/component/tooltip/processor/base.js +24 -28
  531. package/esm/component/tooltip/processor/base.js.map +1 -1
  532. package/esm/component/tooltip/processor/group-tooltip.js +1 -1
  533. package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
  534. package/esm/component/tooltip/processor/mark-tooltip.js +32 -4
  535. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  536. package/esm/component/tooltip/tooltip-transformer.js +2 -4
  537. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  538. package/esm/component/tooltip/tooltip.d.ts +13 -6
  539. package/esm/component/tooltip/tooltip.js +108 -84
  540. package/esm/component/tooltip/tooltip.js.map +1 -1
  541. package/esm/component/tooltip/utils/common.d.ts +6 -4
  542. package/esm/component/tooltip/utils/common.js +48 -5
  543. package/esm/component/tooltip/utils/common.js.map +1 -1
  544. package/esm/component/tooltip/utils/get-spec.d.ts +4 -4
  545. package/esm/component/tooltip/utils/get-spec.js +24 -80
  546. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  547. package/esm/component/tooltip/utils/get-value.d.ts +1 -2
  548. package/esm/component/tooltip/utils/get-value.js +1 -9
  549. package/esm/component/tooltip/utils/get-value.js.map +1 -1
  550. package/esm/component/tooltip/utils/index.d.ts +0 -1
  551. package/esm/component/tooltip/utils/index.js +0 -2
  552. package/esm/component/tooltip/utils/index.js.map +1 -1
  553. package/esm/component/util.d.ts +3 -0
  554. package/esm/component/util.js +14 -1
  555. package/esm/component/util.js.map +1 -1
  556. package/esm/core/factory.js +3 -1
  557. package/esm/core/factory.js.map +1 -1
  558. package/esm/core/index.d.ts +1 -1
  559. package/esm/core/index.js +1 -1
  560. package/esm/core/index.js.map +1 -1
  561. package/esm/core/vchart.d.ts +1 -1
  562. package/esm/core/vchart.js +33 -32
  563. package/esm/core/vchart.js.map +1 -1
  564. package/esm/data/initialize.d.ts +1 -2
  565. package/esm/data/initialize.js +6 -7
  566. package/esm/data/initialize.js.map +1 -1
  567. package/esm/data/transforms/pie.d.ts +3 -0
  568. package/esm/data/transforms/pie.js +6 -3
  569. package/esm/data/transforms/pie.js.map +1 -1
  570. package/esm/event/event-dispatcher.js +1 -9
  571. package/esm/event/event-dispatcher.js.map +1 -1
  572. package/esm/interaction/zoom/zoomable.js +2 -1
  573. package/esm/interaction/zoom/zoomable.js.map +1 -1
  574. package/esm/mark/base/base-line.js +3 -1
  575. package/esm/mark/base/base-line.js.map +1 -1
  576. package/esm/mark/base/base-mark.js +2 -2
  577. package/esm/mark/base/base-mark.js.map +1 -1
  578. package/esm/mark/group.js +1 -1
  579. package/esm/mark/group.js.map +1 -1
  580. package/esm/mark/interface/common.d.ts +10 -0
  581. package/esm/mark/interface/common.js.map +1 -1
  582. package/esm/model/base-model.d.ts +2 -2
  583. package/esm/model/base-model.js +2 -2
  584. package/esm/model/base-model.js.map +1 -1
  585. package/esm/model/interface.d.ts +14 -0
  586. package/esm/model/interface.js.map +1 -1
  587. package/esm/plugin/chart/media-query/media-query.d.ts +1 -0
  588. package/esm/plugin/chart/media-query/media-query.js +3 -1
  589. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  590. package/esm/plugin/chart/plugin-service.d.ts +2 -0
  591. package/esm/plugin/chart/plugin-service.js +5 -0
  592. package/esm/plugin/chart/plugin-service.js.map +1 -1
  593. package/esm/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  594. package/esm/plugin/components/axis-sync/zero-align-transform.js +17 -4
  595. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  596. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -16
  597. package/esm/plugin/components/tooltip-handler/base.js +80 -220
  598. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  599. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  600. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  601. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  602. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -19
  603. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  604. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  605. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  606. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js +8 -3
  607. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  608. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  609. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  610. package/esm/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  611. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  612. package/esm/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  613. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  614. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  615. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  616. package/esm/plugin/components/tooltip-handler/utils/position.js +20 -25
  617. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  618. package/esm/region/interface.d.ts +3 -1
  619. package/esm/region/interface.js.map +1 -1
  620. package/esm/region/region.js +10 -7
  621. package/esm/region/region.js.map +1 -1
  622. package/esm/series/area/area-transformer.js +1 -2
  623. package/esm/series/area/area-transformer.js.map +1 -1
  624. package/esm/series/area/area.d.ts +2 -0
  625. package/esm/series/area/area.js +51 -35
  626. package/esm/series/area/area.js.map +1 -1
  627. package/esm/series/bar/bar.d.ts +4 -4
  628. package/esm/series/bar/bar.js +67 -61
  629. package/esm/series/bar/bar.js.map +1 -1
  630. package/esm/series/base/base-series-transformer.js +7 -4
  631. package/esm/series/base/base-series-transformer.js.map +1 -1
  632. package/esm/series/base/base-series.d.ts +8 -7
  633. package/esm/series/base/base-series.js +45 -33
  634. package/esm/series/base/base-series.js.map +1 -1
  635. package/esm/series/base/constant.js +1 -0
  636. package/esm/series/base/constant.js.map +1 -1
  637. package/esm/series/base/tooltip-helper.d.ts +30 -6
  638. package/esm/series/base/tooltip-helper.js +85 -74
  639. package/esm/series/base/tooltip-helper.js.map +1 -1
  640. package/esm/series/box-plot/box-plot.d.ts +1 -0
  641. package/esm/series/box-plot/box-plot.js +9 -5
  642. package/esm/series/box-plot/box-plot.js.map +1 -1
  643. package/esm/series/box-plot/tooltip-helper.d.ts +2 -2
  644. package/esm/series/box-plot/tooltip-helper.js +26 -67
  645. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  646. package/esm/series/cartesian/cartesian.d.ts +1 -1
  647. package/esm/series/circle-packing/circle-packing.js +4 -4
  648. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  649. package/esm/series/correlation/correlation.d.ts +1 -0
  650. package/esm/series/correlation/correlation.js +16 -6
  651. package/esm/series/correlation/correlation.js.map +1 -1
  652. package/esm/series/dot/dot.d.ts +0 -1
  653. package/esm/series/dot/dot.js +7 -8
  654. package/esm/series/dot/dot.js.map +1 -1
  655. package/esm/series/dot/tooltip-helper.d.ts +8 -2
  656. package/esm/series/dot/tooltip-helper.js +42 -41
  657. package/esm/series/dot/tooltip-helper.js.map +1 -1
  658. package/esm/series/funnel/3d/funnel-3d.js +2 -1
  659. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  660. package/esm/series/funnel/funnel.d.ts +2 -0
  661. package/esm/series/funnel/funnel.js +35 -27
  662. package/esm/series/funnel/funnel.js.map +1 -1
  663. package/esm/series/funnel/interface.d.ts +3 -1
  664. package/esm/series/funnel/interface.js.map +1 -1
  665. package/esm/series/gauge/interface.d.ts +1 -1
  666. package/esm/series/gauge/interface.js.map +1 -1
  667. package/esm/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  668. package/esm/series/gauge/pointer-tooltip-helper.js +2 -9
  669. package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -1
  670. package/esm/series/heatmap/heatmap.js +10 -10
  671. package/esm/series/heatmap/heatmap.js.map +1 -1
  672. package/esm/series/heatmap/tooltip-helper.d.ts +2 -3
  673. package/esm/series/heatmap/tooltip-helper.js +2 -6
  674. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  675. package/esm/series/interface/common.d.ts +1 -9
  676. package/esm/series/interface/common.js.map +1 -1
  677. package/esm/series/interface/tooltip-helper.d.ts +5 -4
  678. package/esm/series/interface/tooltip-helper.js.map +1 -1
  679. package/esm/series/link/link.js +7 -3
  680. package/esm/series/link/link.js.map +1 -1
  681. package/esm/series/link/tooltip-helper.d.ts +5 -2
  682. package/esm/series/link/tooltip-helper.js +26 -27
  683. package/esm/series/link/tooltip-helper.js.map +1 -1
  684. package/esm/series/liquid/liquid.js +11 -6
  685. package/esm/series/liquid/liquid.js.map +1 -1
  686. package/esm/series/liquid/tooltip-helper.d.ts +4 -5
  687. package/esm/series/liquid/tooltip-helper.js +2 -22
  688. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  689. package/esm/series/map/map.d.ts +1 -0
  690. package/esm/series/map/map.js +7 -2
  691. package/esm/series/map/map.js.map +1 -1
  692. package/esm/series/mixin/line-mixin.d.ts +2 -2
  693. package/esm/series/mixin/line-mixin.js +15 -14
  694. package/esm/series/mixin/line-mixin.js.map +1 -1
  695. package/esm/series/pie/3d/pie-3d.js +3 -1
  696. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  697. package/esm/series/pie/interface.d.ts +3 -3
  698. package/esm/series/pie/interface.js.map +1 -1
  699. package/esm/series/pie/pie.d.ts +1 -0
  700. package/esm/series/pie/pie.js +22 -11
  701. package/esm/series/pie/pie.js.map +1 -1
  702. package/esm/series/polar/animation.d.ts +9 -11
  703. package/esm/series/polar/animation.js +27 -35
  704. package/esm/series/polar/animation.js.map +1 -1
  705. package/esm/series/polar/polar.js +9 -1
  706. package/esm/series/polar/polar.js.map +1 -1
  707. package/esm/series/polar/progress-like/progress-like.js +28 -23
  708. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  709. package/esm/series/progress/circular/circular.js +6 -4
  710. package/esm/series/progress/circular/circular.js.map +1 -1
  711. package/esm/series/progress/linear/linear.js +10 -8
  712. package/esm/series/progress/linear/linear.js.map +1 -1
  713. package/esm/series/progress/linear/tooltip-helper.d.ts +2 -3
  714. package/esm/series/progress/linear/tooltip-helper.js +2 -11
  715. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  716. package/esm/series/radar/animation.d.ts +0 -3
  717. package/esm/series/radar/animation.js +4 -4
  718. package/esm/series/radar/animation.js.map +1 -1
  719. package/esm/series/radar/radar.js +15 -11
  720. package/esm/series/radar/radar.js.map +1 -1
  721. package/esm/series/range-area/range-area.js +3 -2
  722. package/esm/series/range-area/range-area.js.map +1 -1
  723. package/esm/series/range-area/tooltip-helper.d.ts +1 -3
  724. package/esm/series/range-area/tooltip-helper.js +2 -50
  725. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  726. package/esm/series/range-column/range-column.js +5 -4
  727. package/esm/series/range-column/range-column.js.map +1 -1
  728. package/esm/series/range-column/tooltip-helper.d.ts +1 -2
  729. package/esm/series/range-column/tooltip-helper.js +2 -19
  730. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  731. package/esm/series/rose/rose.js +5 -4
  732. package/esm/series/rose/rose.js.map +1 -1
  733. package/esm/series/sankey/sankey.d.ts +2 -1
  734. package/esm/series/sankey/sankey.js +17 -6
  735. package/esm/series/sankey/sankey.js.map +1 -1
  736. package/esm/series/sankey/tooltip-helper.d.ts +3 -3
  737. package/esm/series/sankey/tooltip-helper.js +10 -57
  738. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  739. package/esm/series/scatter/scatter.js +8 -10
  740. package/esm/series/scatter/scatter.js.map +1 -1
  741. package/esm/series/sunburst/sunburst.js +3 -2
  742. package/esm/series/sunburst/sunburst.js.map +1 -1
  743. package/esm/series/treemap/treemap.js +6 -4
  744. package/esm/series/treemap/treemap.js.map +1 -1
  745. package/esm/series/waterfall/waterfall.d.ts +1 -0
  746. package/esm/series/waterfall/waterfall.js +7 -2
  747. package/esm/series/waterfall/waterfall.js.map +1 -1
  748. package/esm/series/word-cloud/base.js +31 -17
  749. package/esm/series/word-cloud/base.js.map +1 -1
  750. package/esm/series/word-cloud/word-cloud-3d.js +2 -1
  751. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  752. package/esm/theme/builtin/common/component/title.js.map +1 -1
  753. package/esm/theme/builtin/common/mark.js +2 -0
  754. package/esm/theme/builtin/common/mark.js.map +1 -1
  755. package/esm/theme/builtin/common/series/linear-progress.js +4 -1
  756. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -1
  757. package/esm/theme/builtin/dark/color-scheme.js +2 -1
  758. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  759. package/esm/theme/builtin/light/color-scheme.js +2 -1
  760. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  761. package/esm/typings/spec/common.d.ts +6 -3
  762. package/esm/typings/spec/common.js.map +1 -1
  763. package/esm/typings/tooltip/position.d.ts +1 -0
  764. package/esm/typings/tooltip/position.js.map +1 -1
  765. package/esm/typings/tooltip/shape.d.ts +0 -1
  766. package/esm/typings/tooltip/shape.js.map +1 -1
  767. package/esm/typings/tooltip/tooltip.d.ts +7 -0
  768. package/esm/typings/tooltip/tooltip.js.map +1 -1
  769. package/esm/util/array.js +2 -1
  770. package/esm/util/array.js.map +1 -1
  771. package/esm/util/math.d.ts +1 -0
  772. package/esm/util/math.js +4 -0
  773. package/esm/util/math.js.map +1 -1
  774. package/esm/util/scale.d.ts +1 -1
  775. package/esm/util/scale.js +2 -2
  776. package/esm/util/scale.js.map +1 -1
  777. package/package.json +18 -18
  778. package/cjs/component/interface/tooltip-helper.d.ts +0 -5
  779. package/cjs/component/interface/tooltip-helper.js +0 -6
  780. package/cjs/component/interface/tooltip-helper.js.map +0 -1
  781. package/cjs/component/tooltip/utils/compose.d.ts +0 -4
  782. package/cjs/component/tooltip/utils/compose.js +0 -120
  783. package/cjs/component/tooltip/utils/compose.js.map +0 -1
  784. package/cjs/model/tooltip-helper.d.ts +0 -29
  785. package/cjs/model/tooltip-helper.js +0 -19
  786. package/cjs/model/tooltip-helper.js.map +0 -1
  787. package/esm/component/interface/tooltip-helper.d.ts +0 -5
  788. package/esm/component/interface/tooltip-helper.js +0 -2
  789. package/esm/component/interface/tooltip-helper.js.map +0 -1
  790. package/esm/component/tooltip/utils/compose.d.ts +0 -4
  791. package/esm/component/tooltip/utils/compose.js +0 -105
  792. package/esm/component/tooltip/utils/compose.js.map +0 -1
  793. package/esm/model/tooltip-helper.d.ts +0 -29
  794. package/esm/model/tooltip-helper.js +0 -11
  795. package/esm/model/tooltip-helper.js.map +0 -1
@@ -118,7 +118,7 @@ function isAnimationEnabledForSeries(series) {
118
118
  if (!(0, vutils_1.isValid)(series.getRegion().animate)) return !1;
119
119
  let animationThreshold = null !== (_a = seriesSpec.animationThreshold) && void 0 !== _a ? _a : Number.MAX_SAFE_INTEGER;
120
120
  return null === (_b = series.getMarks()) || void 0 === _b || _b.forEach((m => {
121
- const config = m.getProgressiveConfig();
121
+ const config = m.getMarkConfig();
122
122
  config && (config.large && config.largeThreshold && (animationThreshold = Math.min(animationThreshold, config.largeThreshold)),
123
123
  config.progressiveThreshold && (animationThreshold = Math.min(animationThreshold, config.progressiveThreshold)));
124
124
  })), !((null === (_d = null === (_c = series.getRawData()) || void 0 === _c ? void 0 : _c.latestData) || void 0 === _d ? void 0 : _d.length) >= animationThreshold);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animation/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IElement, IAnimationTypeConfig, IAnimationTimeline } from '@visactor/vgrammar-core';\nimport type { MarkAnimationSpec, IAnimationState } from './interface';\nimport type { IStateAnimateSpec, IAnimationSpec } from './spec';\nimport { isFunction, isValidNumber } from '../util/type';\nimport { DEFAULT_DATA_INDEX } from '../constant/data';\nimport { DEFAULT_ANIMATION_CONFIG } from './config';\nimport { cloneDeep, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { SeriesMarkNameEnum } from '../series/interface/type';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ISeries } from '../series';\nimport type { ISeriesSpec } from '../typings';\nimport type { IModelMarkAttributeContext } from '../compile/mark';\n\nexport const AnimationStates = [...Object.keys(DEFAULT_ANIMATION_CONFIG), 'normal'];\n\nexport function animationConfig<Preset extends string>(\n defaultConfig: MarkAnimationSpec = {},\n userConfig?: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n >,\n params?: {\n dataIndex: (datum: any, params: any) => number;\n dataCount: () => number;\n }\n) {\n const config = {} as MarkAnimationSpec;\n for (let i = 0; i < AnimationStates.length; i++) {\n const state = AnimationStates[i];\n const userStateConfig = userConfig ? userConfig[state] : undefined;\n\n if (userStateConfig === false) {\n continue;\n }\n\n if (state === 'normal') {\n userStateConfig && (config.normal = userStateConfig as IAnimationTypeConfig);\n continue;\n } else if (state === 'state') {\n if (userStateConfig !== false) {\n config.state = (userStateConfig ?? DEFAULT_ANIMATION_CONFIG.state) as any;\n }\n continue;\n }\n\n if (state !== 'update' && !userStateConfig && !defaultConfig[state]) {\n // no user config and default config\n continue;\n }\n\n // 开始处理默认动画逻辑\n let defaultStateConfig: IAnimationConfig[];\n if (isArray(defaultConfig[state])) {\n defaultStateConfig = defaultConfig[state] as IAnimationConfig[];\n } else {\n defaultStateConfig = [{ ...DEFAULT_ANIMATION_CONFIG[state], ...defaultConfig[state] } as any];\n }\n // FIXME: 用来控制当动画状态发生变更时是否清除正在执行的动画。\n // 现在 vrender 对于同一个视觉通道的 tween 不会做覆盖的处理。若不做动画清空同时 exit 动画比 update 动画时间长的情况下,效果会不正确\n if (state === 'exit') {\n defaultStateConfig.forEach(exitConfig => {\n exitConfig.controlOptions = { stopWhenStateChange: true };\n });\n }\n\n if (!userStateConfig) {\n config[state] = defaultStateConfig;\n continue;\n }\n\n // 开始处理用户配置的动画逻辑\n let stateConfig: IAnimationConfig[];\n if (isArray(userStateConfig)) {\n stateConfig = userStateConfig.map((userConfig, i) => {\n let singleConfig: IAnimationConfig = userConfig;\n // not merge default config when user animation config is array\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n } else {\n stateConfig = defaultStateConfig.map((stateConfig, i) => {\n let singleConfig: IAnimationConfig = mergeSpec({}, defaultStateConfig[i], userStateConfig) as IAnimationConfig;\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n }\n\n config[state] = stateConfig;\n }\n return config;\n}\n\nexport function userAnimationConfig<M extends string, Preset extends string>(\n markName: SeriesMarkNameEnum | string,\n spec: IAnimationSpec<M, Preset>,\n ctx: IModelMarkAttributeContext\n) {\n const userConfig: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n > = {};\n\n if (isValid(spec.animationAppear)) {\n userConfig.appear = spec.animationAppear[markName] ?? spec.animationAppear;\n }\n if (isValid(spec.animationDisappear)) {\n userConfig.disappear = spec.animationDisappear[markName] ?? spec.animationDisappear;\n }\n if (isValid(spec.animationEnter)) {\n userConfig.enter = spec.animationEnter[markName] ?? spec.animationEnter;\n }\n if (isValid(spec.animationExit)) {\n userConfig.exit = spec.animationExit[markName] ?? spec.animationExit;\n }\n if (isValid(spec.animationUpdate)) {\n userConfig.update = spec.animationUpdate[markName] ?? spec.animationUpdate;\n }\n if (isValid(spec.animationState)) {\n userConfig.state = spec.animationState[markName] ?? spec.animationState;\n }\n if (spec.animationNormal && spec.animationNormal[markName]) {\n userConfig.normal = spec.animationNormal[markName];\n }\n\n return uniformAnimationConfig(userConfig, ctx);\n}\n\n/**\n * oneByOne\n */\nfunction produceOneByOne(\n stateConfig: IAnimationTypeConfig,\n dataIndex: (datum: any, params: any) => number,\n dataCount?: () => number\n) {\n const { oneByOne, duration, delay, delayAfter } = stateConfig;\n stateConfig.delay = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelay = isFunction(delay) ? delay(datum, element, params) : isValidNumber(delay) ? delay : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelay;\n }\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelay + index * (durationTime + oneByOneTime);\n };\n stateConfig.delayAfter = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelayAfter = isFunction(delayAfter)\n ? delayAfter(datum, element, params)\n : isValidNumber(delayAfter)\n ? delayAfter\n : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelayAfter;\n }\n const indexCount = dataCount ? dataCount() : element.mark.elements.length;\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelayAfter + (indexCount - index) * (durationTime + oneByOneTime);\n };\n delete stateConfig.oneByOne;\n return stateConfig;\n}\n\nfunction defaultDataIndex(datum: any, params: any) {\n return datum?.[DEFAULT_DATA_INDEX] ?? params?.VGRAMMAR_ANIMATION_PARAMETERS?.elementIndex;\n}\n\nexport function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string) {\n if (spec.animation === false) {\n return false;\n }\n\n if (spec.morph?.enable === false) {\n return false;\n }\n\n const appearAnimationEnabled = (spec.animationAppear?.[markName] ?? spec.animationAppear) !== false;\n const updateAnimationEnabled = (spec.animationUpdate?.[markName] ?? spec.animationUpdate) !== false;\n\n if (!appearAnimationEnabled || !updateAnimationEnabled) {\n return false;\n }\n\n return true;\n}\n\nexport function isTimeLineAnimation(animationConfig: IAnimationConfig) {\n return isValid((animationConfig as IAnimationTimeline).timeSlices);\n}\n\nexport function isChannelAnimation(animationConfig: IAnimationConfig) {\n return !isTimeLineAnimation(animationConfig) && isValid((animationConfig as IAnimationTypeConfig).channel);\n}\n\nexport function uniformAnimationConfig<Preset extends string>(\n config: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>,\n ctx: IModelMarkAttributeContext\n) {\n if (!config) {\n return config;\n }\n config = cloneDeep(config);\n traverseSpec(config, (node: any) => {\n // 将函数转换为 vchart 代理的函数\n // 这里可能会传自定义动画的构造函数,不能被代理\n if (isFunction(node) && node.prototype?.constructor !== node) {\n const name = (...args: any) => {\n return node(...args, ctx);\n };\n return name;\n }\n return node;\n });\n\n return config;\n}\n\nfunction traverseSpec(spec: any, transform: (node: any, key: string | number) => any) {\n if (isArray(spec)) {\n spec.forEach((i: any, index: number) => {\n spec[index] = transform(spec[index], index);\n traverseSpec(spec[index], transform);\n });\n } else if (isObject(spec)) {\n for (const key in spec) {\n spec[key] = transform(spec[key], key);\n traverseSpec(spec[key], transform);\n }\n }\n}\n\nexport function isAnimationEnabledForSeries(series: ISeries) {\n const seriesSpec = series.getSpec();\n\n if (seriesSpec.animation === false) {\n return false;\n }\n\n if (!isValid(series.getRegion().animate)) {\n return false;\n }\n\n let animationThreshold = seriesSpec.animationThreshold ?? Number.MAX_SAFE_INTEGER;\n\n // set mark stroke color follow series color\n // only set normal state in the level lower than level Series\n series.getMarks()?.forEach(m => {\n const config = m.getProgressiveConfig();\n if (config) {\n if (config.large && config.largeThreshold) {\n animationThreshold = Math.min(animationThreshold, config.largeThreshold);\n }\n if (config.progressiveThreshold) {\n animationThreshold = Math.min(animationThreshold, config.progressiveThreshold);\n }\n }\n });\n // auto close animation\n if (series.getRawData()?.latestData?.length >= animationThreshold) {\n return false;\n }\n\n return true;\n}\n"]}
1
+ {"version":3,"sources":["../src/animation/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IElement, IAnimationTypeConfig, IAnimationTimeline } from '@visactor/vgrammar-core';\nimport type { MarkAnimationSpec, IAnimationState } from './interface';\nimport type { IStateAnimateSpec, IAnimationSpec } from './spec';\nimport { isFunction, isValidNumber } from '../util/type';\nimport { DEFAULT_DATA_INDEX } from '../constant/data';\nimport { DEFAULT_ANIMATION_CONFIG } from './config';\nimport { cloneDeep, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { SeriesMarkNameEnum } from '../series/interface/type';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ISeries } from '../series';\nimport type { ISeriesSpec } from '../typings';\nimport type { IModelMarkAttributeContext } from '../compile/mark';\n\nexport const AnimationStates = [...Object.keys(DEFAULT_ANIMATION_CONFIG), 'normal'];\n\nexport function animationConfig<Preset extends string>(\n defaultConfig: MarkAnimationSpec = {},\n userConfig?: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n >,\n params?: {\n dataIndex: (datum: any, params: any) => number;\n dataCount: () => number;\n }\n) {\n const config = {} as MarkAnimationSpec;\n for (let i = 0; i < AnimationStates.length; i++) {\n const state = AnimationStates[i];\n const userStateConfig = userConfig ? userConfig[state] : undefined;\n\n if (userStateConfig === false) {\n continue;\n }\n\n if (state === 'normal') {\n userStateConfig && (config.normal = userStateConfig as IAnimationTypeConfig);\n continue;\n } else if (state === 'state') {\n if (userStateConfig !== false) {\n config.state = (userStateConfig ?? DEFAULT_ANIMATION_CONFIG.state) as any;\n }\n continue;\n }\n\n if (state !== 'update' && !userStateConfig && !defaultConfig[state]) {\n // no user config and default config\n continue;\n }\n\n // 开始处理默认动画逻辑\n let defaultStateConfig: IAnimationConfig[];\n if (isArray(defaultConfig[state])) {\n defaultStateConfig = defaultConfig[state] as IAnimationConfig[];\n } else {\n defaultStateConfig = [{ ...DEFAULT_ANIMATION_CONFIG[state], ...defaultConfig[state] } as any];\n }\n // FIXME: 用来控制当动画状态发生变更时是否清除正在执行的动画。\n // 现在 vrender 对于同一个视觉通道的 tween 不会做覆盖的处理。若不做动画清空同时 exit 动画比 update 动画时间长的情况下,效果会不正确\n if (state === 'exit') {\n defaultStateConfig.forEach(exitConfig => {\n exitConfig.controlOptions = { stopWhenStateChange: true };\n });\n }\n\n if (!userStateConfig) {\n config[state] = defaultStateConfig;\n continue;\n }\n\n // 开始处理用户配置的动画逻辑\n let stateConfig: IAnimationConfig[];\n if (isArray(userStateConfig)) {\n stateConfig = userStateConfig.map((userConfig, i) => {\n let singleConfig: IAnimationConfig = userConfig;\n // not merge default config when user animation config is array\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n } else {\n stateConfig = defaultStateConfig.map((stateConfig, i) => {\n let singleConfig: IAnimationConfig = mergeSpec({}, defaultStateConfig[i], userStateConfig) as IAnimationConfig;\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n }\n\n config[state] = stateConfig;\n }\n return config;\n}\n\nexport function userAnimationConfig<M extends string, Preset extends string>(\n markName: SeriesMarkNameEnum | string,\n spec: IAnimationSpec<M, Preset>,\n ctx: IModelMarkAttributeContext\n) {\n const userConfig: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n > = {};\n\n if (isValid(spec.animationAppear)) {\n userConfig.appear = spec.animationAppear[markName] ?? spec.animationAppear;\n }\n if (isValid(spec.animationDisappear)) {\n userConfig.disappear = spec.animationDisappear[markName] ?? spec.animationDisappear;\n }\n if (isValid(spec.animationEnter)) {\n userConfig.enter = spec.animationEnter[markName] ?? spec.animationEnter;\n }\n if (isValid(spec.animationExit)) {\n userConfig.exit = spec.animationExit[markName] ?? spec.animationExit;\n }\n if (isValid(spec.animationUpdate)) {\n userConfig.update = spec.animationUpdate[markName] ?? spec.animationUpdate;\n }\n if (isValid(spec.animationState)) {\n userConfig.state = spec.animationState[markName] ?? spec.animationState;\n }\n if (spec.animationNormal && spec.animationNormal[markName]) {\n userConfig.normal = spec.animationNormal[markName];\n }\n\n return uniformAnimationConfig(userConfig, ctx);\n}\n\n/**\n * oneByOne\n */\nfunction produceOneByOne(\n stateConfig: IAnimationTypeConfig,\n dataIndex: (datum: any, params: any) => number,\n dataCount?: () => number\n) {\n const { oneByOne, duration, delay, delayAfter } = stateConfig;\n stateConfig.delay = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelay = isFunction(delay) ? delay(datum, element, params) : isValidNumber(delay) ? delay : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelay;\n }\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelay + index * (durationTime + oneByOneTime);\n };\n stateConfig.delayAfter = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelayAfter = isFunction(delayAfter)\n ? delayAfter(datum, element, params)\n : isValidNumber(delayAfter)\n ? delayAfter\n : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelayAfter;\n }\n const indexCount = dataCount ? dataCount() : element.mark.elements.length;\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelayAfter + (indexCount - index) * (durationTime + oneByOneTime);\n };\n delete stateConfig.oneByOne;\n return stateConfig;\n}\n\nfunction defaultDataIndex(datum: any, params: any) {\n return datum?.[DEFAULT_DATA_INDEX] ?? params?.VGRAMMAR_ANIMATION_PARAMETERS?.elementIndex;\n}\n\nexport function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string) {\n if (spec.animation === false) {\n return false;\n }\n\n if (spec.morph?.enable === false) {\n return false;\n }\n\n const appearAnimationEnabled = (spec.animationAppear?.[markName] ?? spec.animationAppear) !== false;\n const updateAnimationEnabled = (spec.animationUpdate?.[markName] ?? spec.animationUpdate) !== false;\n\n if (!appearAnimationEnabled || !updateAnimationEnabled) {\n return false;\n }\n\n return true;\n}\n\nexport function isTimeLineAnimation(animationConfig: IAnimationConfig) {\n return isValid((animationConfig as IAnimationTimeline).timeSlices);\n}\n\nexport function isChannelAnimation(animationConfig: IAnimationConfig) {\n return !isTimeLineAnimation(animationConfig) && isValid((animationConfig as IAnimationTypeConfig).channel);\n}\n\nexport function uniformAnimationConfig<Preset extends string>(\n config: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>,\n ctx: IModelMarkAttributeContext\n) {\n if (!config) {\n return config;\n }\n config = cloneDeep(config);\n traverseSpec(config, (node: any) => {\n // 将函数转换为 vchart 代理的函数\n // 这里可能会传自定义动画的构造函数,不能被代理\n if (isFunction(node) && node.prototype?.constructor !== node) {\n const name = (...args: any) => {\n return node(...args, ctx);\n };\n return name;\n }\n return node;\n });\n\n return config;\n}\n\nfunction traverseSpec(spec: any, transform: (node: any, key: string | number) => any) {\n if (isArray(spec)) {\n spec.forEach((i: any, index: number) => {\n spec[index] = transform(spec[index], index);\n traverseSpec(spec[index], transform);\n });\n } else if (isObject(spec)) {\n for (const key in spec) {\n spec[key] = transform(spec[key], key);\n traverseSpec(spec[key], transform);\n }\n }\n}\n\nexport function isAnimationEnabledForSeries(series: ISeries) {\n const seriesSpec = series.getSpec();\n\n if (seriesSpec.animation === false) {\n return false;\n }\n\n if (!isValid(series.getRegion().animate)) {\n return false;\n }\n\n let animationThreshold = seriesSpec.animationThreshold ?? Number.MAX_SAFE_INTEGER;\n\n // set mark stroke color follow series color\n // only set normal state in the level lower than level Series\n series.getMarks()?.forEach(m => {\n const config = m.getMarkConfig();\n if (config) {\n if (config.large && config.largeThreshold) {\n animationThreshold = Math.min(animationThreshold, config.largeThreshold);\n }\n if (config.progressiveThreshold) {\n animationThreshold = Math.min(animationThreshold, config.progressiveThreshold);\n }\n }\n });\n // auto close animation\n if (series.getRawData()?.latestData?.length >= animationThreshold) {\n return false;\n }\n\n return true;\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.BaseChartSpecTransformer = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), core_1 = require("../../core"), interface_1 = require("../../component/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), util_1 = require("./util"), util_2 = require("../../util");
7
+ const vutils_1 = require("@visactor/vutils"), core_1 = require("../../core"), interface_1 = require("../../component/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), util_1 = require("./util"), util_2 = require("../../util"), util_3 = require("../../component/util");
8
8
 
9
9
  class BaseChartSpecTransformer {
10
10
  constructor(option) {
@@ -146,12 +146,12 @@ class BaseChartSpecTransformer {
146
146
  results.push(callbackfn(geoCoordinate, info, chartSpecInfo));
147
147
  }))), otherComponents.forEach((C => {
148
148
  var _a;
149
- null === (_a = C.getSpecInfo(chartSpec, chartSpecInfo)) || void 0 === _a || _a.forEach((info => {
149
+ null === (_a = C.getSpecInfo ? C.getSpecInfo(chartSpec, chartSpecInfo) : (0, util_3.getSpecInfo)(chartSpec, C.specKey, C.type)) || void 0 === _a || _a.forEach((info => {
150
150
  results.push(callbackfn(C, info, chartSpecInfo));
151
151
  }));
152
- })), null === (_c = null == tooltip ? void 0 : tooltip.getSpecInfo(chartSpec, chartSpecInfo)) || void 0 === _c || _c.forEach((info => {
152
+ })), tooltip && (null === (_c = (0, util_3.getSpecInfo)(chartSpec, tooltip.specKey, tooltip.type)) || void 0 === _c || _c.forEach((info => {
153
153
  results.push(callbackfn(tooltip, info, chartSpecInfo));
154
- })), results;
154
+ }))), results;
155
155
  }
156
156
  transformSeriesSpec(spec) {
157
157
  const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/base/base-chart-transformer.ts"],"names":[],"mappings":"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","file":"base-chart-transformer.js","sourcesContent":["import { isArray, isNumber, isValid } from '@visactor/vutils';\nimport type { IChartSpec, ISeriesSpec } from '../../typings';\nimport type { IChartSpecInfo, IChartSpecTransformer, IChartSpecTransformerOption } from '../interface';\nimport type { IModelConstructor, IModelSpecInfo } from '../../model/interface';\nimport type { IRegionConstructor, RegionSpec } from '../../region/interface';\nimport { Factory } from '../../core';\nimport type { ISeriesConstructor } from '../../series';\nimport type { IComponentConstructor } from '../../component/interface/common';\nimport { ComponentTypeEnum } from '../../component/interface';\nimport { setProperty } from '@visactor/vutils-extension';\nimport { getRelatedRegionInfo, getRelatedSeriesInfo } from './util';\nimport type { ICartesianBandAxisSpec } from '../..//component/axis/cartesian/interface';\nimport { array } from '../../util';\n\nexport class BaseChartSpecTransformer<T extends IChartSpec> implements IChartSpecTransformer {\n readonly type: string;\n readonly seriesType: string;\n\n protected _option: IChartSpecTransformerOption;\n\n constructor(option: IChartSpecTransformerOption) {\n this._option = option;\n this.type = option.type;\n this.seriesType = option.seriesType;\n }\n\n /** 此方法不建议重写 */\n initChartSpec(chartSpec: T): IChartSpecInfo {\n this.transformSpec(chartSpec);\n return this.transformModelSpec(chartSpec);\n }\n\n /**\n * 转换 chart spec。包含以下步骤:\n * - 将图表 spec 统一转换为 common 图表 spec\n * - 图表层级的在初始化阶段的 spec 修改\n */\n transformSpec(chartSpec: T): void {\n if (!chartSpec.region || chartSpec.region.length === 0) {\n chartSpec.region = [{}];\n }\n if (chartSpec.tooltip === undefined) {\n chartSpec.tooltip = {};\n }\n // 堆积逆序\n if (isValid(chartSpec.stackInverse)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackInverse) && (r.stackInverse = chartSpec.stackInverse);\n });\n }\n // 堆积排序\n if (isValid(chartSpec.stackSort)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackSort) && (r.stackSort = chartSpec.stackSort);\n });\n }\n }\n\n /**\n * 转换 model spec。包含以下步骤:\n * - model 层级的主题合并\n * - model 层级的在初始化阶段的 spec 修改,如添加 label spec\n */\n transformModelSpec(chartSpec: T): IChartSpecInfo {\n const transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n // 调用 model 自己的 transformer 进行转换\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n setProperty(chartSpec, specPath, transformResult.spec);\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n ...transformResult\n });\n };\n return this.createSpecInfo(chartSpec, transform);\n }\n\n /** 遍历图表 spec 中包含的所有的 model,进行 spec 转换并生成图表 spec info */\n createSpecInfo(\n chartSpec: T,\n transform?: (\n /** 当前 model 的类 */\n constructor: IModelConstructor,\n /** 当前 model 的 spec info */\n specInfo: IModelSpecInfo,\n /** 图表 spec info */\n chartSpecInfo?: IChartSpecInfo\n ) => void\n ): IChartSpecInfo {\n if (!transform) {\n transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n ...transformResult,\n theme: transformer.getTheme(spec, chartSpec)\n });\n };\n }\n\n const currentChartSpecInfo: IChartSpecInfo = {};\n\n /* 预处理 region */\n this.forEachRegionInSpec(chartSpec, transform, currentChartSpecInfo);\n\n /* 预处理 series */\n this.forEachSeriesInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 series 关联的 region\n currentChartSpecInfo.series?.forEach((seriesSpecInfo, i) => {\n const relatedRegion =\n getRelatedRegionInfo(seriesSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n const region = relatedRegion[0];\n if (region) {\n if (!region.seriesIndexes) {\n region.seriesIndexes = [];\n }\n region.seriesIndexes.push(i);\n seriesSpecInfo.regionIndexes = region.regionIndexes.slice();\n }\n });\n\n /* 预处理 component */\n this.forEachComponentInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 component 关联的 region、series\n Object.values(currentChartSpecInfo.component ?? {}).forEach(specInfoList =>\n specInfoList.forEach((componentSpecInfo, i) => {\n if (!componentSpecInfo) {\n return;\n }\n if (!componentSpecInfo.regionIndexes) {\n const relatedRegion =\n getRelatedRegionInfo(componentSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n componentSpecInfo.regionIndexes = relatedRegion.map(region => region.regionIndexes[0]);\n }\n if (!componentSpecInfo.seriesIndexes) {\n const seriesInfo = getRelatedSeriesInfo(componentSpecInfo, currentChartSpecInfo);\n if (!seriesInfo) {\n const seriesIndexSet = new Set<number>();\n (componentSpecInfo.regionIndexes ?? []).forEach(regionIndex => {\n const region = currentChartSpecInfo.region?.[regionIndex];\n region?.seriesIndexes?.forEach(seriesIndex => seriesIndexSet.add(seriesIndex));\n });\n componentSpecInfo.seriesIndexes = Array.from(seriesIndexSet);\n } else {\n componentSpecInfo.seriesIndexes = seriesInfo.map(({ seriesIndexes }) => seriesIndexes[0]);\n }\n }\n })\n );\n return currentChartSpecInfo;\n }\n\n protected _isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(chartSpec: any) {\n const series: any = {\n dataKey: chartSpec.dataKey,\n\n hover: chartSpec.hover,\n select: chartSpec.select,\n\n label: chartSpec.label,\n\n seriesStyle: chartSpec.seriesStyle,\n\n animation: chartSpec.animation ?? this._option.animation,\n animationThreshold: chartSpec.animationThreshold ?? this._option.getTheme?.().animationThreshold,\n animationAppear: chartSpec.animationAppear,\n animationDisappear: chartSpec.animationDisappear,\n animationEnter: chartSpec.animationEnter,\n animationUpdate: chartSpec.animationUpdate,\n animationExit: chartSpec.animationExit,\n animationNormal: chartSpec.animationNormal,\n animationState: chartSpec.animationState,\n\n extensionMark: chartSpec.extensionMark,\n\n large: chartSpec.large,\n largeThreshold: chartSpec.largeThreshold,\n progressiveStep: chartSpec.progressiveStep,\n progressiveThreshold: chartSpec.progressiveThreshold,\n background: chartSpec.seriesBackground,\n\n invalidType: chartSpec.invalidType,\n\n seriesField: chartSpec.seriesField,\n\n morph: chartSpec.morph,\n\n interactions: chartSpec.interactions\n };\n return series;\n }\n\n /** 遍历 spec 中每个有效的 region */\n forEachRegionInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IRegionConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const regionSpec = (chartSpec.region as RegionSpec[]) ?? [];\n return regionSpec.map((spec, index) =>\n callbackfn(\n Factory.getRegionInType('region'),\n {\n spec,\n specPath: ['region', index],\n type: 'region',\n regionIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 series */\n forEachSeriesInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: ISeriesConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const seriesSpec = (chartSpec.series as ISeriesSpec[]) ?? [];\n return seriesSpec.map((spec, index) =>\n callbackfn(\n Factory.getSeriesInType(spec.type),\n {\n spec,\n specPath: ['series', index],\n type: spec.type,\n seriesIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 component */\n forEachComponentInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IComponentConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const results: K[] = [];\n const components = Factory.getComponents();\n\n // 坐标轴组件只需要调用一次\n let cartesianAxis: IComponentConstructor;\n let polarAxis: IComponentConstructor;\n let geoCoordinate: IComponentConstructor;\n let tooltip: IComponentConstructor;\n const otherComponents = [];\n\n for (let index = 0; index < components.length; index++) {\n const { cmp, alwaysCheck } = components[index];\n if (cmp.type.startsWith(ComponentTypeEnum.cartesianAxis)) {\n cartesianAxis = cmp;\n } else if (cmp.type.startsWith(ComponentTypeEnum.polarAxis)) {\n polarAxis = cmp;\n } else if (cmp.type === ComponentTypeEnum.geoCoordinate) {\n geoCoordinate = cmp;\n } else if (alwaysCheck || chartSpec[cmp.specKey ?? cmp.type]) {\n if (cmp.type === ComponentTypeEnum.tooltip) {\n tooltip = cmp;\n } else {\n otherComponents.push(cmp);\n }\n }\n }\n\n // NOTE: 坐标轴组件需要在其他组件之前创建\n let hasInitAxis = false;\n if (cartesianAxis) {\n const infoList = cartesianAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (polarAxis && !hasInitAxis) {\n const infoList = polarAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (geoCoordinate && !hasInitAxis) {\n geoCoordinate.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(geoCoordinate, info, chartSpecInfo));\n });\n }\n\n otherComponents.forEach(C => {\n C.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(C, info, chartSpecInfo));\n });\n });\n\n // NOTE: tooltip 组件需要在 crosshair 组件之后创建\n tooltip?.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(tooltip, info, chartSpecInfo));\n });\n\n return results;\n }\n\n /** 处理series配置 */\n transformSeriesSpec(spec: T): void {\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this._isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n\n protected _findBandAxisBySeries(seriesSpec: ISeriesSpec, seriesIndex: number, axesSpec: any) {\n const isHorizontal = (seriesSpec as any)?.direction === 'horizontal';\n const matchOrient = isHorizontal ? ['left', 'right'] : ['top', 'bottom'];\n const targetBandAxis: any = axesSpec.find((axis: any) => {\n if (!matchOrient.includes(axis.orient)) {\n // orient必须匹配\n return false;\n }\n if (isValid(axis.seriesId)) {\n // 1. 通过seriesId绑定\n if (array(axis.seriesId).includes(seriesSpec?.id)) {\n return true;\n }\n } else if (isValid(axis.seriesIndex)) {\n // 2. 通过seriesIndex绑定\n if (array(axis.seriesIndex).includes(seriesIndex)) {\n return true;\n }\n } else if (axis.type === 'band') {\n // 3. 通过axis type识别\n return true;\n }\n // 4. 剩下的情况满足axis orient要求\n return true;\n });\n\n return targetBandAxis;\n }\n\n /**\n * @description bar chart 和 common chart支持autoBandsize, 此方法用于识别barWidth配置后应用到轴上\n * */\n protected _applyAxisBandSize(\n axis: ICartesianBandAxisSpec,\n extend: number,\n barWidthSpec: {\n barMaxWidth: number | string;\n barMinWidth: number | string;\n barWidth: number | string;\n barGapInGroup: number | string | (number | string)[];\n }\n ) {\n const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = barWidthSpec;\n let hasBarWidth = false;\n if (isNumber(barMinWidth)) {\n axis.minBandSize = barMinWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barWidth)) {\n axis.minBandSize = barWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barMaxWidth)) {\n axis.minBandSize = barMaxWidth as number;\n hasBarWidth = true;\n }\n if (hasBarWidth) {\n axis.bandSizeLevel = Number.MAX_VALUE; // 影响最底层的 scale\n axis.bandSizeExtend = {\n extend,\n gap: isArray(barGapInGroup) ? barGapInGroup[(barGapInGroup as any[]).length - 1] : barGapInGroup\n };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/base/base-chart-transformer.ts"],"names":[],"mappings":"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","file":"base-chart-transformer.js","sourcesContent":["import { isArray, isNumber, isValid } from '@visactor/vutils';\nimport type { IChartSpec, ISeriesSpec } from '../../typings';\nimport type { IChartSpecInfo, IChartSpecTransformer, IChartSpecTransformerOption } from '../interface';\nimport type { IModelConstructor, IModelSpecInfo } from '../../model/interface';\nimport type { IRegionConstructor, RegionSpec } from '../../region/interface';\nimport { Factory } from '../../core';\nimport type { ISeriesConstructor } from '../../series';\nimport type { IComponentConstructor } from '../../component/interface/common';\nimport { ComponentTypeEnum } from '../../component/interface';\nimport { setProperty } from '@visactor/vutils-extension';\nimport { getRelatedRegionInfo, getRelatedSeriesInfo } from './util';\nimport type { ICartesianBandAxisSpec } from '../..//component/axis/cartesian/interface';\nimport { array } from '../../util';\nimport { getSpecInfo } from '../../component/util';\n\nexport class BaseChartSpecTransformer<T extends IChartSpec> implements IChartSpecTransformer {\n readonly type: string;\n readonly seriesType: string;\n\n protected _option: IChartSpecTransformerOption;\n\n constructor(option: IChartSpecTransformerOption) {\n this._option = option;\n this.type = option.type;\n this.seriesType = option.seriesType;\n }\n\n /** 此方法不建议重写 */\n initChartSpec(chartSpec: T): IChartSpecInfo {\n this.transformSpec(chartSpec);\n return this.transformModelSpec(chartSpec);\n }\n\n /**\n * 转换 chart spec。包含以下步骤:\n * - 将图表 spec 统一转换为 common 图表 spec\n * - 图表层级的在初始化阶段的 spec 修改\n */\n transformSpec(chartSpec: T): void {\n if (!chartSpec.region || chartSpec.region.length === 0) {\n chartSpec.region = [{}];\n }\n if (chartSpec.tooltip === undefined) {\n chartSpec.tooltip = {};\n }\n // 堆积逆序\n if (isValid(chartSpec.stackInverse)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackInverse) && (r.stackInverse = chartSpec.stackInverse);\n });\n }\n // 堆积排序\n if (isValid(chartSpec.stackSort)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackSort) && (r.stackSort = chartSpec.stackSort);\n });\n }\n }\n\n /**\n * 转换 model spec。包含以下步骤:\n * - model 层级的主题合并\n * - model 层级的在初始化阶段的 spec 修改,如添加 label spec\n */\n transformModelSpec(chartSpec: T): IChartSpecInfo {\n const transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n // 调用 model 自己的 transformer 进行转换\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n setProperty(chartSpec, specPath, transformResult.spec);\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n ...transformResult\n });\n };\n return this.createSpecInfo(chartSpec, transform);\n }\n\n /** 遍历图表 spec 中包含的所有的 model,进行 spec 转换并生成图表 spec info */\n createSpecInfo(\n chartSpec: T,\n transform?: (\n /** 当前 model 的类 */\n constructor: IModelConstructor,\n /** 当前 model 的 spec info */\n specInfo: IModelSpecInfo,\n /** 图表 spec info */\n chartSpecInfo?: IChartSpecInfo\n ) => void\n ): IChartSpecInfo {\n if (!transform) {\n transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n ...transformResult,\n theme: transformer.getTheme(spec, chartSpec)\n });\n };\n }\n\n const currentChartSpecInfo: IChartSpecInfo = {};\n\n /* 预处理 region */\n this.forEachRegionInSpec(chartSpec, transform, currentChartSpecInfo);\n\n /* 预处理 series */\n this.forEachSeriesInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 series 关联的 region\n currentChartSpecInfo.series?.forEach((seriesSpecInfo, i) => {\n const relatedRegion =\n getRelatedRegionInfo(seriesSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n const region = relatedRegion[0];\n if (region) {\n if (!region.seriesIndexes) {\n region.seriesIndexes = [];\n }\n region.seriesIndexes.push(i);\n seriesSpecInfo.regionIndexes = region.regionIndexes.slice();\n }\n });\n\n /* 预处理 component */\n this.forEachComponentInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 component 关联的 region、series\n Object.values(currentChartSpecInfo.component ?? {}).forEach(specInfoList =>\n specInfoList.forEach((componentSpecInfo, i) => {\n if (!componentSpecInfo) {\n return;\n }\n if (!componentSpecInfo.regionIndexes) {\n const relatedRegion =\n getRelatedRegionInfo(componentSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n componentSpecInfo.regionIndexes = relatedRegion.map(region => region.regionIndexes[0]);\n }\n if (!componentSpecInfo.seriesIndexes) {\n const seriesInfo = getRelatedSeriesInfo(componentSpecInfo, currentChartSpecInfo);\n if (!seriesInfo) {\n const seriesIndexSet = new Set<number>();\n (componentSpecInfo.regionIndexes ?? []).forEach(regionIndex => {\n const region = currentChartSpecInfo.region?.[regionIndex];\n region?.seriesIndexes?.forEach(seriesIndex => seriesIndexSet.add(seriesIndex));\n });\n componentSpecInfo.seriesIndexes = Array.from(seriesIndexSet);\n } else {\n componentSpecInfo.seriesIndexes = seriesInfo.map(({ seriesIndexes }) => seriesIndexes[0]);\n }\n }\n })\n );\n return currentChartSpecInfo;\n }\n\n protected _isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(chartSpec: any) {\n const series: any = {\n dataKey: chartSpec.dataKey,\n\n hover: chartSpec.hover,\n select: chartSpec.select,\n\n label: chartSpec.label,\n\n seriesStyle: chartSpec.seriesStyle,\n\n animation: chartSpec.animation ?? this._option.animation,\n animationThreshold: chartSpec.animationThreshold ?? this._option.getTheme?.().animationThreshold,\n animationAppear: chartSpec.animationAppear,\n animationDisappear: chartSpec.animationDisappear,\n animationEnter: chartSpec.animationEnter,\n animationUpdate: chartSpec.animationUpdate,\n animationExit: chartSpec.animationExit,\n animationNormal: chartSpec.animationNormal,\n animationState: chartSpec.animationState,\n\n extensionMark: chartSpec.extensionMark,\n\n large: chartSpec.large,\n largeThreshold: chartSpec.largeThreshold,\n progressiveStep: chartSpec.progressiveStep,\n progressiveThreshold: chartSpec.progressiveThreshold,\n background: chartSpec.seriesBackground,\n\n invalidType: chartSpec.invalidType,\n\n seriesField: chartSpec.seriesField,\n\n morph: chartSpec.morph,\n\n interactions: chartSpec.interactions\n };\n return series;\n }\n\n /** 遍历 spec 中每个有效的 region */\n forEachRegionInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IRegionConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const regionSpec = (chartSpec.region as RegionSpec[]) ?? [];\n return regionSpec.map((spec, index) =>\n callbackfn(\n Factory.getRegionInType('region'),\n {\n spec,\n specPath: ['region', index],\n type: 'region',\n regionIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 series */\n forEachSeriesInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: ISeriesConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const seriesSpec = (chartSpec.series as ISeriesSpec[]) ?? [];\n return seriesSpec.map((spec, index) =>\n callbackfn(\n Factory.getSeriesInType(spec.type),\n {\n spec,\n specPath: ['series', index],\n type: spec.type,\n seriesIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 component */\n forEachComponentInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IComponentConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const results: K[] = [];\n const components = Factory.getComponents();\n\n // 坐标轴组件只需要调用一次\n let cartesianAxis: IComponentConstructor;\n let polarAxis: IComponentConstructor;\n let geoCoordinate: IComponentConstructor;\n let tooltip: IComponentConstructor;\n const otherComponents = [];\n\n for (let index = 0; index < components.length; index++) {\n const { cmp, alwaysCheck } = components[index];\n if (cmp.type.startsWith(ComponentTypeEnum.cartesianAxis)) {\n cartesianAxis = cmp;\n } else if (cmp.type.startsWith(ComponentTypeEnum.polarAxis)) {\n polarAxis = cmp;\n } else if (cmp.type === ComponentTypeEnum.geoCoordinate) {\n geoCoordinate = cmp;\n } else if (alwaysCheck || chartSpec[cmp.specKey ?? cmp.type]) {\n if (cmp.type === ComponentTypeEnum.tooltip) {\n tooltip = cmp;\n } else {\n otherComponents.push(cmp);\n }\n }\n }\n\n // NOTE: 坐标轴组件需要在其他组件之前创建\n let hasInitAxis = false;\n if (cartesianAxis) {\n const infoList = cartesianAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (polarAxis && !hasInitAxis) {\n const infoList = polarAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (geoCoordinate && !hasInitAxis) {\n geoCoordinate.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(geoCoordinate, info, chartSpecInfo));\n });\n }\n\n otherComponents.forEach(C => {\n (C.getSpecInfo ? C.getSpecInfo(chartSpec, chartSpecInfo) : getSpecInfo(chartSpec, C.specKey, C.type))?.forEach(\n info => {\n results.push(callbackfn(C, info, chartSpecInfo));\n }\n );\n });\n\n // NOTE: tooltip 组件需要在 crosshair 组件之后创建\n if (tooltip) {\n getSpecInfo(chartSpec, tooltip.specKey, tooltip.type)?.forEach(info => {\n results.push(callbackfn(tooltip, info, chartSpecInfo));\n });\n }\n\n return results;\n }\n\n /** 处理series配置 */\n transformSeriesSpec(spec: T): void {\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this._isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n\n protected _findBandAxisBySeries(seriesSpec: ISeriesSpec, seriesIndex: number, axesSpec: any) {\n const isHorizontal = (seriesSpec as any)?.direction === 'horizontal';\n const matchOrient = isHorizontal ? ['left', 'right'] : ['top', 'bottom'];\n const targetBandAxis: any = axesSpec.find((axis: any) => {\n if (!matchOrient.includes(axis.orient)) {\n // orient必须匹配\n return false;\n }\n if (isValid(axis.seriesId)) {\n // 1. 通过seriesId绑定\n if (array(axis.seriesId).includes(seriesSpec?.id)) {\n return true;\n }\n } else if (isValid(axis.seriesIndex)) {\n // 2. 通过seriesIndex绑定\n if (array(axis.seriesIndex).includes(seriesIndex)) {\n return true;\n }\n } else if (axis.type === 'band') {\n // 3. 通过axis type识别\n return true;\n }\n // 4. 剩下的情况满足axis orient要求\n return true;\n });\n\n return targetBandAxis;\n }\n\n /**\n * @description bar chart 和 common chart支持autoBandsize, 此方法用于识别barWidth配置后应用到轴上\n * */\n protected _applyAxisBandSize(\n axis: ICartesianBandAxisSpec,\n extend: number,\n barWidthSpec: {\n barMaxWidth: number | string;\n barMinWidth: number | string;\n barWidth: number | string;\n barGapInGroup: number | string | (number | string)[];\n }\n ) {\n const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = barWidthSpec;\n let hasBarWidth = false;\n if (isNumber(barMinWidth)) {\n axis.minBandSize = barMinWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barWidth)) {\n axis.minBandSize = barWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barMaxWidth)) {\n axis.minBandSize = barMaxWidth as number;\n hasBarWidth = true;\n }\n if (hasBarWidth) {\n axis.bandSizeLevel = Number.MAX_VALUE; // 影响最底层的 scale\n axis.bandSizeExtend = {\n extend,\n gap: isArray(barGapInGroup) ? barGapInGroup[(barGapInGroup as any[]).length - 1] : barGapInGroup\n };\n }\n }\n}\n"]}
@@ -110,6 +110,7 @@ export declare class BaseChart<T extends IChartSpec> extends CompilableBase impl
110
110
  updateGlobalScaleDomain(): void;
111
111
  updateGlobalScale(result: IUpdateSpecResult): void;
112
112
  updateGlobalScaleTheme(): void;
113
+ private _getSpecKeys;
113
114
  updateSpec(spec: T): {
114
115
  change: boolean;
115
116
  reMake: boolean;
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.BaseChart = void 0;
16
16
 
17
- const data_1 = require("../chart-meta/data"), global_scale_1 = require("../../scale/global-scale"), interface_1 = require("../../component/interface"), factory_1 = require("../../core/factory"), event_1 = require("../../event/event"), util_1 = require("../../util"), base_model_1 = require("../../model/base-model"), base_mark_1 = require("../../mark/base/base-mark"), base_1 = require("../../constant/base"), vutils_1 = require("@visactor/vutils"), util_2 = require("../../theme/color-scheme/util"), compilable_base_1 = require("../../compile/compilable-base"), interface_2 = require("../../compile/mark/interface"), event_2 = require("../../constant/event"), dimension_1 = require("../../event/events/dimension"), util_3 = require("../util"), vscale_1 = require("@visactor/vscale"), initialize_1 = require("../../data/initialize");
17
+ const data_1 = require("../chart-meta/data"), global_scale_1 = require("../../scale/global-scale"), interface_1 = require("../../component/interface"), factory_1 = require("../../core/factory"), event_1 = require("../../event/event"), util_1 = require("../../util"), base_model_1 = require("../../model/base-model"), base_mark_1 = require("../../mark/base/base-mark"), base_1 = require("../../constant/base"), vutils_1 = require("@visactor/vutils"), util_2 = require("../../theme/color-scheme/util"), compilable_base_1 = require("../../compile/compilable-base"), interface_2 = require("../../compile/mark/interface"), event_2 = require("../../constant/event"), dimension_1 = require("../../event/events/dimension"), util_3 = require("../util"), vscale_1 = require("@visactor/vscale"), initialize_1 = require("../../data/initialize"), layout_1 = require("../../constant/layout");
18
18
 
19
19
  class BaseChart extends compilable_base_1.CompilableBase {
20
20
  getSpec() {
@@ -50,7 +50,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
50
50
  return this._chartData;
51
51
  }
52
52
  constructor(spec, option) {
53
- var _a, _b, _c, _d;
53
+ var _a, _b, _c;
54
54
  super(option), this.type = "chart", this.id = (0, util_1.createID)(), this._regions = [],
55
55
  this._series = [], this._components = [], this._layoutRect = {
56
56
  x: 0,
@@ -97,16 +97,15 @@ class BaseChart extends compilable_base_1.CompilableBase {
97
97
  }, this.getComponentsByType = type => this._components.filter((c => c.type === type)),
98
98
  this._paddingSpec = (0, util_1.normalizeLayoutPaddingSpec)(null !== (_a = spec.padding) && void 0 !== _a ? _a : option.getTheme().padding),
99
99
  this._event = new event_1.Event(option.eventDispatcher, option.mode), this._dataSet = option.dataSet,
100
- this._chartData = new data_1.ChartData(this._dataSet, null === (_b = this._option) || void 0 === _b ? void 0 : _b.onError),
101
- this._modelOption = Object.assign(Object.assign({}, option), {
100
+ this._chartData = new data_1.ChartData(this._dataSet), this._modelOption = Object.assign(Object.assign({}, option), {
102
101
  mode: this._option.mode,
103
102
  map: this._idMap,
104
103
  getChartLayoutRect: () => this._layoutRect,
105
104
  getChartViewRect: () => this._viewRect,
106
105
  getChart: () => this,
107
106
  globalScale: this._globalScale,
108
- onError: null === (_c = this._option) || void 0 === _c ? void 0 : _c.onError,
109
- disableTriggerEvent: !0 === (null === (_d = this._option) || void 0 === _d ? void 0 : _d.disableTriggerEvent),
107
+ onError: null === (_b = this._option) || void 0 === _b ? void 0 : _b.onError,
108
+ disableTriggerEvent: !0 === (null === (_c = this._option) || void 0 === _c ? void 0 : _c.disableTriggerEvent),
110
109
  getSeriesData: this._chartData.getSeriesData.bind(this._chartData)
111
110
  }), this._spec = spec;
112
111
  }
@@ -157,7 +156,9 @@ class BaseChart extends compilable_base_1.CompilableBase {
157
156
  y: () => this._viewBox.y1,
158
157
  width: () => this._viewBox.x2 - this._viewBox.x1,
159
158
  height: () => this._viewBox.y2 - this._viewBox.y1
160
- }));
159
+ })), this._backgroundMark.setMarkConfig({
160
+ zIndex: layout_1.LayoutZIndex.SeriesGroup - 2
161
+ });
161
162
  }
162
163
  _createRegion(constructor, specInfo) {
163
164
  if (!constructor) return;
@@ -366,6 +367,13 @@ class BaseChart extends compilable_base_1.CompilableBase {
366
367
  colorSpec.rangeTheme && (colorSpec.range = (0, util_2.getDataScheme)(colorScheme),
367
368
  this._globalScale.getScale("color").range(colorSpec.range));
368
369
  }
370
+ _getSpecKeys(spec) {
371
+ const ignoreKeys = {
372
+ width: !0,
373
+ height: !0
374
+ };
375
+ return Object.keys(spec).filter((key => !ignoreKeys[key])).sort();
376
+ }
369
377
  updateSpec(spec) {
370
378
  const result = {
371
379
  change: !1,
@@ -376,9 +384,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
376
384
  };
377
385
  if (this.setLayoutTag(!0, null, !1), spec.type !== this.type) return result.reMake = !0,
378
386
  result;
379
- const currentKeys = Object.keys(this._spec).sort(), nextKeys = Object.keys(spec).sort();
380
- if (JSON.stringify(currentKeys) !== JSON.stringify(nextKeys)) return result.reMake = !0,
381
- result;
387
+ const currentKeys = this._getSpecKeys(this._spec), nextKeys = this._getSpecKeys(spec);
388
+ if (!(0, vutils_1.isEqual)(currentKeys, nextKeys)) return result.reMake = !0, result;
382
389
  for (let i = 0; i < currentKeys.length; i++) {
383
390
  const key = currentKeys[i];
384
391
  if ((0, util_1.isArray)(this._spec[key]) && this._spec[key].length !== (0, util_1.array)(spec[key]).length) return result.reMake = !0,
@@ -425,10 +432,11 @@ class BaseChart extends compilable_base_1.CompilableBase {
425
432
  const element = componentCache[key];
426
433
  element.componentCount !== element.specCount && (result.reMake = !0);
427
434
  }
435
+ const isVisible = compSpec => compSpec && !1 !== compSpec.visible;
428
436
  Object.keys(checkVisibleComponents).forEach((type => {
429
437
  if (checkVisibleComponents[type]) {
430
438
  const compSpec = this._spec[type];
431
- ((0, util_1.isArray)(compSpec) ? compSpec.some((entry => null == entry ? void 0 : entry.visible)) : null == compSpec ? void 0 : compSpec.visible) && (result.reMake = !0);
439
+ ((0, util_1.isArray)(compSpec) ? compSpec.some(isVisible) : isVisible(compSpec)) && (result.reMake = !0);
432
440
  }
433
441
  }));
434
442
  }
@@ -505,11 +513,11 @@ class BaseChart extends compilable_base_1.CompilableBase {
505
513
  }
506
514
  compileBackground() {
507
515
  var _a;
508
- this._backgroundMark && (this._backgroundMark.compile(), null === (_a = this._backgroundMark.getProduct()) || void 0 === _a || _a.configure({
516
+ this._backgroundMark && (this._backgroundMark.compile({
509
517
  context: {
510
518
  model: this
511
519
  }
512
- }).layout((() => {})));
520
+ }), null === (_a = this._backgroundMark.getProduct()) || void 0 === _a || _a.layout((() => {})));
513
521
  }
514
522
  compileRegions() {
515
523
  var _a, _b, _c, _d;