@visactor/vchart 1.4.0-alpha.3 → 1.4.0-alpha.5

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 (639) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +26378 -25310
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/animate-manager.js.map +1 -1
  6. package/cjs/animation/config.js +54 -56
  7. package/cjs/animation/config.js.map +1 -1
  8. package/cjs/animation/interface.d.ts +1 -1
  9. package/cjs/animation/interface.js.map +1 -1
  10. package/cjs/animation/spec.d.ts +2 -2
  11. package/cjs/animation/spec.js.map +1 -1
  12. package/cjs/animation/utils.d.ts +1 -1
  13. package/cjs/animation/utils.js.map +1 -1
  14. package/cjs/chart/base-chart.d.ts +1 -1
  15. package/cjs/chart/base-chart.js +11 -8
  16. package/cjs/chart/base-chart.js.map +1 -1
  17. package/cjs/chart/cartesian/interface.d.ts +3 -3
  18. package/cjs/chart/cartesian/interface.js.map +1 -1
  19. package/cjs/chart/interface/chart.d.ts +1 -1
  20. package/cjs/chart/interface/chart.js.map +1 -1
  21. package/cjs/chart/interface/common.d.ts +1 -1
  22. package/cjs/chart/interface/common.js.map +1 -1
  23. package/cjs/chart/polar/polar.js +2 -2
  24. package/cjs/chart/polar/polar.js.map +1 -1
  25. package/cjs/chart/sequence/sequence.js +5 -4
  26. package/cjs/chart/sequence/sequence.js.map +1 -1
  27. package/cjs/compile/compilable-base.d.ts +1 -1
  28. package/cjs/compile/compiler.d.ts +2 -2
  29. package/cjs/compile/compiler.js +7 -7
  30. package/cjs/compile/compiler.js.map +1 -1
  31. package/cjs/compile/data/compilable-data.d.ts +1 -1
  32. package/cjs/compile/data/compilable-data.js.map +1 -1
  33. package/cjs/compile/grammar-item.d.ts +1 -1
  34. package/cjs/compile/grammar-item.js.map +1 -1
  35. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  36. package/cjs/compile/interface/compilable-item.js.map +1 -1
  37. package/cjs/compile/mark/compilable-mark.d.ts +5 -5
  38. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  39. package/cjs/compile/mark/interface.d.ts +1 -1
  40. package/cjs/compile/mark/interface.js.map +1 -1
  41. package/cjs/compile/mark/mark-state-manager.d.ts +1 -1
  42. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  43. package/cjs/compile/signal/compilable-signal.d.ts +1 -1
  44. package/cjs/compile/signal/compilable-signal.js.map +1 -1
  45. package/cjs/compile/signal/interface.d.ts +1 -1
  46. package/cjs/compile/signal/interface.js.map +1 -1
  47. package/cjs/compile/signal/signal-manager.d.ts +1 -1
  48. package/cjs/compile/signal/signal-manager.js.map +1 -1
  49. package/cjs/compile/util.js +3 -0
  50. package/cjs/compile/util.js.map +1 -1
  51. package/cjs/component/axis/base-axis.js +4 -2
  52. package/cjs/component/axis/base-axis.js.map +1 -1
  53. package/cjs/component/axis/cartesian/axis.d.ts +2 -1
  54. package/cjs/component/axis/cartesian/axis.js +8 -5
  55. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  56. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  57. package/cjs/component/axis/cartesian/band-axis.js +7 -1
  58. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  59. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -1
  60. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  61. package/cjs/component/axis/polar/axis.js +2 -2
  62. package/cjs/component/axis/polar/axis.js.map +1 -1
  63. package/cjs/component/axis/polar/interface/common.d.ts +2 -0
  64. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  65. package/cjs/component/base/base-component.d.ts +1 -1
  66. package/cjs/component/base/base-component.js.map +1 -1
  67. package/cjs/component/brush/brush.d.ts +1 -1
  68. package/cjs/component/brush/brush.js.map +1 -1
  69. package/cjs/component/crosshair/polar.js.map +1 -1
  70. package/cjs/component/data-zoom/constant.d.ts +4 -0
  71. package/cjs/component/data-zoom/constant.js +10 -0
  72. package/cjs/component/data-zoom/constant.js.map +1 -0
  73. package/cjs/component/data-zoom/data-filter-base-component.d.ts +13 -2
  74. package/cjs/component/data-zoom/data-filter-base-component.js +51 -12
  75. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  76. package/cjs/component/data-zoom/data-zoom/data-zoom.js +4 -3
  77. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  78. package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -0
  79. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  80. package/cjs/component/data-zoom/interface.d.ts +1 -1
  81. package/cjs/component/data-zoom/interface.js.map +1 -1
  82. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +4 -1
  83. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  84. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +2 -0
  85. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +15 -7
  86. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  87. package/cjs/component/geo/geo-coordinate.js +7 -5
  88. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  89. package/cjs/component/geo/interface.d.ts +1 -1
  90. package/cjs/component/geo/interface.js.map +1 -1
  91. package/cjs/component/geo/projection.js.map +1 -1
  92. package/cjs/component/label/label.d.ts +1 -1
  93. package/cjs/component/label/label.js +2 -2
  94. package/cjs/component/label/label.js.map +1 -1
  95. package/cjs/component/label/totalLabel.js.map +1 -1
  96. package/cjs/component/legend/base-legend.d.ts +1 -1
  97. package/cjs/component/legend/base-legend.js +1 -1
  98. package/cjs/component/legend/base-legend.js.map +1 -1
  99. package/cjs/component/marker/base-marker.d.ts +16 -3
  100. package/cjs/component/marker/base-marker.js +24 -17
  101. package/cjs/component/marker/base-marker.js.map +1 -1
  102. package/cjs/component/marker/interface.d.ts +4 -2
  103. package/cjs/component/marker/interface.js.map +1 -1
  104. package/cjs/component/marker/mark-area/mark-area.js +14 -11
  105. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  106. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  107. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  108. package/cjs/component/marker/mark-line/interface/theme.d.ts +2 -2
  109. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  110. package/cjs/component/marker/mark-line/mark-line.js +60 -24
  111. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  112. package/cjs/component/marker/mark-line/util.d.ts +9 -0
  113. package/cjs/component/marker/mark-line/util.js +69 -0
  114. package/cjs/component/marker/mark-line/util.js.map +1 -0
  115. package/cjs/component/marker/mark-point/mark-point.js +16 -13
  116. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  117. package/cjs/component/player/player.d.ts +1 -1
  118. package/cjs/component/player/player.js +1 -1
  119. package/cjs/component/player/player.js.map +1 -1
  120. package/cjs/component/title/title.d.ts +1 -1
  121. package/cjs/component/title/title.js +1 -1
  122. package/cjs/component/title/title.js.map +1 -1
  123. package/cjs/component/tooltip/handler/base.d.ts +2 -2
  124. package/cjs/component/tooltip/handler/base.js.map +1 -1
  125. package/cjs/component/tooltip/handler/dom/interface.d.ts +0 -1
  126. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  127. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  128. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  129. package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +4 -2
  130. package/cjs/component/tooltip/handler/dom/model/shape-model.js +20 -11
  131. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  132. package/cjs/component/tooltip/handler/dom/model/title-model.js +4 -4
  133. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  134. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +1 -7
  135. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  136. package/cjs/component/tooltip/handler/dom/util.d.ts +1 -0
  137. package/cjs/component/tooltip/handler/dom/util.js +34 -25
  138. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  139. package/cjs/component/tooltip/handler/utils/attribute.js +22 -19
  140. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  141. package/cjs/component/tooltip/handler/utils/common.d.ts +1 -1
  142. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  143. package/cjs/component/tooltip/handler/utils/compose.js +12 -5
  144. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  145. package/cjs/component/tooltip/handler/utils/get-spec.js +2 -2
  146. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  147. package/cjs/component/tooltip/processor/interface.d.ts +1 -1
  148. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  149. package/cjs/constant/event.d.ts +1 -1
  150. package/cjs/constant/event.js +2 -2
  151. package/cjs/constant/event.js.map +1 -1
  152. package/cjs/core/index.d.ts +1 -1
  153. package/cjs/core/index.js +1 -1
  154. package/cjs/core/index.js.map +1 -1
  155. package/cjs/core/vchart.d.ts +1 -0
  156. package/cjs/core/vchart.js +40 -24
  157. package/cjs/core/vchart.js.map +1 -1
  158. package/cjs/data/transforms/aggregation.d.ts +10 -5
  159. package/cjs/data/transforms/aggregation.js +7 -5
  160. package/cjs/data/transforms/aggregation.js.map +1 -1
  161. package/cjs/data/transforms/dimension-data.js.map +1 -1
  162. package/cjs/event/interface.d.ts +1 -1
  163. package/cjs/event/interface.js.map +1 -1
  164. package/cjs/index.d.ts +1 -0
  165. package/cjs/index.js +10 -1
  166. package/cjs/index.js.map +1 -1
  167. package/cjs/interaction/dimension-trigger.d.ts +1 -1
  168. package/cjs/interaction/dimension-trigger.js.map +1 -1
  169. package/cjs/interaction/interaction.d.ts +1 -1
  170. package/cjs/interaction/interaction.js.map +1 -1
  171. package/cjs/interaction/interface.d.ts +1 -1
  172. package/cjs/interaction/interface.js.map +1 -1
  173. package/cjs/mark/box-plot.d.ts +1 -1
  174. package/cjs/mark/box-plot.js +2 -2
  175. package/cjs/mark/box-plot.js.map +1 -1
  176. package/cjs/mark/component.d.ts +1 -1
  177. package/cjs/mark/component.js +2 -2
  178. package/cjs/mark/component.js.map +1 -1
  179. package/cjs/mark/group.d.ts +1 -1
  180. package/cjs/mark/group.js.map +1 -1
  181. package/cjs/mark/link-path.d.ts +1 -1
  182. package/cjs/mark/link-path.js +2 -2
  183. package/cjs/mark/link-path.js.map +1 -1
  184. package/cjs/model/base-model.d.ts +1 -1
  185. package/cjs/model/base-model.js.map +1 -1
  186. package/cjs/model/interface.d.ts +1 -1
  187. package/cjs/model/interface.js.map +1 -1
  188. package/cjs/model/layout-item.d.ts +1 -1
  189. package/cjs/model/layout-item.js +2 -2
  190. package/cjs/model/layout-item.js.map +1 -1
  191. package/cjs/region/region.d.ts +1 -1
  192. package/cjs/region/region.js +8 -2
  193. package/cjs/region/region.js.map +1 -1
  194. package/cjs/series/area/animation.d.ts +1 -1
  195. package/cjs/series/area/animation.js.map +1 -1
  196. package/cjs/series/bar/animation.d.ts +1 -1
  197. package/cjs/series/bar/animation.js.map +1 -1
  198. package/cjs/series/base/base-series.js +3 -1
  199. package/cjs/series/base/base-series.js.map +1 -1
  200. package/cjs/series/base/tooltip-helper.d.ts +1 -1
  201. package/cjs/series/base/tooltip-helper.js +2 -0
  202. package/cjs/series/base/tooltip-helper.js.map +1 -1
  203. package/cjs/series/box-plot/tooltip-helper.js +7 -0
  204. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  205. package/cjs/series/circle-packing/animation.d.ts +1 -1
  206. package/cjs/series/circle-packing/animation.js.map +1 -1
  207. package/cjs/series/dot/tooltip-helper.js +6 -0
  208. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  209. package/cjs/series/funnel/tooltip-helper.d.ts +1 -1
  210. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  211. package/cjs/series/gauge/constant.js +2 -2
  212. package/cjs/series/gauge/constant.js.map +1 -1
  213. package/cjs/series/gauge/gauge.d.ts +3 -3
  214. package/cjs/series/gauge/gauge.js +7 -4
  215. package/cjs/series/gauge/gauge.js.map +1 -1
  216. package/cjs/series/geo/geo.js +9 -3
  217. package/cjs/series/geo/geo.js.map +1 -1
  218. package/cjs/series/heatmap/animation.d.ts +1 -1
  219. package/cjs/series/heatmap/animation.js.map +1 -1
  220. package/cjs/series/line/animation.d.ts +1 -1
  221. package/cjs/series/line/animation.js.map +1 -1
  222. package/cjs/series/link/tooltip-helper.js +4 -0
  223. package/cjs/series/link/tooltip-helper.js.map +1 -1
  224. package/cjs/series/map/map.d.ts +2 -0
  225. package/cjs/series/map/map.js +41 -45
  226. package/cjs/series/map/map.js.map +1 -1
  227. package/cjs/series/mixin/line-mixin.js +2 -1
  228. package/cjs/series/mixin/line-mixin.js.map +1 -1
  229. package/cjs/series/pie/animation/animation.d.ts +1 -1
  230. package/cjs/series/pie/animation/animation.js.map +1 -1
  231. package/cjs/series/pie/animation/centerOffset.d.ts +1 -1
  232. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  233. package/cjs/series/pie/interface.d.ts +3 -2
  234. package/cjs/series/pie/interface.js.map +1 -1
  235. package/cjs/series/pie/pie.js.map +1 -1
  236. package/cjs/series/polar/progress-like/animation.d.ts +1 -1
  237. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  238. package/cjs/series/polar/progress-like/constant.d.ts +2 -0
  239. package/cjs/series/polar/progress-like/constant.js +15 -0
  240. package/cjs/series/polar/progress-like/constant.js.map +1 -0
  241. package/cjs/series/polar/progress-like/interface.d.ts +12 -0
  242. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  243. package/cjs/series/polar/progress-like/progress-like.d.ts +19 -4
  244. package/cjs/series/polar/progress-like/progress-like.js +112 -5
  245. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  246. package/cjs/series/progress/circular/circular.d.ts +6 -4
  247. package/cjs/series/progress/circular/circular.js +49 -32
  248. package/cjs/series/progress/circular/circular.js.map +1 -1
  249. package/cjs/series/progress/circular/constant.js +2 -2
  250. package/cjs/series/progress/circular/constant.js.map +1 -1
  251. package/cjs/series/progress/linear/animation.d.ts +1 -1
  252. package/cjs/series/progress/linear/animation.js.map +1 -1
  253. package/cjs/series/progress/linear/linear.d.ts +6 -6
  254. package/cjs/series/progress/linear/linear.js +8 -8
  255. package/cjs/series/progress/linear/linear.js.map +1 -1
  256. package/cjs/series/radar/animation.d.ts +1 -1
  257. package/cjs/series/radar/animation.js.map +1 -1
  258. package/cjs/series/radar/radar.d.ts +1 -1
  259. package/cjs/series/radar/radar.js +10 -3
  260. package/cjs/series/radar/radar.js.map +1 -1
  261. package/cjs/series/range-area/tooltip-helper.js +2 -0
  262. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  263. package/cjs/series/range-column/animation.d.ts +1 -1
  264. package/cjs/series/range-column/animation.js.map +1 -1
  265. package/cjs/series/range-column/tooltip-helper.js +1 -0
  266. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  267. package/cjs/series/rose/animation.d.ts +1 -1
  268. package/cjs/series/rose/animation.js.map +1 -1
  269. package/cjs/series/sankey/animation.d.ts +1 -1
  270. package/cjs/series/sankey/animation.js.map +1 -1
  271. package/cjs/series/sankey/sankey.d.ts +1 -1
  272. package/cjs/series/sankey/sankey.js.map +1 -1
  273. package/cjs/series/sankey/tooltip-helper.js +3 -1
  274. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  275. package/cjs/series/scatter/animation.d.ts +1 -1
  276. package/cjs/series/scatter/animation.js.map +1 -1
  277. package/cjs/series/scatter/scatter.d.ts +3 -2
  278. package/cjs/series/scatter/scatter.js +13 -5
  279. package/cjs/series/scatter/scatter.js.map +1 -1
  280. package/cjs/series/sunburst/animation/enter.d.ts +1 -1
  281. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  282. package/cjs/series/sunburst/animation/exit.d.ts +1 -1
  283. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  284. package/cjs/series/sunburst/animation/preset.d.ts +1 -1
  285. package/cjs/series/sunburst/animation/preset.js.map +1 -1
  286. package/cjs/series/sunburst/animation/utils.d.ts +1 -1
  287. package/cjs/series/sunburst/animation/utils.js +2 -2
  288. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  289. package/cjs/series/treemap/animation.d.ts +1 -1
  290. package/cjs/series/treemap/animation.js.map +1 -1
  291. package/cjs/series/treemap/treemap.js.map +1 -1
  292. package/cjs/series/waterfall/animation.d.ts +1 -1
  293. package/cjs/series/waterfall/animation.js.map +1 -1
  294. package/cjs/series/word-cloud/animation.d.ts +7 -1
  295. package/cjs/series/word-cloud/animation.js +27 -2
  296. package/cjs/series/word-cloud/animation.js.map +1 -1
  297. package/cjs/series/word-cloud/base.js +13 -2
  298. package/cjs/series/word-cloud/base.js.map +1 -1
  299. package/cjs/series/word-cloud/interface.d.ts +7 -2
  300. package/cjs/series/word-cloud/interface.js.map +1 -1
  301. package/cjs/theme/builtin/common/component/index.js +3 -2
  302. package/cjs/theme/builtin/common/component/index.js.map +1 -1
  303. package/cjs/theme/builtin/common/component/scroll-bar.d.ts +2 -0
  304. package/cjs/theme/builtin/common/component/scroll-bar.js +16 -0
  305. package/cjs/theme/builtin/common/component/scroll-bar.js.map +1 -0
  306. package/cjs/theme/builtin/dark/color-scheme.js +1 -0
  307. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  308. package/cjs/theme/builtin/light/color-scheme.js +1 -0
  309. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  310. package/cjs/theme/color-scheme/builtin/interface.d.ts +1 -0
  311. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -1
  312. package/cjs/typings/spec/common.d.ts +2 -1
  313. package/cjs/typings/spec/common.js +2 -1
  314. package/cjs/typings/spec/common.js.map +1 -1
  315. package/cjs/typings/tooltip/line.d.ts +2 -0
  316. package/cjs/typings/tooltip/line.js.map +1 -1
  317. package/cjs/typings/tooltip/shape.d.ts +10 -4
  318. package/cjs/typings/tooltip/shape.js.map +1 -1
  319. package/cjs/util/env.js +1 -1
  320. package/cjs/util/env.js.map +1 -1
  321. package/cjs/util/math.js.map +1 -1
  322. package/esm/animation/animate-manager.js.map +1 -1
  323. package/esm/animation/config.js +4 -4
  324. package/esm/animation/config.js.map +1 -1
  325. package/esm/animation/interface.d.ts +1 -1
  326. package/esm/animation/interface.js.map +1 -1
  327. package/esm/animation/spec.d.ts +2 -2
  328. package/esm/animation/spec.js.map +1 -1
  329. package/esm/animation/utils.d.ts +1 -1
  330. package/esm/animation/utils.js.map +1 -1
  331. package/esm/chart/base-chart.d.ts +1 -1
  332. package/esm/chart/base-chart.js +11 -8
  333. package/esm/chart/base-chart.js.map +1 -1
  334. package/esm/chart/cartesian/interface.d.ts +3 -3
  335. package/esm/chart/cartesian/interface.js.map +1 -1
  336. package/esm/chart/interface/chart.d.ts +1 -1
  337. package/esm/chart/interface/chart.js.map +1 -1
  338. package/esm/chart/interface/common.d.ts +1 -1
  339. package/esm/chart/interface/common.js.map +1 -1
  340. package/esm/chart/polar/polar.js +3 -1
  341. package/esm/chart/polar/polar.js.map +1 -1
  342. package/esm/chart/sequence/sequence.js +6 -3
  343. package/esm/chart/sequence/sequence.js.map +1 -1
  344. package/esm/compile/compilable-base.d.ts +1 -1
  345. package/esm/compile/compiler.d.ts +2 -2
  346. package/esm/compile/compiler.js +6 -6
  347. package/esm/compile/compiler.js.map +1 -1
  348. package/esm/compile/data/compilable-data.d.ts +1 -1
  349. package/esm/compile/data/compilable-data.js.map +1 -1
  350. package/esm/compile/grammar-item.d.ts +1 -1
  351. package/esm/compile/grammar-item.js.map +1 -1
  352. package/esm/compile/interface/compilable-item.d.ts +1 -1
  353. package/esm/compile/interface/compilable-item.js.map +1 -1
  354. package/esm/compile/mark/compilable-mark.d.ts +5 -5
  355. package/esm/compile/mark/compilable-mark.js.map +1 -1
  356. package/esm/compile/mark/interface.d.ts +1 -1
  357. package/esm/compile/mark/interface.js.map +1 -1
  358. package/esm/compile/mark/mark-state-manager.d.ts +1 -1
  359. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  360. package/esm/compile/signal/compilable-signal.d.ts +1 -1
  361. package/esm/compile/signal/compilable-signal.js.map +1 -1
  362. package/esm/compile/signal/interface.d.ts +1 -1
  363. package/esm/compile/signal/interface.js.map +1 -1
  364. package/esm/compile/signal/signal-manager.d.ts +1 -1
  365. package/esm/compile/signal/signal-manager.js.map +1 -1
  366. package/esm/compile/util.js +3 -0
  367. package/esm/compile/util.js.map +1 -1
  368. package/esm/component/axis/base-axis.js +3 -1
  369. package/esm/component/axis/base-axis.js.map +1 -1
  370. package/esm/component/axis/cartesian/axis.d.ts +2 -1
  371. package/esm/component/axis/cartesian/axis.js +7 -4
  372. package/esm/component/axis/cartesian/axis.js.map +1 -1
  373. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  374. package/esm/component/axis/cartesian/band-axis.js +7 -1
  375. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  376. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -1
  377. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  378. package/esm/component/axis/polar/axis.js +1 -1
  379. package/esm/component/axis/polar/axis.js.map +1 -1
  380. package/esm/component/axis/polar/interface/common.d.ts +2 -0
  381. package/esm/component/axis/polar/interface/common.js.map +1 -1
  382. package/esm/component/base/base-component.d.ts +1 -1
  383. package/esm/component/base/base-component.js.map +1 -1
  384. package/esm/component/brush/brush.d.ts +1 -1
  385. package/esm/component/brush/brush.js.map +1 -1
  386. package/esm/component/crosshair/polar.js.map +1 -1
  387. package/esm/component/data-zoom/constant.d.ts +4 -0
  388. package/esm/component/data-zoom/constant.js +6 -0
  389. package/esm/component/data-zoom/constant.js.map +1 -0
  390. package/esm/component/data-zoom/data-filter-base-component.d.ts +13 -2
  391. package/esm/component/data-zoom/data-filter-base-component.js +52 -12
  392. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  393. package/esm/component/data-zoom/data-zoom/data-zoom.js +5 -2
  394. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  395. package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -0
  396. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  397. package/esm/component/data-zoom/interface.d.ts +1 -1
  398. package/esm/component/data-zoom/interface.js.map +1 -1
  399. package/esm/component/data-zoom/scroll-bar/interface.d.ts +4 -1
  400. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  401. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +2 -0
  402. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +16 -6
  403. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  404. package/esm/component/geo/geo-coordinate.js +8 -6
  405. package/esm/component/geo/geo-coordinate.js.map +1 -1
  406. package/esm/component/geo/interface.d.ts +1 -1
  407. package/esm/component/geo/interface.js.map +1 -1
  408. package/esm/component/geo/projection.js.map +1 -1
  409. package/esm/component/label/label.d.ts +1 -1
  410. package/esm/component/label/label.js +3 -1
  411. package/esm/component/label/label.js.map +1 -1
  412. package/esm/component/label/totalLabel.js.map +1 -1
  413. package/esm/component/legend/base-legend.d.ts +1 -1
  414. package/esm/component/legend/base-legend.js +1 -1
  415. package/esm/component/legend/base-legend.js.map +1 -1
  416. package/esm/component/marker/base-marker.d.ts +16 -3
  417. package/esm/component/marker/base-marker.js +25 -18
  418. package/esm/component/marker/base-marker.js.map +1 -1
  419. package/esm/component/marker/interface.d.ts +4 -2
  420. package/esm/component/marker/interface.js.map +1 -1
  421. package/esm/component/marker/mark-area/mark-area.js +14 -11
  422. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  423. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  424. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  425. package/esm/component/marker/mark-line/interface/theme.d.ts +2 -2
  426. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  427. package/esm/component/marker/mark-line/mark-line.js +60 -23
  428. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  429. package/esm/component/marker/mark-line/util.d.ts +9 -0
  430. package/esm/component/marker/mark-line/util.js +62 -0
  431. package/esm/component/marker/mark-line/util.js.map +1 -0
  432. package/esm/component/marker/mark-point/mark-point.js +16 -13
  433. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  434. package/esm/component/player/player.d.ts +1 -1
  435. package/esm/component/player/player.js +1 -1
  436. package/esm/component/player/player.js.map +1 -1
  437. package/esm/component/title/title.d.ts +1 -1
  438. package/esm/component/title/title.js +1 -1
  439. package/esm/component/title/title.js.map +1 -1
  440. package/esm/component/tooltip/handler/base.d.ts +2 -2
  441. package/esm/component/tooltip/handler/base.js.map +1 -1
  442. package/esm/component/tooltip/handler/dom/interface.d.ts +0 -1
  443. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  444. package/esm/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  445. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  446. package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +4 -2
  447. package/esm/component/tooltip/handler/dom/model/shape-model.js +22 -11
  448. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  449. package/esm/component/tooltip/handler/dom/model/title-model.js +4 -4
  450. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  451. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +1 -7
  452. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  453. package/esm/component/tooltip/handler/dom/util.d.ts +1 -0
  454. package/esm/component/tooltip/handler/dom/util.js +29 -23
  455. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  456. package/esm/component/tooltip/handler/utils/attribute.js +22 -19
  457. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  458. package/esm/component/tooltip/handler/utils/common.d.ts +1 -1
  459. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  460. package/esm/component/tooltip/handler/utils/compose.js +7 -4
  461. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  462. package/esm/component/tooltip/handler/utils/get-spec.js +2 -2
  463. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  464. package/esm/component/tooltip/processor/interface.d.ts +1 -1
  465. package/esm/component/tooltip/processor/interface.js.map +1 -1
  466. package/esm/constant/event.d.ts +1 -1
  467. package/esm/constant/event.js +1 -1
  468. package/esm/constant/event.js.map +1 -1
  469. package/esm/core/index.d.ts +1 -1
  470. package/esm/core/index.js +1 -1
  471. package/esm/core/index.js.map +1 -1
  472. package/esm/core/vchart.d.ts +1 -0
  473. package/esm/core/vchart.js +40 -24
  474. package/esm/core/vchart.js.map +1 -1
  475. package/esm/data/transforms/aggregation.d.ts +10 -5
  476. package/esm/data/transforms/aggregation.js +8 -6
  477. package/esm/data/transforms/aggregation.js.map +1 -1
  478. package/esm/data/transforms/dimension-data.js.map +1 -1
  479. package/esm/event/interface.d.ts +1 -1
  480. package/esm/event/interface.js.map +1 -1
  481. package/esm/index.d.ts +1 -0
  482. package/esm/index.js +3 -1
  483. package/esm/index.js.map +1 -1
  484. package/esm/interaction/dimension-trigger.d.ts +1 -1
  485. package/esm/interaction/dimension-trigger.js.map +1 -1
  486. package/esm/interaction/interaction.d.ts +1 -1
  487. package/esm/interaction/interaction.js.map +1 -1
  488. package/esm/interaction/interface.d.ts +1 -1
  489. package/esm/interaction/interface.js.map +1 -1
  490. package/esm/mark/box-plot.d.ts +1 -1
  491. package/esm/mark/box-plot.js +1 -1
  492. package/esm/mark/box-plot.js.map +1 -1
  493. package/esm/mark/component.d.ts +1 -1
  494. package/esm/mark/component.js +1 -1
  495. package/esm/mark/component.js.map +1 -1
  496. package/esm/mark/group.d.ts +1 -1
  497. package/esm/mark/group.js.map +1 -1
  498. package/esm/mark/link-path.d.ts +1 -1
  499. package/esm/mark/link-path.js +1 -1
  500. package/esm/mark/link-path.js.map +1 -1
  501. package/esm/model/base-model.d.ts +1 -1
  502. package/esm/model/base-model.js.map +1 -1
  503. package/esm/model/interface.d.ts +1 -1
  504. package/esm/model/interface.js.map +1 -1
  505. package/esm/model/layout-item.d.ts +1 -1
  506. package/esm/model/layout-item.js +2 -2
  507. package/esm/model/layout-item.js.map +1 -1
  508. package/esm/region/region.d.ts +1 -1
  509. package/esm/region/region.js +9 -1
  510. package/esm/region/region.js.map +1 -1
  511. package/esm/series/area/animation.d.ts +1 -1
  512. package/esm/series/area/animation.js.map +1 -1
  513. package/esm/series/bar/animation.d.ts +1 -1
  514. package/esm/series/bar/animation.js.map +1 -1
  515. package/esm/series/base/base-series.js +3 -1
  516. package/esm/series/base/base-series.js.map +1 -1
  517. package/esm/series/base/tooltip-helper.d.ts +1 -1
  518. package/esm/series/base/tooltip-helper.js +2 -0
  519. package/esm/series/base/tooltip-helper.js.map +1 -1
  520. package/esm/series/box-plot/tooltip-helper.js +7 -0
  521. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  522. package/esm/series/circle-packing/animation.d.ts +1 -1
  523. package/esm/series/circle-packing/animation.js.map +1 -1
  524. package/esm/series/dot/tooltip-helper.js +6 -0
  525. package/esm/series/dot/tooltip-helper.js.map +1 -1
  526. package/esm/series/funnel/tooltip-helper.d.ts +1 -1
  527. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  528. package/esm/series/gauge/constant.js +3 -1
  529. package/esm/series/gauge/constant.js.map +1 -1
  530. package/esm/series/gauge/gauge.d.ts +3 -3
  531. package/esm/series/gauge/gauge.js +7 -4
  532. package/esm/series/gauge/gauge.js.map +1 -1
  533. package/esm/series/geo/geo.js +9 -3
  534. package/esm/series/geo/geo.js.map +1 -1
  535. package/esm/series/heatmap/animation.d.ts +1 -1
  536. package/esm/series/heatmap/animation.js.map +1 -1
  537. package/esm/series/line/animation.d.ts +1 -1
  538. package/esm/series/line/animation.js.map +1 -1
  539. package/esm/series/link/tooltip-helper.js +4 -0
  540. package/esm/series/link/tooltip-helper.js.map +1 -1
  541. package/esm/series/map/map.d.ts +2 -0
  542. package/esm/series/map/map.js +43 -51
  543. package/esm/series/map/map.js.map +1 -1
  544. package/esm/series/mixin/line-mixin.js +4 -3
  545. package/esm/series/mixin/line-mixin.js.map +1 -1
  546. package/esm/series/pie/animation/animation.d.ts +1 -1
  547. package/esm/series/pie/animation/animation.js.map +1 -1
  548. package/esm/series/pie/animation/centerOffset.d.ts +1 -1
  549. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  550. package/esm/series/pie/interface.d.ts +3 -2
  551. package/esm/series/pie/interface.js.map +1 -1
  552. package/esm/series/pie/pie.js.map +1 -1
  553. package/esm/series/polar/progress-like/animation.d.ts +1 -1
  554. package/esm/series/polar/progress-like/animation.js.map +1 -1
  555. package/esm/series/polar/progress-like/constant.d.ts +2 -0
  556. package/esm/series/polar/progress-like/constant.js +13 -0
  557. package/esm/series/polar/progress-like/constant.js.map +1 -0
  558. package/esm/series/polar/progress-like/interface.d.ts +12 -0
  559. package/esm/series/polar/progress-like/interface.js.map +1 -1
  560. package/esm/series/polar/progress-like/progress-like.d.ts +19 -4
  561. package/esm/series/polar/progress-like/progress-like.js +117 -5
  562. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  563. package/esm/series/progress/circular/circular.d.ts +6 -4
  564. package/esm/series/progress/circular/circular.js +50 -31
  565. package/esm/series/progress/circular/circular.js.map +1 -1
  566. package/esm/series/progress/circular/constant.js +3 -3
  567. package/esm/series/progress/circular/constant.js.map +1 -1
  568. package/esm/series/progress/linear/animation.d.ts +1 -1
  569. package/esm/series/progress/linear/animation.js.map +1 -1
  570. package/esm/series/progress/linear/linear.d.ts +6 -6
  571. package/esm/series/progress/linear/linear.js +8 -8
  572. package/esm/series/progress/linear/linear.js.map +1 -1
  573. package/esm/series/radar/animation.d.ts +1 -1
  574. package/esm/series/radar/animation.js.map +1 -1
  575. package/esm/series/radar/radar.d.ts +1 -1
  576. package/esm/series/radar/radar.js +12 -4
  577. package/esm/series/radar/radar.js.map +1 -1
  578. package/esm/series/range-area/tooltip-helper.js +2 -0
  579. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  580. package/esm/series/range-column/animation.d.ts +1 -1
  581. package/esm/series/range-column/animation.js.map +1 -1
  582. package/esm/series/range-column/tooltip-helper.js +1 -0
  583. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  584. package/esm/series/rose/animation.d.ts +1 -1
  585. package/esm/series/rose/animation.js.map +1 -1
  586. package/esm/series/sankey/animation.d.ts +1 -1
  587. package/esm/series/sankey/animation.js.map +1 -1
  588. package/esm/series/sankey/sankey.d.ts +1 -1
  589. package/esm/series/sankey/sankey.js.map +1 -1
  590. package/esm/series/sankey/tooltip-helper.js +3 -1
  591. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  592. package/esm/series/scatter/animation.d.ts +1 -1
  593. package/esm/series/scatter/animation.js.map +1 -1
  594. package/esm/series/scatter/scatter.d.ts +3 -2
  595. package/esm/series/scatter/scatter.js +15 -5
  596. package/esm/series/scatter/scatter.js.map +1 -1
  597. package/esm/series/sunburst/animation/enter.d.ts +1 -1
  598. package/esm/series/sunburst/animation/enter.js.map +1 -1
  599. package/esm/series/sunburst/animation/exit.d.ts +1 -1
  600. package/esm/series/sunburst/animation/exit.js.map +1 -1
  601. package/esm/series/sunburst/animation/preset.d.ts +1 -1
  602. package/esm/series/sunburst/animation/preset.js.map +1 -1
  603. package/esm/series/sunburst/animation/utils.d.ts +1 -1
  604. package/esm/series/sunburst/animation/utils.js +1 -1
  605. package/esm/series/sunburst/animation/utils.js.map +1 -1
  606. package/esm/series/treemap/animation.d.ts +1 -1
  607. package/esm/series/treemap/animation.js.map +1 -1
  608. package/esm/series/treemap/treemap.js.map +1 -1
  609. package/esm/series/waterfall/animation.d.ts +1 -1
  610. package/esm/series/waterfall/animation.js.map +1 -1
  611. package/esm/series/word-cloud/animation.d.ts +7 -1
  612. package/esm/series/word-cloud/animation.js +25 -0
  613. package/esm/series/word-cloud/animation.js.map +1 -1
  614. package/esm/series/word-cloud/base.js +12 -1
  615. package/esm/series/word-cloud/base.js.map +1 -1
  616. package/esm/series/word-cloud/interface.d.ts +7 -2
  617. package/esm/series/word-cloud/interface.js.map +1 -1
  618. package/esm/theme/builtin/common/component/index.js +4 -1
  619. package/esm/theme/builtin/common/component/index.js.map +1 -1
  620. package/esm/theme/builtin/common/component/scroll-bar.d.ts +2 -0
  621. package/esm/theme/builtin/common/component/scroll-bar.js +12 -0
  622. package/esm/theme/builtin/common/component/scroll-bar.js.map +1 -0
  623. package/esm/theme/builtin/dark/color-scheme.js +1 -0
  624. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  625. package/esm/theme/builtin/light/color-scheme.js +1 -0
  626. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  627. package/esm/theme/color-scheme/builtin/interface.d.ts +1 -0
  628. package/esm/theme/color-scheme/builtin/interface.js.map +1 -1
  629. package/esm/typings/spec/common.d.ts +2 -1
  630. package/esm/typings/spec/common.js +2 -1
  631. package/esm/typings/spec/common.js.map +1 -1
  632. package/esm/typings/tooltip/line.d.ts +2 -0
  633. package/esm/typings/tooltip/line.js.map +1 -1
  634. package/esm/typings/tooltip/shape.d.ts +10 -4
  635. package/esm/typings/tooltip/shape.js.map +1 -1
  636. package/esm/util/env.js +1 -1
  637. package/esm/util/env.js.map +1 -1
  638. package/esm/util/math.js.map +1 -1
  639. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":";;;AACA,8CAA6C;AAO7C,sDAAyD;AACzD,qCAAqH;AACrH,6CAAgD;AAEhD,4CAAuE;AACvE,6CAAsD;AACtD,oDAOgC;AAChC,iDAA4F;AAC5F,mDAAgE;AAGhE,8CAA2C;AAC3C,8CAA+C;AAC/C,0CAA2C;AAC3C,yCAA+C;AAE/C,eAAM,CAAC,OAAO,CAAC,CAAC,mBAAU,EAAE,eAAQ,CAAC,CAAC,CAAC;AAEvC,MAAa,aAAiE,SAAQ,2BAAkB;IAAxG;;QAEE,SAAI,GAAG,qBAAc,CAAC,OAAO,CAAC;IA4VhC,CAAC;IA/UC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAGxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3C,CAAC;IAEO,mBAAmB,CACzB,KAAa,EACb,IAAmB,EACnB,EACE,gBAAgB,EAChB,YAAY,EAIb,EACD,GAAW;QAGX,IAAI,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE;YACjB,IAAI,IAAA,YAAK,EAAC,KAAK,CAAC,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,uCAAuC,GAAG,IAAI,CAAC,CAAC;gBAC3E,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,GAAG,aAAM,mBAAmB,IAAI,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC;gBAC1C,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;wBAC1B,MAAM,EAAE,CAAC,KAAK,CAAC;qBAChB;iBACF;gBACD,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,KAAK;aACN,CAAC;SACH;QAGD,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE;YAClB,IAAI,IAAA,YAAK,EAAC,KAAK,CAAC,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,GAAG,aAAM,mBAAmB,IAAI,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC;YACrE,MAAM,UAAU,mBACd,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;wBAC1B,MAAM,EAAE,CAAC,KAAK,CAAC;qBAChB;iBACF,EACD,KAAK,EAAE,YAAY,IAChB,IAAI,CACR,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACxD,OAAO;gBACL,KAAK,EAAE,UAAU,CAAC,EAAE;gBACpB,KAAK;aACN,CAAC;SACH;QAGD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,wBAAwB,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAOO,gBAAgB,CAAC,KAAa,EAAE,QAAoC;QAE1E,IAAI,IAAA,YAAK,EAAC,QAAQ,CAAC,EAAE;YAEnB,OAAO,8BAAoB,CAAC;SAC7B;QAGD,IAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC,EAAE;YACtB,OAAO,QAAQ,CAAC;SACjB;QAGD,IAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC,IAAI,IAAA,gBAAS,EAAC,QAAQ,CAAC,EAAE;YAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,EACL,QAA8B,EAC9B;YACE,gBAAgB,EAAE,yCAA+B;YACjD,YAAY,EAAE,oCAA0B;SACzC,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAOO,iBAAiB,CAAC,KAAa,EAAE,SAAsC;QAE7E,IAAI,IAAA,YAAK,EAAC,SAAS,CAAC,EAAE;YAEpB,OAAO,+BAAqB,CAAC;SAC9B;QAGD,IAAI,IAAA,eAAQ,EAAC,SAAS,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,EACL,SAA+B,EAC/B;YACE,gBAAgB,EAAE,0CAAgC;YAClD,YAAY,EAAE,qCAA2B;SAC1C,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAKD,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;YAC5D,KAAK,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAA,2BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtG,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,KAAK,EAAE,IAAA,gBAAS,EAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACvE,WAAW;YACX,YAAY,EAAE,IAAI;SACnB,CAAgB,CAAC;IACpB,CAAC;IAKD,aAAa;QACX,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAKD,aAAa;;QACX,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAA0D,0CAAE,MAAM,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,IAAA,uBAAe,EACb,+BAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,EAChD,IAAA,2BAAmB,EAAC,yBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAC1D,CACF,CAAC;IACJ,CAAC;IAKO,mBAAmB;;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;gBAC5B,OAAO,EAAE,IAAI,CAAC,kBAAkB;aACjC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,YAAY,CACf,UAAU,EACV;YACE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACxD,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,IAAA,eAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,iBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,8BAAoB;YACxF,UAAU,EAAE,IAAA,eAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,iBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,+BAAqB;SACnG,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;QAEF,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,YAAY,CACf,UAAU,EACV;gBACE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAuB;aAC/E,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,SAAS,CACzB,CAAC;SACH;QAED,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrD,IAAI,CAAC,YAAY,CACf,UAAU,EACV;gBACE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAuB;aACxF,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,SAAS,CACzB,CAAC;SACH;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEvC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,wBAAwB,CAAC,CAAW;;QAClC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClC,IACE,IAAI,CAAC,YAAY,KAAK,MAAM;aAC5B,MAAA,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAE,0CAAE,UAAU,0CAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,0CAAE,QAAQ,CAAA,EAC/E;YACA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,yBAAc,CAAC,MAAM,CAAC,CAAC;SACzF;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,yBAAc,CAAC,MAAM,CAAC,CAAC;SAC5G;IACH,CAAC;IAKD,kBAAkB,CAAC,SAAqB;QACtC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;gBACrB,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACzD,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;YAChC,IAAI,CAAC,YAAY,CACf,SAAS,EACT;gBACE,OAAO,EAAE,IAAI,CAAC,kBAAkB;aACjC,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;IACH,CAAC;IAKD,UAAU,CAAC,CAAM;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEvC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC5E,OAAO;aACR;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YAEvC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,CAAS,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,WAAW,IAAI,WAAW,EAAE;oBAC9B,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,CAAM;QACd,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEvC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC5E,OAAO;aACR;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YAEvC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,CAAS,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,WAAW,IAAI,WAAW,EAAE;oBAC9B,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;;AA7VH,sCA8VC;AA7ViB,kBAAI,GAAW,qBAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,GAAkB,4BAAiB,CAAC","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Maybe, Datum, ScaleType, VisualType } from '../../typings';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IScatterSeriesSpec, IScatterSeriesTheme } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, mergeSpec } from '../../util';\nimport { AttributeLevel } from '../../constant';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ScatterAppearPreset } from './animation';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { scatterSeriesMark } from './constant';\n\nVChart.useMark([SymbolMark, TextMark]);\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n\n protected declare _theme: Maybe<IScatterSeriesTheme>;\n\n private _symbolMark: ISymbolMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (spec.length > 2) {\n this._option.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._symbolMark = this._createMark(ScatterSeries.mark.point, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('point', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label),\n progressive,\n isSeriesMark: true\n }) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.scatter({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec)\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n this._trigger.registerMark(symbolMark);\n\n this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n if (\n this._invalidType === 'zero' ||\n this.getViewDataStatistics()?.latestData?.[this.getStackValueField()]?.allValid\n ) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(this._symbolMark, { visible: this._getInvalidDefined }, 'normal', AttributeLevel.Series);\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n handleZoom(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n }\n\n handlePan(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Maybe, Datum, ScaleType, VisualType } from '../../typings';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IScatterSeriesSpec, IScatterSeriesTheme } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, mergeSpec } from '../../util';\nimport { AttributeLevel } from '../../constant';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ScatterAppearPreset } from './animation';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { scatterSeriesMark } from './constant';\nimport type { ILabelMark } from '../../mark/label';\n\nVChart.useMark([SymbolMark, TextMark]);\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n\n protected declare _theme: Maybe<IScatterSeriesTheme>;\n\n private _symbolMark: ISymbolMark;\n private _labelMark: ILabelMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (spec.length > 2) {\n this._option?.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option?.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._symbolMark = this._createMark(ScatterSeries.mark.point, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('point', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label),\n progressive,\n isSeriesMark: true\n }) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.scatter({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec)\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n this._trigger.registerMark(symbolMark);\n\n this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n if (\n this._invalidType === 'zero' ||\n this.getViewDataStatistics()?.latestData?.[this.getStackValueField()]?.allValid\n ) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(this._symbolMark, { visible: this._getInvalidDefined }, 'normal', AttributeLevel.Series);\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n handleZoom(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n\n const vgrammarLabel = this._labelMark?.getComponent()?.getProduct();\n\n if (vgrammarLabel) {\n vgrammarLabel.evaluateSync(null, null);\n }\n }\n\n handlePan(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n const vgrammarLabel = this._labelMark?.getComponent()?.getProduct();\n\n if (vgrammarLabel) {\n vgrammarLabel.evaluateSync(null, null);\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  import type { ISunburstAnimationParams } from './interface';
3
3
  export declare const sunburstEnter: (params: ISunburstAnimationParams) => IAnimationTypeConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sunburst/animation/enter.ts"],"names":[],"mappings":";;;AAGA,mCAA6D;AAC7D,6CAA2C;AAE3C,MAAM,sBAAsB,GAAG,CAAC,QAAoB,EAAE,UAAkB,EAAE,QAAgB,EAAoB,EAAE;IAE9G,IAAI,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE;QACrB,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KAC/B;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAAgC,EAAwB,EAAE;IACtF,OAAO;QACL,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,IAAI,EAAE,CAAC,CAAQ,EAAE,OAAiB,EAAE,EAAE;oBACpC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAE/E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBACrD,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;gBACD,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAQ,EAAE,OAAiB,EAAE,EAAE;oBACpC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAE/E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACnD,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;gBACD,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;aAC7B;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;gBACjC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;aAChC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;gBACjC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;aAChC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,aAAa,iBAuCxB","file":"enter.js","sourcesContent":["import type { IAnimationTypeConfig, IElement } from '@visactor/vgrammar';\nimport type { ISunburstAnimationParams } from './interface';\nimport type { Datum } from '../../../typings';\nimport { computeRatio, getInnerMostElements } from './utils';\nimport { isEmpty } from '@visactor/vutils';\n\nconst computeInnerAngleRange = (elements: IElement[], startAngle: number, endAngle: number): [number, number] => {\n // 处理enter时从无到有的case, 例如图例.\n if (isEmpty(elements)) {\n return [startAngle, endAngle];\n }\n\n const minStartAngle = Math.min(...elements.map(m => m.getGraphicAttribute('startAngle', false)));\n const maxEndAngle = Math.max(...elements.map(m => m.getGraphicAttribute('endAngle', false)));\n return [minStartAngle, maxEndAngle];\n};\n\nexport const sunburstEnter = (params: ISunburstAnimationParams): IAnimationTypeConfig => {\n return {\n channel: {\n startAngle: {\n from: (d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算间距\n const angleRange = computeInnerAngleRange(innerElements, startAngle, endAngle);\n // 计算比例\n const ratio = computeRatio(d.startAngle, angleRange);\n return ratio * (endAngle - startAngle) + startAngle;\n },\n to: (d: Datum) => d.startAngle\n },\n endAngle: {\n from: (d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算间距\n const angleRange = computeInnerAngleRange(innerElements, startAngle, endAngle);\n // 计算比例\n const ratio = computeRatio(d.endAngle, angleRange);\n return ratio * (endAngle - startAngle) + startAngle;\n },\n to: (d: Datum) => d.endAngle\n },\n outerRadius: {\n from: (d: Datum) => d.innerRadius,\n to: (d: Datum) => d.outerRadius\n },\n innerRadius: {\n from: (d: Datum) => d.innerRadius,\n to: (d: Datum) => d.innerRadius\n }\n }\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/series/sunburst/animation/enter.ts"],"names":[],"mappings":";;;AAGA,mCAA6D;AAC7D,6CAA2C;AAE3C,MAAM,sBAAsB,GAAG,CAAC,QAAoB,EAAE,UAAkB,EAAE,QAAgB,EAAoB,EAAE;IAE9G,IAAI,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE;QACrB,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KAC/B;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAAgC,EAAwB,EAAE;IACtF,OAAO;QACL,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,IAAI,EAAE,CAAC,CAAQ,EAAE,OAAiB,EAAE,EAAE;oBACpC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAE/E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBACrD,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;gBACD,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAQ,EAAE,OAAiB,EAAE,EAAE;oBACpC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAE/E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACnD,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;gBACD,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;aAC7B;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;gBACjC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;aAChC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;gBACjC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;aAChC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,aAAa,iBAuCxB","file":"enter.js","sourcesContent":["import type { IAnimationTypeConfig, IElement } from '@visactor/vgrammar-core';\nimport type { ISunburstAnimationParams } from './interface';\nimport type { Datum } from '../../../typings';\nimport { computeRatio, getInnerMostElements } from './utils';\nimport { isEmpty } from '@visactor/vutils';\n\nconst computeInnerAngleRange = (elements: IElement[], startAngle: number, endAngle: number): [number, number] => {\n // 处理enter时从无到有的case, 例如图例.\n if (isEmpty(elements)) {\n return [startAngle, endAngle];\n }\n\n const minStartAngle = Math.min(...elements.map(m => m.getGraphicAttribute('startAngle', false)));\n const maxEndAngle = Math.max(...elements.map(m => m.getGraphicAttribute('endAngle', false)));\n return [minStartAngle, maxEndAngle];\n};\n\nexport const sunburstEnter = (params: ISunburstAnimationParams): IAnimationTypeConfig => {\n return {\n channel: {\n startAngle: {\n from: (d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算间距\n const angleRange = computeInnerAngleRange(innerElements, startAngle, endAngle);\n // 计算比例\n const ratio = computeRatio(d.startAngle, angleRange);\n return ratio * (endAngle - startAngle) + startAngle;\n },\n to: (d: Datum) => d.startAngle\n },\n endAngle: {\n from: (d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算间距\n const angleRange = computeInnerAngleRange(innerElements, startAngle, endAngle);\n // 计算比例\n const ratio = computeRatio(d.endAngle, angleRange);\n return ratio * (endAngle - startAngle) + startAngle;\n },\n to: (d: Datum) => d.endAngle\n },\n outerRadius: {\n from: (d: Datum) => d.innerRadius,\n to: (d: Datum) => d.outerRadius\n },\n innerRadius: {\n from: (d: Datum) => d.innerRadius,\n to: (d: Datum) => d.innerRadius\n }\n }\n };\n};\n"]}
@@ -1,3 +1,3 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  import type { ISunburstAnimationParams } from './interface';
3
3
  export declare const sunburstExit: (params: ISunburstAnimationParams) => IAnimationTypeConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sunburst/animation/exit.ts"],"names":[],"mappings":";;;AAGA,mCAA6D;AAE7D,MAAM,sBAAsB,GAAG,CAAC,QAAoB,EAAoB,EAAE;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,MAAgC,EAAwB,EAAE;IACrF,OAAO;QACL,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC;gBACxF,EAAE,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE;oBACnC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;oBACpF,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC;gBACtF,EAAE,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE;oBACnC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;oBAClF,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC;gBACzF,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,WAAW;aAC7C;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC;gBACzF,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,WAAW;aAC7C;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,YAAY,gBAuCvB","file":"exit.js","sourcesContent":["import type { IAnimationTypeConfig, IElement } from '@visactor/vgrammar';\nimport type { ISunburstAnimationParams } from './interface';\nimport type { Datum } from '../../../typings';\nimport { computeRatio, getInnerMostElements } from './utils';\n\nconst computeInnerAngleRange = (elements: IElement[]): [number, number] => {\n const minStartAngle = Math.min(...elements.map(m => m.getGraphicAttribute('startAngle', false)));\n const maxEndAngle = Math.max(...elements.map(m => m.getGraphicAttribute('endAngle', false)));\n return [minStartAngle, maxEndAngle];\n};\n\nexport const sunburstExit = (params: ISunburstAnimationParams): IAnimationTypeConfig => {\n return {\n channel: {\n startAngle: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('startAngle', false),\n to: (_d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算range\n const range = computeInnerAngleRange(innerElements);\n // 计算比例\n const ratio = computeRatio(element.getGraphicAttribute('startAngle', false), range);\n return ratio * (endAngle - startAngle) + startAngle;\n }\n },\n endAngle: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('endAngle', false),\n to: (_d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算range\n const range = computeInnerAngleRange(innerElements);\n // 计算比例\n const ratio = computeRatio(element.getGraphicAttribute('endAngle', false), range);\n return ratio * (endAngle - startAngle) + startAngle;\n }\n },\n outerRadius: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('outerRadius', false),\n to: () => params.animationInfo().innerRadius\n },\n innerRadius: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('innerRadius', false),\n to: () => params.animationInfo().innerRadius\n }\n }\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/series/sunburst/animation/exit.ts"],"names":[],"mappings":";;;AAGA,mCAA6D;AAE7D,MAAM,sBAAsB,GAAG,CAAC,QAAoB,EAAoB,EAAE;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,MAAgC,EAAwB,EAAE;IACrF,OAAO;QACL,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC;gBACxF,EAAE,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE;oBACnC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;oBACpF,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC;gBACtF,EAAE,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE;oBACnC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBAExD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;oBAEpD,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;oBAClF,OAAO,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;gBACtD,CAAC;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC;gBACzF,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,WAAW;aAC7C;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,EAAS,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC;gBACzF,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,WAAW;aAC7C;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,YAAY,gBAuCvB","file":"exit.js","sourcesContent":["import type { IAnimationTypeConfig, IElement } from '@visactor/vgrammar-core';\nimport type { ISunburstAnimationParams } from './interface';\nimport type { Datum } from '../../../typings';\nimport { computeRatio, getInnerMostElements } from './utils';\n\nconst computeInnerAngleRange = (elements: IElement[]): [number, number] => {\n const minStartAngle = Math.min(...elements.map(m => m.getGraphicAttribute('startAngle', false)));\n const maxEndAngle = Math.max(...elements.map(m => m.getGraphicAttribute('endAngle', false)));\n return [minStartAngle, maxEndAngle];\n};\n\nexport const sunburstExit = (params: ISunburstAnimationParams): IAnimationTypeConfig => {\n return {\n channel: {\n startAngle: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('startAngle', false),\n to: (_d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算range\n const range = computeInnerAngleRange(innerElements);\n // 计算比例\n const ratio = computeRatio(element.getGraphicAttribute('startAngle', false), range);\n return ratio * (endAngle - startAngle) + startAngle;\n }\n },\n endAngle: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('endAngle', false),\n to: (_d: Datum, element: IElement) => {\n const { startAngle, endAngle } = params.animationInfo();\n // 得到最内层的elements.\n const innerElements = getInnerMostElements(element);\n // 计算range\n const range = computeInnerAngleRange(innerElements);\n // 计算比例\n const ratio = computeRatio(element.getGraphicAttribute('endAngle', false), range);\n return ratio * (endAngle - startAngle) + startAngle;\n }\n },\n outerRadius: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('outerRadius', false),\n to: () => params.animationInfo().innerRadius\n },\n innerRadius: {\n from: (_d: Datum, element: IElement) => element.getGraphicAttribute('innerRadius', false),\n to: () => params.animationInfo().innerRadius\n }\n }\n };\n};\n"]}
@@ -1,3 +1,3 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  import type { ISunburstAnimationParams, SunburstAppearPreset } from './interface';
3
3
  export declare const sunburstPresetAnimation: (_params: ISunburstAnimationParams, preset: SunburstAppearPreset) => IAnimationTypeConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sunburst/animation/preset.ts"],"names":[],"mappings":";;;AAMO,MAAM,uBAAuB,GAAG,CACrC,OAAiC,EACjC,MAA4B,EACN,EAAE;IACxB,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,QAAQ;aACf,CAAC;SACH;QACD,KAAK,WAAW,CAAC,CAAC;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;aACpB,CAAC;SACH;QACD,KAAK,YAAY,CAAC,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;KACF;AACH,CAAC,CAAC;AA1BW,QAAA,uBAAuB,2BA0BlC","file":"preset.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar';\nimport type { ISunburstAnimationParams, SunburstAppearPreset } from './interface';\n\n/**\n * 预设\n */\nexport const sunburstPresetAnimation = (\n _params: ISunburstAnimationParams, // 此处仅为保持结构统一\n preset: SunburstAppearPreset\n): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growAngle': {\n return {\n type: 'growAngleIn'\n };\n }\n case 'growRadius': {\n return {\n type: 'growRadiusIn'\n };\n }\n default: {\n return {\n type: 'growRadiusIn'\n };\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/series/sunburst/animation/preset.ts"],"names":[],"mappings":";;;AAMO,MAAM,uBAAuB,GAAG,CACrC,OAAiC,EACjC,MAA4B,EACN,EAAE;IACxB,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,QAAQ;aACf,CAAC;SACH;QACD,KAAK,WAAW,CAAC,CAAC;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;aACpB,CAAC;SACH;QACD,KAAK,YAAY,CAAC,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;KACF;AACH,CAAC,CAAC;AA1BW,QAAA,uBAAuB,2BA0BlC","file":"preset.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\nimport type { ISunburstAnimationParams, SunburstAppearPreset } from './interface';\n\n/**\n * 预设\n */\nexport const sunburstPresetAnimation = (\n _params: ISunburstAnimationParams, // 此处仅为保持结构统一\n preset: SunburstAppearPreset\n): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growAngle': {\n return {\n type: 'growAngleIn'\n };\n }\n case 'growRadius': {\n return {\n type: 'growRadiusIn'\n };\n }\n default: {\n return {\n type: 'growRadiusIn'\n };\n }\n }\n};\n"]}
@@ -1,3 +1,3 @@
1
- import type { IElement } from '@visactor/vgrammar';
1
+ import type { IElement } from '@visactor/vgrammar-core';
2
2
  export declare const computeRatio: (angle: number, range: [number, number]) => number;
3
3
  export declare const getInnerMostElements: (element: IElement) => IElement[];
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.getInnerMostElements = exports.computeRatio = void 0;
6
6
 
7
- const vgrammar_1 = require("@visactor/vgrammar"), computeRatio = (angle, range) => {
7
+ const vgrammar_core_1 = require("@visactor/vgrammar-core"), computeRatio = (angle, range) => {
8
8
  const ratio = (angle - range[0]) / (range[1] - range[0] || 1);
9
9
  return Math.max(0, Math.min(1, ratio));
10
10
  };
@@ -12,7 +12,7 @@ const vgrammar_1 = require("@visactor/vgrammar"), computeRatio = (angle, range)
12
12
  exports.computeRatio = computeRatio;
13
13
 
14
14
  const getInnerMostElements = element => {
15
- const updateElements = element.mark.elements.filter((e => e.diffState === vgrammar_1.DiffState.update)), minDepth = Math.min(...updateElements.map((e => {
15
+ const updateElements = element.mark.elements.filter((e => e.diffState === vgrammar_core_1.DiffState.update)), minDepth = Math.min(...updateElements.map((e => {
16
16
  var _a;
17
17
  return null === (_a = null == e ? void 0 : e.data) || void 0 === _a ? void 0 : _a[0].depth;
18
18
  })));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sunburst/animation/utils.ts"],"names":[],"mappings":";;;AAEA,iDAA+C;AAKxC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,KAAuB,EAAE,EAAE;IAMrE,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAO9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAKK,MAAM,oBAAoB,GAAG,CAAC,OAAiB,EAAE,EAAE;IAExD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,oBAAS,CAAC,MAAM,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAG,CAAC,EAAE,KAAK,CAAA,EAAA,CAAC,CAAC,CAAC;IAE1E,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAG,CAAC,EAAE,KAAK,MAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;AACrE,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B","file":"utils.js","sourcesContent":["import type { IElement } from '@visactor/vgrammar';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiffState } from '@visactor/vgrammar';\n\n/**\n * 计算角度对于起点的比例\n */\nexport const computeRatio = (angle: number, range: [number, number]) => {\n /**\n * 计算当前处理的角度, 与range的距离\n * 若ratio为负, 则代表需要向起点靠拢\n * 若ratio为正, 则代表需要向终点靠拢\n */\n const ratio = (angle - range[0]) / (range[1] - range[0] || 1);\n\n /**\n * ratio若为负值, 则取0, 代表起点.\n * ratio若为正值, 则取1, 代表终点.\n * Tips: 仅代表一个比例, 具体的值是多少, 需要在外部计算.\n */\n return Math.max(0, Math.min(1, ratio));\n};\n\n/**\n * 得到最内层的Elements\n */\nexport const getInnerMostElements = (element: IElement) => {\n // 所有待更新的marks\n const updateElements = element.mark.elements.filter(e => e.diffState === DiffState.update);\n // 得到最内层级\n const minDepth = Math.min(...updateElements.map(e => e?.data?.[0].depth));\n // 内层的Marks\n return updateElements.filter(e => e?.data?.[0].depth === minDepth);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/sunburst/animation/utils.ts"],"names":[],"mappings":";;;AAEA,2DAAoD;AAK7C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,KAAuB,EAAE,EAAE;IAMrE,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAO9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAKK,MAAM,oBAAoB,GAAG,CAAC,OAAiB,EAAE,EAAE;IAExD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,yBAAS,CAAC,MAAM,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAG,CAAC,EAAE,KAAK,CAAA,EAAA,CAAC,CAAC,CAAC;IAE1E,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAG,CAAC,EAAE,KAAK,MAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;AACrE,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B","file":"utils.js","sourcesContent":["import type { IElement } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiffState } from '@visactor/vgrammar-core';\n\n/**\n * 计算角度对于起点的比例\n */\nexport const computeRatio = (angle: number, range: [number, number]) => {\n /**\n * 计算当前处理的角度, 与range的距离\n * 若ratio为负, 则代表需要向起点靠拢\n * 若ratio为正, 则代表需要向终点靠拢\n */\n const ratio = (angle - range[0]) / (range[1] - range[0] || 1);\n\n /**\n * ratio若为负值, 则取0, 代表起点.\n * ratio若为正值, 则取1, 代表终点.\n * Tips: 仅代表一个比例, 具体的值是多少, 需要在外部计算.\n */\n return Math.max(0, Math.min(1, ratio));\n};\n\n/**\n * 得到最内层的Elements\n */\nexport const getInnerMostElements = (element: IElement) => {\n // 所有待更新的marks\n const updateElements = element.mark.elements.filter(e => e.diffState === DiffState.update);\n // 得到最内层级\n const minDepth = Math.min(...updateElements.map(e => e?.data?.[0].depth));\n // 内层的Marks\n return updateElements.filter(e => e?.data?.[0].depth === minDepth);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  export type TreemapMark = 'leaf' | 'nonLeaf';
3
3
  export type TreemapAppearPreset = 'growIn' | 'fadeIn';
4
4
  export declare const scatterPresetAnimation: (preset: TreemapAppearPreset) => IAnimationTypeConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/treemap/animation.ts"],"names":[],"mappings":";;;AAMO,MAAM,sBAAsB,GAAG,CAAC,MAA2B,EAAwB,EAAE;IAC1F,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,QAAQ;aACf,CAAC;SACH;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar';\n\nexport type TreemapMark = 'leaf' | 'nonLeaf';\n\nexport type TreemapAppearPreset = 'growIn' | 'fadeIn';\n\nexport const scatterPresetAnimation = (preset: TreemapAppearPreset): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growIn': {\n return {\n type: 'growCenterIn'\n };\n }\n default: {\n return {\n type: 'growCenterIn'\n };\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/series/treemap/animation.ts"],"names":[],"mappings":";;;AAMO,MAAM,sBAAsB,GAAG,CAAC,MAA2B,EAAwB,EAAE;IAC1F,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,QAAQ;aACf,CAAC;SACH;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\n\nexport type TreemapMark = 'leaf' | 'nonLeaf';\n\nexport type TreemapAppearPreset = 'growIn' | 'fadeIn';\n\nexport const scatterPresetAnimation = (preset: TreemapAppearPreset): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growIn': {\n return {\n type: 'growCenterIn'\n };\n }\n default: {\n return {\n type: 'growCenterIn'\n };\n }\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/treemap/treemap.ts"],"names":[],"mappings":"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","file":"treemap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { AttributeLevel, DEFAULT_DATA_KEY, PREFIX, VGRAMMAR_HOOK_EVENT } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { ITextMark } from '../../mark/text';\nimport type { Datum, IRectMarkSpec, ITextMarkSpec } from '../../typings';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport type { ITreemapSeriesSpec } from './interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport type { ITreemapOpt } from '../../data/transforms/treemap';\nimport { treemap } from '../../data/transforms/treemap';\nimport { flatten } from '../../data/transforms/flatten';\nimport type { IBounds, IBoundsLike } from '@visactor/vutils';\nimport { isValidNumber, Bounds, Matrix, mixin } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { TreemapNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { DataView } from '@visactor/vdataset';\nimport { hierarchyDimensionStatistics } from '../../data/transforms/hierarchy-dimension-statistics';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addHierarchyDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport { TreemapTooltipHelper } from './tooltip-helper';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { TransformSpec } from '@visactor/vgrammar';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { VChart } from '../../core/vchart';\nimport { RectMark } from '../../mark/rect';\nimport { TextMark } from '../../mark/text';\nimport { treemapSeriesMark } from './constant';\n\nVChart.useMark([RectMark, TextMark]);\n\nexport class TreemapSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.treemap;\n type = SeriesTypeEnum.treemap;\n\n static readonly mark: SeriesMarkMap = treemapSeriesMark;\n\n private _leafMark: IRectMark;\n private _nonLeafMark: IRectMark;\n private _labelMark: ITextMark;\n private _nonLeafLabelMark: ITextMark;\n\n protected declare _spec: ITreemapSeriesSpec;\n\n protected _categoryField!: string;\n getCategoryField() {\n return this._categoryField;\n }\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n protected _valueField!: string;\n getValueField() {\n return this._valueField;\n }\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n private _maxDepth: number;\n\n // global scale and translate matrix\n private _matrix: Matrix;\n\n // range for treemap layout, change while zoom and pan\n private _viewBox: IBounds = new Bounds();\n\n private _clickEnable: boolean = true;\n\n private _enableAnimationHook = this.enableMarkAnimation.bind(this);\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n this._matrix = new Matrix();\n }\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n if (isValidNumber(this._spec.maxDepth)) {\n this._maxDepth = this._spec.maxDepth - 1;\n }\n }\n\n initData() {\n super.initData();\n // 矩形树图中原始数据为层次结果,图元数据为平坦化后的结构,具体逻辑如下:\n // spec.data => rawData(hierarchy) => viewDataFilter => treemap transform => flatten transform => viewData\n if (this._viewDataFilter) {\n // 对原始数据进行上卷下钻筛选\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'treemap', treemap);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n this.addViewDataFilter({\n type: 'treemap',\n options: {\n range: () => {\n return {\n x0: this._viewBox.x1,\n x1: this._viewBox.x2,\n y0: this._viewBox.y1,\n y1: this._viewBox.y2\n };\n },\n maxDepth: this._maxDepth,\n gapWidth: this._spec.gapWidth,\n padding: this._spec.nodePadding,\n splitType: this._spec.splitType,\n aspectRatio: this._spec.aspectRatio,\n labelPadding: this._spec.nonLeafLabel?.visible ? this._spec.nonLeafLabel?.padding : 0,\n labelPosition: this._spec.nonLeafLabel?.position,\n minVisibleArea: this._spec.minVisibleArea ?? 10,\n minChildrenVisibleArea: this._spec.minChildrenVisibleArea,\n minChildrenVisibleSize: this._spec.minChildrenVisibleSize\n } as ITreemapOpt\n });\n\n this.addViewDataFilter({\n type: 'flatten',\n options: {\n callback: (node: TreemapNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n }\n\n protected _addDataIndexAndKey() {\n if (this._rawData?.dataSet) {\n registerDataSetInstanceTransform(this._rawData.dataSet, 'addVChartProperty', addVChartProperty);\n this._rawData.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addHierarchyDataKey.bind(this)\n }\n }\n // rawDataStatistic 需要统计 addHierarchyDataKey 的一些字段,所以必须要运行一下\n // false\n );\n }\n }\n\n protected _statisticRawData() {\n const rawDataName = `${PREFIX}_series_${this.id}_rawDataStatic`;\n this._rawDataStatistics = this._createHierarchyDataStatistics(rawDataName, [this._rawData]);\n this._rawData.target.removeListener('change', this._rawDataStatistics.reRunAllTransform);\n this._rawDataStatistics.reRunAllTransform();\n }\n\n protected _createHierarchyDataStatistics(dataName: string, rawData: DataView[]) {\n registerDataSetInstanceTransform(this._dataSet, 'hierarchyDimensionStatistics', hierarchyDimensionStatistics);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n const data = new DataView(this._dataSet, { name: dataName });\n data.parse(rawData, {\n type: 'dataview'\n });\n data.transform(\n {\n type: 'hierarchyDimensionStatistics',\n options: {\n fields: () => {\n const fields = this.getStatisticFields();\n if (this._seriesField && this._seriesField !== this._categoryField) {\n fields.push({\n key: this._seriesField,\n operations: ['values']\n });\n }\n return fields;\n }\n }\n },\n false\n );\n return data;\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n initMark() {\n const nonLeafMark = this._createMark(TreemapSeries.mark.nonLeaf, { isSeriesMark: true });\n if (nonLeafMark) {\n nonLeafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._trigger.registerMark(nonLeafMark);\n this._nonLeafMark = nonLeafMark;\n this._tooltipHelper?.activeTriggerSet.mark.add(nonLeafMark);\n }\n\n const leafMark = this._createMark(TreemapSeries.mark.leaf, { isSeriesMark: true });\n if (leafMark) {\n leafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._leafMark = leafMark;\n this._trigger.registerMark(leafMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(leafMark);\n }\n\n if (this._spec.label?.visible) {\n const textMark = this._createMark(TreemapSeries.mark.label, {\n skipBeforeLayouted: false\n });\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._labelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n\n if (this._spec.nonLeafLabel?.visible) {\n const textMark = this._createMark(TreemapSeries.mark.nonLeafLabel);\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter' as string,\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._nonLeafLabelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n }\n\n initMarkStyle() {\n this._initLeafMarkStyle();\n this._initNonLeafMarkStyle();\n this._initLabelMarkStyle();\n this._initNonLeafLabelMarkStyle();\n }\n\n protected _initLeafMarkStyle() {\n if (!this._leafMark) {\n return;\n }\n\n this.setMarkStyle<IRectMarkSpec>(\n this._leafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafMarkStyle() {\n if (!this._nonLeafMark) {\n return;\n }\n this.setMarkStyle<IRectMarkSpec>(\n this._nonLeafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initLabelMarkStyle() {\n if (!this._labelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._labelMark,\n {\n visible: (datum, ctx, { element }) => {\n const isLeaf = datum.isLeaf;\n if (!isLeaf) {\n return false;\n }\n const bounds = element.getBounds() as IBoundsLike;\n const { y0, y1 } = datum;\n // 只需要判断高度,宽度放不下会由 limit 来处理\n return !!bounds && bounds.y1 > y0 && bounds.y2 < y1;\n },\n x: datum => (datum.x0 + datum.x1) / 2,\n y: datum => (datum.y0 + datum.y1) / 2,\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: (datum: Datum) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafLabelMarkStyle() {\n if (!this._nonLeafLabelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._nonLeafLabelMark,\n {\n visible: datum => !!datum.labelRect,\n x: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.x0 + datum.labelRect.x1) / 2;\n }\n return (datum.x0 + datum.x1) / 2;\n },\n y: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.y0 + datum.labelRect.y1) / 2;\n }\n return (datum.y0 + datum.y1) / 2;\n },\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: (datum: any) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n initAnimation(): void {\n this.getMarksInType(MarkTypeEnum.rect).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.treemap(), userAnimationConfig(mark.name, this._spec))\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(mark.name, this._spec))\n );\n });\n }\n\n protected initEvent(): void {\n super.initEvent();\n // Roam\n if (this._spec.roam) {\n // 拖拽事件\n (this as unknown as IZoomable).initDragEventOfSeries(this);\n this.event.on('panmove', e => {\n this.handlePan(e as PanEventParam);\n });\n // 缩放事件\n (this as unknown as IZoomable).initZoomEventOfSeries(this);\n this.event.on('zoom', e => {\n this.handleZoom(e as ZoomEventParam);\n });\n }\n // Drill\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n protected _getDataIdKey() {\n return 'key';\n }\n\n protected initTooltip() {\n this._tooltipHelper = new TreemapTooltipHelper(this);\n }\n\n private _shouldFilterElement(datum: TreemapNodeElement, nodeType: 'leaf' | 'nonLeaf') {\n const isLeaf = datum.isLeaf;\n // 过滤掉非需要的节点\n return nodeType === 'leaf' ? !isLeaf : isLeaf;\n }\n\n handlePan(event: PanEventParam) {\n const { delta } = event;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n this._matrix.reset();\n this._matrix.translate(delta[0], delta[1]);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n\n this._viewBox.transformWithMatrix(this._matrix);\n\n this.reFilterViewData();\n }\n\n handleZoom(event: ZoomEventParam) {\n const { scale, scaleCenter } = event;\n if (scale === 1) {\n return;\n }\n\n this._matrix.reset();\n const { x, y } = scaleCenter;\n this._matrix.translate(x, y);\n this._matrix.scale(scale, scale);\n this._matrix.translate(-x, -y);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n // 缩放过程中会有新增/减少的element,对应执行enter/exit动画,会使得缩放交互效果体验很差\n // 这里在缩放过程中先关闭所有动画\n this.disableMarkAnimation();\n this.event.on(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n this._viewBox.transformWithMatrix(this._matrix);\n this.reFilterViewData();\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._viewBox.set(0, 0, this.getLayoutRect().width, this.getLayoutRect().height);\n this._rawData.reRunAllTransform();\n }\n\n protected enableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.enable();\n });\n // 在所有动画执行之后关闭动画\n this.event.off(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n }\n\n protected disableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.disable();\n });\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n\nmixin(TreemapSeries, Zoomable);\nmixin(TreemapSeries, Drillable);\n"]}
1
+ {"version":3,"sources":["../src/series/treemap/treemap.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AACtD,6CAA+F;AAC/F,oDAAoD;AAIpD,sDAAyD;AAEzD,4CAA8C;AAE9C,kDAAuE;AAEvE,2DAAwD;AACxD,2DAAwD;AAExD,6CAAwE;AAGxE,iDAA8C;AAC9C,yGAAoG;AACpG,qEAAuE;AACvE,6DAAiF;AACjF,wDAA2F;AAC3F,qDAAwD;AACxD,iDAA6E;AAC7E,mDAAgE;AAGhE,8DAA2D;AAE3D,iEAA8D;AAC9D,8CAA2C;AAC3C,0CAA2C;AAC3C,0CAA2C;AAC3C,yCAA+C;AAE/C,eAAM,CAAC,OAAO,CAAC,CAAC,eAAQ,EAAE,eAAQ,CAAC,CAAC,CAAC;AAErC,MAAa,aAAc,SAAQ,2BAAoB;IAAvD;;QAEE,SAAI,GAAG,0BAAc,CAAC,OAAO,CAAC;QAmCtB,aAAQ,GAAY,IAAI,eAAM,EAAE,CAAC;QAEjC,iBAAY,GAAY,IAAI,CAAC;QAE7B,yBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA2brE,CAAC;IAtdC,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,gBAAgB,CAAC,CAAS;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAcD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,kCAAsB,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAClB,IAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,aAAa,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,2BAAgB,CAAA,EAAA;gBAC3D,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;aACpC,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,QAAQ;;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QAGjB,IAAI,IAAI,CAAC,eAAe,EAAE;YAExB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACnB,IAA8B,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClE;YAED,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;YACpE,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;YAEpE,IAAI,CAAC,iBAAiB,CAAC;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,KAAK,EAAE,GAAG,EAAE;wBACV,OAAO;4BACL,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;yBACrB,CAAC;oBACJ,CAAC;oBACD,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBACnC,YAAY,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,EAAC,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrF,aAAa,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,QAAQ;oBAChD,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,EAAE;oBAC/C,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;oBACzD,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;iBAC3C;aACjB,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,IAAwB,EAAE,EAAE;wBACrC,IAAI,IAAI,CAAC,KAAK,EAAE;4BACd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACxC,uCAAY,IAAI,GAAK,QAAQ,EAAG;yBACjC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAES,mBAAmB;;QAC3B,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE;YAC1B,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,gCAAiB,CAAC,CAAC;YAChG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACrB;gBACE,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACP,UAAU,EAAE,qBAAU;oBACtB,IAAI,EAAE,8BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;iBACrC;aACF,CAGF,CAAC;SACH;IACH,CAAC;IAES,iBAAiB;QACzB,MAAM,WAAW,GAAG,GAAG,iBAAM,WAAW,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACzF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;IAC9C,CAAC;IAES,8BAA8B,CAAC,QAAgB,EAAE,OAAmB;QAC5E,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,EAAE,6DAA4B,CAAC,CAAC;QAC9G,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CACZ;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE;gBACP,MAAM,EAAE,GAAG,EAAE;oBACX,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE;wBAClE,MAAM,CAAC,IAAI,CAAC;4BACV,GAAG,EAAE,IAAI,CAAC,YAAY;4BACtB,UAAU,EAAE,CAAC,QAAQ,CAAC;yBACvB,CAAC,CAAC;qBACJ;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF;SACF,EACD,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB;gBACE,GAAG,EAAE,IAAI,CAAC,cAAc;gBACxB,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB;YACD;gBACE,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aAC3B;YACD;gBACE,GAAG,EAAE,mCAAuB;gBAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;aACrC;YACD;gBACE,GAAG,EAAE,kCAAsB;gBAC3B,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,YAAY,CAAC;gBACvB;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACtD,CAAC;iBACe;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC7D;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,YAAY,CAAC;gBACpB;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACnD,CAAC;iBACe;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC1D;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,OAAO,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC1D,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,YAAY,CAAC;oBACpB;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBACnD,CAAC;qBACe;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,YAAY,CAAC;oBACpB;wBACE,IAAI,EAAE,QAAkB;wBACxB,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBACtD,CAAC;qBACe;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC1D;SACF;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,YAAY,EACjB;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,mBAAmB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,KAAK,CAAC;iBACd;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAiB,CAAC;gBAClD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;gBAEzB,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YACtD,CAAC;YACD,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;YACrC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;gBACtB,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;SACF,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,0BAA0B;QAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,iBAAiB,EACtB;YACE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;YACnC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE;gBACpB,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;SACF,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,cAAc,CAAC,wBAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EAAC,+BAAsB,CAAC,OAAO,EAAE,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC9F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,wBAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EAAC,+BAAsB,CAAC,KAAK,EAAE,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAElB,IAA6B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,CAAkB,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEF,IAA6B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,UAAU,CAAC,CAAmB,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,cAAc,EAAE,CAAC;SAClD;IACH,CAAC;IAES,aAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,qCAAoB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEO,oBAAoB,CAAC,KAAyB,EAAE,QAA4B;QAClF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAoB;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,KAAqB;QAC9B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAGxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,8BAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAES,mBAAmB;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YAC7B,MAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8BAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjF,CAAC;IAES,oBAAoB;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YAC7B,MAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAneH,sCAoeC;AAneiB,kBAAI,GAAW,0BAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,GAAkB,4BAAiB,CAAC;AAke1D,IAAA,cAAK,EAAC,aAAa,EAAE,mBAAQ,CAAC,CAAC;AAC/B,IAAA,cAAK,EAAC,aAAa,EAAE,qBAAS,CAAC,CAAC","file":"treemap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { AttributeLevel, DEFAULT_DATA_KEY, PREFIX, VGRAMMAR_HOOK_EVENT } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { ITextMark } from '../../mark/text';\nimport type { Datum, IRectMarkSpec, ITextMarkSpec } from '../../typings';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport type { ITreemapSeriesSpec } from './interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport type { ITreemapOpt } from '../../data/transforms/treemap';\nimport { treemap } from '../../data/transforms/treemap';\nimport { flatten } from '../../data/transforms/flatten';\nimport type { IBounds, IBoundsLike } from '@visactor/vutils';\nimport { isValidNumber, Bounds, Matrix, mixin } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { TreemapNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { DataView } from '@visactor/vdataset';\nimport { hierarchyDimensionStatistics } from '../../data/transforms/hierarchy-dimension-statistics';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addHierarchyDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport { TreemapTooltipHelper } from './tooltip-helper';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { TransformSpec } from '@visactor/vgrammar-core';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { VChart } from '../../core/vchart';\nimport { RectMark } from '../../mark/rect';\nimport { TextMark } from '../../mark/text';\nimport { treemapSeriesMark } from './constant';\n\nVChart.useMark([RectMark, TextMark]);\n\nexport class TreemapSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.treemap;\n type = SeriesTypeEnum.treemap;\n\n static readonly mark: SeriesMarkMap = treemapSeriesMark;\n\n private _leafMark: IRectMark;\n private _nonLeafMark: IRectMark;\n private _labelMark: ITextMark;\n private _nonLeafLabelMark: ITextMark;\n\n protected declare _spec: ITreemapSeriesSpec;\n\n protected _categoryField!: string;\n getCategoryField() {\n return this._categoryField;\n }\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n protected _valueField!: string;\n getValueField() {\n return this._valueField;\n }\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n private _maxDepth: number;\n\n // global scale and translate matrix\n private _matrix: Matrix;\n\n // range for treemap layout, change while zoom and pan\n private _viewBox: IBounds = new Bounds();\n\n private _clickEnable: boolean = true;\n\n private _enableAnimationHook = this.enableMarkAnimation.bind(this);\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n this._matrix = new Matrix();\n }\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n if (isValidNumber(this._spec.maxDepth)) {\n this._maxDepth = this._spec.maxDepth - 1;\n }\n }\n\n initData() {\n super.initData();\n // 矩形树图中原始数据为层次结果,图元数据为平坦化后的结构,具体逻辑如下:\n // spec.data => rawData(hierarchy) => viewDataFilter => treemap transform => flatten transform => viewData\n if (this._viewDataFilter) {\n // 对原始数据进行上卷下钻筛选\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'treemap', treemap);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n this.addViewDataFilter({\n type: 'treemap',\n options: {\n range: () => {\n return {\n x0: this._viewBox.x1,\n x1: this._viewBox.x2,\n y0: this._viewBox.y1,\n y1: this._viewBox.y2\n };\n },\n maxDepth: this._maxDepth,\n gapWidth: this._spec.gapWidth,\n padding: this._spec.nodePadding,\n splitType: this._spec.splitType,\n aspectRatio: this._spec.aspectRatio,\n labelPadding: this._spec.nonLeafLabel?.visible ? this._spec.nonLeafLabel?.padding : 0,\n labelPosition: this._spec.nonLeafLabel?.position,\n minVisibleArea: this._spec.minVisibleArea ?? 10,\n minChildrenVisibleArea: this._spec.minChildrenVisibleArea,\n minChildrenVisibleSize: this._spec.minChildrenVisibleSize\n } as ITreemapOpt\n });\n\n this.addViewDataFilter({\n type: 'flatten',\n options: {\n callback: (node: TreemapNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n }\n\n protected _addDataIndexAndKey() {\n if (this._rawData?.dataSet) {\n registerDataSetInstanceTransform(this._rawData.dataSet, 'addVChartProperty', addVChartProperty);\n this._rawData.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addHierarchyDataKey.bind(this)\n }\n }\n // rawDataStatistic 需要统计 addHierarchyDataKey 的一些字段,所以必须要运行一下\n // false\n );\n }\n }\n\n protected _statisticRawData() {\n const rawDataName = `${PREFIX}_series_${this.id}_rawDataStatic`;\n this._rawDataStatistics = this._createHierarchyDataStatistics(rawDataName, [this._rawData]);\n this._rawData.target.removeListener('change', this._rawDataStatistics.reRunAllTransform);\n this._rawDataStatistics.reRunAllTransform();\n }\n\n protected _createHierarchyDataStatistics(dataName: string, rawData: DataView[]) {\n registerDataSetInstanceTransform(this._dataSet, 'hierarchyDimensionStatistics', hierarchyDimensionStatistics);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n const data = new DataView(this._dataSet, { name: dataName });\n data.parse(rawData, {\n type: 'dataview'\n });\n data.transform(\n {\n type: 'hierarchyDimensionStatistics',\n options: {\n fields: () => {\n const fields = this.getStatisticFields();\n if (this._seriesField && this._seriesField !== this._categoryField) {\n fields.push({\n key: this._seriesField,\n operations: ['values']\n });\n }\n return fields;\n }\n }\n },\n false\n );\n return data;\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n initMark() {\n const nonLeafMark = this._createMark(TreemapSeries.mark.nonLeaf, { isSeriesMark: true });\n if (nonLeafMark) {\n nonLeafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._trigger.registerMark(nonLeafMark);\n this._nonLeafMark = nonLeafMark;\n this._tooltipHelper?.activeTriggerSet.mark.add(nonLeafMark);\n }\n\n const leafMark = this._createMark(TreemapSeries.mark.leaf, { isSeriesMark: true });\n if (leafMark) {\n leafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._leafMark = leafMark;\n this._trigger.registerMark(leafMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(leafMark);\n }\n\n if (this._spec.label?.visible) {\n const textMark = this._createMark(TreemapSeries.mark.label, {\n skipBeforeLayouted: false\n });\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._labelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n\n if (this._spec.nonLeafLabel?.visible) {\n const textMark = this._createMark(TreemapSeries.mark.nonLeafLabel);\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter' as string,\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._nonLeafLabelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n }\n\n initMarkStyle() {\n this._initLeafMarkStyle();\n this._initNonLeafMarkStyle();\n this._initLabelMarkStyle();\n this._initNonLeafLabelMarkStyle();\n }\n\n protected _initLeafMarkStyle() {\n if (!this._leafMark) {\n return;\n }\n\n this.setMarkStyle<IRectMarkSpec>(\n this._leafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafMarkStyle() {\n if (!this._nonLeafMark) {\n return;\n }\n this.setMarkStyle<IRectMarkSpec>(\n this._nonLeafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initLabelMarkStyle() {\n if (!this._labelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._labelMark,\n {\n visible: (datum, ctx, { element }) => {\n const isLeaf = datum.isLeaf;\n if (!isLeaf) {\n return false;\n }\n const bounds = element.getBounds() as IBoundsLike;\n const { y0, y1 } = datum;\n // 只需要判断高度,宽度放不下会由 limit 来处理\n return !!bounds && bounds.y1 > y0 && bounds.y2 < y1;\n },\n x: datum => (datum.x0 + datum.x1) / 2,\n y: datum => (datum.y0 + datum.y1) / 2,\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: (datum: Datum) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafLabelMarkStyle() {\n if (!this._nonLeafLabelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._nonLeafLabelMark,\n {\n visible: datum => !!datum.labelRect,\n x: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.x0 + datum.labelRect.x1) / 2;\n }\n return (datum.x0 + datum.x1) / 2;\n },\n y: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.y0 + datum.labelRect.y1) / 2;\n }\n return (datum.y0 + datum.y1) / 2;\n },\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: (datum: any) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n initAnimation(): void {\n this.getMarksInType(MarkTypeEnum.rect).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.treemap(), userAnimationConfig(mark.name, this._spec))\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(mark.name, this._spec))\n );\n });\n }\n\n protected initEvent(): void {\n super.initEvent();\n // Roam\n if (this._spec.roam) {\n // 拖拽事件\n (this as unknown as IZoomable).initDragEventOfSeries(this);\n this.event.on('panmove', e => {\n this.handlePan(e as PanEventParam);\n });\n // 缩放事件\n (this as unknown as IZoomable).initZoomEventOfSeries(this);\n this.event.on('zoom', e => {\n this.handleZoom(e as ZoomEventParam);\n });\n }\n // Drill\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n protected _getDataIdKey() {\n return 'key';\n }\n\n protected initTooltip() {\n this._tooltipHelper = new TreemapTooltipHelper(this);\n }\n\n private _shouldFilterElement(datum: TreemapNodeElement, nodeType: 'leaf' | 'nonLeaf') {\n const isLeaf = datum.isLeaf;\n // 过滤掉非需要的节点\n return nodeType === 'leaf' ? !isLeaf : isLeaf;\n }\n\n handlePan(event: PanEventParam) {\n const { delta } = event;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n this._matrix.reset();\n this._matrix.translate(delta[0], delta[1]);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n\n this._viewBox.transformWithMatrix(this._matrix);\n\n this.reFilterViewData();\n }\n\n handleZoom(event: ZoomEventParam) {\n const { scale, scaleCenter } = event;\n if (scale === 1) {\n return;\n }\n\n this._matrix.reset();\n const { x, y } = scaleCenter;\n this._matrix.translate(x, y);\n this._matrix.scale(scale, scale);\n this._matrix.translate(-x, -y);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n // 缩放过程中会有新增/减少的element,对应执行enter/exit动画,会使得缩放交互效果体验很差\n // 这里在缩放过程中先关闭所有动画\n this.disableMarkAnimation();\n this.event.on(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n this._viewBox.transformWithMatrix(this._matrix);\n this.reFilterViewData();\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._viewBox.set(0, 0, this.getLayoutRect().width, this.getLayoutRect().height);\n this._rawData.reRunAllTransform();\n }\n\n protected enableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.enable();\n });\n // 在所有动画执行之后关闭动画\n this.event.off(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n }\n\n protected disableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.disable();\n });\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n\nmixin(TreemapSeries, Zoomable);\nmixin(TreemapSeries, Drillable);\n"]}
@@ -1,4 +1,4 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  import type { IBarAnimationParams, BarAppearPreset } from '../bar/animation';
3
3
  export type WaterfallAppearPreset = BarAppearPreset;
4
4
  export declare function waterfallPresetAnimation(params: IBarAnimationParams, preset: BarAppearPreset): IAnimationTypeConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/waterfall/animation.ts"],"names":[],"mappings":";;;AAEA,gDAA6C;AAI7C,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,cAAc,GAAyB;IAC3C,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,SAAgB,wBAAwB,CAAC,MAA2B,EAAE,MAAuB;IAC3F,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,IAAA,qBAAS,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACnC;AACH,CAAC;AATD,4DASC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar';\nimport type { IBarAnimationParams, BarAppearPreset } from '../bar/animation';\nimport { barGrowIn } from '../bar/animation';\n\nexport type WaterfallAppearPreset = BarAppearPreset;\n\nconst Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nconst Appear_ScaleIn: IAnimationTypeConfig = {\n type: 'growCenterIn'\n};\n\nexport function waterfallPresetAnimation(params: IBarAnimationParams, preset: BarAppearPreset): IAnimationTypeConfig {\n switch (preset) {\n case 'fadeIn':\n return Appear_FadeIn;\n case 'scaleIn':\n return Appear_ScaleIn;\n default:\n return barGrowIn(params, false);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/waterfall/animation.ts"],"names":[],"mappings":";;;AAEA,gDAA6C;AAI7C,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,cAAc,GAAyB;IAC3C,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,SAAgB,wBAAwB,CAAC,MAA2B,EAAE,MAAuB;IAC3F,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,IAAA,qBAAS,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACnC;AACH,CAAC;AATD,4DASC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\nimport type { IBarAnimationParams, BarAppearPreset } from '../bar/animation';\nimport { barGrowIn } from '../bar/animation';\n\nexport type WaterfallAppearPreset = BarAppearPreset;\n\nconst Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nconst Appear_ScaleIn: IAnimationTypeConfig = {\n type: 'growCenterIn'\n};\n\nexport function waterfallPresetAnimation(params: IBarAnimationParams, preset: BarAppearPreset): IAnimationTypeConfig {\n switch (preset) {\n case 'fadeIn':\n return Appear_FadeIn;\n case 'scaleIn':\n return Appear_ScaleIn;\n default:\n return barGrowIn(params, false);\n }\n}\n"]}
@@ -1,6 +1,12 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  export interface IWordcloud3dAnimationParams {
3
3
  radius: number;
4
4
  depth_3d: number;
5
5
  }
6
+ export interface IWordcloudAnimationParams {
7
+ animationConfig: () => IAnimationTypeConfig;
8
+ }
9
+ export type WordcloudAppearPreset = 'scaleIn' | 'fadeIn';
6
10
  export declare const WordCloud3dAnimation: (params: IWordcloud3dAnimationParams | (() => any)) => IAnimationTypeConfig;
11
+ export declare const WordCloudScaleInAnimation: (params: IWordcloudAnimationParams) => IAnimationTypeConfig;
12
+ export declare function wordcloudPresetAnimation(params: IWordcloudAnimationParams, preset: WordcloudAppearPreset | boolean): IAnimationTypeConfig;
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.WordCloud3dAnimation = void 0;
5
+ }), exports.wordcloudPresetAnimation = exports.WordCloudScaleInAnimation = exports.WordCloud3dAnimation = void 0;
6
6
 
7
- const vrender_1 = require("@visactor/vrender"), WordCloud3dAnimation = params => ({
7
+ const vrender_1 = require("@visactor/vrender"), config_1 = require("../../animation/config"), WordCloud3dAnimation = params => ({
8
8
  custom: vrender_1.RotateBySphereAnimate,
9
9
  customParameters: (datum, element) => params,
10
10
  easing: "linear",
@@ -12,5 +12,30 @@ const vrender_1 = require("@visactor/vrender"), WordCloud3dAnimation = params =>
12
12
  duration: 6e3
13
13
  });
14
14
 
15
+ function computeWordDelay(duration, totalTime, wordCount) {
16
+ return duration * wordCount < totalTime ? duration + (totalTime - wordCount * duration) / (wordCount - 1) : (totalTime - duration) / (wordCount - 1);
17
+ }
18
+
15
19
  exports.WordCloud3dAnimation = WordCloud3dAnimation;
20
+
21
+ const WordCloudScaleInAnimation = params => ({
22
+ channel: {
23
+ fontSize: {
24
+ from: 0
25
+ }
26
+ },
27
+ duration: 200,
28
+ delay: (datum, element, vgrammarParams) => {
29
+ const animationConfig = params.animationConfig(), duration = (null == animationConfig ? void 0 : animationConfig.duration) || 200, totalTime = (null == animationConfig ? void 0 : animationConfig.totalTime) || config_1.DEFAULT_ANIMATION_CONFIG.appear.duration, count = vgrammarParams.VGRAMMAR_ANIMATION_PARAMETERS.elementCount;
30
+ return vgrammarParams.VGRAMMAR_ANIMATION_PARAMETERS.elementIndex * computeWordDelay(duration, totalTime, count);
31
+ }
32
+ });
33
+
34
+ function wordcloudPresetAnimation(params, preset) {
35
+ return !1 === preset ? {} : "fadeIn" === preset ? {
36
+ type: "fadeIn"
37
+ } : (0, exports.WordCloudScaleInAnimation)(params);
38
+ }
39
+
40
+ exports.WordCloudScaleInAnimation = WordCloudScaleInAnimation, exports.wordcloudPresetAnimation = wordcloudPresetAnimation;
16
41
  //# sourceMappingURL=animation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/animation.ts"],"names":[],"mappings":";;;AACA,+CAA0D;AAOnD,MAAM,oBAAoB,GAAG,CAAC,MAAiD,EAAwB,EAAE;IAC9G,OAAO;QACL,MAAM,EAAE,+BAAqB;QAC7B,gBAAgB,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;YAClD,OAAO,MAAM,CAAC;QAEhB,CAAC;QACD,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig, IElement } from '@visactor/vgrammar';\nimport { RotateBySphereAnimate } from '@visactor/vrender';\n\nexport interface IWordcloud3dAnimationParams {\n radius: number;\n depth_3d: number;\n}\n\nexport const WordCloud3dAnimation = (params: IWordcloud3dAnimationParams | (() => any)): IAnimationTypeConfig => {\n return {\n custom: RotateBySphereAnimate,\n customParameters: (datum: any, element: IElement) => {\n return params;\n // return { center: { x: params.radius, y: params.radius, z: params.depth_3d }, r: params.radius };\n },\n easing: 'linear',\n loop: Infinity,\n duration: 6000\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/animation.ts"],"names":[],"mappings":";;;AACA,+CAA0D;AAC1D,mDAAkE;AAa3D,MAAM,oBAAoB,GAAG,CAAC,MAAiD,EAAwB,EAAE;IAC9G,OAAO;QACL,MAAM,EAAE,+BAAqB;QAC7B,gBAAgB,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;YAClD,OAAO,MAAM,CAAC;QAEhB,CAAC;QACD,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B;AAEF,SAAS,gBAAgB,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB;IAC9E,IAAI,QAAQ,GAAG,SAAS,GAAG,SAAS,EAAE;QACpC,OAAO,QAAQ,GAAG,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;KACxE;IACD,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAEM,MAAM,yBAAyB,GAAG,CAAC,MAAiC,EAAwB,EAAE;IACnG,OAAO;QACL,OAAO,EAAE;YACP,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC;aACR;SACF;QACD,QAAQ,EAAE,GAAG;QACb,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;YACxC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,KAAI,GAAG,CAAC;YAClD,MAAM,SAAS,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,KAAI,iCAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzF,MAAM,KAAK,GAAG,cAAc,CAAC,6BAA6B,CAAC,YAAY,CAAC;YACxE,MAAM,KAAK,GAAG,cAAc,CAAC,6BAA6B,CAAC,YAAY,CAAC;YACxE,OAAO,KAAK,GAAG,gBAAgB,CAAC,QAAkB,EAAE,SAAmB,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,yBAAyB,6BAiBpC;AAEF,SAAgB,wBAAwB,CACtC,MAAiC,EACjC,MAAuC;IAEvC,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,SAAS,CAAC;QACf;YACE,OAAO,IAAA,iCAAyB,EAAC,MAAM,CAAC,CAAC;KAC5C;AACH,CAAC;AAdD,4DAcC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig, IElement } from '@visactor/vgrammar-core';\nimport { RotateBySphereAnimate } from '@visactor/vrender';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\n\nexport interface IWordcloud3dAnimationParams {\n radius: number;\n depth_3d: number;\n}\n\nexport interface IWordcloudAnimationParams {\n animationConfig: () => IAnimationTypeConfig;\n}\n\nexport type WordcloudAppearPreset = 'scaleIn' | 'fadeIn';\n\nexport const WordCloud3dAnimation = (params: IWordcloud3dAnimationParams | (() => any)): IAnimationTypeConfig => {\n return {\n custom: RotateBySphereAnimate,\n customParameters: (datum: any, element: IElement) => {\n return params;\n // return { center: { x: params.radius, y: params.radius, z: params.depth_3d }, r: params.radius };\n },\n easing: 'linear',\n loop: Infinity,\n duration: 6000\n };\n};\n\nfunction computeWordDelay(duration: number, totalTime: number, wordCount: number) {\n if (duration * wordCount < totalTime) {\n return duration + (totalTime - wordCount * duration) / (wordCount - 1);\n }\n return (totalTime - duration) / (wordCount - 1);\n}\n\nexport const WordCloudScaleInAnimation = (params: IWordcloudAnimationParams): IAnimationTypeConfig => {\n return {\n channel: {\n fontSize: {\n from: 0\n }\n },\n duration: 200,\n delay: (datum, element, vgrammarParams) => {\n const animationConfig = params.animationConfig();\n const duration = animationConfig?.duration || 200;\n const totalTime = animationConfig?.totalTime || DEFAULT_ANIMATION_CONFIG.appear.duration;\n const count = vgrammarParams.VGRAMMAR_ANIMATION_PARAMETERS.elementCount;\n const index = vgrammarParams.VGRAMMAR_ANIMATION_PARAMETERS.elementIndex;\n return index * computeWordDelay(duration as number, totalTime as number, count);\n }\n };\n};\n\nexport function wordcloudPresetAnimation(\n params: IWordcloudAnimationParams,\n preset: WordcloudAppearPreset | boolean\n): IAnimationTypeConfig {\n if (preset === false) {\n return {};\n }\n switch (preset) {\n case 'fadeIn':\n return { type: 'fadeIn' };\n case 'scaleIn':\n default:\n return WordCloudScaleInAnimation(params);\n }\n}\n"]}
@@ -81,8 +81,19 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
81
81
  this._trigger.registerMark(fillingWordMark), null === (_c = this._tooltipHelper) || void 0 === _c || _c.activeTriggerSet.mark.add(fillingWordMark);
82
82
  }
83
83
  initAnimation() {
84
- this._wordMark && this._wordMark.setAnimationConfig((0, utils_1.animationConfig)(config_2.DEFAULT_MARK_ANIMATION.wordCloud(), (0,
85
- utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.word, this._spec)));
84
+ [ this._wordMark, this._fillingWordMark ].forEach((mark => {
85
+ var _a, _b;
86
+ if (mark) {
87
+ const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset, params = {
88
+ animationConfig: () => {
89
+ var _a, _b;
90
+ return null === (_b = null === (_a = mark.getAnimationConfig()) || void 0 === _a ? void 0 : _a.appear) || void 0 === _b ? void 0 : _b[0];
91
+ }
92
+ };
93
+ mark.setAnimationConfig((0, utils_1.animationConfig)(config_2.DEFAULT_MARK_ANIMATION.wordCloud(params, appearPreset), (0,
94
+ utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.word, this._spec)));
95
+ }
96
+ }));
86
97
  }
87
98
  getWordOrdinalColorScale(field, isFillingWord) {
88
99
  var _a, _b, _c, _d, _e;