@visactor/vchart 1.15.5-alpha.8 → 2.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1375) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.es.js +7051 -13444
  3. package/build/index.js +7065 -13447
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/animate-manager.d.ts +2 -4
  7. package/cjs/animation/animate-manager.js +6 -9
  8. package/cjs/animation/animate-manager.js.map +1 -1
  9. package/cjs/animation/config.js +10 -20
  10. package/cjs/animation/config.js.map +1 -1
  11. package/cjs/animation/interface.d.ts +86 -2
  12. package/cjs/animation/interface.js.map +1 -1
  13. package/cjs/animation/spec.d.ts +27 -3
  14. package/cjs/animation/spec.js.map +1 -1
  15. package/cjs/animation/utils.d.ts +3 -4
  16. package/cjs/animation/utils.js +9 -9
  17. package/cjs/animation/utils.js.map +1 -1
  18. package/cjs/chart/area/area.js +3 -2
  19. package/cjs/chart/area/area.js.map +1 -1
  20. package/cjs/chart/bar/bar.js +3 -2
  21. package/cjs/chart/bar/bar.js.map +1 -1
  22. package/cjs/chart/base/base-chart-transformer.js +2 -2
  23. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  24. package/cjs/chart/base/base-chart.d.ts +10 -7
  25. package/cjs/chart/base/base-chart.js +84 -72
  26. package/cjs/chart/base/base-chart.js.map +1 -1
  27. package/cjs/chart/box-plot/box-plot.js +3 -2
  28. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  29. package/cjs/chart/funnel/util.d.ts +2 -0
  30. package/cjs/chart/funnel/util.js +14 -0
  31. package/cjs/chart/funnel/util.js.map +1 -0
  32. package/cjs/chart/histogram/3d/histogram-3d.js +3 -2
  33. package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
  34. package/cjs/chart/histogram/histogram.js +3 -2
  35. package/cjs/chart/histogram/histogram.js.map +1 -1
  36. package/cjs/chart/interface/chart.d.ts +3 -4
  37. package/cjs/chart/interface/chart.js.map +1 -1
  38. package/cjs/chart/interface/common.d.ts +2 -9
  39. package/cjs/chart/interface/common.js.map +1 -1
  40. package/cjs/chart/line/line.js +3 -2
  41. package/cjs/chart/line/line.js.map +1 -1
  42. package/cjs/chart/mosaic/mosaic.js +3 -2
  43. package/cjs/chart/mosaic/mosaic.js.map +1 -1
  44. package/cjs/chart/progress/circular/circular.js +3 -2
  45. package/cjs/chart/progress/circular/circular.js.map +1 -1
  46. package/cjs/chart/progress/linear/linear.js +3 -2
  47. package/cjs/chart/progress/linear/linear.js.map +1 -1
  48. package/cjs/chart/radar/radar.js +3 -2
  49. package/cjs/chart/radar/radar.js.map +1 -1
  50. package/cjs/chart/range-area/range-area.js +3 -2
  51. package/cjs/chart/range-area/range-area.js.map +1 -1
  52. package/cjs/chart/range-column/3d/range-column-3d.js +3 -3
  53. package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
  54. package/cjs/chart/range-column/range-column.js +3 -2
  55. package/cjs/chart/range-column/range-column.js.map +1 -1
  56. package/cjs/chart/rose/rose.js +3 -2
  57. package/cjs/chart/rose/rose.js.map +1 -1
  58. package/cjs/chart/sankey/sankey.d.ts +1 -1
  59. package/cjs/chart/sankey/sankey.js +20 -18
  60. package/cjs/chart/sankey/sankey.js.map +1 -1
  61. package/cjs/chart/scatter/scatter.js +3 -2
  62. package/cjs/chart/scatter/scatter.js.map +1 -1
  63. package/cjs/chart/sequence/sequence-transformer.js +2 -2
  64. package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
  65. package/cjs/chart/util.js +2 -2
  66. package/cjs/chart/util.js.map +1 -1
  67. package/cjs/chart/waterfall/waterfall.js +3 -2
  68. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  69. package/cjs/compile/compilable-base.d.ts +1 -1
  70. package/cjs/compile/compilable-base.js +2 -2
  71. package/cjs/compile/compilable-base.js.map +1 -1
  72. package/cjs/compile/compiler.d.ts +35 -25
  73. package/cjs/compile/compiler.js +183 -144
  74. package/cjs/compile/compiler.js.map +1 -1
  75. package/cjs/compile/data/compilable-data.d.ts +7 -7
  76. package/cjs/compile/data/compilable-data.js +20 -20
  77. package/cjs/compile/data/compilable-data.js.map +1 -1
  78. package/cjs/compile/data/interface.d.ts +4 -1
  79. package/cjs/compile/data/interface.js.map +1 -1
  80. package/cjs/compile/grammar-item.d.ts +7 -13
  81. package/cjs/compile/grammar-item.js +14 -34
  82. package/cjs/compile/grammar-item.js.map +1 -1
  83. package/cjs/compile/interface/compilable-item.d.ts +22 -28
  84. package/cjs/compile/interface/compilable-item.js +1 -1
  85. package/cjs/compile/interface/compilable-item.js.map +1 -1
  86. package/cjs/compile/interface/compiler.d.ts +13 -4
  87. package/cjs/compile/interface/compiler.js +6 -1
  88. package/cjs/compile/interface/compiler.js.map +1 -1
  89. package/cjs/compile/mark/index.d.ts +0 -1
  90. package/cjs/compile/mark/index.js +1 -2
  91. package/cjs/compile/mark/index.js.map +1 -1
  92. package/cjs/compile/mark/interface.d.ts +42 -33
  93. package/cjs/compile/mark/interface.js +2 -1
  94. package/cjs/compile/mark/interface.js.map +1 -1
  95. package/cjs/compile/mark/mark-state-manager.d.ts +11 -13
  96. package/cjs/compile/mark/mark-state-manager.js +25 -32
  97. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  98. package/cjs/compile/mark/util.d.ts +1 -1
  99. package/cjs/compile/mark/util.js.map +1 -1
  100. package/cjs/compile/state-manager.d.ts +11 -0
  101. package/cjs/compile/state-manager.js +29 -0
  102. package/cjs/compile/state-manager.js.map +1 -0
  103. package/cjs/compile/util.d.ts +14 -0
  104. package/cjs/compile/util.js +116 -13
  105. package/cjs/compile/util.js.map +1 -1
  106. package/cjs/component/axis/base-axis.d.ts +5 -3
  107. package/cjs/component/axis/base-axis.js +20 -17
  108. package/cjs/component/axis/base-axis.js.map +1 -1
  109. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  110. package/cjs/component/axis/cartesian/axis.js +19 -21
  111. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  112. package/cjs/component/axis/cartesian/band-axis.js +4 -3
  113. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  114. package/cjs/component/axis/cartesian/linear-axis.js +3 -2
  115. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  116. package/cjs/component/axis/cartesian/log-axis.js +3 -2
  117. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  118. package/cjs/component/axis/cartesian/symlog-axis.js +3 -2
  119. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -1
  120. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -0
  121. package/cjs/component/axis/cartesian/time-axis.js +7 -2
  122. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  123. package/cjs/component/axis/interface/common.d.ts +8 -0
  124. package/cjs/component/axis/interface/common.js +7 -1
  125. package/cjs/component/axis/interface/common.js.map +1 -1
  126. package/cjs/component/axis/polar/axis.js +2 -2
  127. package/cjs/component/axis/polar/axis.js.map +1 -1
  128. package/cjs/component/axis/polar/band-axis.js +5 -3
  129. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  130. package/cjs/component/axis/polar/linear-axis.js +5 -3
  131. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  132. package/cjs/component/base/base-component.d.ts +1 -2
  133. package/cjs/component/base/base-component.js.map +1 -1
  134. package/cjs/component/brush/brush.d.ts +12 -10
  135. package/cjs/component/brush/brush.js +32 -31
  136. package/cjs/component/brush/brush.js.map +1 -1
  137. package/cjs/component/crosshair/base.d.ts +25 -36
  138. package/cjs/component/crosshair/base.js +92 -8
  139. package/cjs/component/crosshair/base.js.map +1 -1
  140. package/cjs/component/crosshair/cartesian.d.ts +5 -28
  141. package/cjs/component/crosshair/cartesian.js +72 -170
  142. package/cjs/component/crosshair/cartesian.js.map +1 -1
  143. package/cjs/component/crosshair/interface/common.d.ts +67 -2
  144. package/cjs/component/crosshair/interface/common.js.map +1 -1
  145. package/cjs/component/crosshair/interface/index.d.ts +0 -2
  146. package/cjs/component/crosshair/interface/index.js +0 -1
  147. package/cjs/component/crosshair/interface/index.js.map +1 -1
  148. package/cjs/component/crosshair/interface/spec.d.ts +8 -4
  149. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  150. package/cjs/component/crosshair/polar.d.ts +6 -22
  151. package/cjs/component/crosshair/polar.js +78 -143
  152. package/cjs/component/crosshair/polar.js.map +1 -1
  153. package/cjs/component/crosshair/utils/cartesian.d.ts +5 -26
  154. package/cjs/component/crosshair/utils/cartesian.js +86 -174
  155. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  156. package/cjs/component/crosshair/utils/polar.d.ts +18 -11
  157. package/cjs/component/crosshair/utils/polar.js +72 -117
  158. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  159. package/cjs/component/custom-mark/custom-mark.js +3 -11
  160. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  161. package/cjs/component/data-zoom/data-filter-base-component.d.ts +4 -4
  162. package/cjs/component/data-zoom/data-filter-base-component.js +12 -11
  163. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  164. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  165. package/cjs/component/data-zoom/data-zoom/data-zoom.js +4 -4
  166. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  167. package/cjs/component/data-zoom/interface.d.ts +11 -0
  168. package/cjs/component/data-zoom/interface.js.map +1 -1
  169. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -2
  170. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +9 -12
  171. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  172. package/cjs/component/geo/geo-coordinate.d.ts +2 -2
  173. package/cjs/component/geo/geo-coordinate.js +4 -4
  174. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  175. package/cjs/component/geo/interface.d.ts +1 -1
  176. package/cjs/component/geo/interface.js.map +1 -1
  177. package/cjs/component/indicator/indicator.js +13 -14
  178. package/cjs/component/indicator/indicator.js.map +1 -1
  179. package/cjs/component/label/base-label.d.ts +5 -0
  180. package/cjs/component/label/base-label.js +45 -1
  181. package/cjs/component/label/base-label.js.map +1 -1
  182. package/cjs/component/label/interface.d.ts +4 -3
  183. package/cjs/component/label/interface.js.map +1 -1
  184. package/cjs/component/label/label.d.ts +5 -3
  185. package/cjs/component/label/label.js +76 -51
  186. package/cjs/component/label/label.js.map +1 -1
  187. package/cjs/component/label/total-label.js +40 -36
  188. package/cjs/component/label/total-label.js.map +1 -1
  189. package/cjs/component/label/util.d.ts +9 -10
  190. package/cjs/component/label/util.js +18 -16
  191. package/cjs/component/label/util.js.map +1 -1
  192. package/cjs/component/legend/util.d.ts +3 -3
  193. package/cjs/component/map-label/component.js +14 -14
  194. package/cjs/component/map-label/component.js.map +1 -1
  195. package/cjs/component/marker/base-marker.d.ts +1 -1
  196. package/cjs/component/marker/base-marker.js +2 -2
  197. package/cjs/component/marker/base-marker.js.map +1 -1
  198. package/cjs/component/tooltip/processor/interface.d.ts +1 -1
  199. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  200. package/cjs/component/tooltip/processor/mark-tooltip.js +17 -5
  201. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  202. package/cjs/component/tooltip/processor/util.d.ts +1 -1
  203. package/cjs/component/tooltip/tooltip.d.ts +3 -3
  204. package/cjs/component/tooltip/tooltip.js +6 -6
  205. package/cjs/component/tooltip/tooltip.js.map +1 -1
  206. package/cjs/component/tooltip/utils/show-tooltip.js +2 -4
  207. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  208. package/cjs/constant/data.d.ts +1 -0
  209. package/cjs/constant/data.js +2 -2
  210. package/cjs/constant/data.js.map +1 -1
  211. package/cjs/constant/event.d.ts +53 -2
  212. package/cjs/constant/event.js +31 -11
  213. package/cjs/constant/event.js.map +1 -1
  214. package/cjs/constant/funnel.js +1 -2
  215. package/cjs/constant/gradient.js +2 -1
  216. package/cjs/core/factory.d.ts +28 -3
  217. package/cjs/core/factory.js +33 -5
  218. package/cjs/core/factory.js.map +1 -1
  219. package/cjs/core/index.d.ts +3 -2
  220. package/cjs/core/index.js +42 -2
  221. package/cjs/core/index.js.map +1 -1
  222. package/cjs/core/interface.d.ts +13 -4
  223. package/cjs/core/interface.js +1 -2
  224. package/cjs/core/interface.js.map +1 -1
  225. package/cjs/core/util.js +2 -1
  226. package/cjs/core/vchart.d.ts +6 -6
  227. package/cjs/core/vchart.js +31 -57
  228. package/cjs/core/vchart.js.map +1 -1
  229. package/cjs/data/transforms/dimension-data.js.map +1 -1
  230. package/cjs/data/transforms/obj-flat.js +11 -5
  231. package/cjs/data/transforms/obj-flat.js.map +1 -1
  232. package/cjs/data/transforms/treemap.d.ts +10 -0
  233. package/cjs/data/transforms/treemap.js +22 -0
  234. package/cjs/data/transforms/treemap.js.map +1 -0
  235. package/cjs/data/transforms/venn.d.ts +10 -0
  236. package/cjs/data/transforms/venn.js +16 -0
  237. package/cjs/data/transforms/venn.js.map +1 -0
  238. package/cjs/data/transforms/waterfall.d.ts +1 -0
  239. package/cjs/data/transforms/waterfall.js +1 -1
  240. package/cjs/data/transforms/waterfall.js.map +1 -1
  241. package/cjs/event/event-dispatcher.js +18 -24
  242. package/cjs/event/event-dispatcher.js.map +1 -1
  243. package/cjs/event/events/base.d.ts +1 -2
  244. package/cjs/event/events/base.js.map +1 -1
  245. package/cjs/event/index.d.ts +1 -0
  246. package/cjs/event/index.js +16 -1
  247. package/cjs/event/index.js.map +1 -1
  248. package/cjs/event/interface.d.ts +6 -9
  249. package/cjs/event/interface.js.map +1 -1
  250. package/cjs/index-harmony-simple.d.ts +2 -1
  251. package/cjs/index-harmony-simple.js +15 -11
  252. package/cjs/index-harmony-simple.js.map +1 -1
  253. package/cjs/index-harmony.js +3 -3
  254. package/cjs/index-harmony.js.map +1 -1
  255. package/cjs/index-lark.js +2 -2
  256. package/cjs/index-lark.js.map +1 -1
  257. package/cjs/index-wx-simple.js +2 -2
  258. package/cjs/index-wx-simple.js.map +1 -1
  259. package/cjs/index-wx.js +2 -2
  260. package/cjs/index-wx.js.map +1 -1
  261. package/cjs/index.d.ts +0 -1
  262. package/cjs/index.js +5 -6
  263. package/cjs/index.js.map +1 -1
  264. package/cjs/interaction/config.d.ts +13 -0
  265. package/cjs/interaction/config.js +17 -2
  266. package/cjs/interaction/config.js.map +1 -1
  267. package/cjs/interaction/index.d.ts +9 -1
  268. package/cjs/interaction/index.js +55 -18
  269. package/cjs/interaction/index.js.map +1 -1
  270. package/cjs/interaction/interaction.d.ts +17 -25
  271. package/cjs/interaction/interaction.js +84 -86
  272. package/cjs/interaction/interaction.js.map +1 -1
  273. package/cjs/interaction/interface/common.d.ts +22 -0
  274. package/cjs/{compile/signal/interface.js → interaction/interface/common.js} +1 -1
  275. package/cjs/interaction/interface/common.js.map +1 -0
  276. package/cjs/interaction/interface/spec.d.ts +53 -0
  277. package/cjs/{component/crosshair/interface/polar.js → interaction/interface/spec.js} +1 -1
  278. package/cjs/interaction/interface/spec.js.map +1 -0
  279. package/cjs/interaction/interface/trigger.d.ts +87 -0
  280. package/cjs/{component/crosshair/interface/cartesian.js → interaction/interface/trigger.js} +1 -1
  281. package/cjs/interaction/interface/trigger.js.map +1 -0
  282. package/cjs/interaction/triggers/base.d.ts +28 -0
  283. package/cjs/interaction/triggers/base.js +77 -0
  284. package/cjs/interaction/triggers/base.js.map +1 -0
  285. package/cjs/interaction/triggers/dimension-hover.d.ts +22 -0
  286. package/cjs/interaction/triggers/dimension-hover.js +77 -0
  287. package/cjs/interaction/triggers/dimension-hover.js.map +1 -0
  288. package/cjs/interaction/triggers/element-active-by-legend.d.ts +21 -0
  289. package/cjs/interaction/triggers/element-active-by-legend.js +66 -0
  290. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -0
  291. package/cjs/interaction/triggers/element-active.d.ts +20 -0
  292. package/cjs/interaction/triggers/element-active.js +52 -0
  293. package/cjs/interaction/triggers/element-active.js.map +1 -0
  294. package/cjs/interaction/triggers/element-highlight-by-graphic-name.d.ts +13 -0
  295. package/cjs/interaction/triggers/element-highlight-by-graphic-name.js +53 -0
  296. package/cjs/interaction/triggers/element-highlight-by-graphic-name.js.map +1 -0
  297. package/cjs/interaction/triggers/element-highlight-by-group.d.ts +23 -0
  298. package/cjs/interaction/triggers/element-highlight-by-group.js +74 -0
  299. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -0
  300. package/cjs/interaction/triggers/element-highlight-by-key.d.ts +9 -0
  301. package/cjs/interaction/triggers/element-highlight-by-key.js +26 -0
  302. package/cjs/interaction/triggers/element-highlight-by-key.js.map +1 -0
  303. package/cjs/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
  304. package/cjs/interaction/triggers/element-highlight-by-legend.js +72 -0
  305. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -0
  306. package/cjs/interaction/triggers/element-highlight-by-name.d.ts +24 -0
  307. package/cjs/interaction/triggers/element-highlight-by-name.js +81 -0
  308. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -0
  309. package/cjs/interaction/triggers/element-highlight.d.ts +25 -0
  310. package/cjs/interaction/triggers/element-highlight.js +76 -0
  311. package/cjs/interaction/triggers/element-highlight.js.map +1 -0
  312. package/cjs/interaction/triggers/element-select-by-graphic-name.d.ts +8 -0
  313. package/cjs/interaction/triggers/element-select-by-graphic-name.js +31 -0
  314. package/cjs/interaction/triggers/element-select-by-graphic-name.js.map +1 -0
  315. package/cjs/interaction/triggers/element-select.d.ts +24 -0
  316. package/cjs/interaction/triggers/element-select.js +79 -0
  317. package/cjs/interaction/triggers/element-select.js.map +1 -0
  318. package/cjs/interaction/triggers/enum.d.ts +8 -0
  319. package/cjs/interaction/triggers/enum.js +13 -0
  320. package/cjs/interaction/triggers/enum.js.map +1 -0
  321. package/cjs/interaction/triggers/util.d.ts +12 -0
  322. package/cjs/interaction/triggers/util.js +58 -0
  323. package/cjs/interaction/triggers/util.js.map +1 -0
  324. package/cjs/interaction/zoom/zoomable.d.ts +1 -0
  325. package/cjs/interaction/zoom/zoomable.js +5 -4
  326. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  327. package/cjs/layout/interface.d.ts +2 -2
  328. package/cjs/layout/interface.js.map +1 -1
  329. package/cjs/layout/layout-item.d.ts +2 -3
  330. package/cjs/layout/layout-item.js +2 -2
  331. package/cjs/layout/layout-item.js.map +1 -1
  332. package/cjs/mark/arc-3d.js +4 -3
  333. package/cjs/mark/arc-3d.js.map +1 -1
  334. package/cjs/mark/arc.d.ts +2 -2
  335. package/cjs/mark/arc.js +8 -7
  336. package/cjs/mark/arc.js.map +1 -1
  337. package/cjs/mark/area.d.ts +2 -0
  338. package/cjs/mark/area.js +9 -4
  339. package/cjs/mark/area.js.map +1 -1
  340. package/cjs/mark/base/base-line.d.ts +16 -2
  341. package/cjs/mark/base/base-line.js +65 -11
  342. package/cjs/mark/base/base-line.js.map +1 -1
  343. package/cjs/mark/base/base-mark.d.ts +131 -13
  344. package/cjs/mark/base/base-mark.js +422 -43
  345. package/cjs/mark/base/base-mark.js.map +1 -1
  346. package/cjs/mark/box-plot.d.ts +11 -5
  347. package/cjs/mark/box-plot.js +216 -10
  348. package/cjs/mark/box-plot.js.map +1 -1
  349. package/cjs/mark/cell.d.ts +5 -2
  350. package/cjs/mark/cell.js +16 -4
  351. package/cjs/mark/cell.js.map +1 -1
  352. package/cjs/mark/component.d.ts +11 -3
  353. package/cjs/mark/component.js +34 -7
  354. package/cjs/mark/component.js.map +1 -1
  355. package/cjs/mark/glyph.d.ts +29 -0
  356. package/cjs/mark/glyph.js +73 -0
  357. package/cjs/mark/glyph.js.map +1 -0
  358. package/cjs/mark/group.d.ts +10 -6
  359. package/cjs/mark/group.js +30 -16
  360. package/cjs/mark/group.js.map +1 -1
  361. package/cjs/mark/image.js +3 -2
  362. package/cjs/mark/image.js.map +1 -1
  363. package/cjs/mark/index.d.ts +3 -1
  364. package/cjs/mark/index.js +19 -1
  365. package/cjs/mark/index.js.map +1 -1
  366. package/cjs/mark/interface/common.d.ts +61 -9
  367. package/cjs/mark/interface/common.js.map +1 -1
  368. package/cjs/mark/interface/enum.d.ts +6 -0
  369. package/cjs/mark/interface/enum.js +11 -0
  370. package/cjs/mark/interface/enum.js.map +1 -0
  371. package/cjs/mark/interface/index.d.ts +1 -0
  372. package/cjs/mark/interface/index.js +1 -1
  373. package/cjs/mark/interface/index.js.map +1 -1
  374. package/cjs/mark/interface/mark.d.ts +18 -1
  375. package/cjs/mark/interface/mark.js.map +1 -1
  376. package/cjs/mark/interface/type.d.ts +1 -0
  377. package/cjs/mark/interface/type.js +2 -2
  378. package/cjs/mark/interface/type.js.map +1 -1
  379. package/cjs/mark/label.d.ts +4 -3
  380. package/cjs/mark/label.js +3 -2
  381. package/cjs/mark/label.js.map +1 -1
  382. package/cjs/mark/line.js +5 -3
  383. package/cjs/mark/line.js.map +1 -1
  384. package/cjs/mark/link-path.d.ts +35 -5
  385. package/cjs/mark/link-path.js +65 -11
  386. package/cjs/mark/link-path.js.map +1 -1
  387. package/cjs/mark/liquid.d.ts +47 -5
  388. package/cjs/mark/liquid.js +62 -9
  389. package/cjs/mark/liquid.js.map +1 -1
  390. package/cjs/mark/path.js +3 -2
  391. package/cjs/mark/path.js.map +1 -1
  392. package/cjs/mark/polygon/polygon.js +4 -3
  393. package/cjs/mark/polygon/polygon.js.map +1 -1
  394. package/cjs/mark/polygon/pyramid-3d.js +4 -3
  395. package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
  396. package/cjs/mark/rect-3d.js +4 -3
  397. package/cjs/mark/rect-3d.js.map +1 -1
  398. package/cjs/mark/rect.js +4 -3
  399. package/cjs/mark/rect.js.map +1 -1
  400. package/cjs/mark/ripple.d.ts +39 -4
  401. package/cjs/mark/ripple.js +41 -9
  402. package/cjs/mark/ripple.js.map +1 -1
  403. package/cjs/mark/rule.d.ts +3 -0
  404. package/cjs/mark/rule.js +28 -2
  405. package/cjs/mark/rule.js.map +1 -1
  406. package/cjs/mark/symbol.d.ts +4 -4
  407. package/cjs/mark/symbol.js +14 -11
  408. package/cjs/mark/symbol.js.map +1 -1
  409. package/cjs/mark/text.d.ts +4 -2
  410. package/cjs/mark/text.js +15 -9
  411. package/cjs/mark/text.js.map +1 -1
  412. package/cjs/mark/transform/data-sampling.d.ts +10 -0
  413. package/cjs/mark/transform/data-sampling.js +119 -0
  414. package/cjs/mark/transform/data-sampling.js.map +1 -0
  415. package/cjs/mark/transform/filter.d.ts +1 -0
  416. package/cjs/mark/transform/filter.js +14 -0
  417. package/cjs/mark/transform/filter.js.map +1 -0
  418. package/cjs/mark/transform/map.d.ts +1 -0
  419. package/cjs/mark/transform/map.js +16 -0
  420. package/cjs/mark/transform/map.js.map +1 -0
  421. package/cjs/mark/transform/symbol-overlap.d.ts +14 -0
  422. package/cjs/mark/transform/symbol-overlap.js +93 -0
  423. package/cjs/mark/transform/symbol-overlap.js.map +1 -0
  424. package/cjs/mark/utils/common.d.ts +4 -0
  425. package/cjs/mark/utils/common.js +44 -4
  426. package/cjs/mark/utils/common.js.map +1 -1
  427. package/cjs/mark/utils/glyph.d.ts +2 -0
  428. package/cjs/mark/utils/glyph.js +13 -0
  429. package/cjs/mark/utils/glyph.js.map +1 -0
  430. package/cjs/mark/utils/index.d.ts +2 -0
  431. package/cjs/mark/utils/index.js +2 -1
  432. package/cjs/mark/utils/index.js.map +1 -1
  433. package/cjs/mark/utils/line.d.ts +3 -0
  434. package/cjs/mark/utils/line.js +29 -0
  435. package/cjs/mark/utils/line.js.map +1 -0
  436. package/cjs/model/base-model.d.ts +8 -8
  437. package/cjs/model/base-model.js +20 -9
  438. package/cjs/model/base-model.js.map +1 -1
  439. package/cjs/model/interface.d.ts +4 -8
  440. package/cjs/model/interface.js.map +1 -1
  441. package/cjs/model/layout-model.d.ts +2 -2
  442. package/cjs/model/layout-model.js +4 -4
  443. package/cjs/model/layout-model.js.map +1 -1
  444. package/cjs/plugin/components/axis-sync/tick-align-transform.js +10 -5
  445. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  446. package/cjs/plugin/components/tooltip-handler/base.d.ts +2 -2
  447. package/cjs/plugin/components/tooltip-handler/base.js +1 -1
  448. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  449. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  450. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  451. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +2 -4
  452. package/cjs/plugin/components/tooltip-handler/utils/position.js +23 -11
  453. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  454. package/cjs/plugin/components/tooltip-handler/utils/style.js +2 -1
  455. package/cjs/plugin/components/tooltip-handler/utils/style.js.map +1 -1
  456. package/cjs/plugin/other.d.ts +3 -3
  457. package/cjs/plugin/other.js +16 -18
  458. package/cjs/plugin/other.js.map +1 -1
  459. package/cjs/region/interface.d.ts +0 -2
  460. package/cjs/region/interface.js.map +1 -1
  461. package/cjs/region/region.d.ts +3 -9
  462. package/cjs/region/region.js +12 -32
  463. package/cjs/region/region.js.map +1 -1
  464. package/cjs/scale/global-scale.js +2 -1
  465. package/cjs/scale/global-scale.js.map +1 -1
  466. package/cjs/series/area/animation.d.ts +1 -1
  467. package/cjs/series/area/animation.js.map +1 -1
  468. package/cjs/series/area/area.d.ts +1 -1
  469. package/cjs/series/area/area.js +11 -16
  470. package/cjs/series/area/area.js.map +1 -1
  471. package/cjs/series/bar/animation.d.ts +1 -1
  472. package/cjs/series/bar/animation.js.map +1 -1
  473. package/cjs/series/bar/bar.d.ts +3 -3
  474. package/cjs/series/bar/bar.js +11 -25
  475. package/cjs/series/bar/bar.js.map +1 -1
  476. package/cjs/series/base/base-series.d.ts +26 -42
  477. package/cjs/series/base/base-series.js +57 -70
  478. package/cjs/series/base/base-series.js.map +1 -1
  479. package/cjs/series/base/tooltip-helper.d.ts +1 -2
  480. package/cjs/series/base/tooltip-helper.js.map +1 -1
  481. package/cjs/series/box-plot/box-plot.d.ts +3 -3
  482. package/cjs/series/box-plot/box-plot.js +12 -15
  483. package/cjs/series/box-plot/box-plot.js.map +1 -1
  484. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  485. package/cjs/series/circle-packing/animation.d.ts +1 -1
  486. package/cjs/series/circle-packing/animation.js.map +1 -1
  487. package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
  488. package/cjs/series/circle-packing/circle-packing.js +3 -5
  489. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  490. package/cjs/series/correlation/animation.d.ts +1 -1
  491. package/cjs/series/correlation/animation.js.map +1 -1
  492. package/cjs/series/correlation/correlation.d.ts +3 -4
  493. package/cjs/series/correlation/correlation.js +6 -13
  494. package/cjs/series/correlation/correlation.js.map +1 -1
  495. package/cjs/series/dot/dot.d.ts +2 -2
  496. package/cjs/series/dot/dot.js +4 -3
  497. package/cjs/series/dot/dot.js.map +1 -1
  498. package/cjs/series/funnel/3d/funnel-3d.js +3 -4
  499. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  500. package/cjs/series/funnel/funnel.d.ts +3 -2
  501. package/cjs/series/funnel/funnel.js +58 -46
  502. package/cjs/series/funnel/funnel.js.map +1 -1
  503. package/cjs/series/funnel/tooltip-helper.d.ts +1 -1
  504. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  505. package/cjs/series/gauge/animation.d.ts +1 -1
  506. package/cjs/series/gauge/animation.js.map +1 -1
  507. package/cjs/series/gauge/gauge-pointer.d.ts +4 -1
  508. package/cjs/series/gauge/gauge-pointer.js +2 -2
  509. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  510. package/cjs/series/gauge/gauge.d.ts +2 -2
  511. package/cjs/series/gauge/gauge.js +2 -2
  512. package/cjs/series/gauge/gauge.js.map +1 -1
  513. package/cjs/series/geo/geo.d.ts +2 -2
  514. package/cjs/series/geo/geo.js.map +1 -1
  515. package/cjs/series/heatmap/animation.d.ts +1 -1
  516. package/cjs/series/heatmap/animation.js.map +1 -1
  517. package/cjs/series/heatmap/heatmap.d.ts +4 -1
  518. package/cjs/series/heatmap/heatmap.js +5 -18
  519. package/cjs/series/heatmap/heatmap.js.map +1 -1
  520. package/cjs/series/interface/common.d.ts +1 -4
  521. package/cjs/series/interface/common.js.map +1 -1
  522. package/cjs/series/interface/series.d.ts +6 -1
  523. package/cjs/series/interface/series.js.map +1 -1
  524. package/cjs/series/line/animation.d.ts +1 -1
  525. package/cjs/series/line/animation.js.map +1 -1
  526. package/cjs/series/line/line.d.ts +1 -1
  527. package/cjs/series/line/line.js +6 -11
  528. package/cjs/series/line/line.js.map +1 -1
  529. package/cjs/series/link/link.d.ts +5 -2
  530. package/cjs/series/link/link.js +3 -3
  531. package/cjs/series/link/link.js.map +1 -1
  532. package/cjs/series/liquid/animation.d.ts +1 -1
  533. package/cjs/series/liquid/animation.js.map +1 -1
  534. package/cjs/series/liquid/liquid.d.ts +4 -1
  535. package/cjs/series/liquid/liquid.js +5 -5
  536. package/cjs/series/liquid/liquid.js.map +1 -1
  537. package/cjs/series/map/interface.d.ts +10 -0
  538. package/cjs/series/map/interface.js.map +1 -1
  539. package/cjs/series/map/map.js +12 -14
  540. package/cjs/series/map/map.js.map +1 -1
  541. package/cjs/series/mixin/line-mixin.d.ts +5 -5
  542. package/cjs/series/mixin/line-mixin.js +21 -26
  543. package/cjs/series/mixin/line-mixin.js.map +1 -1
  544. package/cjs/series/pictogram/pictogram.d.ts +15 -19
  545. package/cjs/series/pictogram/pictogram.js +24 -31
  546. package/cjs/series/pictogram/pictogram.js.map +1 -1
  547. package/cjs/series/pie/animation/animation.d.ts +4 -3
  548. package/cjs/series/pie/animation/animation.js.map +1 -1
  549. package/cjs/series/pie/animation/centerOffset.d.ts +1 -1
  550. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  551. package/cjs/series/pie/interface.d.ts +2 -2
  552. package/cjs/series/pie/interface.js.map +1 -1
  553. package/cjs/series/pie/pie.d.ts +8 -6
  554. package/cjs/series/pie/pie.js +14 -17
  555. package/cjs/series/pie/pie.js.map +1 -1
  556. package/cjs/series/polar/progress-like/animation.d.ts +1 -1
  557. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  558. package/cjs/series/polar/progress-like/progress-like.d.ts +1 -2
  559. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  560. package/cjs/series/progress/circular/circular.d.ts +4 -1
  561. package/cjs/series/progress/circular/circular.js +9 -11
  562. package/cjs/series/progress/circular/circular.js.map +1 -1
  563. package/cjs/series/progress/linear/animation.d.ts +1 -1
  564. package/cjs/series/progress/linear/animation.js.map +1 -1
  565. package/cjs/series/progress/linear/linear.d.ts +4 -1
  566. package/cjs/series/progress/linear/linear.js +7 -13
  567. package/cjs/series/progress/linear/linear.js.map +1 -1
  568. package/cjs/series/radar/animation.d.ts +11 -9
  569. package/cjs/series/radar/animation.js.map +1 -1
  570. package/cjs/series/radar/radar.d.ts +2 -2
  571. package/cjs/series/radar/radar.js +6 -15
  572. package/cjs/series/radar/radar.js.map +1 -1
  573. package/cjs/series/range-area/range-area.js +1 -5
  574. package/cjs/series/range-area/range-area.js.map +1 -1
  575. package/cjs/series/range-column/animation.d.ts +1 -1
  576. package/cjs/series/range-column/animation.js.map +1 -1
  577. package/cjs/series/range-column/range-column.js +6 -8
  578. package/cjs/series/range-column/range-column.js.map +1 -1
  579. package/cjs/series/rose/animation.d.ts +1 -1
  580. package/cjs/series/rose/animation.js.map +1 -1
  581. package/cjs/series/rose/rose.js +1 -4
  582. package/cjs/series/rose/rose.js.map +1 -1
  583. package/cjs/series/sankey/animation.d.ts +1 -1
  584. package/cjs/series/sankey/animation.js.map +1 -1
  585. package/cjs/series/sankey/sankey.d.ts +11 -12
  586. package/cjs/series/sankey/sankey.js +85 -99
  587. package/cjs/series/sankey/sankey.js.map +1 -1
  588. package/cjs/series/sankey/tooltip-helper.d.ts +1 -1
  589. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  590. package/cjs/series/scatter/animation.d.ts +1 -1
  591. package/cjs/series/scatter/animation.js.map +1 -1
  592. package/cjs/series/scatter/scatter.js +7 -13
  593. package/cjs/series/scatter/scatter.js.map +1 -1
  594. package/cjs/series/sunburst/animation/enter.d.ts +1 -1
  595. package/cjs/series/sunburst/animation/enter.js +4 -4
  596. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  597. package/cjs/series/sunburst/animation/exit.d.ts +1 -1
  598. package/cjs/series/sunburst/animation/exit.js +4 -4
  599. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  600. package/cjs/series/sunburst/animation/preset.d.ts +1 -1
  601. package/cjs/series/sunburst/animation/preset.js.map +1 -1
  602. package/cjs/series/sunburst/animation/utils.d.ts +2 -2
  603. package/cjs/series/sunburst/animation/utils.js +9 -9
  604. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  605. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  606. package/cjs/series/sunburst/sunburst.js +3 -7
  607. package/cjs/series/sunburst/sunburst.js.map +1 -1
  608. package/cjs/series/treemap/animation.d.ts +1 -1
  609. package/cjs/series/treemap/animation.js.map +1 -1
  610. package/cjs/series/treemap/treemap.d.ts +1 -2
  611. package/cjs/series/treemap/treemap.js +37 -56
  612. package/cjs/series/treemap/treemap.js.map +1 -1
  613. package/cjs/series/venn/animation.d.ts +1 -1
  614. package/cjs/series/venn/animation.js.map +1 -1
  615. package/cjs/series/venn/venn.d.ts +2 -1
  616. package/cjs/series/venn/venn.js +24 -15
  617. package/cjs/series/venn/venn.js.map +1 -1
  618. package/cjs/series/waterfall/animation.d.ts +1 -1
  619. package/cjs/series/waterfall/animation.js.map +1 -1
  620. package/cjs/series/waterfall/waterfall.d.ts +2 -2
  621. package/cjs/series/waterfall/waterfall.js +9 -12
  622. package/cjs/series/waterfall/waterfall.js.map +1 -1
  623. package/cjs/series/word-cloud/animation.d.ts +1 -1
  624. package/cjs/series/word-cloud/animation.js +1 -1
  625. package/cjs/series/word-cloud/animation.js.map +1 -1
  626. package/cjs/series/word-cloud/base.d.ts +1 -1
  627. package/cjs/series/word-cloud/base.js +8 -11
  628. package/cjs/series/word-cloud/base.js.map +1 -1
  629. package/cjs/series/word-cloud/interface.d.ts +1 -1
  630. package/cjs/series/word-cloud/interface.js.map +1 -1
  631. package/cjs/series/word-cloud/word-cloud-3d.js +5 -5
  632. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  633. package/cjs/series/word-cloud/word-cloud.js +7 -3
  634. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  635. package/cjs/typings/common.d.ts +13 -0
  636. package/cjs/typings/common.js.map +1 -1
  637. package/cjs/typings/spec/common.d.ts +37 -36
  638. package/cjs/typings/spec/common.js.map +1 -1
  639. package/cjs/typings/visual.d.ts +9 -2
  640. package/cjs/typings/visual.js.map +1 -1
  641. package/cjs/util/array.d.ts +1 -0
  642. package/cjs/util/array.js +8 -2
  643. package/cjs/util/array.js.map +1 -1
  644. package/cjs/util/debug.js +1 -1
  645. package/cjs/util/debug.js.map +1 -1
  646. package/cjs/util/index.d.ts +1 -0
  647. package/cjs/util/index.js +2 -1
  648. package/cjs/util/index.js.map +1 -1
  649. package/cjs/util/mark.d.ts +5 -0
  650. package/cjs/util/mark.js +27 -0
  651. package/cjs/util/mark.js.map +1 -0
  652. package/cjs/util/math.d.ts +1 -1
  653. package/cjs/util/math.js.map +1 -1
  654. package/cjs/util/scale.js +1 -1
  655. package/cjs/util/scale.js.map +1 -1
  656. package/esm/animation/animate-manager.d.ts +2 -4
  657. package/esm/animation/animate-manager.js +6 -11
  658. package/esm/animation/animate-manager.js.map +1 -1
  659. package/esm/animation/config.js +9 -21
  660. package/esm/animation/config.js.map +1 -1
  661. package/esm/animation/interface.d.ts +86 -2
  662. package/esm/animation/interface.js.map +1 -1
  663. package/esm/animation/spec.d.ts +27 -3
  664. package/esm/animation/spec.js.map +1 -1
  665. package/esm/animation/utils.d.ts +3 -4
  666. package/esm/animation/utils.js +7 -7
  667. package/esm/animation/utils.js.map +1 -1
  668. package/esm/chart/area/area.js +3 -1
  669. package/esm/chart/area/area.js.map +1 -1
  670. package/esm/chart/bar/bar.js +3 -1
  671. package/esm/chart/bar/bar.js.map +1 -1
  672. package/esm/chart/base/base-chart-transformer.js +2 -2
  673. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  674. package/esm/chart/base/base-chart.d.ts +10 -7
  675. package/esm/chart/base/base-chart.js +87 -73
  676. package/esm/chart/base/base-chart.js.map +1 -1
  677. package/esm/chart/box-plot/box-plot.js +3 -1
  678. package/esm/chart/box-plot/box-plot.js.map +1 -1
  679. package/esm/chart/funnel/util.d.ts +2 -0
  680. package/esm/chart/funnel/util.js +6 -0
  681. package/esm/chart/funnel/util.js.map +1 -0
  682. package/esm/chart/histogram/3d/histogram-3d.js +3 -1
  683. package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
  684. package/esm/chart/histogram/histogram.js +3 -1
  685. package/esm/chart/histogram/histogram.js.map +1 -1
  686. package/esm/chart/interface/chart.d.ts +3 -4
  687. package/esm/chart/interface/chart.js.map +1 -1
  688. package/esm/chart/interface/common.d.ts +2 -9
  689. package/esm/chart/interface/common.js.map +1 -1
  690. package/esm/chart/line/line.js +3 -1
  691. package/esm/chart/line/line.js.map +1 -1
  692. package/esm/chart/mosaic/mosaic.js +3 -1
  693. package/esm/chart/mosaic/mosaic.js.map +1 -1
  694. package/esm/chart/progress/circular/circular.js +3 -1
  695. package/esm/chart/progress/circular/circular.js.map +1 -1
  696. package/esm/chart/progress/linear/linear.js +3 -1
  697. package/esm/chart/progress/linear/linear.js.map +1 -1
  698. package/esm/chart/radar/radar.js +3 -1
  699. package/esm/chart/radar/radar.js.map +1 -1
  700. package/esm/chart/range-area/range-area.js +3 -1
  701. package/esm/chart/range-area/range-area.js.map +1 -1
  702. package/esm/chart/range-column/3d/range-column-3d.js +3 -1
  703. package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
  704. package/esm/chart/range-column/range-column.js +3 -1
  705. package/esm/chart/range-column/range-column.js.map +1 -1
  706. package/esm/chart/rose/rose.js +3 -1
  707. package/esm/chart/rose/rose.js.map +1 -1
  708. package/esm/chart/sankey/sankey.d.ts +1 -1
  709. package/esm/chart/sankey/sankey.js +21 -17
  710. package/esm/chart/sankey/sankey.js.map +1 -1
  711. package/esm/chart/scatter/scatter.js +3 -1
  712. package/esm/chart/scatter/scatter.js.map +1 -1
  713. package/esm/chart/sequence/sequence-transformer.js +2 -2
  714. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  715. package/esm/chart/util.js +1 -1
  716. package/esm/chart/util.js.map +1 -1
  717. package/esm/chart/waterfall/waterfall.js +3 -1
  718. package/esm/chart/waterfall/waterfall.js.map +1 -1
  719. package/esm/compile/compilable-base.d.ts +1 -1
  720. package/esm/compile/compilable-base.js +2 -2
  721. package/esm/compile/compilable-base.js.map +1 -1
  722. package/esm/compile/compiler.d.ts +35 -25
  723. package/esm/compile/compiler.js +190 -149
  724. package/esm/compile/compiler.js.map +1 -1
  725. package/esm/compile/data/compilable-data.d.ts +7 -7
  726. package/esm/compile/data/compilable-data.js +19 -22
  727. package/esm/compile/data/compilable-data.js.map +1 -1
  728. package/esm/compile/data/interface.d.ts +4 -1
  729. package/esm/compile/data/interface.js.map +1 -1
  730. package/esm/compile/grammar-item.d.ts +7 -13
  731. package/esm/compile/grammar-item.js +15 -34
  732. package/esm/compile/grammar-item.js.map +1 -1
  733. package/esm/compile/interface/compilable-item.d.ts +22 -28
  734. package/esm/compile/interface/compilable-item.js +1 -1
  735. package/esm/compile/interface/compilable-item.js.map +1 -1
  736. package/esm/compile/interface/compiler.d.ts +13 -4
  737. package/esm/compile/interface/compiler.js +6 -1
  738. package/esm/compile/interface/compiler.js.map +1 -1
  739. package/esm/compile/mark/index.d.ts +0 -1
  740. package/esm/compile/mark/index.js +0 -2
  741. package/esm/compile/mark/index.js.map +1 -1
  742. package/esm/compile/mark/interface.d.ts +42 -33
  743. package/esm/compile/mark/interface.js +2 -1
  744. package/esm/compile/mark/interface.js.map +1 -1
  745. package/esm/compile/mark/mark-state-manager.d.ts +11 -13
  746. package/esm/compile/mark/mark-state-manager.js +26 -32
  747. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  748. package/esm/compile/mark/util.d.ts +1 -1
  749. package/esm/compile/mark/util.js.map +1 -1
  750. package/esm/compile/state-manager.d.ts +11 -0
  751. package/esm/compile/state-manager.js +23 -0
  752. package/esm/compile/state-manager.js.map +1 -0
  753. package/esm/compile/util.d.ts +14 -0
  754. package/esm/compile/util.js +104 -0
  755. package/esm/compile/util.js.map +1 -1
  756. package/esm/component/axis/base-axis.d.ts +5 -3
  757. package/esm/component/axis/base-axis.js +19 -16
  758. package/esm/component/axis/base-axis.js.map +1 -1
  759. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  760. package/esm/component/axis/cartesian/axis.js +18 -23
  761. package/esm/component/axis/cartesian/axis.js.map +1 -1
  762. package/esm/component/axis/cartesian/band-axis.js +8 -4
  763. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  764. package/esm/component/axis/cartesian/linear-axis.js +6 -4
  765. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  766. package/esm/component/axis/cartesian/log-axis.js +6 -4
  767. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  768. package/esm/component/axis/cartesian/symlog-axis.js +6 -4
  769. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -1
  770. package/esm/component/axis/cartesian/time-axis.d.ts +1 -0
  771. package/esm/component/axis/cartesian/time-axis.js +10 -4
  772. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  773. package/esm/component/axis/interface/common.d.ts +8 -0
  774. package/esm/component/axis/interface/common.js +11 -1
  775. package/esm/component/axis/interface/common.js.map +1 -1
  776. package/esm/component/axis/polar/axis.js +2 -2
  777. package/esm/component/axis/polar/axis.js.map +1 -1
  778. package/esm/component/axis/polar/band-axis.js +7 -4
  779. package/esm/component/axis/polar/band-axis.js.map +1 -1
  780. package/esm/component/axis/polar/linear-axis.js +7 -4
  781. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  782. package/esm/component/base/base-component.d.ts +1 -2
  783. package/esm/component/base/base-component.js.map +1 -1
  784. package/esm/component/brush/brush.d.ts +12 -10
  785. package/esm/component/brush/brush.js +32 -31
  786. package/esm/component/brush/brush.js.map +1 -1
  787. package/esm/component/crosshair/base.d.ts +25 -36
  788. package/esm/component/crosshair/base.js +97 -7
  789. package/esm/component/crosshair/base.js.map +1 -1
  790. package/esm/component/crosshair/cartesian.d.ts +5 -28
  791. package/esm/component/crosshair/cartesian.js +73 -174
  792. package/esm/component/crosshair/cartesian.js.map +1 -1
  793. package/esm/component/crosshair/interface/common.d.ts +67 -2
  794. package/esm/component/crosshair/interface/common.js.map +1 -1
  795. package/esm/component/crosshair/interface/index.d.ts +0 -2
  796. package/esm/component/crosshair/interface/index.js +0 -4
  797. package/esm/component/crosshair/interface/index.js.map +1 -1
  798. package/esm/component/crosshair/interface/spec.d.ts +8 -4
  799. package/esm/component/crosshair/interface/spec.js.map +1 -1
  800. package/esm/component/crosshair/polar.d.ts +6 -22
  801. package/esm/component/crosshair/polar.js +75 -146
  802. package/esm/component/crosshair/polar.js.map +1 -1
  803. package/esm/component/crosshair/utils/cartesian.d.ts +5 -26
  804. package/esm/component/crosshair/utils/cartesian.js +81 -166
  805. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  806. package/esm/component/crosshair/utils/polar.d.ts +18 -11
  807. package/esm/component/crosshair/utils/polar.js +67 -112
  808. package/esm/component/crosshair/utils/polar.js.map +1 -1
  809. package/esm/component/custom-mark/custom-mark.js +3 -11
  810. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  811. package/esm/component/data-zoom/data-filter-base-component.d.ts +4 -4
  812. package/esm/component/data-zoom/data-filter-base-component.js +12 -11
  813. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  814. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  815. package/esm/component/data-zoom/data-zoom/data-zoom.js +4 -4
  816. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  817. package/esm/component/data-zoom/interface.d.ts +11 -0
  818. package/esm/component/data-zoom/interface.js.map +1 -1
  819. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -2
  820. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +10 -11
  821. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  822. package/esm/component/geo/geo-coordinate.d.ts +2 -2
  823. package/esm/component/geo/geo-coordinate.js +4 -4
  824. package/esm/component/geo/geo-coordinate.js.map +1 -1
  825. package/esm/component/geo/interface.d.ts +1 -1
  826. package/esm/component/geo/interface.js.map +1 -1
  827. package/esm/component/indicator/indicator.js +14 -13
  828. package/esm/component/indicator/indicator.js.map +1 -1
  829. package/esm/component/label/base-label.d.ts +5 -0
  830. package/esm/component/label/base-label.js +49 -1
  831. package/esm/component/label/base-label.js.map +1 -1
  832. package/esm/component/label/interface.d.ts +4 -3
  833. package/esm/component/label/interface.js.map +1 -1
  834. package/esm/component/label/label.d.ts +5 -3
  835. package/esm/component/label/label.js +77 -52
  836. package/esm/component/label/label.js.map +1 -1
  837. package/esm/component/label/total-label.js +41 -36
  838. package/esm/component/label/total-label.js.map +1 -1
  839. package/esm/component/label/util.d.ts +9 -10
  840. package/esm/component/label/util.js +19 -14
  841. package/esm/component/label/util.js.map +1 -1
  842. package/esm/component/legend/util.d.ts +3 -3
  843. package/esm/component/map-label/component.js +15 -13
  844. package/esm/component/map-label/component.js.map +1 -1
  845. package/esm/component/marker/base-marker.d.ts +1 -1
  846. package/esm/component/marker/base-marker.js +2 -2
  847. package/esm/component/marker/base-marker.js.map +1 -1
  848. package/esm/component/tooltip/processor/interface.d.ts +1 -1
  849. package/esm/component/tooltip/processor/interface.js.map +1 -1
  850. package/esm/component/tooltip/processor/mark-tooltip.js +17 -4
  851. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  852. package/esm/component/tooltip/processor/util.d.ts +1 -1
  853. package/esm/component/tooltip/tooltip.d.ts +3 -3
  854. package/esm/component/tooltip/tooltip.js +6 -6
  855. package/esm/component/tooltip/tooltip.js.map +1 -1
  856. package/esm/component/tooltip/utils/show-tooltip.js +2 -4
  857. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  858. package/esm/constant/data.d.ts +1 -0
  859. package/esm/constant/data.js +2 -0
  860. package/esm/constant/data.js.map +1 -1
  861. package/esm/constant/event.d.ts +53 -2
  862. package/esm/constant/event.js +30 -2
  863. package/esm/constant/event.js.map +1 -1
  864. package/esm/constant/funnel.js +1 -2
  865. package/esm/constant/gradient.js +2 -1
  866. package/esm/core/factory.d.ts +28 -3
  867. package/esm/core/factory.js +33 -6
  868. package/esm/core/factory.js.map +1 -1
  869. package/esm/core/index.d.ts +3 -2
  870. package/esm/core/index.js +2 -2
  871. package/esm/core/index.js.map +1 -1
  872. package/esm/core/interface.d.ts +13 -4
  873. package/esm/core/interface.js +1 -2
  874. package/esm/core/interface.js.map +1 -1
  875. package/esm/core/util.js +2 -1
  876. package/esm/core/vchart.d.ts +6 -6
  877. package/esm/core/vchart.js +40 -62
  878. package/esm/core/vchart.js.map +1 -1
  879. package/esm/data/transforms/dimension-data.js.map +1 -1
  880. package/esm/data/transforms/obj-flat.js +16 -4
  881. package/esm/data/transforms/obj-flat.js.map +1 -1
  882. package/esm/data/transforms/treemap.d.ts +10 -0
  883. package/esm/data/transforms/treemap.js +18 -0
  884. package/esm/data/transforms/treemap.js.map +1 -0
  885. package/esm/data/transforms/venn.d.ts +10 -0
  886. package/esm/data/transforms/venn.js +10 -0
  887. package/esm/data/transforms/venn.js.map +1 -0
  888. package/esm/data/transforms/waterfall.d.ts +1 -0
  889. package/esm/data/transforms/waterfall.js +1 -1
  890. package/esm/data/transforms/waterfall.js.map +1 -1
  891. package/esm/event/event-dispatcher.js +20 -24
  892. package/esm/event/event-dispatcher.js.map +1 -1
  893. package/esm/event/events/base.d.ts +1 -2
  894. package/esm/event/events/base.js.map +1 -1
  895. package/esm/event/index.d.ts +1 -0
  896. package/esm/event/index.js +2 -0
  897. package/esm/event/index.js.map +1 -1
  898. package/esm/event/interface.d.ts +6 -9
  899. package/esm/event/interface.js.map +1 -1
  900. package/esm/index-harmony-simple.d.ts +2 -1
  901. package/esm/index-harmony-simple.js +4 -2
  902. package/esm/index-harmony-simple.js.map +1 -1
  903. package/esm/index-harmony.js +4 -2
  904. package/esm/index-harmony.js.map +1 -1
  905. package/esm/index-lark.js +3 -1
  906. package/esm/index-lark.js.map +1 -1
  907. package/esm/index-wx-simple.js +3 -1
  908. package/esm/index-wx-simple.js.map +1 -1
  909. package/esm/index-wx.js +3 -1
  910. package/esm/index-wx.js.map +1 -1
  911. package/esm/index.d.ts +0 -1
  912. package/esm/index.js +0 -2
  913. package/esm/index.js.map +1 -1
  914. package/esm/interaction/config.d.ts +13 -0
  915. package/esm/interaction/config.js +15 -0
  916. package/esm/interaction/config.js.map +1 -1
  917. package/esm/interaction/index.d.ts +9 -1
  918. package/esm/interaction/index.js +17 -1
  919. package/esm/interaction/index.js.map +1 -1
  920. package/esm/interaction/interaction.d.ts +17 -25
  921. package/esm/interaction/interaction.js +84 -88
  922. package/esm/interaction/interaction.js.map +1 -1
  923. package/esm/interaction/interface/common.d.ts +22 -0
  924. package/esm/interaction/interface/common.js +2 -0
  925. package/esm/interaction/interface/common.js.map +1 -0
  926. package/esm/interaction/interface/spec.d.ts +53 -0
  927. package/esm/interaction/interface/spec.js +2 -0
  928. package/esm/interaction/interface/spec.js.map +1 -0
  929. package/esm/interaction/interface/trigger.d.ts +87 -0
  930. package/esm/interaction/interface/trigger.js +2 -0
  931. package/esm/interaction/interface/trigger.js.map +1 -0
  932. package/esm/interaction/triggers/base.d.ts +28 -0
  933. package/esm/interaction/triggers/base.js +73 -0
  934. package/esm/interaction/triggers/base.js.map +1 -0
  935. package/esm/interaction/triggers/dimension-hover.d.ts +22 -0
  936. package/esm/interaction/triggers/dimension-hover.js +80 -0
  937. package/esm/interaction/triggers/dimension-hover.js.map +1 -0
  938. package/esm/interaction/triggers/element-active-by-legend.d.ts +21 -0
  939. package/esm/interaction/triggers/element-active-by-legend.js +68 -0
  940. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -0
  941. package/esm/interaction/triggers/element-active.d.ts +20 -0
  942. package/esm/interaction/triggers/element-active.js +50 -0
  943. package/esm/interaction/triggers/element-active.js.map +1 -0
  944. package/esm/interaction/triggers/element-highlight-by-graphic-name.d.ts +13 -0
  945. package/esm/interaction/triggers/element-highlight-by-graphic-name.js +51 -0
  946. package/esm/interaction/triggers/element-highlight-by-graphic-name.js.map +1 -0
  947. package/esm/interaction/triggers/element-highlight-by-group.d.ts +23 -0
  948. package/esm/interaction/triggers/element-highlight-by-group.js +73 -0
  949. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -0
  950. package/esm/interaction/triggers/element-highlight-by-key.d.ts +9 -0
  951. package/esm/interaction/triggers/element-highlight-by-key.js +22 -0
  952. package/esm/interaction/triggers/element-highlight-by-key.js.map +1 -0
  953. package/esm/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
  954. package/esm/interaction/triggers/element-highlight-by-legend.js +73 -0
  955. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -0
  956. package/esm/interaction/triggers/element-highlight-by-name.d.ts +24 -0
  957. package/esm/interaction/triggers/element-highlight-by-name.js +82 -0
  958. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -0
  959. package/esm/interaction/triggers/element-highlight.d.ts +25 -0
  960. package/esm/interaction/triggers/element-highlight.js +75 -0
  961. package/esm/interaction/triggers/element-highlight.js.map +1 -0
  962. package/esm/interaction/triggers/element-select-by-graphic-name.d.ts +8 -0
  963. package/esm/interaction/triggers/element-select-by-graphic-name.js +27 -0
  964. package/esm/interaction/triggers/element-select-by-graphic-name.js.map +1 -0
  965. package/esm/interaction/triggers/element-select.d.ts +24 -0
  966. package/esm/interaction/triggers/element-select.js +81 -0
  967. package/esm/interaction/triggers/element-select.js.map +1 -0
  968. package/esm/interaction/triggers/enum.d.ts +8 -0
  969. package/esm/interaction/triggers/enum.js +9 -0
  970. package/esm/interaction/triggers/enum.js.map +1 -0
  971. package/esm/interaction/triggers/util.d.ts +12 -0
  972. package/esm/interaction/triggers/util.js +52 -0
  973. package/esm/interaction/triggers/util.js.map +1 -0
  974. package/esm/interaction/zoom/zoomable.d.ts +1 -0
  975. package/esm/interaction/zoom/zoomable.js +5 -4
  976. package/esm/interaction/zoom/zoomable.js.map +1 -1
  977. package/esm/layout/interface.d.ts +2 -2
  978. package/esm/layout/interface.js.map +1 -1
  979. package/esm/layout/layout-item.d.ts +2 -3
  980. package/esm/layout/layout-item.js +2 -2
  981. package/esm/layout/layout-item.js.map +1 -1
  982. package/esm/mark/arc-3d.js +6 -3
  983. package/esm/mark/arc-3d.js.map +1 -1
  984. package/esm/mark/arc.d.ts +2 -2
  985. package/esm/mark/arc.js +12 -7
  986. package/esm/mark/arc.js.map +1 -1
  987. package/esm/mark/area.d.ts +2 -0
  988. package/esm/mark/area.js +16 -5
  989. package/esm/mark/area.js.map +1 -1
  990. package/esm/mark/base/base-line.d.ts +16 -2
  991. package/esm/mark/base/base-line.js +65 -9
  992. package/esm/mark/base/base-line.js.map +1 -1
  993. package/esm/mark/base/base-mark.d.ts +131 -13
  994. package/esm/mark/base/base-mark.js +441 -43
  995. package/esm/mark/base/base-mark.js.map +1 -1
  996. package/esm/mark/box-plot.d.ts +11 -5
  997. package/esm/mark/box-plot.js +220 -11
  998. package/esm/mark/box-plot.js.map +1 -1
  999. package/esm/mark/cell.d.ts +5 -2
  1000. package/esm/mark/cell.js +22 -4
  1001. package/esm/mark/cell.js.map +1 -1
  1002. package/esm/mark/component.d.ts +11 -3
  1003. package/esm/mark/component.js +39 -8
  1004. package/esm/mark/component.js.map +1 -1
  1005. package/esm/mark/glyph.d.ts +29 -0
  1006. package/esm/mark/glyph.js +72 -0
  1007. package/esm/mark/glyph.js.map +1 -0
  1008. package/esm/mark/group.d.ts +10 -6
  1009. package/esm/mark/group.js +35 -17
  1010. package/esm/mark/group.js.map +1 -1
  1011. package/esm/mark/image.js +5 -2
  1012. package/esm/mark/image.js.map +1 -1
  1013. package/esm/mark/index.d.ts +3 -1
  1014. package/esm/mark/index.js +5 -1
  1015. package/esm/mark/index.js.map +1 -1
  1016. package/esm/mark/interface/common.d.ts +61 -9
  1017. package/esm/mark/interface/common.js.map +1 -1
  1018. package/esm/mark/interface/enum.d.ts +6 -0
  1019. package/esm/mark/interface/enum.js +7 -0
  1020. package/esm/mark/interface/enum.js.map +1 -0
  1021. package/esm/mark/interface/index.d.ts +1 -0
  1022. package/esm/mark/interface/index.js +2 -0
  1023. package/esm/mark/interface/index.js.map +1 -1
  1024. package/esm/mark/interface/mark.d.ts +18 -1
  1025. package/esm/mark/interface/mark.js.map +1 -1
  1026. package/esm/mark/interface/type.d.ts +1 -0
  1027. package/esm/mark/interface/type.js +2 -2
  1028. package/esm/mark/interface/type.js.map +1 -1
  1029. package/esm/mark/label.d.ts +4 -3
  1030. package/esm/mark/label.js +3 -4
  1031. package/esm/mark/label.js.map +1 -1
  1032. package/esm/mark/line.js +9 -3
  1033. package/esm/mark/line.js.map +1 -1
  1034. package/esm/mark/link-path.d.ts +35 -5
  1035. package/esm/mark/link-path.js +65 -11
  1036. package/esm/mark/link-path.js.map +1 -1
  1037. package/esm/mark/liquid.d.ts +47 -5
  1038. package/esm/mark/liquid.js +64 -11
  1039. package/esm/mark/liquid.js.map +1 -1
  1040. package/esm/mark/path.js +5 -2
  1041. package/esm/mark/path.js.map +1 -1
  1042. package/esm/mark/polygon/polygon.js +6 -3
  1043. package/esm/mark/polygon/polygon.js.map +1 -1
  1044. package/esm/mark/polygon/pyramid-3d.js +6 -4
  1045. package/esm/mark/polygon/pyramid-3d.js.map +1 -1
  1046. package/esm/mark/rect-3d.js +6 -3
  1047. package/esm/mark/rect-3d.js.map +1 -1
  1048. package/esm/mark/rect.js +8 -3
  1049. package/esm/mark/rect.js.map +1 -1
  1050. package/esm/mark/ripple.d.ts +39 -4
  1051. package/esm/mark/ripple.js +45 -10
  1052. package/esm/mark/ripple.js.map +1 -1
  1053. package/esm/mark/rule.d.ts +3 -0
  1054. package/esm/mark/rule.js +30 -2
  1055. package/esm/mark/rule.js.map +1 -1
  1056. package/esm/mark/symbol.d.ts +4 -4
  1057. package/esm/mark/symbol.js +18 -8
  1058. package/esm/mark/symbol.js.map +1 -1
  1059. package/esm/mark/text.d.ts +4 -2
  1060. package/esm/mark/text.js +17 -8
  1061. package/esm/mark/text.js.map +1 -1
  1062. package/esm/mark/transform/data-sampling.d.ts +10 -0
  1063. package/esm/mark/transform/data-sampling.js +115 -0
  1064. package/esm/mark/transform/data-sampling.js.map +1 -0
  1065. package/esm/mark/transform/filter.d.ts +1 -0
  1066. package/esm/mark/transform/filter.js +8 -0
  1067. package/esm/mark/transform/filter.js.map +1 -0
  1068. package/esm/mark/transform/map.d.ts +1 -0
  1069. package/esm/mark/transform/map.js +10 -0
  1070. package/esm/mark/transform/map.js.map +1 -0
  1071. package/esm/mark/transform/symbol-overlap.d.ts +14 -0
  1072. package/esm/mark/transform/symbol-overlap.js +87 -0
  1073. package/esm/mark/transform/symbol-overlap.js.map +1 -0
  1074. package/esm/mark/utils/common.d.ts +4 -0
  1075. package/esm/mark/utils/common.js +37 -0
  1076. package/esm/mark/utils/common.js.map +1 -1
  1077. package/esm/mark/utils/glyph.d.ts +2 -0
  1078. package/esm/mark/utils/glyph.js +5 -0
  1079. package/esm/mark/utils/glyph.js.map +1 -0
  1080. package/esm/mark/utils/index.d.ts +2 -0
  1081. package/esm/mark/utils/index.js +4 -0
  1082. package/esm/mark/utils/index.js.map +1 -1
  1083. package/esm/mark/utils/line.d.ts +3 -0
  1084. package/esm/mark/utils/line.js +20 -0
  1085. package/esm/mark/utils/line.js.map +1 -0
  1086. package/esm/model/base-model.d.ts +8 -8
  1087. package/esm/model/base-model.js +20 -9
  1088. package/esm/model/base-model.js.map +1 -1
  1089. package/esm/model/interface.d.ts +4 -8
  1090. package/esm/model/interface.js.map +1 -1
  1091. package/esm/model/layout-model.d.ts +2 -2
  1092. package/esm/model/layout-model.js +4 -4
  1093. package/esm/model/layout-model.js.map +1 -1
  1094. package/esm/plugin/components/axis-sync/tick-align-transform.js +7 -5
  1095. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  1096. package/esm/plugin/components/tooltip-handler/base.d.ts +2 -2
  1097. package/esm/plugin/components/tooltip-handler/base.js +1 -1
  1098. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  1099. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  1100. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  1101. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +2 -4
  1102. package/esm/plugin/components/tooltip-handler/utils/position.js +23 -10
  1103. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  1104. package/esm/plugin/components/tooltip-handler/utils/style.js +2 -1
  1105. package/esm/plugin/components/tooltip-handler/utils/style.js.map +1 -1
  1106. package/esm/plugin/other.d.ts +3 -3
  1107. package/esm/plugin/other.js +13 -5
  1108. package/esm/plugin/other.js.map +1 -1
  1109. package/esm/region/interface.d.ts +0 -2
  1110. package/esm/region/interface.js.map +1 -1
  1111. package/esm/region/region.d.ts +3 -9
  1112. package/esm/region/region.js +11 -36
  1113. package/esm/region/region.js.map +1 -1
  1114. package/esm/scale/global-scale.js +2 -1
  1115. package/esm/scale/global-scale.js.map +1 -1
  1116. package/esm/series/area/animation.d.ts +1 -1
  1117. package/esm/series/area/animation.js.map +1 -1
  1118. package/esm/series/area/area.d.ts +1 -1
  1119. package/esm/series/area/area.js +17 -18
  1120. package/esm/series/area/area.js.map +1 -1
  1121. package/esm/series/bar/animation.d.ts +1 -1
  1122. package/esm/series/bar/animation.js.map +1 -1
  1123. package/esm/series/bar/bar.d.ts +3 -3
  1124. package/esm/series/bar/bar.js +14 -28
  1125. package/esm/series/bar/bar.js.map +1 -1
  1126. package/esm/series/base/base-series.d.ts +26 -42
  1127. package/esm/series/base/base-series.js +61 -71
  1128. package/esm/series/base/base-series.js.map +1 -1
  1129. package/esm/series/base/tooltip-helper.d.ts +1 -2
  1130. package/esm/series/base/tooltip-helper.js.map +1 -1
  1131. package/esm/series/box-plot/box-plot.d.ts +3 -3
  1132. package/esm/series/box-plot/box-plot.js +13 -16
  1133. package/esm/series/box-plot/box-plot.js.map +1 -1
  1134. package/esm/series/cartesian/cartesian.d.ts +1 -1
  1135. package/esm/series/circle-packing/animation.d.ts +1 -1
  1136. package/esm/series/circle-packing/animation.js.map +1 -1
  1137. package/esm/series/circle-packing/circle-packing.d.ts +1 -1
  1138. package/esm/series/circle-packing/circle-packing.js +3 -5
  1139. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  1140. package/esm/series/correlation/animation.d.ts +1 -1
  1141. package/esm/series/correlation/animation.js.map +1 -1
  1142. package/esm/series/correlation/correlation.d.ts +3 -4
  1143. package/esm/series/correlation/correlation.js +7 -14
  1144. package/esm/series/correlation/correlation.js.map +1 -1
  1145. package/esm/series/dot/dot.d.ts +2 -2
  1146. package/esm/series/dot/dot.js +4 -3
  1147. package/esm/series/dot/dot.js.map +1 -1
  1148. package/esm/series/funnel/3d/funnel-3d.js +3 -4
  1149. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  1150. package/esm/series/funnel/funnel.d.ts +3 -2
  1151. package/esm/series/funnel/funnel.js +61 -47
  1152. package/esm/series/funnel/funnel.js.map +1 -1
  1153. package/esm/series/funnel/tooltip-helper.d.ts +1 -1
  1154. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  1155. package/esm/series/gauge/animation.d.ts +1 -1
  1156. package/esm/series/gauge/animation.js.map +1 -1
  1157. package/esm/series/gauge/gauge-pointer.d.ts +4 -1
  1158. package/esm/series/gauge/gauge-pointer.js +2 -2
  1159. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  1160. package/esm/series/gauge/gauge.d.ts +2 -2
  1161. package/esm/series/gauge/gauge.js +2 -2
  1162. package/esm/series/gauge/gauge.js.map +1 -1
  1163. package/esm/series/geo/geo.d.ts +2 -2
  1164. package/esm/series/geo/geo.js.map +1 -1
  1165. package/esm/series/heatmap/animation.d.ts +1 -1
  1166. package/esm/series/heatmap/animation.js.map +1 -1
  1167. package/esm/series/heatmap/heatmap.d.ts +4 -1
  1168. package/esm/series/heatmap/heatmap.js +5 -18
  1169. package/esm/series/heatmap/heatmap.js.map +1 -1
  1170. package/esm/series/interface/common.d.ts +1 -4
  1171. package/esm/series/interface/common.js.map +1 -1
  1172. package/esm/series/interface/series.d.ts +6 -1
  1173. package/esm/series/interface/series.js.map +1 -1
  1174. package/esm/series/line/animation.d.ts +1 -1
  1175. package/esm/series/line/animation.js.map +1 -1
  1176. package/esm/series/line/line.d.ts +1 -1
  1177. package/esm/series/line/line.js +10 -13
  1178. package/esm/series/line/line.js.map +1 -1
  1179. package/esm/series/link/link.d.ts +5 -2
  1180. package/esm/series/link/link.js +3 -3
  1181. package/esm/series/link/link.js.map +1 -1
  1182. package/esm/series/liquid/animation.d.ts +1 -1
  1183. package/esm/series/liquid/animation.js.map +1 -1
  1184. package/esm/series/liquid/liquid.d.ts +4 -1
  1185. package/esm/series/liquid/liquid.js +5 -5
  1186. package/esm/series/liquid/liquid.js.map +1 -1
  1187. package/esm/series/map/interface.d.ts +10 -0
  1188. package/esm/series/map/interface.js.map +1 -1
  1189. package/esm/series/map/map.js +13 -15
  1190. package/esm/series/map/map.js.map +1 -1
  1191. package/esm/series/mixin/line-mixin.d.ts +5 -5
  1192. package/esm/series/mixin/line-mixin.js +21 -26
  1193. package/esm/series/mixin/line-mixin.js.map +1 -1
  1194. package/esm/series/pictogram/pictogram.d.ts +15 -19
  1195. package/esm/series/pictogram/pictogram.js +28 -34
  1196. package/esm/series/pictogram/pictogram.js.map +1 -1
  1197. package/esm/series/pie/animation/animation.d.ts +4 -3
  1198. package/esm/series/pie/animation/animation.js.map +1 -1
  1199. package/esm/series/pie/animation/centerOffset.d.ts +1 -1
  1200. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  1201. package/esm/series/pie/interface.d.ts +2 -2
  1202. package/esm/series/pie/interface.js.map +1 -1
  1203. package/esm/series/pie/pie.d.ts +8 -6
  1204. package/esm/series/pie/pie.js +15 -18
  1205. package/esm/series/pie/pie.js.map +1 -1
  1206. package/esm/series/polar/progress-like/animation.d.ts +1 -1
  1207. package/esm/series/polar/progress-like/animation.js.map +1 -1
  1208. package/esm/series/polar/progress-like/progress-like.d.ts +1 -2
  1209. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  1210. package/esm/series/progress/circular/circular.d.ts +4 -1
  1211. package/esm/series/progress/circular/circular.js +10 -12
  1212. package/esm/series/progress/circular/circular.js.map +1 -1
  1213. package/esm/series/progress/linear/animation.d.ts +1 -1
  1214. package/esm/series/progress/linear/animation.js.map +1 -1
  1215. package/esm/series/progress/linear/linear.d.ts +4 -1
  1216. package/esm/series/progress/linear/linear.js +8 -14
  1217. package/esm/series/progress/linear/linear.js.map +1 -1
  1218. package/esm/series/radar/animation.d.ts +11 -9
  1219. package/esm/series/radar/animation.js.map +1 -1
  1220. package/esm/series/radar/radar.d.ts +2 -2
  1221. package/esm/series/radar/radar.js +6 -15
  1222. package/esm/series/radar/radar.js.map +1 -1
  1223. package/esm/series/range-area/range-area.js +1 -5
  1224. package/esm/series/range-area/range-area.js.map +1 -1
  1225. package/esm/series/range-column/animation.d.ts +1 -1
  1226. package/esm/series/range-column/animation.js.map +1 -1
  1227. package/esm/series/range-column/range-column.js +6 -8
  1228. package/esm/series/range-column/range-column.js.map +1 -1
  1229. package/esm/series/rose/animation.d.ts +1 -1
  1230. package/esm/series/rose/animation.js.map +1 -1
  1231. package/esm/series/rose/rose.js +1 -4
  1232. package/esm/series/rose/rose.js.map +1 -1
  1233. package/esm/series/sankey/animation.d.ts +1 -1
  1234. package/esm/series/sankey/animation.js.map +1 -1
  1235. package/esm/series/sankey/sankey.d.ts +11 -12
  1236. package/esm/series/sankey/sankey.js +87 -100
  1237. package/esm/series/sankey/sankey.js.map +1 -1
  1238. package/esm/series/sankey/tooltip-helper.d.ts +1 -1
  1239. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  1240. package/esm/series/scatter/animation.d.ts +1 -1
  1241. package/esm/series/scatter/animation.js.map +1 -1
  1242. package/esm/series/scatter/scatter.js +7 -13
  1243. package/esm/series/scatter/scatter.js.map +1 -1
  1244. package/esm/series/sunburst/animation/enter.d.ts +1 -1
  1245. package/esm/series/sunburst/animation/enter.js +4 -4
  1246. package/esm/series/sunburst/animation/enter.js.map +1 -1
  1247. package/esm/series/sunburst/animation/exit.d.ts +1 -1
  1248. package/esm/series/sunburst/animation/exit.js +4 -4
  1249. package/esm/series/sunburst/animation/exit.js.map +1 -1
  1250. package/esm/series/sunburst/animation/preset.d.ts +1 -1
  1251. package/esm/series/sunburst/animation/preset.js.map +1 -1
  1252. package/esm/series/sunburst/animation/utils.d.ts +2 -2
  1253. package/esm/series/sunburst/animation/utils.js +9 -9
  1254. package/esm/series/sunburst/animation/utils.js.map +1 -1
  1255. package/esm/series/sunburst/sunburst.d.ts +1 -1
  1256. package/esm/series/sunburst/sunburst.js +3 -7
  1257. package/esm/series/sunburst/sunburst.js.map +1 -1
  1258. package/esm/series/treemap/animation.d.ts +1 -1
  1259. package/esm/series/treemap/animation.js.map +1 -1
  1260. package/esm/series/treemap/treemap.d.ts +1 -2
  1261. package/esm/series/treemap/treemap.js +43 -60
  1262. package/esm/series/treemap/treemap.js.map +1 -1
  1263. package/esm/series/venn/animation.d.ts +1 -1
  1264. package/esm/series/venn/animation.js.map +1 -1
  1265. package/esm/series/venn/venn.d.ts +2 -1
  1266. package/esm/series/venn/venn.js +28 -14
  1267. package/esm/series/venn/venn.js.map +1 -1
  1268. package/esm/series/waterfall/animation.d.ts +1 -1
  1269. package/esm/series/waterfall/animation.js.map +1 -1
  1270. package/esm/series/waterfall/waterfall.d.ts +2 -2
  1271. package/esm/series/waterfall/waterfall.js +10 -13
  1272. package/esm/series/waterfall/waterfall.js.map +1 -1
  1273. package/esm/series/word-cloud/animation.d.ts +1 -1
  1274. package/esm/series/word-cloud/animation.js +1 -1
  1275. package/esm/series/word-cloud/animation.js.map +1 -1
  1276. package/esm/series/word-cloud/base.d.ts +1 -1
  1277. package/esm/series/word-cloud/base.js +8 -11
  1278. package/esm/series/word-cloud/base.js.map +1 -1
  1279. package/esm/series/word-cloud/interface.d.ts +1 -1
  1280. package/esm/series/word-cloud/interface.js.map +1 -1
  1281. package/esm/series/word-cloud/word-cloud-3d.js +3 -9
  1282. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  1283. package/esm/series/word-cloud/word-cloud.js +10 -6
  1284. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  1285. package/esm/typings/common.d.ts +13 -0
  1286. package/esm/typings/common.js.map +1 -1
  1287. package/esm/typings/spec/common.d.ts +37 -36
  1288. package/esm/typings/spec/common.js.map +1 -1
  1289. package/esm/typings/visual.d.ts +9 -2
  1290. package/esm/typings/visual.js.map +1 -1
  1291. package/esm/util/array.d.ts +1 -0
  1292. package/esm/util/array.js +5 -0
  1293. package/esm/util/array.js.map +1 -1
  1294. package/esm/util/debug.js +1 -1
  1295. package/esm/util/debug.js.map +1 -1
  1296. package/esm/util/index.d.ts +1 -0
  1297. package/esm/util/index.js +2 -0
  1298. package/esm/util/index.js.map +1 -1
  1299. package/esm/util/mark.d.ts +5 -0
  1300. package/esm/util/mark.js +16 -0
  1301. package/esm/util/mark.js.map +1 -0
  1302. package/esm/util/math.d.ts +1 -1
  1303. package/esm/util/math.js.map +1 -1
  1304. package/esm/util/scale.js +1 -1
  1305. package/esm/util/scale.js.map +1 -1
  1306. package/package.json +17 -17
  1307. package/cjs/compile/mark/compilable-mark.d.ts +0 -87
  1308. package/cjs/compile/mark/compilable-mark.js +0 -261
  1309. package/cjs/compile/mark/compilable-mark.js.map +0 -1
  1310. package/cjs/compile/mark/mark-data.d.ts +0 -9
  1311. package/cjs/compile/mark/mark-data.js +0 -28
  1312. package/cjs/compile/mark/mark-data.js.map +0 -1
  1313. package/cjs/compile/signal/compilable-signal.d.ts +0 -21
  1314. package/cjs/compile/signal/compilable-signal.js +0 -42
  1315. package/cjs/compile/signal/compilable-signal.js.map +0 -1
  1316. package/cjs/compile/signal/index.d.ts +0 -4
  1317. package/cjs/compile/signal/index.js +0 -22
  1318. package/cjs/compile/signal/index.js.map +0 -1
  1319. package/cjs/compile/signal/interface.d.ts +0 -12
  1320. package/cjs/compile/signal/interface.js.map +0 -1
  1321. package/cjs/compile/signal/signal-manager.d.ts +0 -11
  1322. package/cjs/compile/signal/signal-manager.js +0 -36
  1323. package/cjs/compile/signal/signal-manager.js.map +0 -1
  1324. package/cjs/compile/signal/state-manager.d.ts +0 -12
  1325. package/cjs/compile/signal/state-manager.js +0 -37
  1326. package/cjs/compile/signal/state-manager.js.map +0 -1
  1327. package/cjs/component/crosshair/interface/cartesian.d.ts +0 -33
  1328. package/cjs/component/crosshair/interface/cartesian.js.map +0 -1
  1329. package/cjs/component/crosshair/interface/polar.d.ts +0 -25
  1330. package/cjs/component/crosshair/interface/polar.js.map +0 -1
  1331. package/cjs/interaction/dimension-trigger.d.ts +0 -27
  1332. package/cjs/interaction/dimension-trigger.js +0 -73
  1333. package/cjs/interaction/dimension-trigger.js.map +0 -1
  1334. package/cjs/interaction/interface.d.ts +0 -73
  1335. package/cjs/interaction/interface.js +0 -6
  1336. package/cjs/interaction/interface.js.map +0 -1
  1337. package/cjs/series/base/series-data.d.ts +0 -5
  1338. package/cjs/series/base/series-data.js +0 -22
  1339. package/cjs/series/base/series-data.js.map +0 -1
  1340. package/esm/compile/mark/compilable-mark.d.ts +0 -87
  1341. package/esm/compile/mark/compilable-mark.js +0 -274
  1342. package/esm/compile/mark/compilable-mark.js.map +0 -1
  1343. package/esm/compile/mark/mark-data.d.ts +0 -9
  1344. package/esm/compile/mark/mark-data.js +0 -24
  1345. package/esm/compile/mark/mark-data.js.map +0 -1
  1346. package/esm/compile/signal/compilable-signal.d.ts +0 -21
  1347. package/esm/compile/signal/compilable-signal.js +0 -38
  1348. package/esm/compile/signal/compilable-signal.js.map +0 -1
  1349. package/esm/compile/signal/index.d.ts +0 -4
  1350. package/esm/compile/signal/index.js +0 -8
  1351. package/esm/compile/signal/index.js.map +0 -1
  1352. package/esm/compile/signal/interface.d.ts +0 -12
  1353. package/esm/compile/signal/interface.js +0 -2
  1354. package/esm/compile/signal/interface.js.map +0 -1
  1355. package/esm/compile/signal/signal-manager.d.ts +0 -11
  1356. package/esm/compile/signal/signal-manager.js +0 -30
  1357. package/esm/compile/signal/signal-manager.js.map +0 -1
  1358. package/esm/compile/signal/state-manager.d.ts +0 -12
  1359. package/esm/compile/signal/state-manager.js +0 -30
  1360. package/esm/compile/signal/state-manager.js.map +0 -1
  1361. package/esm/component/crosshair/interface/cartesian.d.ts +0 -33
  1362. package/esm/component/crosshair/interface/cartesian.js +0 -2
  1363. package/esm/component/crosshair/interface/cartesian.js.map +0 -1
  1364. package/esm/component/crosshair/interface/polar.d.ts +0 -25
  1365. package/esm/component/crosshair/interface/polar.js +0 -2
  1366. package/esm/component/crosshair/interface/polar.js.map +0 -1
  1367. package/esm/interaction/dimension-trigger.d.ts +0 -27
  1368. package/esm/interaction/dimension-trigger.js +0 -70
  1369. package/esm/interaction/dimension-trigger.js.map +0 -1
  1370. package/esm/interaction/interface.d.ts +0 -73
  1371. package/esm/interaction/interface.js +0 -2
  1372. package/esm/interaction/interface.js.map +0 -1
  1373. package/esm/series/base/series-data.d.ts +0 -5
  1374. package/esm/series/base/series-data.js +0 -16
  1375. package/esm/series/base/series-data.js.map +0 -1
@@ -1,130 +1,85 @@
1
1
  "use strict";
2
2
 
3
- var __rest = this && this.__rest || function(s, e) {
4
- var t = {};
5
- for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
6
- if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
7
- var i = 0;
8
- for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
9
- }
10
- return t;
11
- };
12
-
13
3
  Object.defineProperty(exports, "__esModule", {
14
4
  value: !0
15
- }), exports.layoutRadiusCrosshair = exports.layoutAngleCrosshair = exports.layoutByValue = void 0;
5
+ }), exports.layoutCrosshair = exports.layoutByValue = void 0;
16
6
 
17
- const util_1 = require("../../axis/util"), vutils_1 = require("@visactor/vutils"), vutils_extension_1 = require("@visactor/vutils-extension"), util_2 = require("../../util"), layoutByValue = (series, currValueAngle, currValueRadius, angleHair, radiusHair, enableRemain = !1, cacheAngleCrossHairInfo, cacheRadiusCrossHairInfo) => {
18
- let angleCrossHairInfo = {
19
- x: 0,
20
- y: 0,
21
- center: {
22
- x: 0,
23
- y: 0
24
- },
25
- radius: 0,
26
- distance: 0,
27
- startAngle: 0,
28
- endAngle: 0,
29
- innerRadius: 0,
30
- visible: !1,
31
- label: {
32
- visible: !1,
33
- text: "",
34
- offset: 0
7
+ const util_1 = require("../../axis/util"), vutils_1 = require("@visactor/vutils"), util_2 = require("../../util"), layoutByValue = (stateByField, series, enableRemain = !1) => {
8
+ Object.keys(stateByField).forEach((field => {
9
+ const {attributes: attributes, currentValue: currentValue, cacheInfo: cacheInfo, coordKey: coordKey} = stateByField[field];
10
+ if (attributes) {
11
+ const isVisible = !!currentValue.size, useCache = enableRemain && !isVisible && (0,
12
+ vutils_1.isValid)(cacheInfo), newInfo = useCache ? cacheInfo : {
13
+ coord: 0,
14
+ axis: null,
15
+ visible: isVisible,
16
+ coordRange: [ 0, 0 ],
17
+ sizeRange: [ 0, 0 ],
18
+ labels: {
19
+ all: {
20
+ visible: !1,
21
+ text: "",
22
+ offset: 0
23
+ }
24
+ }
25
+ };
26
+ if (cacheInfo && (cacheInfo._isCache = useCache), "valueField" === field && (newInfo.sides = series.angleAxisHelper.getScale(0).domain().length),
27
+ currentValue.forEach((({axis: axis, datum: value = ""}) => {
28
+ var _a;
29
+ const niceLabelFormatter = axis.niceLabelFormatter;
30
+ if ((null === (_a = attributes.label) || void 0 === _a ? void 0 : _a.visible) && (newInfo.labels.all.visible = !0,
31
+ newInfo.labels.all.defaultFormatter = niceLabelFormatter, newInfo.labels.all.text = value,
32
+ newInfo.labels.all.offset = (0, util_1.getAxisLabelOffset)(axis.getSpec())), "categoryField" === field) {
33
+ const angle = series.angleAxisHelper.dataToPosition([ value ]), bandSize = series.angleAxisHelper.getBandwidth(0), radius = axis.getOuterRadius();
34
+ newInfo.coord = angle, newInfo.coordRange = [ angle - bandSize / 2, angle + bandSize / 2 ],
35
+ newInfo.sizeRange = [ radius, radius ];
36
+ } else {
37
+ const angle = axis.startAngle, radius = series.radiusAxisHelper.dataToPosition([ value ]);
38
+ newInfo.coord = radius, newInfo.coordRange = [ radius, radius ], newInfo.sizeRange = [ angle, angle ];
39
+ }
40
+ newInfo.axis = axis;
41
+ })), newInfo && !useCache && newInfo.labels.all.visible && attributes && attributes.label) {
42
+ const label = newInfo.labels.all, {formatMethod: formatMethod, formatter: formatter} = attributes.label, {formatFunc: formatFunc, args: args} = (0,
43
+ util_2.getFormatFunction)(formatMethod, formatter, label.text, {
44
+ label: label.text,
45
+ orient: coordKey
46
+ });
47
+ formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
48
+ }
49
+ stateByField[field].cacheInfo = newInfo;
35
50
  }
36
- }, radiusCrossHairInfo = {
37
- x: 0,
38
- y: 0,
39
- center: {
40
- x: 0,
41
- y: 0
42
- },
43
- radius: 0,
44
- distance: 0,
45
- startAngle: 0,
46
- endAngle: 0,
47
- innerRadius: 0,
48
- visible: !1,
49
- sides: series.angleAxisHelper.getScale(0).domain().length,
50
- label: {
51
- visible: !1,
52
- text: "",
53
- offset: 0
54
- }
55
- };
56
- if (angleHair) {
57
- angleCrossHairInfo.visible = !!currValueAngle.size;
58
- const bandWidth = series.angleAxisHelper.getBandwidth(0);
59
- currValueAngle.forEach((_a => {
60
- var _b, {axis: axis, value: value, coord: coord} = _a, rest = __rest(_a, [ "axis", "value", "coord" ]);
61
- value = null != value ? value : "", (0, vutils_extension_1.mergeSpec)(angleCrossHairInfo, rest);
62
- const angle = series.angleAxisHelper.dataToPosition([ value ]);
63
- angleCrossHairInfo.angle = angle;
64
- const niceLabelFormatter = axis.niceLabelFormatter;
65
- (null === (_b = angleHair.label) || void 0 === _b ? void 0 : _b.visible) && (angleCrossHairInfo.label.visible = !0,
66
- angleCrossHairInfo.label.defaultFormatter = niceLabelFormatter, angleCrossHairInfo.label.text = value,
67
- angleCrossHairInfo.label.offset = (0, util_1.getAxisLabelOffset)(axis.getSpec())),
68
- angleCrossHairInfo.startAngle = angle - bandWidth / 2, angleCrossHairInfo.endAngle = angle + bandWidth / 2;
69
- }));
70
- }
71
- if (radiusHair && (radiusCrossHairInfo.visible = !!currValueRadius.size, currValueRadius.forEach((_a => {
72
- var _b, {axis: axis, value: value, coord: coord} = _a, rest = __rest(_a, [ "axis", "value", "coord" ]);
73
- value = null != value ? value : "";
74
- const niceLabelFormatter = axis.niceLabelFormatter;
75
- (null === (_b = radiusHair.label) || void 0 === _b ? void 0 : _b.visible) && (radiusCrossHairInfo.label.visible = !0,
76
- radiusCrossHairInfo.label.defaultFormatter = niceLabelFormatter, radiusCrossHairInfo.label.text = value,
77
- radiusCrossHairInfo.label.offset = (0, util_1.getAxisLabelOffset)(axis.getSpec())),
78
- radiusCrossHairInfo.angle = coord.angle, radiusCrossHairInfo.axis = axis, (0, vutils_extension_1.mergeSpec)(radiusCrossHairInfo, rest);
79
- }))), enableRemain && !angleCrossHairInfo.visible && (0, vutils_1.isValid)(cacheAngleCrossHairInfo)) angleCrossHairInfo = cacheAngleCrossHairInfo; else if (angleCrossHairInfo.label.visible && angleHair && angleHair.label) {
80
- const {label: label} = angleCrossHairInfo, {formatMethod: formatMethod, formatter: formatter} = angleHair.label, {formatFunc: formatFunc, args: args} = (0,
81
- util_2.getFormatFunction)(formatMethod, formatter, label.text, {
82
- label: label.text,
83
- orient: "angle"
84
- });
85
- formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
86
- }
87
- if (enableRemain && !radiusCrossHairInfo.visible && (0, vutils_1.isValid)(cacheRadiusCrossHairInfo)) radiusCrossHairInfo = cacheRadiusCrossHairInfo; else if (radiusCrossHairInfo.label.visible && radiusHair && radiusHair.label) {
88
- const {label: label} = radiusCrossHairInfo, {formatMethod: formatMethod, formatter: formatter} = radiusHair.label, {formatFunc: formatFunc, args: args} = (0,
89
- util_2.getFormatFunction)(formatMethod, formatter, label.text, {
90
- label: label.text,
91
- orient: "radius"
92
- });
93
- formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
94
- }
95
- return {
96
- angle: angleCrossHairInfo,
97
- radius: radiusCrossHairInfo
98
- };
51
+ }));
99
52
  };
100
53
 
101
54
  exports.layoutByValue = layoutByValue;
102
55
 
103
- const layoutAngleCrosshair = (angleHair, crosshairInfo) => {
104
- const {angle: angle, innerRadius: innerRadius, radius: radius, startAngle: startAngle, endAngle: endAngle, center: center} = crosshairInfo;
105
- let positionAttrs;
106
- return positionAttrs = "sector" === ("rect" === angleHair.type ? "sector" : "line") ? {
107
- center: center,
108
- innerRadius: innerRadius,
109
- radius: radius,
110
- startAngle: startAngle,
111
- endAngle: endAngle
112
- } : {
113
- start: (0, vutils_1.polarToCartesian)(center, innerRadius, angle),
114
- end: (0, vutils_1.polarToCartesian)(center, radius, angle)
115
- }, positionAttrs;
116
- };
117
-
118
- exports.layoutAngleCrosshair = layoutAngleCrosshair;
119
-
120
- const layoutRadiusCrosshair = (radiusHair, crosshairInfo) => {
121
- const {center: center, startAngle: startAngle, endAngle: endAngle, distance: distance, sides: sides, axis: axis, point: point, radius: radius, innerRadius: innerRadius} = crosshairInfo;
122
- let polygonRadius = distance;
123
- if ("polygon" === (radiusHair.smooth ? "circle" : "polygon")) {
124
- const axisCenter = axis.getCenter(), curAngle = (0, vutils_1.getAngleByPoint)(axisCenter, point), stepAngle = (endAngle - startAngle) / sides, index = Math.floor((curAngle - startAngle) / stepAngle), preAngle = index * stepAngle + startAngle, nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle), prePoint = (0,
125
- vutils_1.polarToCartesian)(axisCenter, distance, preAngle), nextPoint = (0, vutils_1.polarToCartesian)(axisCenter, distance, nextAngle), insertPoint = (0,
56
+ const layoutCrosshair = (stateItem, layoutStartPoint, smooth) => {
57
+ const {cacheInfo: cacheInfo, coordKey: coordKey, attributes: attributes} = stateItem, {axis: axis, coord: coord, sizeRange: sizeRange, coordRange: coordRange} = cacheInfo, axisCenter = axis.getCenter(), center = {
58
+ x: axisCenter.x + layoutStartPoint.x,
59
+ y: axisCenter.y + layoutStartPoint.y
60
+ };
61
+ if ("angle" === coordKey) {
62
+ return "sector" === ("rect" === attributes.type ? "sector" : "line") ? {
63
+ center: center,
64
+ innerRadius: axis.getInnerRadius(),
65
+ radius: axis.getOuterRadius(),
66
+ startAngle: coordRange[0],
67
+ endAngle: coordRange[1]
68
+ } : {
69
+ start: (0, vutils_1.polarToCartesian)(center, axis.getInnerRadius(), coord),
70
+ end: (0, vutils_1.polarToCartesian)(center, axis.getOuterRadius(), coord)
71
+ };
72
+ }
73
+ const startAngle = axis.startAngle, endAngle = axis.endAngle, sides = cacheInfo.sides;
74
+ let polygonRadius = coord;
75
+ if (!smooth) {
76
+ const axisCenter = axis.getCenter(), point = axis.coordToPoint({
77
+ angle: sizeRange[0],
78
+ radius: coord
79
+ }), curAngle = (0, vutils_1.getAngleByPoint)(axisCenter, point), stepAngle = (endAngle - startAngle) / sides, index = Math.floor((curAngle - startAngle) / stepAngle), preAngle = index * stepAngle + startAngle, nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle), prePoint = (0,
80
+ vutils_1.polarToCartesian)(axisCenter, coord, preAngle), nextPoint = (0, vutils_1.polarToCartesian)(axisCenter, coord, nextAngle), insertPoint = (0,
126
81
  vutils_1.getIntersectPoint)([ nextPoint.x, nextPoint.y ], [ prePoint.x, prePoint.y ], [ axisCenter.x, axisCenter.y ], [ point.x, point.y ]);
127
- insertPoint && (polygonRadius = (0, vutils_1.clamp)(vutils_1.PointService.distancePN(point, insertPoint[0], insertPoint[1]) + distance, innerRadius, radius));
82
+ insertPoint && (polygonRadius = (0, vutils_1.clamp)(vutils_1.PointService.distancePN(point, insertPoint[0], insertPoint[1]) + coord, axis.getInnerRadius(), axis.getOuterRadius()));
128
83
  }
129
84
  return {
130
85
  center: center,
@@ -135,5 +90,5 @@ const layoutRadiusCrosshair = (radiusHair, crosshairInfo) => {
135
90
  };
136
91
  };
137
92
 
138
- exports.layoutRadiusCrosshair = layoutRadiusCrosshair;
93
+ exports.layoutCrosshair = layoutCrosshair;
139
94
  //# sourceMappingURL=polar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/utils/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { IPolarSeries } from '../../../series';\nimport type { IHair, IHairRadius } from '../base';\nimport type { AxisCurrentValueMap, IPolarCrosshairInfo } from '../interface';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from '@visactor/vutils';\nimport type { ILinearAxis, IPolarAxis } from '../../axis';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n series: IPolarSeries,\n currValueAngle: AxisCurrentValueMap,\n currValueRadius: AxisCurrentValueMap,\n angleHair: IHair,\n radiusHair: IHair,\n enableRemain: boolean = false,\n cacheAngleCrossHairInfo?: IPolarCrosshairInfo,\n cacheRadiusCrossHairInfo?: IPolarCrosshairInfo\n) => {\n let angleCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n let radiusCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n sides: (series.angleAxisHelper.getScale(0) as BandScale).domain().length,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (angleHair) {\n angleCrossHairInfo.visible = !!currValueAngle.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n currValueAngle.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n mergeSpec(angleCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([value]);\n angleCrossHairInfo.angle = angle;\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n if (angleHair.label?.visible) {\n angleCrossHairInfo.label.visible = true;\n angleCrossHairInfo.label.defaultFormatter = niceLabelFormatter;\n angleCrossHairInfo.label.text = value;\n angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n angleCrossHairInfo.startAngle = angle - bandWidth / 2;\n angleCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (radiusHair) {\n radiusCrossHairInfo.visible = !!currValueRadius.size;\n currValueRadius.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n if (radiusHair.label?.visible) {\n radiusCrossHairInfo.label.visible = true;\n radiusCrossHairInfo.label.defaultFormatter = niceLabelFormatter;\n radiusCrossHairInfo.label.text = value;\n radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n radiusCrossHairInfo.angle = coord.angle;\n radiusCrossHairInfo.axis = axis as IPolarAxis;\n mergeSpec(radiusCrossHairInfo, rest);\n });\n }\n\n if (enableRemain && !angleCrossHairInfo.visible && isValid(cacheAngleCrossHairInfo)) {\n angleCrossHairInfo = cacheAngleCrossHairInfo;\n } else {\n if (angleCrossHairInfo.label.visible) {\n if (angleHair && angleHair.label) {\n const { label } = angleCrossHairInfo;\n const { formatMethod, formatter } = angleHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'angle'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n if (enableRemain && !radiusCrossHairInfo.visible && isValid(cacheRadiusCrossHairInfo)) {\n radiusCrossHairInfo = cacheRadiusCrossHairInfo;\n } else {\n if (radiusCrossHairInfo.label.visible) {\n if (radiusHair && radiusHair.label) {\n const { label } = radiusCrossHairInfo;\n const { formatMethod, formatter } = radiusHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'radius'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n return {\n angle: angleCrossHairInfo,\n radius: radiusCrossHairInfo\n };\n};\n\nexport const layoutAngleCrosshair = (angleHair: IHair, crosshairInfo: IPolarCrosshairInfo) => {\n const { angle, innerRadius, radius, startAngle, endAngle, center } = crosshairInfo;\n\n const crosshairType = angleHair.type === 'rect' ? 'sector' : 'line';\n let positionAttrs;\n if (crosshairType === 'sector') {\n positionAttrs = {\n center,\n innerRadius,\n radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n } else {\n positionAttrs = {\n start: polarToCartesian(center, innerRadius, angle),\n end: polarToCartesian(center, radius, angle)\n };\n }\n\n return positionAttrs;\n};\n\nexport const layoutRadiusCrosshair = (radiusHair: IHairRadius, crosshairInfo: IPolarCrosshairInfo) => {\n const { center, startAngle, endAngle, distance, sides, axis, point, radius, innerRadius } = crosshairInfo;\n\n const crosshairType = radiusHair.smooth ? 'circle' : 'polygon';\n\n let polygonRadius = distance;\n if (crosshairType === 'polygon') {\n const axisCenter = axis.getCenter();\n // 需要计算半径\n // 获取当前点的角度\n const curAngle = getAngleByPoint(axisCenter, point);\n const stepAngle = (endAngle - startAngle) / sides;\n const index = Math.floor((curAngle - startAngle) / stepAngle);\n const preAngle = index * stepAngle + startAngle;\n const nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle);\n\n const prePoint = polarToCartesian(axisCenter, distance, preAngle);\n const nextPoint = polarToCartesian(axisCenter, distance, nextAngle);\n // 求交点\n const insertPoint = getIntersectPoint(\n [nextPoint.x, nextPoint.y],\n [prePoint.x, prePoint.y],\n [axisCenter.x, axisCenter.y],\n [point.x, point.y]\n );\n if (insertPoint) {\n polygonRadius = clamp(\n PointService.distancePN(point, insertPoint[0], insertPoint[1]) + distance,\n innerRadius,\n radius\n );\n }\n }\n const positionAttrs = {\n center,\n startAngle: startAngle,\n endAngle: endAngle,\n radius: polygonRadius,\n sides\n };\n\n return positionAttrs;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/utils/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { IPolarSeries } from '../../../series';\nimport type { CrossHairStateByField, CrossHairStateItem, ICrosshairInfo } from '../interface';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from '@visactor/vutils';\nimport type { ILinearAxis, IPolarAxis } from '../../axis';\nimport { getFormatFunction } from '../../util';\nimport type { ILayoutPoint } from '../../../typings/layout';\n\nexport const layoutByValue = (\n stateByField: CrossHairStateByField,\n series: IPolarSeries,\n enableRemain: boolean = false\n) => {\n Object.keys(stateByField).forEach(field => {\n const { attributes, currentValue, cacheInfo, coordKey } = stateByField[field];\n\n if (attributes) {\n const isVisible = !!currentValue.size;\n const useCache = enableRemain && !isVisible && isValid(cacheInfo);\n const newInfo = useCache\n ? cacheInfo\n : ({\n coord: 0,\n axis: null,\n visible: isVisible,\n coordRange: [0, 0],\n sizeRange: [0, 0],\n labels: {\n all: { visible: false, text: '', offset: 0 }\n }\n } as ICrosshairInfo);\n if (cacheInfo) {\n cacheInfo._isCache = useCache;\n }\n\n if (field === 'valueField') {\n (newInfo as any).sides = (series.angleAxisHelper.getScale(0) as BandScale).domain().length;\n }\n\n currentValue.forEach(({ axis, datum: value = '' }) => {\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n\n if (attributes.label?.visible) {\n newInfo.labels.all.visible = true;\n newInfo.labels.all.defaultFormatter = niceLabelFormatter;\n newInfo.labels.all.text = value;\n newInfo.labels.all.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n if (field === 'categoryField') {\n const angle = series.angleAxisHelper.dataToPosition([value]);\n const bandSize = series.angleAxisHelper.getBandwidth(0);\n const radius = (axis as IPolarAxis).getOuterRadius();\n\n newInfo.coord = angle;\n newInfo.coordRange = [angle - bandSize / 2, angle + bandSize / 2];\n newInfo.sizeRange = [radius, radius];\n } else {\n const angle = (axis as IPolarAxis).startAngle;\n const radius = series.radiusAxisHelper.dataToPosition([value]);\n\n newInfo.coord = radius;\n newInfo.coordRange = [radius, radius];\n newInfo.sizeRange = [angle, angle];\n }\n\n newInfo.axis = axis as IPolarAxis;\n });\n\n if (newInfo && !useCache) {\n if (newInfo.labels.all.visible) {\n if (attributes && attributes.label) {\n const label = newInfo.labels.all;\n const { formatMethod, formatter } = attributes.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: coordKey\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n stateByField[field].cacheInfo = newInfo;\n }\n });\n};\n\nexport const layoutCrosshair = (stateItem: CrossHairStateItem, layoutStartPoint: ILayoutPoint, smooth?: boolean) => {\n const { cacheInfo, coordKey, attributes } = stateItem;\n const { axis, coord, sizeRange, coordRange } = cacheInfo;\n const axisCenter = (axis as IPolarAxis).getCenter();\n const center = {\n x: axisCenter.x + layoutStartPoint.x,\n y: axisCenter.y + layoutStartPoint.y\n };\n\n if (coordKey === 'angle') {\n const crosshairType = attributes.type === 'rect' ? 'sector' : 'line';\n\n if (crosshairType === 'sector') {\n // angle 轴对应的crosshair\n return {\n center,\n innerRadius: (axis as IPolarAxis).getInnerRadius(),\n radius: (axis as IPolarAxis).getOuterRadius(),\n startAngle: coordRange[0],\n endAngle: coordRange[1]\n };\n }\n // angle 轴对应的crosshair\n return {\n start: polarToCartesian(center, (axis as IPolarAxis).getInnerRadius(), coord),\n end: polarToCartesian(center, (axis as IPolarAxis).getOuterRadius(), coord)\n };\n }\n\n const startAngle = (axis as IPolarAxis).startAngle;\n const endAngle = (axis as IPolarAxis).endAngle;\n const sides = cacheInfo.sides;\n\n let polygonRadius = coord;\n if (!smooth) {\n const axisCenter = (axis as IPolarAxis).getCenter();\n // 需要计算半径\n // 获取当前点的角度\n const point = (axis as IPolarAxis).coordToPoint({\n angle: sizeRange[0],\n radius: coord\n });\n const curAngle = getAngleByPoint(axisCenter, point);\n const stepAngle = (endAngle - startAngle) / sides;\n const index = Math.floor((curAngle - startAngle) / stepAngle);\n const preAngle = index * stepAngle + startAngle;\n const nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle);\n\n const prePoint = polarToCartesian(axisCenter, coord, preAngle);\n const nextPoint = polarToCartesian(axisCenter, coord, nextAngle);\n // 求交点\n const insertPoint = getIntersectPoint(\n [nextPoint.x, nextPoint.y],\n [prePoint.x, prePoint.y],\n [axisCenter.x, axisCenter.y],\n [point.x, point.y]\n );\n if (insertPoint) {\n polygonRadius = clamp(\n PointService.distancePN(point, (insertPoint as [number, number])[0], (insertPoint as [number, number])[1]) +\n coord,\n (axis as IPolarAxis).getInnerRadius(),\n (axis as IPolarAxis).getOuterRadius()\n );\n }\n }\n return {\n center,\n startAngle: startAngle,\n endAngle: endAngle,\n radius: polygonRadius,\n sides\n };\n};\n"]}
@@ -29,20 +29,13 @@ class CustomMark extends base_component_1.BaseComponent {
29
29
  }
30
30
  initMarks() {
31
31
  if (!this._spec) return;
32
- const series = this._option && this._option.getAllSeries(), hasAnimation = !1 !== this._option.animation, depend = [];
33
- series && series.length && series.forEach((s => {
34
- const marks = s && s.getMarksWithoutRoot();
35
- marks && marks.length && marks.forEach((mark => {
36
- depend.push(mark);
37
- }));
38
- }));
32
+ const hasAnimation = !1 !== this._option.animation;
39
33
  let parentMark = null;
40
34
  if (this._spec.parent) {
41
35
  const mark = this.getChart().getAllMarks().find((m => m.getUserId() === this._spec.parent));
42
36
  "group" === mark.type && (parentMark = mark);
43
37
  }
44
38
  this._createExtensionMark(this._spec, parentMark, `${base_1.PREFIX}_series_${this.id}_extensionMark`, 0, {
45
- depend: depend,
46
39
  hasAnimation: hasAnimation
47
40
  });
48
41
  }
@@ -62,8 +55,7 @@ class CustomMark extends base_component_1.BaseComponent {
62
55
  const config = (0, utils_1.animationConfig)({}, (0, utils_1.userAnimationConfig)(spec.type, spec, this._markAttributeContext));
63
56
  mark.setAnimationConfig(config);
64
57
  }
65
- if (options.depend && options.depend.length && mark.setDepend(...options.depend),
66
- (0, vutils_1.isNil)(parentMark) ? this._marks.addMark(mark) : parentMark && parentMark.addMark(mark),
58
+ if ((0, vutils_1.isNil)(parentMark) ? this._marks.addMark(mark) : parentMark && parentMark.addMark(mark),
67
59
  this.initMarkStyleWithSpec(mark, spec), "group" === spec.type && (namePrefix = `${namePrefix}_${index}`,
68
60
  null === (_a = spec.children) || void 0 === _a || _a.forEach(((s, i) => {
69
61
  this._createExtensionMark(s, mark, namePrefix, i, options);
@@ -104,7 +96,7 @@ class CustomMark extends base_component_1.BaseComponent {
104
96
  const bounds = new vutils_1.Bounds;
105
97
  return this.getMarks().forEach((mark => {
106
98
  const product = mark.getProduct();
107
- product && bounds.union(product.getBounds());
99
+ product && bounds.union(product.AABBBounds);
108
100
  })), bounds.empty() ? {
109
101
  width: 0,
110
102
  height: 0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { PREFIX } from '../../constant/base';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport type { IGroupMark, IMark } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n const series = this._option && this._option.getAllSeries();\n const hasAnimation = this._option.animation !== false;\n const depend: IMark[] = [];\n\n if (series && series.length) {\n series.forEach(s => {\n const marks = s && s.getMarksWithoutRoot();\n\n if (marks && marks.length) {\n marks.forEach(mark => {\n depend.push(mark);\n });\n }\n });\n }\n let parentMark: IGroupMark | null = null;\n if (this._spec.parent) {\n const mark = this.getChart()\n .getAllMarks()\n .find(m => m.getUserId() === this._spec.parent) as IGroupMark;\n if (mark.type === 'group') {\n parentMark = mark;\n }\n }\n this._createExtensionMark(this._spec, parentMark, `${PREFIX}_series_${this.id}_extensionMark`, 0, {\n depend,\n hasAnimation\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0,\n options: { hasAnimation?: boolean; depend?: IMark[] }\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (isValid(spec.id)) {\n mark.setUserId(spec.id);\n }\n\n if (options.hasAnimation && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (options.depend && options.depend.length) {\n mark.setDepend(...options.depend);\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i, options);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.getBounds());\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { PREFIX } from '../../constant/base';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport type { IGroupMark, IMark } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n const hasAnimation = this._option.animation !== false;\n\n let parentMark: IGroupMark | null = null;\n if (this._spec.parent) {\n const mark = this.getChart()\n .getAllMarks()\n .find(m => m.getUserId() === this._spec.parent) as IGroupMark;\n if (mark.type === 'group') {\n parentMark = mark;\n }\n }\n this._createExtensionMark(this._spec, parentMark, `${PREFIX}_series_${this.id}_extensionMark`, 0, {\n hasAnimation\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0,\n options: { hasAnimation?: boolean }\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (isValid(spec.id)) {\n mark.setUserId(spec.id);\n }\n\n if (options.hasAnimation && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i, options);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.AABBBounds);\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
@@ -79,7 +79,7 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
79
79
  protected _initEvent(): void;
80
80
  protected _initData(): void;
81
81
  setAttrFromSpec(): void;
82
- protected _statePointToData(state: number): any;
82
+ statePointToData(state: number): any;
83
83
  dataToStatePoint(data: number | string): number;
84
84
  protected _modeCheck(statePoint: 'start' | 'end', mode: string): any;
85
85
  protected _setStateFromSpec(): void;
@@ -105,7 +105,7 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
105
105
  zoomDelta: number;
106
106
  zoomX?: number;
107
107
  zoomY?: number;
108
- }) => void;
108
+ }, e?: BaseEventParams['event']) => void;
109
109
  protected _handleChartScroll: (params: {
110
110
  scrollX: number;
111
111
  scrollY: number;
@@ -115,8 +115,8 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
115
115
  protected _initCommonEvent(): void;
116
116
  updateLayoutAttribute(): void;
117
117
  protected _autoVisible(isShown: boolean): void;
118
- onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void;
119
- onLayoutEnd(ctx: any): void;
118
+ onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect): void;
119
+ onLayoutEnd(): void;
120
120
  getBoundsInRect(rect: ILayoutRect): IBoundsLike;
121
121
  hide(): void;
122
122
  show(): void;
@@ -122,9 +122,9 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
122
122
  return this._startValue = startValue, this._endValue = endValue, this._newDomain = this._parseDomainFromState(this._startValue, this._endValue),
123
123
  null === (_b = (_a = this.effect).onZoomChange) || void 0 === _b || _b.call(_a, tag),
124
124
  !0;
125
- }, this._handleChartZoom = params => {
125
+ }, this._handleChartZoom = (params, e) => {
126
126
  var _a, _b;
127
- if (!this._activeRoam) return;
127
+ if (!this._activeRoam || this._zoomAttr.filter && !this._zoomAttr.filter(params, e)) return;
128
128
  const {zoomDelta: zoomDelta, zoomX: zoomX, zoomY: zoomY} = params, {x: x, y: y} = this._regions[0].getLayoutStartPoint(), {width: width, height: height} = this._regions[0].getLayoutRect(), delta = Math.abs(this._start - this._end), zoomRate = null !== (_b = null === (_a = this._spec.roamZoom) || void 0 === _a ? void 0 : _a.rate) && void 0 !== _b ? _b : 1;
129
129
  if (delta >= 1 && zoomDelta < 1) return;
130
130
  if (delta <= .01 && zoomDelta > 1) return;
@@ -139,7 +139,7 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
139
139
  this._handleChange(Math.min(start, end), Math.max(start, end), !0);
140
140
  }, this._handleChartScroll = (params, e) => {
141
141
  var _a;
142
- if (!this._activeRoam) return !1;
142
+ if (!this._activeRoam || this._scrollAttr.filter && !this._scrollAttr.filter(params, e)) return !1;
143
143
  const {scrollX: scrollX, scrollY: scrollY} = params;
144
144
  let value = this._isHorizontal ? scrollX : scrollY;
145
145
  const active = this._isHorizontal ? (0, vutils_1.abs)(scrollX / scrollY) >= .5 : (0,
@@ -149,7 +149,7 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
149
149
  return active && hasChange;
150
150
  }, this._handleChartDrag = (delta, e) => {
151
151
  var _a;
152
- if (!this._activeRoam) return;
152
+ if (!this._activeRoam || this._dragAttr.filter && !this._dragAttr.filter(delta, e)) return;
153
153
  const [dx, dy] = delta;
154
154
  let value = this._isHorizontal ? dx : dy;
155
155
  this._dragAttr.reverse && (value = -value), this._handleChartMove(value, null !== (_a = this._dragAttr.rate) && void 0 !== _a ? _a : 1);
@@ -288,7 +288,7 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
288
288
  this._field = this._spec.field, this._width = this._computeWidth(), this._height = this._computeHeight(),
289
289
  this._visible = null === (_a = this._spec.visible) || void 0 === _a || _a;
290
290
  }
291
- _statePointToData(state) {
291
+ statePointToData(state) {
292
292
  const scale = this._stateScale, domain = scale.domain();
293
293
  if ((0, vscale_1.isContinuous)(scale.type)) return this._isReverse() ? domain[0] + ((0,
294
294
  vutils_1.last)(domain) - domain[0]) * (1 - state) : domain[0] + ((0, vutils_1.last)(domain) - domain[0]) * state;
@@ -317,7 +317,7 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
317
317
  end = "percent" === endMode ? this._spec.end : this.dataToStatePoint(this._spec.endValue));
318
318
  } else start = this._spec.start ? this._spec.start : this._spec.startValue ? this.dataToStatePoint(this._spec.startValue) : 0,
319
319
  end = this._spec.end ? this._spec.end : this._spec.endValue ? this.dataToStatePoint(this._spec.endValue) : 1;
320
- this._startValue = this._statePointToData(start), this._endValue = this._statePointToData(end),
320
+ this._startValue = this.statePointToData(start), this._endValue = this.statePointToData(end),
321
321
  this._start = start, this._end = end, this._minSpan = null !== (_a = this._spec.minSpan) && void 0 !== _a ? _a : 0,
322
322
  this._maxSpan = null !== (_b = this._spec.maxSpan) && void 0 !== _b ? _b : 1, (0,
323
323
  vscale_1.isContinuous)(this._stateScale.type) && this._stateScale.domain()[0] !== (0,
@@ -403,7 +403,8 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
403
403
  const option = {
404
404
  delayType: null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.delayType) && void 0 !== _b ? _b : "throttle",
405
405
  delayTime: (0, vutils_1.isValid)(null === (_c = this._spec) || void 0 === _c ? void 0 : _c.delayType) ? null !== (_e = null === (_d = this._spec) || void 0 === _d ? void 0 : _d.delayTime) && void 0 !== _e ? _e : 30 : 0,
406
- realTime: null === (_g = null === (_f = this._spec) || void 0 === _f ? void 0 : _f.realTime) || void 0 === _g || _g
406
+ realTime: null === (_g = null === (_f = this._spec) || void 0 === _f ? void 0 : _f.realTime) || void 0 === _g || _g,
407
+ allowComponentZoom: !0
407
408
  };
408
409
  this._zoomAttr.enable && this.initZoomEventOfRegions(this._regions, null, this._handleChartZoom, option),
409
410
  this._scrollAttr.enable && this.initScrollEventOfRegions(this._regions, null, this._handleChartScroll, option),
@@ -422,14 +423,14 @@ class DataFilterBaseComponent extends base_component_1.BaseComponent {
422
423
  [sizeKey]: attribute_1.AttributeLevel.Built_In
423
424
  });
424
425
  }
425
- onLayoutStart(layoutRect, viewRect, ctx) {
426
- super.onLayoutStart(layoutRect, viewRect, ctx);
426
+ onLayoutStart(layoutRect, viewRect) {
427
+ super.onLayoutStart(layoutRect, viewRect);
427
428
  const isShown = this._autoUpdate(layoutRect);
428
429
  this._autoVisible(isShown), this._dataUpdating = !1;
429
430
  }
430
- onLayoutEnd(ctx) {
431
+ onLayoutEnd() {
431
432
  const isShown = !(0 === this._start && 1 === this._end);
432
- this._autoVisible(isShown), super.onLayoutEnd(ctx);
433
+ this._autoVisible(isShown), super.onLayoutEnd();
433
434
  }
434
435
  getBoundsInRect(rect) {
435
436
  const result = {