@visactor/vchart 1.12.0-alpha.9 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/build/es5/index.js +12 -12
  2. package/build/index.js +36934 -38212
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/animate-manager.js +2 -2
  6. package/cjs/animation/animate-manager.js.map +1 -1
  7. package/cjs/animation/config.d.ts +4 -0
  8. package/cjs/animation/config.js +4 -0
  9. package/cjs/animation/config.js.map +1 -1
  10. package/cjs/animation/spec.d.ts +2 -1
  11. package/cjs/animation/spec.js.map +1 -1
  12. package/cjs/animation/utils.js +13 -9
  13. package/cjs/animation/utils.js.map +1 -1
  14. package/cjs/chart/bar/3d/bar-3d.js +2 -2
  15. package/cjs/chart/bar/3d/bar-3d.js.map +1 -1
  16. package/cjs/chart/base/base-chart-transformer.js +1 -0
  17. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  18. package/cjs/chart/base/base-chart.js +12 -10
  19. package/cjs/chart/base/base-chart.js.map +1 -1
  20. package/cjs/chart/funnel/3d/funnel-3d.js +2 -2
  21. package/cjs/chart/funnel/3d/funnel-3d.js.map +1 -1
  22. package/cjs/chart/gauge/gauge-transformer.js +3 -3
  23. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  24. package/cjs/chart/histogram/3d/histogram-3d.js +2 -2
  25. package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
  26. package/cjs/chart/liquid/liquid-transformer.js +1 -0
  27. package/cjs/chart/liquid/liquid-transformer.js.map +1 -1
  28. package/cjs/chart/pie/3d/pie-3d.js +2 -2
  29. package/cjs/chart/pie/3d/pie-3d.js.map +1 -1
  30. package/cjs/chart/pie/base/pie-transformer.js +4 -1
  31. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  32. package/cjs/chart/polar/interface.d.ts +3 -2
  33. package/cjs/chart/polar/interface.js.map +1 -1
  34. package/cjs/chart/range-column/3d/range-column-3d.js +3 -2
  35. package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
  36. package/cjs/chart/rose/rose-transformer.js +4 -4
  37. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  38. package/cjs/chart/stack.js +2 -2
  39. package/cjs/chart/stack.js.map +1 -1
  40. package/cjs/chart/sunburst/sunburst-transformer.js +2 -2
  41. package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
  42. package/cjs/chart/util.js +4 -3
  43. package/cjs/chart/util.js.map +1 -1
  44. package/cjs/chart/word-cloud/3d/word-cloud-3d.js +5 -3
  45. package/cjs/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
  46. package/cjs/compile/compilable-base.js +1 -2
  47. package/cjs/compile/compiler.js +7 -7
  48. package/cjs/compile/compiler.js.map +1 -1
  49. package/cjs/compile/grammar-item.js +2 -1
  50. package/cjs/compile/mark/compilable-mark.js +6 -6
  51. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  52. package/cjs/compile/mark/mark-data.js +2 -2
  53. package/cjs/compile/mark/mark-data.js.map +1 -1
  54. package/cjs/compile/mark/mark-state-manager.js +3 -3
  55. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  56. package/cjs/component/axis/base-axis.d.ts +1 -0
  57. package/cjs/component/axis/base-axis.js +18 -16
  58. package/cjs/component/axis/base-axis.js.map +1 -1
  59. package/cjs/component/axis/cartesian/axis.js +10 -10
  60. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  61. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  62. package/cjs/component/axis/cartesian/band-axis.js +7 -1
  63. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  64. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -0
  65. package/cjs/component/axis/cartesian/linear-axis.js +7 -1
  66. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  67. package/cjs/component/axis/cartesian/log-axis.d.ts +1 -0
  68. package/cjs/component/axis/cartesian/log-axis.js +7 -1
  69. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  70. package/cjs/component/axis/cartesian/symlog-axis.d.ts +1 -0
  71. package/cjs/component/axis/cartesian/symlog-axis.js +7 -1
  72. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -1
  73. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -0
  74. package/cjs/component/axis/cartesian/time-axis.js +8 -2
  75. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  76. package/cjs/component/axis/interface/common.d.ts +2 -2
  77. package/cjs/component/axis/interface/common.js.map +1 -1
  78. package/cjs/component/axis/mixin/linear-axis-mixin.js +5 -5
  79. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  80. package/cjs/component/axis/polar/axis.d.ts +2 -2
  81. package/cjs/component/axis/polar/axis.js +21 -25
  82. package/cjs/component/axis/polar/axis.js.map +1 -1
  83. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  84. package/cjs/component/axis/polar/band-axis.js +8 -1
  85. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  86. package/cjs/component/axis/polar/interface/spec.d.ts +3 -2
  87. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  88. package/cjs/component/axis/polar/linear-axis.d.ts +1 -0
  89. package/cjs/component/axis/polar/linear-axis.js +8 -1
  90. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  91. package/cjs/component/axis/polar/util/common.d.ts +3 -0
  92. package/cjs/component/axis/polar/util/common.js +14 -5
  93. package/cjs/component/axis/polar/util/common.js.map +1 -1
  94. package/cjs/component/base/base-component.js +2 -2
  95. package/cjs/component/base/base-component.js.map +1 -1
  96. package/cjs/component/brush/brush.js +18 -17
  97. package/cjs/component/brush/brush.js.map +1 -1
  98. package/cjs/component/crosshair/base.d.ts +1 -0
  99. package/cjs/component/crosshair/base.js +28 -31
  100. package/cjs/component/crosshair/base.js.map +1 -1
  101. package/cjs/component/crosshair/utils/common.js +6 -5
  102. package/cjs/component/crosshair/utils/common.js.map +1 -1
  103. package/cjs/component/custom-mark/custom-mark.js +4 -4
  104. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  105. package/cjs/component/data-zoom/data-filter-base-component.js +3 -3
  106. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  107. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  108. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  109. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +4 -4
  110. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  111. package/cjs/component/geo/geo-coordinate.js +10 -7
  112. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  113. package/cjs/component/geo/interface.d.ts +4 -0
  114. package/cjs/component/geo/interface.js.map +1 -1
  115. package/cjs/component/indicator/indicator.js +3 -3
  116. package/cjs/component/indicator/indicator.js.map +1 -1
  117. package/cjs/component/indicator/interface.d.ts +3 -1
  118. package/cjs/component/indicator/interface.js.map +1 -1
  119. package/cjs/component/label/base-label.js +2 -2
  120. package/cjs/component/label/base-label.js.map +1 -1
  121. package/cjs/component/label/label.js +7 -7
  122. package/cjs/component/label/label.js.map +1 -1
  123. package/cjs/component/label/total-label.js +5 -5
  124. package/cjs/component/label/total-label.js.map +1 -1
  125. package/cjs/component/legend/base-legend.js +8 -7
  126. package/cjs/component/legend/base-legend.js.map +1 -1
  127. package/cjs/component/legend/continuous/legend.js +2 -2
  128. package/cjs/component/legend/continuous/legend.js.map +1 -1
  129. package/cjs/component/legend/discrete/legend.js +4 -4
  130. package/cjs/component/legend/discrete/legend.js.map +1 -1
  131. package/cjs/component/legend/util.d.ts +1 -1
  132. package/cjs/component/map-label/component.d.ts +1 -1
  133. package/cjs/component/map-label/component.js +5 -5
  134. package/cjs/component/map-label/component.js.map +1 -1
  135. package/cjs/component/marker/interface.d.ts +2 -1
  136. package/cjs/component/marker/interface.js.map +1 -1
  137. package/cjs/component/marker/mark-area/base-mark-area.js +2 -2
  138. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
  139. package/cjs/component/marker/mark-line/base-mark-line.js +2 -2
  140. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  141. package/cjs/component/marker/mark-point/base-mark-point.js +2 -2
  142. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  143. package/cjs/component/marker/utils.js +2 -1
  144. package/cjs/component/marker/utils.js.map +1 -1
  145. package/cjs/component/player/player.js +9 -9
  146. package/cjs/component/player/player.js.map +1 -1
  147. package/cjs/component/title/title.js +2 -2
  148. package/cjs/component/title/title.js.map +1 -1
  149. package/cjs/component/tooltip/constant.js +3 -3
  150. package/cjs/component/tooltip/constant.js.map +1 -1
  151. package/cjs/component/tooltip/processor/base.js +2 -2
  152. package/cjs/component/tooltip/processor/base.js.map +1 -1
  153. package/cjs/component/tooltip/tooltip-transformer.js +3 -3
  154. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  155. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  156. package/cjs/component/tooltip/tooltip.js +17 -13
  157. package/cjs/component/tooltip/tooltip.js.map +1 -1
  158. package/cjs/component/tooltip/utils/show-tooltip.js +3 -3
  159. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  160. package/cjs/constant/attribute.d.ts +13 -0
  161. package/cjs/constant/attribute.js +15 -0
  162. package/cjs/constant/attribute.js.map +1 -0
  163. package/cjs/constant/data.d.ts +22 -0
  164. package/cjs/constant/data.js +23 -0
  165. package/cjs/constant/data.js.map +1 -0
  166. package/cjs/constant/gradient.d.ts +43 -0
  167. package/cjs/constant/gradient.js +28 -0
  168. package/cjs/constant/gradient.js.map +1 -0
  169. package/cjs/constant/layout.d.ts +33 -0
  170. package/cjs/constant/layout.js +22 -3
  171. package/cjs/constant/layout.js.map +1 -1
  172. package/cjs/constant/scroll-bar.js +2 -1
  173. package/cjs/core/index.d.ts +2 -2
  174. package/cjs/core/index.js +2 -2
  175. package/cjs/core/index.js.map +1 -1
  176. package/cjs/core/interface.d.ts +15 -3
  177. package/cjs/core/interface.js.map +1 -1
  178. package/cjs/core/vchart.d.ts +9 -1
  179. package/cjs/core/vchart.js +80 -56
  180. package/cjs/core/vchart.js.map +1 -1
  181. package/cjs/data/register.js +1 -2
  182. package/cjs/data/transforms/correlation-center.js +3 -3
  183. package/cjs/data/transforms/correlation-center.js.map +1 -1
  184. package/cjs/data/transforms/correlation.js +4 -4
  185. package/cjs/data/transforms/correlation.js.map +1 -1
  186. package/cjs/data/transforms/data-key.js +3 -3
  187. package/cjs/data/transforms/data-key.js.map +1 -1
  188. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  189. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  190. package/cjs/data/transforms/map.js +3 -3
  191. package/cjs/data/transforms/map.js.map +1 -1
  192. package/cjs/data/transforms/pie.d.ts +6 -4
  193. package/cjs/data/transforms/pie.js +14 -7
  194. package/cjs/data/transforms/pie.js.map +1 -1
  195. package/cjs/data/transforms/waterfall.js +2 -2
  196. package/cjs/data/transforms/waterfall.js.map +1 -1
  197. package/cjs/event/bubble.d.ts +3 -0
  198. package/cjs/event/bubble.js +13 -4
  199. package/cjs/event/bubble.js.map +1 -1
  200. package/cjs/event/event-dispatcher.d.ts +3 -1
  201. package/cjs/event/event-dispatcher.js +29 -27
  202. package/cjs/event/event-dispatcher.js.map +1 -1
  203. package/cjs/event/event.d.ts +2 -0
  204. package/cjs/event/event.js +6 -0
  205. package/cjs/event/event.js.map +1 -1
  206. package/cjs/event/events/dimension/dimension-click.js +2 -2
  207. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  208. package/cjs/event/events/dimension/dimension-hover.js +4 -4
  209. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  210. package/cjs/event/events/dimension/util/cartesian.js +1 -2
  211. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  212. package/cjs/event/events/dimension/util/polar.js +1 -2
  213. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  214. package/cjs/event/interface.d.ts +6 -1
  215. package/cjs/event/interface.js.map +1 -1
  216. package/cjs/index-lark.js +2 -2
  217. package/cjs/index-lark.js.map +1 -1
  218. package/cjs/index-wx-simple.js +2 -2
  219. package/cjs/index-wx-simple.js.map +1 -1
  220. package/cjs/index-wx.d.ts +3 -1
  221. package/cjs/index-wx.js +4 -3
  222. package/cjs/index-wx.js.map +1 -1
  223. package/cjs/index.d.ts +1 -0
  224. package/cjs/index.js +1 -1
  225. package/cjs/index.js.map +1 -1
  226. package/cjs/interaction/config.js +1 -1
  227. package/cjs/interaction/dimension-trigger.js +1 -1
  228. package/cjs/interaction/drill/drillable.js +3 -3
  229. package/cjs/interaction/drill/drillable.js.map +1 -1
  230. package/cjs/interaction/index.js +1 -1
  231. package/cjs/interaction/interaction.js +1 -1
  232. package/cjs/interaction/zoom/zoomable.d.ts +10 -33
  233. package/cjs/interaction/zoom/zoomable.js +29 -25
  234. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  235. package/cjs/layout/base-layout.js +3 -2
  236. package/cjs/layout/base-layout.js.map +1 -1
  237. package/cjs/layout/layout-item.js +17 -18
  238. package/cjs/layout/layout-item.js.map +1 -1
  239. package/cjs/mark/arc.js +2 -2
  240. package/cjs/mark/arc.js.map +1 -1
  241. package/cjs/mark/base/base-line.js +1 -2
  242. package/cjs/mark/base/base-line.js.map +1 -1
  243. package/cjs/mark/base/base-mark.js +12 -8
  244. package/cjs/mark/base/base-mark.js.map +1 -1
  245. package/cjs/mark/utils/common.d.ts +1 -0
  246. package/cjs/mark/utils/common.js +7 -2
  247. package/cjs/mark/utils/common.js.map +1 -1
  248. package/cjs/model/interface.d.ts +1 -0
  249. package/cjs/model/interface.js.map +1 -1
  250. package/cjs/plugin/components/axis-sync/tick-align-transform.js +1 -1
  251. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  252. package/cjs/plugin/other.d.ts +6 -0
  253. package/cjs/plugin/other.js +47 -0
  254. package/cjs/plugin/other.js.map +1 -0
  255. package/cjs/region/region.js +12 -12
  256. package/cjs/region/region.js.map +1 -1
  257. package/cjs/series/area/area.js +7 -7
  258. package/cjs/series/area/area.js.map +1 -1
  259. package/cjs/series/bar/bar.js +26 -25
  260. package/cjs/series/bar/bar.js.map +1 -1
  261. package/cjs/series/base/base-series-transformer.js +1 -2
  262. package/cjs/series/base/base-series-transformer.js.map +1 -1
  263. package/cjs/series/base/base-series.js +16 -16
  264. package/cjs/series/base/base-series.js.map +1 -1
  265. package/cjs/series/base/constant.js +3 -3
  266. package/cjs/series/base/constant.js.map +1 -1
  267. package/cjs/series/box-plot/box-plot.js +8 -9
  268. package/cjs/series/box-plot/box-plot.js.map +1 -1
  269. package/cjs/series/cartesian/cartesian.js +11 -11
  270. package/cjs/series/cartesian/cartesian.js.map +1 -1
  271. package/cjs/series/circle-packing/circle-packing.js +5 -5
  272. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  273. package/cjs/series/correlation/correlation.js +13 -13
  274. package/cjs/series/correlation/correlation.js.map +1 -1
  275. package/cjs/series/dot/dot.js +12 -12
  276. package/cjs/series/dot/dot.js.map +1 -1
  277. package/cjs/series/funnel/3d/funnel-3d.js +4 -4
  278. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  279. package/cjs/series/funnel/funnel.js +11 -11
  280. package/cjs/series/funnel/funnel.js.map +1 -1
  281. package/cjs/series/gauge/gauge.js +7 -7
  282. package/cjs/series/gauge/gauge.js.map +1 -1
  283. package/cjs/series/geo/geo.js +2 -2
  284. package/cjs/series/geo/geo.js.map +1 -1
  285. package/cjs/series/heatmap/heatmap.js +4 -4
  286. package/cjs/series/heatmap/heatmap.js.map +1 -1
  287. package/cjs/series/interface/type.d.ts +1 -0
  288. package/cjs/series/interface/type.js +3 -3
  289. package/cjs/series/interface/type.js.map +1 -1
  290. package/cjs/series/link/link.js +6 -6
  291. package/cjs/series/link/link.js.map +1 -1
  292. package/cjs/series/liquid/animation.d.ts +2 -1
  293. package/cjs/series/liquid/animation.js +32 -4
  294. package/cjs/series/liquid/animation.js.map +1 -1
  295. package/cjs/series/liquid/constant.js +5 -1
  296. package/cjs/series/liquid/constant.js.map +1 -1
  297. package/cjs/series/liquid/interface.d.ts +1 -0
  298. package/cjs/series/liquid/interface.js.map +1 -1
  299. package/cjs/series/liquid/liquid.d.ts +9 -2
  300. package/cjs/series/liquid/liquid.js +97 -65
  301. package/cjs/series/liquid/liquid.js.map +1 -1
  302. package/cjs/series/liquid/util.js +1 -1
  303. package/cjs/series/liquid/util.js.map +1 -1
  304. package/cjs/series/map/map.js +7 -7
  305. package/cjs/series/map/map.js.map +1 -1
  306. package/cjs/series/mixin/line-mixin.js +18 -18
  307. package/cjs/series/mixin/line-mixin.js.map +1 -1
  308. package/cjs/series/mosaic/mosaic.js +6 -6
  309. package/cjs/series/mosaic/mosaic.js.map +1 -1
  310. package/cjs/series/pie/3d/pie-3d.js +5 -5
  311. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  312. package/cjs/series/pie/animation/centerOffset.js +5 -5
  313. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  314. package/cjs/series/pie/interface.d.ts +8 -1
  315. package/cjs/series/pie/interface.js.map +1 -1
  316. package/cjs/series/pie/pie.d.ts +4 -1
  317. package/cjs/series/pie/pie.js +57 -49
  318. package/cjs/series/pie/pie.js.map +1 -1
  319. package/cjs/series/polar/polar.js +2 -2
  320. package/cjs/series/polar/polar.js.map +1 -1
  321. package/cjs/series/polar/progress-like/progress-like.js +10 -10
  322. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  323. package/cjs/series/polar/rose-like/rose-like.js +3 -3
  324. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  325. package/cjs/series/progress/circular/circular.js +5 -5
  326. package/cjs/series/progress/circular/circular.js.map +1 -1
  327. package/cjs/series/progress/linear/linear.js +6 -6
  328. package/cjs/series/progress/linear/linear.js.map +1 -1
  329. package/cjs/series/radar/radar.js +7 -7
  330. package/cjs/series/radar/radar.js.map +1 -1
  331. package/cjs/series/range-area/range-area.js +5 -5
  332. package/cjs/series/range-area/range-area.js.map +1 -1
  333. package/cjs/series/sankey/sankey.js +6 -6
  334. package/cjs/series/sankey/sankey.js.map +1 -1
  335. package/cjs/series/scatter/scatter.js +9 -9
  336. package/cjs/series/scatter/scatter.js.map +1 -1
  337. package/cjs/series/sunburst/sunburst.js +5 -5
  338. package/cjs/series/sunburst/sunburst.js.map +1 -1
  339. package/cjs/series/treemap/treemap.js +12 -11
  340. package/cjs/series/treemap/treemap.js.map +1 -1
  341. package/cjs/series/util/label-mark.js +2 -2
  342. package/cjs/series/util/label-mark.js.map +1 -1
  343. package/cjs/series/venn/venn.js +8 -8
  344. package/cjs/series/venn/venn.js.map +1 -1
  345. package/cjs/series/waterfall/waterfall.js +8 -8
  346. package/cjs/series/waterfall/waterfall.js.map +1 -1
  347. package/cjs/series/word-cloud/base.js +9 -9
  348. package/cjs/series/word-cloud/base.js.map +1 -1
  349. package/cjs/series/word-cloud/word-cloud-3d.js +2 -2
  350. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  351. package/cjs/theme/builtin/common/series/sunburst.js +3 -3
  352. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  353. package/cjs/theme/interface.d.ts +2 -0
  354. package/cjs/theme/interface.js.map +1 -1
  355. package/cjs/typings/interpolate.d.ts +1 -3
  356. package/cjs/typings/interpolate.js +2 -3
  357. package/cjs/typings/interpolate.js.map +1 -1
  358. package/cjs/util/data.js +21 -21
  359. package/cjs/util/data.js.map +1 -1
  360. package/cjs/util/env.js +1 -1
  361. package/cjs/util/env.js.map +1 -1
  362. package/cjs/util/math.d.ts +1 -2
  363. package/cjs/util/math.js +5 -10
  364. package/cjs/util/math.js.map +1 -1
  365. package/cjs/vchart-all.js +2 -2
  366. package/cjs/vchart-all.js.map +1 -1
  367. package/cjs/vchart-empty.d.ts +4 -0
  368. package/cjs/{plugin/index.js → vchart-empty.js} +11 -2
  369. package/cjs/vchart-empty.js.map +1 -0
  370. package/cjs/vchart-pie.d.ts +4 -0
  371. package/cjs/vchart-pie.js +35 -0
  372. package/cjs/vchart-pie.js.map +1 -0
  373. package/cjs/vchart-simple.js +2 -2
  374. package/cjs/vchart-simple.js.map +1 -1
  375. package/esm/animation/animate-manager.js +1 -1
  376. package/esm/animation/animate-manager.js.map +1 -1
  377. package/esm/animation/config.d.ts +4 -0
  378. package/esm/animation/config.js +4 -0
  379. package/esm/animation/config.js.map +1 -1
  380. package/esm/animation/spec.d.ts +2 -1
  381. package/esm/animation/spec.js.map +1 -1
  382. package/esm/animation/utils.js +9 -4
  383. package/esm/animation/utils.js.map +1 -1
  384. package/esm/chart/bar/3d/bar-3d.js +3 -1
  385. package/esm/chart/bar/3d/bar-3d.js.map +1 -1
  386. package/esm/chart/base/base-chart-transformer.js +1 -0
  387. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  388. package/esm/chart/base/base-chart.js +6 -4
  389. package/esm/chart/base/base-chart.js.map +1 -1
  390. package/esm/chart/funnel/3d/funnel-3d.js +3 -1
  391. package/esm/chart/funnel/3d/funnel-3d.js.map +1 -1
  392. package/esm/chart/gauge/gauge-transformer.js +1 -1
  393. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  394. package/esm/chart/histogram/3d/histogram-3d.js +3 -1
  395. package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
  396. package/esm/chart/liquid/liquid-transformer.js +1 -0
  397. package/esm/chart/liquid/liquid-transformer.js.map +1 -1
  398. package/esm/chart/pie/3d/pie-3d.js +3 -1
  399. package/esm/chart/pie/3d/pie-3d.js.map +1 -1
  400. package/esm/chart/pie/base/pie-transformer.js +4 -1
  401. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  402. package/esm/chart/polar/interface.d.ts +3 -2
  403. package/esm/chart/polar/interface.js.map +1 -1
  404. package/esm/chart/range-column/3d/range-column-3d.js +3 -1
  405. package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
  406. package/esm/chart/rose/rose-transformer.js +1 -1
  407. package/esm/chart/rose/rose-transformer.js.map +1 -1
  408. package/esm/chart/stack.js +1 -1
  409. package/esm/chart/stack.js.map +1 -1
  410. package/esm/chart/sunburst/sunburst-transformer.js +1 -1
  411. package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
  412. package/esm/chart/util.js +5 -2
  413. package/esm/chart/util.js.map +1 -1
  414. package/esm/chart/word-cloud/3d/word-cloud-3d.js +5 -2
  415. package/esm/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
  416. package/esm/compile/compilable-base.js +1 -2
  417. package/esm/compile/compiler.js +1 -3
  418. package/esm/compile/compiler.js.map +1 -1
  419. package/esm/compile/grammar-item.js +2 -1
  420. package/esm/compile/mark/compilable-mark.js +5 -1
  421. package/esm/compile/mark/compilable-mark.js.map +1 -1
  422. package/esm/compile/mark/mark-data.js +1 -1
  423. package/esm/compile/mark/mark-data.js.map +1 -1
  424. package/esm/compile/mark/mark-state-manager.js +1 -1
  425. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  426. package/esm/component/axis/base-axis.d.ts +1 -0
  427. package/esm/component/axis/base-axis.js +18 -14
  428. package/esm/component/axis/base-axis.js.map +1 -1
  429. package/esm/component/axis/cartesian/axis.js +3 -3
  430. package/esm/component/axis/cartesian/axis.js.map +1 -1
  431. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  432. package/esm/component/axis/cartesian/band-axis.js +12 -1
  433. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  434. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -0
  435. package/esm/component/axis/cartesian/linear-axis.js +12 -1
  436. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  437. package/esm/component/axis/cartesian/log-axis.d.ts +1 -0
  438. package/esm/component/axis/cartesian/log-axis.js +12 -1
  439. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  440. package/esm/component/axis/cartesian/symlog-axis.d.ts +1 -0
  441. package/esm/component/axis/cartesian/symlog-axis.js +12 -1
  442. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -1
  443. package/esm/component/axis/cartesian/time-axis.d.ts +1 -0
  444. package/esm/component/axis/cartesian/time-axis.js +13 -2
  445. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  446. package/esm/component/axis/interface/common.d.ts +2 -2
  447. package/esm/component/axis/interface/common.js.map +1 -1
  448. package/esm/component/axis/mixin/linear-axis-mixin.js +2 -2
  449. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  450. package/esm/component/axis/polar/axis.d.ts +2 -2
  451. package/esm/component/axis/polar/axis.js +21 -24
  452. package/esm/component/axis/polar/axis.js.map +1 -1
  453. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  454. package/esm/component/axis/polar/band-axis.js +12 -0
  455. package/esm/component/axis/polar/band-axis.js.map +1 -1
  456. package/esm/component/axis/polar/interface/spec.d.ts +3 -2
  457. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  458. package/esm/component/axis/polar/linear-axis.d.ts +1 -0
  459. package/esm/component/axis/polar/linear-axis.js +12 -0
  460. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  461. package/esm/component/axis/polar/util/common.d.ts +3 -0
  462. package/esm/component/axis/polar/util/common.js +9 -2
  463. package/esm/component/axis/polar/util/common.js.map +1 -1
  464. package/esm/component/base/base-component.js +1 -1
  465. package/esm/component/base/base-component.js.map +1 -1
  466. package/esm/component/brush/brush.js +8 -3
  467. package/esm/component/brush/brush.js.map +1 -1
  468. package/esm/component/crosshair/base.d.ts +1 -0
  469. package/esm/component/crosshair/base.js +21 -23
  470. package/esm/component/crosshair/base.js.map +1 -1
  471. package/esm/component/crosshair/utils/common.js +6 -5
  472. package/esm/component/crosshair/utils/common.js.map +1 -1
  473. package/esm/component/custom-mark/custom-mark.js +3 -1
  474. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  475. package/esm/component/data-zoom/data-filter-base-component.js +2 -2
  476. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  477. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -1
  478. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  479. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +3 -1
  480. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  481. package/esm/component/geo/geo-coordinate.js +10 -5
  482. package/esm/component/geo/geo-coordinate.js.map +1 -1
  483. package/esm/component/geo/interface.d.ts +4 -0
  484. package/esm/component/geo/interface.js.map +1 -1
  485. package/esm/component/indicator/indicator.js +1 -1
  486. package/esm/component/indicator/indicator.js.map +1 -1
  487. package/esm/component/indicator/interface.d.ts +3 -1
  488. package/esm/component/indicator/interface.js.map +1 -1
  489. package/esm/component/label/base-label.js +1 -1
  490. package/esm/component/label/base-label.js.map +1 -1
  491. package/esm/component/label/label.js +7 -1
  492. package/esm/component/label/label.js.map +1 -1
  493. package/esm/component/label/total-label.js +5 -1
  494. package/esm/component/label/total-label.js.map +1 -1
  495. package/esm/component/legend/base-legend.js +5 -2
  496. package/esm/component/legend/base-legend.js.map +1 -1
  497. package/esm/component/legend/continuous/legend.js +1 -1
  498. package/esm/component/legend/continuous/legend.js.map +1 -1
  499. package/esm/component/legend/discrete/legend.js +1 -1
  500. package/esm/component/legend/discrete/legend.js.map +1 -1
  501. package/esm/component/legend/util.d.ts +1 -1
  502. package/esm/component/map-label/component.d.ts +1 -1
  503. package/esm/component/map-label/component.js +1 -1
  504. package/esm/component/map-label/component.js.map +1 -1
  505. package/esm/component/marker/interface.d.ts +2 -1
  506. package/esm/component/marker/interface.js.map +1 -1
  507. package/esm/component/marker/mark-area/base-mark-area.js +1 -1
  508. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
  509. package/esm/component/marker/mark-line/base-mark-line.js +1 -1
  510. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  511. package/esm/component/marker/mark-point/base-mark-point.js +1 -1
  512. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  513. package/esm/component/marker/utils.js +2 -1
  514. package/esm/component/marker/utils.js.map +1 -1
  515. package/esm/component/player/player.js +3 -1
  516. package/esm/component/player/player.js.map +1 -1
  517. package/esm/component/title/title.js +1 -1
  518. package/esm/component/title/title.js.map +1 -1
  519. package/esm/component/tooltip/constant.js +1 -1
  520. package/esm/component/tooltip/constant.js.map +1 -1
  521. package/esm/component/tooltip/processor/base.js +1 -1
  522. package/esm/component/tooltip/processor/base.js.map +1 -1
  523. package/esm/component/tooltip/tooltip-transformer.js +4 -2
  524. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  525. package/esm/component/tooltip/tooltip.d.ts +1 -0
  526. package/esm/component/tooltip/tooltip.js +11 -7
  527. package/esm/component/tooltip/tooltip.js.map +1 -1
  528. package/esm/component/tooltip/utils/show-tooltip.js +1 -1
  529. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  530. package/esm/constant/attribute.d.ts +13 -0
  531. package/esm/constant/attribute.js +11 -0
  532. package/esm/constant/attribute.js.map +1 -0
  533. package/esm/constant/data.d.ts +22 -0
  534. package/esm/constant/data.js +46 -0
  535. package/esm/constant/data.js.map +1 -0
  536. package/esm/constant/gradient.d.ts +43 -0
  537. package/esm/constant/gradient.js +31 -0
  538. package/esm/constant/gradient.js.map +1 -0
  539. package/esm/constant/layout.d.ts +33 -0
  540. package/esm/constant/layout.js +25 -1
  541. package/esm/constant/layout.js.map +1 -1
  542. package/esm/constant/scroll-bar.js +2 -1
  543. package/esm/core/index.d.ts +2 -2
  544. package/esm/core/index.js +3 -3
  545. package/esm/core/index.js.map +1 -1
  546. package/esm/core/interface.d.ts +15 -3
  547. package/esm/core/interface.js.map +1 -1
  548. package/esm/core/vchart.d.ts +9 -1
  549. package/esm/core/vchart.js +76 -54
  550. package/esm/core/vchart.js.map +1 -1
  551. package/esm/data/register.js +1 -2
  552. package/esm/data/transforms/correlation-center.js +1 -1
  553. package/esm/data/transforms/correlation-center.js.map +1 -1
  554. package/esm/data/transforms/correlation.js +1 -1
  555. package/esm/data/transforms/correlation.js.map +1 -1
  556. package/esm/data/transforms/data-key.js +1 -1
  557. package/esm/data/transforms/data-key.js.map +1 -1
  558. package/esm/data/transforms/legend-data/discrete/discrete.js +1 -1
  559. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  560. package/esm/data/transforms/map.js +3 -1
  561. package/esm/data/transforms/map.js.map +1 -1
  562. package/esm/data/transforms/pie.d.ts +6 -4
  563. package/esm/data/transforms/pie.js +15 -6
  564. package/esm/data/transforms/pie.js.map +1 -1
  565. package/esm/data/transforms/waterfall.js +1 -1
  566. package/esm/data/transforms/waterfall.js.map +1 -1
  567. package/esm/event/bubble.d.ts +3 -0
  568. package/esm/event/bubble.js +10 -1
  569. package/esm/event/bubble.js.map +1 -1
  570. package/esm/event/event-dispatcher.d.ts +3 -1
  571. package/esm/event/event-dispatcher.js +29 -27
  572. package/esm/event/event-dispatcher.js.map +1 -1
  573. package/esm/event/event.d.ts +2 -0
  574. package/esm/event/event.js +6 -0
  575. package/esm/event/event.js.map +1 -1
  576. package/esm/event/events/dimension/dimension-click.js +1 -1
  577. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  578. package/esm/event/events/dimension/dimension-hover.js +1 -1
  579. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  580. package/esm/event/events/dimension/util/cartesian.js +0 -3
  581. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  582. package/esm/event/events/dimension/util/polar.js +0 -3
  583. package/esm/event/events/dimension/util/polar.js.map +1 -1
  584. package/esm/event/interface.d.ts +6 -1
  585. package/esm/event/interface.js.map +1 -1
  586. package/esm/index-lark.js +3 -1
  587. package/esm/index-lark.js.map +1 -1
  588. package/esm/index-wx-simple.js +3 -1
  589. package/esm/index-wx-simple.js.map +1 -1
  590. package/esm/index-wx.d.ts +3 -1
  591. package/esm/index-wx.js +6 -2
  592. package/esm/index-wx.js.map +1 -1
  593. package/esm/index.d.ts +1 -0
  594. package/esm/index.js +2 -0
  595. package/esm/index.js.map +1 -1
  596. package/esm/interaction/config.js +1 -1
  597. package/esm/interaction/dimension-trigger.js +1 -1
  598. package/esm/interaction/drill/drillable.js +1 -1
  599. package/esm/interaction/drill/drillable.js.map +1 -1
  600. package/esm/interaction/index.js +1 -1
  601. package/esm/interaction/interaction.js +1 -1
  602. package/esm/interaction/zoom/zoomable.d.ts +10 -33
  603. package/esm/interaction/zoom/zoomable.js +12 -8
  604. package/esm/interaction/zoom/zoomable.js.map +1 -1
  605. package/esm/layout/base-layout.js +3 -2
  606. package/esm/layout/base-layout.js.map +1 -1
  607. package/esm/layout/layout-item.js +1 -1
  608. package/esm/layout/layout-item.js.map +1 -1
  609. package/esm/mark/arc.js +1 -1
  610. package/esm/mark/arc.js.map +1 -1
  611. package/esm/mark/base/base-line.js +1 -2
  612. package/esm/mark/base/base-line.js.map +1 -1
  613. package/esm/mark/base/base-mark.js +10 -2
  614. package/esm/mark/base/base-mark.js.map +1 -1
  615. package/esm/mark/utils/common.d.ts +1 -0
  616. package/esm/mark/utils/common.js +4 -0
  617. package/esm/mark/utils/common.js.map +1 -1
  618. package/esm/model/interface.d.ts +1 -0
  619. package/esm/model/interface.js.map +1 -1
  620. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  621. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  622. package/esm/plugin/other.d.ts +6 -0
  623. package/esm/plugin/other.js +18 -0
  624. package/esm/plugin/other.js.map +1 -0
  625. package/esm/region/region.js +5 -1
  626. package/esm/region/region.js.map +1 -1
  627. package/esm/series/area/area.js +1 -1
  628. package/esm/series/area/area.js.map +1 -1
  629. package/esm/series/bar/bar.js +3 -1
  630. package/esm/series/bar/bar.js.map +1 -1
  631. package/esm/series/base/base-series-transformer.js +1 -2
  632. package/esm/series/base/base-series-transformer.js.map +1 -1
  633. package/esm/series/base/base-series.js +7 -3
  634. package/esm/series/base/base-series.js.map +1 -1
  635. package/esm/series/base/constant.js +1 -1
  636. package/esm/series/base/constant.js.map +1 -1
  637. package/esm/series/box-plot/box-plot.js +5 -1
  638. package/esm/series/box-plot/box-plot.js.map +1 -1
  639. package/esm/series/cartesian/cartesian.js +5 -1
  640. package/esm/series/cartesian/cartesian.js.map +1 -1
  641. package/esm/series/circle-packing/circle-packing.js +3 -1
  642. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  643. package/esm/series/correlation/correlation.js +6 -2
  644. package/esm/series/correlation/correlation.js.map +1 -1
  645. package/esm/series/dot/dot.js +3 -1
  646. package/esm/series/dot/dot.js.map +1 -1
  647. package/esm/series/funnel/3d/funnel-3d.js +1 -1
  648. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  649. package/esm/series/funnel/funnel.js +6 -2
  650. package/esm/series/funnel/funnel.js.map +1 -1
  651. package/esm/series/gauge/gauge.js +4 -4
  652. package/esm/series/gauge/gauge.js.map +1 -1
  653. package/esm/series/geo/geo.js +1 -1
  654. package/esm/series/geo/geo.js.map +1 -1
  655. package/esm/series/heatmap/heatmap.js +1 -1
  656. package/esm/series/heatmap/heatmap.js.map +1 -1
  657. package/esm/series/interface/type.d.ts +1 -0
  658. package/esm/series/interface/type.js +3 -3
  659. package/esm/series/interface/type.js.map +1 -1
  660. package/esm/series/link/link.js +3 -1
  661. package/esm/series/link/link.js.map +1 -1
  662. package/esm/series/liquid/animation.d.ts +2 -1
  663. package/esm/series/liquid/animation.js +30 -2
  664. package/esm/series/liquid/animation.js.map +1 -1
  665. package/esm/series/liquid/constant.js +5 -1
  666. package/esm/series/liquid/constant.js.map +1 -1
  667. package/esm/series/liquid/interface.d.ts +1 -0
  668. package/esm/series/liquid/interface.js.map +1 -1
  669. package/esm/series/liquid/liquid.d.ts +9 -2
  670. package/esm/series/liquid/liquid.js +95 -62
  671. package/esm/series/liquid/liquid.js.map +1 -1
  672. package/esm/series/liquid/util.js +1 -1
  673. package/esm/series/liquid/util.js.map +1 -1
  674. package/esm/series/map/map.js +3 -1
  675. package/esm/series/map/map.js.map +1 -1
  676. package/esm/series/mixin/line-mixin.js +1 -1
  677. package/esm/series/mixin/line-mixin.js.map +1 -1
  678. package/esm/series/mosaic/mosaic.js +1 -1
  679. package/esm/series/mosaic/mosaic.js.map +1 -1
  680. package/esm/series/pie/3d/pie-3d.js +3 -1
  681. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  682. package/esm/series/pie/animation/centerOffset.js +1 -1
  683. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  684. package/esm/series/pie/interface.d.ts +8 -1
  685. package/esm/series/pie/interface.js.map +1 -1
  686. package/esm/series/pie/pie.d.ts +4 -1
  687. package/esm/series/pie/pie.js +44 -25
  688. package/esm/series/pie/pie.js.map +1 -1
  689. package/esm/series/polar/polar.js +1 -1
  690. package/esm/series/polar/polar.js.map +1 -1
  691. package/esm/series/polar/progress-like/progress-like.js +5 -1
  692. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  693. package/esm/series/polar/rose-like/rose-like.js +1 -1
  694. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  695. package/esm/series/progress/circular/circular.js +3 -1
  696. package/esm/series/progress/circular/circular.js.map +1 -1
  697. package/esm/series/progress/linear/linear.js +1 -1
  698. package/esm/series/progress/linear/linear.js.map +1 -1
  699. package/esm/series/radar/radar.js +5 -1
  700. package/esm/series/radar/radar.js.map +1 -1
  701. package/esm/series/range-area/range-area.js +1 -1
  702. package/esm/series/range-area/range-area.js.map +1 -1
  703. package/esm/series/sankey/sankey.js +5 -1
  704. package/esm/series/sankey/sankey.js.map +1 -1
  705. package/esm/series/scatter/scatter.js +1 -1
  706. package/esm/series/scatter/scatter.js.map +1 -1
  707. package/esm/series/sunburst/sunburst.js +3 -1
  708. package/esm/series/sunburst/sunburst.js.map +1 -1
  709. package/esm/series/treemap/treemap.js +10 -3
  710. package/esm/series/treemap/treemap.js.map +1 -1
  711. package/esm/series/util/label-mark.js +1 -1
  712. package/esm/series/util/label-mark.js.map +1 -1
  713. package/esm/series/venn/venn.js +3 -1
  714. package/esm/series/venn/venn.js.map +1 -1
  715. package/esm/series/waterfall/waterfall.js +7 -1
  716. package/esm/series/waterfall/waterfall.js.map +1 -1
  717. package/esm/series/word-cloud/base.js +3 -1
  718. package/esm/series/word-cloud/base.js.map +1 -1
  719. package/esm/series/word-cloud/word-cloud-3d.js +1 -1
  720. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  721. package/esm/theme/builtin/common/series/sunburst.js +1 -1
  722. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  723. package/esm/theme/interface.d.ts +2 -0
  724. package/esm/theme/interface.js.map +1 -1
  725. package/esm/typings/interpolate.d.ts +1 -3
  726. package/esm/typings/interpolate.js +0 -4
  727. package/esm/typings/interpolate.js.map +1 -1
  728. package/esm/util/data.js +1 -1
  729. package/esm/util/data.js.map +1 -1
  730. package/esm/util/env.js +1 -1
  731. package/esm/util/env.js.map +1 -1
  732. package/esm/util/math.d.ts +1 -2
  733. package/esm/util/math.js +0 -4
  734. package/esm/util/math.js.map +1 -1
  735. package/esm/vchart-all.js +6 -2
  736. package/esm/vchart-all.js.map +1 -1
  737. package/esm/vchart-empty.d.ts +4 -0
  738. package/esm/vchart-empty.js +8 -0
  739. package/esm/vchart-empty.js.map +1 -0
  740. package/esm/vchart-pie.d.ts +4 -0
  741. package/esm/vchart-pie.js +20 -0
  742. package/esm/vchart-pie.js.map +1 -0
  743. package/esm/vchart-simple.js +3 -1
  744. package/esm/vchart-simple.js.map +1 -1
  745. package/package.json +20 -18
  746. package/cjs/constant/index.d.ts +0 -117
  747. package/cjs/constant/index.js +0 -89
  748. package/cjs/constant/index.js.map +0 -1
  749. package/cjs/plugin/index.d.ts +0 -2
  750. package/cjs/plugin/index.js.map +0 -1
  751. package/esm/constant/index.d.ts +0 -117
  752. package/esm/constant/index.js +0 -126
  753. package/esm/constant/index.js.map +0 -1
  754. package/esm/plugin/index.d.ts +0 -2
  755. package/esm/plugin/index.js +0 -4
  756. package/esm/plugin/index.js.map +0 -1
@@ -17,5 +17,14 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
17
17
 
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
- }), __exportStar(require("./chart"), exports), __exportStar(require("./components"), exports);
21
- //# sourceMappingURL=index.js.map
20
+ }), exports.VChart = void 0;
21
+
22
+ const core_1 = require("./core");
23
+
24
+ Object.defineProperty(exports, "VChart", {
25
+ enumerable: !0,
26
+ get: function() {
27
+ return core_1.VChart;
28
+ }
29
+ }), __exportStar(require("./core"), exports), exports.default = core_1.VChart;
30
+ //# sourceMappingURL=vchart-empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/vchart-empty.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,iCAAgC;AAuBvB,uFAvBA,aAAM,OAuBA;AAff,yCAAuB;AAiBvB,kBAAe,aAAM,CAAC","file":"vchart-empty.js","sourcesContent":["/**\n * @description 包含基础的折柱饼图,提供坐标轴、离散图例以及 tooltip、crosshair、label 组件\n */\nimport { VChart } from './core';\nimport { registerPieChart } from './chart/pie/pie';\n\nimport { registerLabel } from './component/label/label';\nimport { registerTooltip } from './component/tooltip/tooltip';\nimport { registerDiscreteLegend } from './component/legend/discrete/legend';\nimport { registerCanvasTooltipHandler, registerDomTooltipHandler } from './plugin/components';\n\nexport * from './core';\n\n// VChart.useRegisters([\n// registerPieChart,\n\n// // components\n// registerDiscreteLegend,\n// registerTooltip,\n// registerLabel,\n\n// // plugin\n// registerDomTooltipHandler,\n// registerCanvasTooltipHandler\n// ]);\n\nexport { VChart };\n\nexport default VChart;\n"]}
@@ -0,0 +1,4 @@
1
+ import { VChart } from './core';
2
+ export * from './core';
3
+ export { VChart };
4
+ export default VChart;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __exportStar = this && this.__exportStar || function(m, exports) {
15
+ for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
+ };
17
+
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: !0
20
+ }), exports.VChart = void 0;
21
+
22
+ const core_1 = require("./core");
23
+
24
+ Object.defineProperty(exports, "VChart", {
25
+ enumerable: !0,
26
+ get: function() {
27
+ return core_1.VChart;
28
+ }
29
+ });
30
+
31
+ const pie_1 = require("./chart/pie/pie"), label_1 = require("./component/label/label"), tooltip_1 = require("./component/tooltip/tooltip"), legend_1 = require("./component/legend/discrete/legend"), components_1 = require("./plugin/components");
32
+
33
+ __exportStar(require("./core"), exports), core_1.VChart.useRegisters([ pie_1.registerPieChart, legend_1.registerDiscreteLegend, tooltip_1.registerTooltip, label_1.registerLabel, components_1.registerDomTooltipHandler, components_1.registerCanvasTooltipHandler ]),
34
+ exports.default = core_1.VChart;
35
+ //# sourceMappingURL=vchart-pie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/vchart-pie.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,iCAAgC;AAuBvB,uFAvBA,aAAM,OAuBA;AAtBf,yCAAmD;AAEnD,mDAAwD;AACxD,yDAA8D;AAC9D,+DAA4E;AAC5E,oDAA8F;AAE9F,yCAAuB;AAEvB,aAAM,CAAC,YAAY,CAAC;IAClB,sBAAgB;IAGhB,+BAAsB;IACtB,yBAAe;IACf,qBAAa;IAGb,sCAAyB;IACzB,yCAA4B;CAC7B,CAAC,CAAC;AAIH,kBAAe,aAAM,CAAC","file":"vchart-pie.js","sourcesContent":["/**\n * @description 包含基础的折柱饼图,提供坐标轴、离散图例以及 tooltip、crosshair、label 组件\n */\nimport { VChart } from './core';\nimport { registerPieChart } from './chart/pie/pie';\n\nimport { registerLabel } from './component/label/label';\nimport { registerTooltip } from './component/tooltip/tooltip';\nimport { registerDiscreteLegend } from './component/legend/discrete/legend';\nimport { registerCanvasTooltipHandler, registerDomTooltipHandler } from './plugin/components';\n\nexport * from './core';\n\nVChart.useRegisters([\n registerPieChart,\n\n // components\n registerDiscreteLegend,\n registerTooltip,\n registerLabel,\n\n // plugin\n registerDomTooltipHandler,\n registerCanvasTooltipHandler\n]);\n\nexport { VChart };\n\nexport default VChart;\n"]}
@@ -28,8 +28,8 @@ Object.defineProperty(exports, "VChart", {
28
28
  }
29
29
  });
30
30
 
31
- const line_1 = require("./chart/line/line"), bar_1 = require("./chart/bar/bar"), area_1 = require("./chart/area/area"), pie_1 = require("./chart/pie/pie"), common_1 = require("./chart/common/common"), label_1 = require("./component/label/label"), cartesian_1 = require("./component/crosshair/cartesian"), tooltip_1 = require("./component/tooltip/tooltip"), legend_1 = require("./component/legend/discrete/legend"), band_axis_1 = require("./component/axis/cartesian/band-axis"), linear_axis_1 = require("./component/axis/cartesian/linear-axis"), tooltip_handler_1 = require("./plugin/components/tooltip-handler");
31
+ const line_1 = require("./chart/line/line"), bar_1 = require("./chart/bar/bar"), area_1 = require("./chart/area/area"), pie_1 = require("./chart/pie/pie"), common_1 = require("./chart/common/common"), label_1 = require("./component/label/label"), cartesian_1 = require("./component/crosshair/cartesian"), tooltip_1 = require("./component/tooltip/tooltip"), legend_1 = require("./component/legend/discrete/legend"), band_axis_1 = require("./component/axis/cartesian/band-axis"), linear_axis_1 = require("./component/axis/cartesian/linear-axis"), tooltip_handler_1 = require("./plugin/components/tooltip-handler"), other_1 = require("./plugin/other");
32
32
 
33
- __exportStar(require("./core"), exports), core_1.VChart.useRegisters([ line_1.registerLineChart, area_1.registerAreaChart, bar_1.registerBarChart, pie_1.registerPieChart, common_1.registerCommonChart, linear_axis_1.registerCartesianLinearAxis, band_axis_1.registerCartesianBandAxis, legend_1.registerDiscreteLegend, tooltip_1.registerTooltip, cartesian_1.registerCartesianCrossHair, label_1.registerLabel, tooltip_handler_1.registerDomTooltipHandler, tooltip_handler_1.registerCanvasTooltipHandler ]),
33
+ __exportStar(require("./core"), exports), core_1.VChart.useRegisters([ line_1.registerLineChart, area_1.registerAreaChart, bar_1.registerBarChart, pie_1.registerPieChart, common_1.registerCommonChart, linear_axis_1.registerCartesianLinearAxis, band_axis_1.registerCartesianBandAxis, legend_1.registerDiscreteLegend, tooltip_1.registerTooltip, cartesian_1.registerCartesianCrossHair, label_1.registerLabel, tooltip_handler_1.registerDomTooltipHandler, tooltip_handler_1.registerCanvasTooltipHandler, other_1.registerAnimate, other_1.registerReactAttributePlugin, other_1.registerHtmlAttributePlugin ]),
34
34
  exports.default = core_1.VChart;
35
35
  //# sourceMappingURL=vchart-simple.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vchart-simple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,iCAAgC;AAsCvB,uFAtCA,aAAM,OAsCA;AArCf,4CAAsD;AACtD,yCAAmD;AACnD,4CAAsD;AACtD,yCAAmD;AACnD,kDAA4D;AAE5D,mDAAwD;AACxD,+DAA6E;AAC7E,yDAA8D;AAC9D,+DAA4E;AAC5E,oEAAiF;AACjF,wEAAqF;AACrF,yEAA8G;AAE9G,yCAAuB;AAEvB,aAAM,CAAC,YAAY,CAAC;IAElB,wBAAiB;IACjB,wBAAiB;IACjB,sBAAgB;IAChB,sBAAgB;IAChB,4BAAmB;IAGnB,yCAA2B;IAC3B,qCAAyB;IACzB,+BAAsB;IACtB,yBAAe;IACf,sCAA0B;IAC1B,qBAAa;IAGb,2CAAyB;IACzB,8CAA4B;CAC7B,CAAC,CAAC;AAIH,kBAAe,aAAM,CAAC","file":"vchart-simple.js","sourcesContent":["/**\n * @description 包含基础的折柱饼图,提供坐标轴、离散图例以及 tooltip、crosshair、label 组件\n */\nimport { VChart } from './core';\nimport { registerLineChart } from './chart/line/line';\nimport { registerBarChart } from './chart/bar/bar';\nimport { registerAreaChart } from './chart/area/area';\nimport { registerPieChart } from './chart/pie/pie';\nimport { registerCommonChart } from './chart/common/common';\n\nimport { registerLabel } from './component/label/label';\nimport { registerCartesianCrossHair } from './component/crosshair/cartesian';\nimport { registerTooltip } from './component/tooltip/tooltip';\nimport { registerDiscreteLegend } from './component/legend/discrete/legend';\nimport { registerCartesianBandAxis } from './component/axis/cartesian/band-axis';\nimport { registerCartesianLinearAxis } from './component/axis/cartesian/linear-axis';\nimport { registerCanvasTooltipHandler, registerDomTooltipHandler } from './plugin/components/tooltip-handler';\n\nexport * from './core';\n\nVChart.useRegisters([\n // charts\n registerLineChart,\n registerAreaChart,\n registerBarChart,\n registerPieChart,\n registerCommonChart,\n\n // components\n registerCartesianLinearAxis,\n registerCartesianBandAxis,\n registerDiscreteLegend,\n registerTooltip,\n registerCartesianCrossHair,\n registerLabel,\n\n // plugin\n registerDomTooltipHandler,\n registerCanvasTooltipHandler\n]);\n\nexport { VChart };\n\nexport default VChart;\n"]}
1
+ {"version":3,"sources":["../src/vchart-simple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,iCAAgC;AA2CvB,uFA3CA,aAAM,OA2CA;AA1Cf,4CAAsD;AACtD,yCAAmD;AACnD,4CAAsD;AACtD,yCAAmD;AACnD,kDAA4D;AAE5D,mDAAwD;AACxD,+DAA6E;AAC7E,yDAA8D;AAC9D,+DAA4E;AAC5E,oEAAiF;AACjF,wEAAqF;AACrF,yEAA8G;AAC9G,0CAA4G;AAE5G,yCAAuB;AAEvB,aAAM,CAAC,YAAY,CAAC;IAElB,wBAAiB;IACjB,wBAAiB;IACjB,sBAAgB;IAChB,sBAAgB;IAChB,4BAAmB;IAGnB,yCAA2B;IAC3B,qCAAyB;IACzB,+BAAsB;IACtB,yBAAe;IACf,sCAA0B;IAC1B,qBAAa;IAGb,2CAAyB;IACzB,8CAA4B;IAE5B,uBAAe;IACf,oCAA4B;IAC5B,mCAA2B;CAC5B,CAAC,CAAC;AAIH,kBAAe,aAAM,CAAC","file":"vchart-simple.js","sourcesContent":["/**\n * @description 包含基础的折柱饼图,提供坐标轴、离散图例以及 tooltip、crosshair、label 组件\n */\nimport { VChart } from './core';\nimport { registerLineChart } from './chart/line/line';\nimport { registerBarChart } from './chart/bar/bar';\nimport { registerAreaChart } from './chart/area/area';\nimport { registerPieChart } from './chart/pie/pie';\nimport { registerCommonChart } from './chart/common/common';\n\nimport { registerLabel } from './component/label/label';\nimport { registerCartesianCrossHair } from './component/crosshair/cartesian';\nimport { registerTooltip } from './component/tooltip/tooltip';\nimport { registerDiscreteLegend } from './component/legend/discrete/legend';\nimport { registerCartesianBandAxis } from './component/axis/cartesian/band-axis';\nimport { registerCartesianLinearAxis } from './component/axis/cartesian/linear-axis';\nimport { registerCanvasTooltipHandler, registerDomTooltipHandler } from './plugin/components/tooltip-handler';\nimport { registerAnimate, registerHtmlAttributePlugin, registerReactAttributePlugin } from './plugin/other';\n\nexport * from './core';\n\nVChart.useRegisters([\n // charts\n registerLineChart,\n registerAreaChart,\n registerBarChart,\n registerPieChart,\n registerCommonChart,\n\n // components\n registerCartesianLinearAxis,\n registerCartesianBandAxis,\n registerDiscreteLegend,\n registerTooltip,\n registerCartesianCrossHair,\n registerLabel,\n\n // plugin\n registerDomTooltipHandler,\n registerCanvasTooltipHandler,\n\n registerAnimate,\n registerReactAttributePlugin,\n registerHtmlAttributePlugin\n]);\n\nexport { VChart };\n\nexport default VChart;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { StateManager } from "../compile/signal/state-manager";
2
2
 
3
- import { PREFIX } from "../constant";
3
+ import { PREFIX } from "../constant/base";
4
4
 
5
5
  import { createID } from "../util/id";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animation/animate-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAAhD;;QAGW,OAAE,GAAW,QAAQ,EAAE,CAAC;QAEvB,yBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE;YAC/C,OAAO,GAAG,MAAM,YAAY,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;QAC/C,CAAC,CAAC;IAyDJ,CAAC;IAvDC,2BAA2B;QACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB,CAAC,KAAyB,EAAE,QAAkB;QAE9D,IAAI,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE;YACvC,IAAI,CAAC,WAAW,CACd;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS;iBAC/D;aACF,EACD,QAAQ,CACT,CAAC;SACH;aAEI,IAAI,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,WAAW,CACd;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;wBAC1C,OAAO,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBAC5F,CAAC;iBACF;aACF,EACD,QAAQ,CACT,CAAC;SACH;aAEI;YACH,IAAI,CAAC,WAAW,CACd;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE,CAAC,KAAK;iBACnD;aACF,EACD,QAAQ,CACT,CAAC;SACH;IACH,CAAC;IAES,mBAAmB;QAC3B,OAAO;YACL,cAAc,EAAE;gBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;oBAC1C,OAAO,OAAO,CAAC,SAAS,KAAK,MAAM;wBACjC,CAAC,CAAC,kBAAkB,CAAC,IAAI;wBACzB,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ;4BAChC,CAAC,CAAC,kBAAkB,CAAC,MAAM;4BAC3B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAChC,CAAC;aACF;SACF,CAAC;IACJ,CAAC;CACF","file":"animate-manager.js","sourcesContent":["import type { IElement } from '@visactor/vgrammar-core';\nimport { StateManager } from '../compile/signal/state-manager';\nimport type { StateValueMap } from '../compile/signal/interface';\nimport { PREFIX } from '../constant';\nimport { createID } from '../util/id';\nimport type { IAnimate, IAnimateState } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { AnimationStateEnum } from './interface';\n\nexport class AnimateManager extends StateManager implements IAnimate {\n protected declare _stateMap: IAnimateState & StateValueMap;\n\n readonly id: number = createID();\n\n protected stateKeyToSignalName = (key: string) => {\n return `${PREFIX}_animate_${this.id}_${key}`;\n };\n\n getAnimationStateSignalName() {\n return this.stateKeyToSignalName('animationState');\n }\n\n updateAnimateState(state: AnimationStateEnum, noRender?: boolean) {\n // when animation state is 'update', do animations by element diffState(enter & update & exit)\n if (state === AnimationStateEnum.update) {\n this.updateState(\n {\n animationState: {\n callback: (datum: any, element: IElement) => element.diffState\n }\n },\n noRender\n );\n }\n // when animation state is 'appear', all valid elements would do appear animation except from exit elements\n else if (state === AnimationStateEnum.appear) {\n this.updateState(\n {\n animationState: {\n callback: (datum: any, element: IElement) => {\n return element.diffState === 'exit' ? AnimationStateEnum.none : AnimationStateEnum.appear;\n }\n }\n },\n noRender\n );\n }\n // when animation state is other types, all elements would do animation by state\n else {\n this.updateState(\n {\n animationState: {\n callback: (datum: any, element: IElement) => state\n }\n },\n noRender\n );\n }\n }\n\n protected _getDefaultStateMap(): IAnimateState & StateValueMap {\n return {\n animationState: {\n callback: (datum: any, element: IElement) => {\n return element.diffState === 'exit'\n ? AnimationStateEnum.exit\n : element.diffState === 'update'\n ? AnimationStateEnum.update\n : AnimationStateEnum.appear;\n }\n }\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/animation/animate-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAAhD;;QAGW,OAAE,GAAW,QAAQ,EAAE,CAAC;QAEvB,yBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE;YAC/C,OAAO,GAAG,MAAM,YAAY,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;QAC/C,CAAC,CAAC;IAyDJ,CAAC;IAvDC,2BAA2B;QACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB,CAAC,KAAyB,EAAE,QAAkB;QAE9D,IAAI,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE;YACvC,IAAI,CAAC,WAAW,CACd;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS;iBAC/D;aACF,EACD,QAAQ,CACT,CAAC;SACH;aAEI,IAAI,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,WAAW,CACd;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;wBAC1C,OAAO,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBAC5F,CAAC;iBACF;aACF,EACD,QAAQ,CACT,CAAC;SACH;aAEI;YACH,IAAI,CAAC,WAAW,CACd;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE,CAAC,KAAK;iBACnD;aACF,EACD,QAAQ,CACT,CAAC;SACH;IACH,CAAC;IAES,mBAAmB;QAC3B,OAAO;YACL,cAAc,EAAE;gBACd,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;oBAC1C,OAAO,OAAO,CAAC,SAAS,KAAK,MAAM;wBACjC,CAAC,CAAC,kBAAkB,CAAC,IAAI;wBACzB,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ;4BAChC,CAAC,CAAC,kBAAkB,CAAC,MAAM;4BAC3B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAChC,CAAC;aACF;SACF,CAAC;IACJ,CAAC;CACF","file":"animate-manager.js","sourcesContent":["import type { IElement } from '@visactor/vgrammar-core';\nimport { StateManager } from '../compile/signal/state-manager';\nimport type { StateValueMap } from '../compile/signal/interface';\nimport { PREFIX } from '../constant/base';\nimport { createID } from '../util/id';\nimport type { IAnimate, IAnimateState } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { AnimationStateEnum } from './interface';\n\nexport class AnimateManager extends StateManager implements IAnimate {\n protected declare _stateMap: IAnimateState & StateValueMap;\n\n readonly id: number = createID();\n\n protected stateKeyToSignalName = (key: string) => {\n return `${PREFIX}_animate_${this.id}_${key}`;\n };\n\n getAnimationStateSignalName() {\n return this.stateKeyToSignalName('animationState');\n }\n\n updateAnimateState(state: AnimationStateEnum, noRender?: boolean) {\n // when animation state is 'update', do animations by element diffState(enter & update & exit)\n if (state === AnimationStateEnum.update) {\n this.updateState(\n {\n animationState: {\n callback: (datum: any, element: IElement) => element.diffState\n }\n },\n noRender\n );\n }\n // when animation state is 'appear', all valid elements would do appear animation except from exit elements\n else if (state === AnimationStateEnum.appear) {\n this.updateState(\n {\n animationState: {\n callback: (datum: any, element: IElement) => {\n return element.diffState === 'exit' ? AnimationStateEnum.none : AnimationStateEnum.appear;\n }\n }\n },\n noRender\n );\n }\n // when animation state is other types, all elements would do animation by state\n else {\n this.updateState(\n {\n animationState: {\n callback: (datum: any, element: IElement) => state\n }\n },\n noRender\n );\n }\n }\n\n protected _getDefaultStateMap(): IAnimateState & StateValueMap {\n return {\n animationState: {\n callback: (datum: any, element: IElement) => {\n return element.diffState === 'exit'\n ? AnimationStateEnum.exit\n : element.diffState === 'update'\n ? AnimationStateEnum.update\n : AnimationStateEnum.appear;\n }\n }\n };\n }\n}\n"]}
@@ -20,6 +20,10 @@ export declare const DEFAULT_ANIMATION_CONFIG: {
20
20
  duration: number;
21
21
  easing: string;
22
22
  };
23
+ state: {
24
+ duration: number;
25
+ easing: string;
26
+ };
23
27
  };
24
28
  export declare const ScaleInOutAnimation: {
25
29
  appear: {
@@ -27,6 +27,10 @@ export const DEFAULT_ANIMATION_CONFIG = {
27
27
  disappear: {
28
28
  duration: 500,
29
29
  easing: "cubicIn"
30
+ },
31
+ state: {
32
+ duration: 300,
33
+ easing: "linear"
30
34
  }
31
35
  };
32
36
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animation/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { TagPointsUpdate, ClipDirectionAnimate } from '@visactor/vrender-core';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { ILineAnimationParams, LineAppearPreset } from '../series/line/animation';\nimport { linePresetAnimation } from '../series/line/animation';\nimport type { MarkAnimationSpec, ICartesianGroupAnimationParams } from './interface';\nimport { Factory } from '../core/factory';\nimport {\n View,\n registerScaleInAnimation,\n registerScaleOutAnimation,\n registerFadeInAnimation,\n registerFadeOutAnimation,\n registerClipInAnimation,\n registerClipOutAnimation,\n registerGrowAngleInAnimation,\n registerGrowAngleOutAnimation,\n registerGrowCenterInAnimation,\n registerGrowCenterOutAnimation,\n registerGrowHeightInAnimation,\n registerGrowHeightOutAnimation,\n registerGrowPointsInAnimation,\n registerGrowPointsOutAnimation,\n registerGrowPointsXInAnimation,\n registerGrowPointsXOutAnimation,\n registerGrowPointsYInAnimation,\n registerGrowPointsYOutAnimation,\n registerGrowRadiusInAnimation,\n registerGrowRadiusOutAnimation,\n registerGrowWidthInAnimation,\n registerGrowWidthOutAnimation,\n registerMoveInAnimation,\n registerMoveOutAnimation,\n registerRotateInAnimation,\n registerRotateOutAnimation,\n registerUpdateAnimation\n} from '@visactor/vgrammar-core';\nimport { Direction } from '../typings/space';\n\nexport const DEFAULT_ANIMATION_CONFIG = {\n appear: {\n duration: 1000,\n easing: 'cubicOut'\n },\n update: {\n type: 'update',\n duration: 300,\n easing: 'linear'\n },\n enter: {\n duration: 300,\n easing: 'linear'\n },\n exit: {\n duration: 300,\n easing: 'linear'\n },\n disappear: {\n duration: 500,\n easing: 'cubicIn'\n }\n};\n\nexport const ScaleInOutAnimation = {\n appear: { type: 'scaleIn' },\n enter: { type: 'scaleIn' },\n exit: { type: 'scaleOut' },\n disappear: { type: 'scaleOut' }\n};\n\nexport const FadeInOutAnimation = {\n appear: { type: 'fadeIn' },\n enter: { type: 'fadeIn' },\n exit: { type: 'fadeOut' },\n disappear: { type: 'fadeOut' }\n};\n\nexport const registerScaleInOutAnimation = () => {\n Factory.registerAnimation('scaleInOut', () => ScaleInOutAnimation);\n};\n\nexport const registerFadeInOutAnimation = () => {\n Factory.registerAnimation('fadeInOut', () => FadeInOutAnimation);\n};\n\nexport const registerCartesianGroupClipAnimation = () => {\n Factory.registerAnimation('cartesianGroupClip', (params?: ICartesianGroupAnimationParams) => {\n return {\n appear: {\n custom: ClipDirectionAnimate,\n customParameters: (datum: any, element: IElement) => {\n return {\n animationType: 'in',\n group: element.getGraphicItem(),\n direction: params.direction(),\n width: params.width(),\n height: params.height(),\n orient: params.orient()\n };\n }\n },\n disappear: {\n custom: ClipDirectionAnimate,\n customParameters: (datum: any, element: IElement) => {\n return {\n animationType: 'out',\n group: element.getGraphicItem(),\n direction: params.direction(),\n width: params.width(),\n height: params.height(),\n orient: params.orient()\n };\n }\n }\n };\n });\n};\n\nconst lineOrAreaAnimation = (params: ILineAnimationParams, preset: LineAppearPreset) => {\n return {\n appear: linePresetAnimation(params, preset),\n enter: { type: 'fadeIn' },\n exit: { type: 'fadeOut' },\n update: [\n {\n type: 'update',\n options: { excludeChannels: ['points', 'defined'] }\n },\n {\n channel: ['points'],\n custom: TagPointsUpdate,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing,\n customParameters: {\n clipRangeByDimension: params.direction === Direction.horizontal ? 'y' : 'x'\n }\n }\n ],\n disappear: { type: 'clipOut' }\n } as MarkAnimationSpec;\n};\n\nexport const registerLineAnimation = () => {\n Factory.registerAnimation('line', lineOrAreaAnimation);\n};\n\nexport const registerAreaAnimation = () => {\n Factory.registerAnimation('area', lineOrAreaAnimation);\n};\n\nexport const registerVGrammarCommonAnimation = () => {\n View.useRegisters([\n registerScaleInAnimation,\n registerScaleOutAnimation,\n registerFadeInAnimation,\n registerFadeOutAnimation,\n registerMoveInAnimation,\n registerMoveOutAnimation,\n registerRotateInAnimation,\n registerRotateOutAnimation,\n registerUpdateAnimation\n ]);\n};\n\nexport const registerVGrammarRectAnimation = () => {\n View.useRegisters([\n registerGrowHeightInAnimation,\n registerGrowHeightOutAnimation,\n registerGrowWidthInAnimation,\n registerGrowWidthOutAnimation,\n registerGrowCenterInAnimation,\n registerGrowCenterOutAnimation\n ]);\n};\n\nexport const registerVGrammarArcAnimation = () => {\n View.useRegisters([\n registerGrowRadiusInAnimation,\n registerGrowRadiusOutAnimation,\n registerGrowAngleInAnimation,\n registerGrowAngleOutAnimation\n ]);\n};\n\nexport const registerVGrammarLineOrAreaAnimation = () => {\n View.useRegisters([\n registerGrowPointsInAnimation,\n registerGrowPointsOutAnimation,\n registerGrowPointsXInAnimation,\n registerGrowPointsXOutAnimation,\n registerGrowPointsYInAnimation,\n registerGrowPointsYOutAnimation,\n registerClipInAnimation,\n registerClipOutAnimation\n ]);\n};\n\nexport const registerVGrammarPolygonAnimation = () => {\n View.useRegisters([registerGrowPointsInAnimation, registerGrowPointsOutAnimation]);\n};\n"]}
1
+ {"version":3,"sources":["../src/animation/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { TagPointsUpdate, ClipDirectionAnimate } from '@visactor/vrender-core';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { ILineAnimationParams, LineAppearPreset } from '../series/line/animation';\nimport { linePresetAnimation } from '../series/line/animation';\nimport type { MarkAnimationSpec, ICartesianGroupAnimationParams } from './interface';\nimport { Factory } from '../core/factory';\nimport {\n View,\n registerScaleInAnimation,\n registerScaleOutAnimation,\n registerFadeInAnimation,\n registerFadeOutAnimation,\n registerClipInAnimation,\n registerClipOutAnimation,\n registerGrowAngleInAnimation,\n registerGrowAngleOutAnimation,\n registerGrowCenterInAnimation,\n registerGrowCenterOutAnimation,\n registerGrowHeightInAnimation,\n registerGrowHeightOutAnimation,\n registerGrowPointsInAnimation,\n registerGrowPointsOutAnimation,\n registerGrowPointsXInAnimation,\n registerGrowPointsXOutAnimation,\n registerGrowPointsYInAnimation,\n registerGrowPointsYOutAnimation,\n registerGrowRadiusInAnimation,\n registerGrowRadiusOutAnimation,\n registerGrowWidthInAnimation,\n registerGrowWidthOutAnimation,\n registerMoveInAnimation,\n registerMoveOutAnimation,\n registerRotateInAnimation,\n registerRotateOutAnimation,\n registerUpdateAnimation\n} from '@visactor/vgrammar-core';\nimport { Direction } from '../typings/space';\n\nexport const DEFAULT_ANIMATION_CONFIG = {\n appear: {\n duration: 1000,\n easing: 'cubicOut'\n },\n update: {\n type: 'update',\n duration: 300,\n easing: 'linear'\n },\n enter: {\n duration: 300,\n easing: 'linear'\n },\n exit: {\n duration: 300,\n easing: 'linear'\n },\n disappear: {\n duration: 500,\n easing: 'cubicIn'\n },\n state: {\n duration: 300,\n easing: 'linear'\n }\n};\n\nexport const ScaleInOutAnimation = {\n appear: { type: 'scaleIn' },\n enter: { type: 'scaleIn' },\n exit: { type: 'scaleOut' },\n disappear: { type: 'scaleOut' }\n};\n\nexport const FadeInOutAnimation = {\n appear: { type: 'fadeIn' },\n enter: { type: 'fadeIn' },\n exit: { type: 'fadeOut' },\n disappear: { type: 'fadeOut' }\n};\n\nexport const registerScaleInOutAnimation = () => {\n Factory.registerAnimation('scaleInOut', () => ScaleInOutAnimation);\n};\n\nexport const registerFadeInOutAnimation = () => {\n Factory.registerAnimation('fadeInOut', () => FadeInOutAnimation);\n};\n\nexport const registerCartesianGroupClipAnimation = () => {\n Factory.registerAnimation('cartesianGroupClip', (params?: ICartesianGroupAnimationParams) => {\n return {\n appear: {\n custom: ClipDirectionAnimate,\n customParameters: (datum: any, element: IElement) => {\n return {\n animationType: 'in',\n group: element.getGraphicItem(),\n direction: params.direction(),\n width: params.width(),\n height: params.height(),\n orient: params.orient()\n };\n }\n },\n disappear: {\n custom: ClipDirectionAnimate,\n customParameters: (datum: any, element: IElement) => {\n return {\n animationType: 'out',\n group: element.getGraphicItem(),\n direction: params.direction(),\n width: params.width(),\n height: params.height(),\n orient: params.orient()\n };\n }\n }\n };\n });\n};\n\nconst lineOrAreaAnimation = (params: ILineAnimationParams, preset: LineAppearPreset) => {\n return {\n appear: linePresetAnimation(params, preset),\n enter: { type: 'fadeIn' },\n exit: { type: 'fadeOut' },\n update: [\n {\n type: 'update',\n options: { excludeChannels: ['points', 'defined'] }\n },\n {\n channel: ['points'],\n custom: TagPointsUpdate,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing,\n customParameters: {\n clipRangeByDimension: params.direction === Direction.horizontal ? 'y' : 'x'\n }\n }\n ],\n disappear: { type: 'clipOut' }\n } as MarkAnimationSpec;\n};\n\nexport const registerLineAnimation = () => {\n Factory.registerAnimation('line', lineOrAreaAnimation);\n};\n\nexport const registerAreaAnimation = () => {\n Factory.registerAnimation('area', lineOrAreaAnimation);\n};\n\nexport const registerVGrammarCommonAnimation = () => {\n View.useRegisters([\n registerScaleInAnimation,\n registerScaleOutAnimation,\n registerFadeInAnimation,\n registerFadeOutAnimation,\n registerMoveInAnimation,\n registerMoveOutAnimation,\n registerRotateInAnimation,\n registerRotateOutAnimation,\n registerUpdateAnimation\n ]);\n};\n\nexport const registerVGrammarRectAnimation = () => {\n View.useRegisters([\n registerGrowHeightInAnimation,\n registerGrowHeightOutAnimation,\n registerGrowWidthInAnimation,\n registerGrowWidthOutAnimation,\n registerGrowCenterInAnimation,\n registerGrowCenterOutAnimation\n ]);\n};\n\nexport const registerVGrammarArcAnimation = () => {\n View.useRegisters([\n registerGrowRadiusInAnimation,\n registerGrowRadiusOutAnimation,\n registerGrowAngleInAnimation,\n registerGrowAngleOutAnimation\n ]);\n};\n\nexport const registerVGrammarLineOrAreaAnimation = () => {\n View.useRegisters([\n registerGrowPointsInAnimation,\n registerGrowPointsOutAnimation,\n registerGrowPointsXInAnimation,\n registerGrowPointsXOutAnimation,\n registerGrowPointsYInAnimation,\n registerGrowPointsYOutAnimation,\n registerClipInAnimation,\n registerClipOutAnimation\n ]);\n};\n\nexport const registerVGrammarPolygonAnimation = () => {\n View.useRegisters([registerGrowPointsInAnimation, registerGrowPointsOutAnimation]);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import type { IAnimationConfig } from '@visactor/vgrammar-core';
1
+ import type { IAnimationConfig, IStateAnimationConfig } from '@visactor/vgrammar-core';
2
2
  import type { EasingType } from '@visactor/vrender-core';
3
3
  export type { IRunningConfig as IMorphConfig, IMorphAnimationConfig } from '@visactor/vgrammar-core';
4
4
  export type IStateAnimateSpec<Preset extends string> = {
@@ -15,6 +15,7 @@ export interface IAnimationSpec<MarkName extends string, Preset extends string>
15
15
  animationUpdate?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;
16
16
  animationExit?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;
17
17
  animationDisappear?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;
18
+ animationState?: boolean | IStateAnimationConfig;
18
19
  animationNormal?: IMarkAnimateSpec<MarkName>;
19
20
  }
20
21
  export interface IMorphSeriesSpec {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animation/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\nimport type { EasingType } from '@visactor/vrender-core';\nexport type { IRunningConfig as IMorphConfig, IMorphAnimationConfig } from '@visactor/vgrammar-core';\n\nexport type IStateAnimateSpec<Preset extends string> = {\n /**\n * 预设动画效果\n */\n preset?: Preset | false;\n /**\n * 图表动画时长\n */\n duration?: number;\n /**\n * 动画延迟开始的时长\n */\n delay?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n /**\n * 是否轮流执行\n */\n oneByOne?: boolean;\n};\n\nexport type IMarkAnimateSpec<MarkName extends string> = Partial<\n Record<MarkName, false | IAnimationConfig | IAnimationConfig[]>\n>;\n\nexport interface IAnimationSpec<MarkName extends string, Preset extends string> {\n /**\n * 图表入场动画\n * 支持配置图表内置不同动画效果\n */\n animationAppear?: boolean | IStateAnimateSpec<Preset> | IMarkAnimateSpec<MarkName>;\n /**\n * 数据更新 - 新增数据动画\n */\n animationEnter?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 数据更新 - 数据更新动画\n */\n animationUpdate?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 数据更新 - 数据删除动画\n */\n animationExit?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 图表退场动画\n */\n animationDisappear?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 循环动画\n */\n animationNormal?: IMarkAnimateSpec<MarkName>;\n}\nexport interface IMorphSeriesSpec {\n /**\n * 系列全局动画是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 图元匹配字段\n * 系列前后根据 morphKey 配置的内容进行关联\n */\n morphKey?: string;\n /**\n * 数据匹配字段\n * 多数据图元可配置\n */\n morphElementKey?: string;\n}\n"]}
1
+ {"version":3,"sources":["../src/animation/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IAnimationConfig, IStateAnimationConfig } from '@visactor/vgrammar-core';\nimport type { EasingType } from '@visactor/vrender-core';\nexport type { IRunningConfig as IMorphConfig, IMorphAnimationConfig } from '@visactor/vgrammar-core';\n\nexport type IStateAnimateSpec<Preset extends string> = {\n /**\n * 预设动画效果\n */\n preset?: Preset | false;\n /**\n * 图表动画时长\n */\n duration?: number;\n /**\n * 动画延迟开始的时长\n */\n delay?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n /**\n * 是否轮流执行\n */\n oneByOne?: boolean;\n};\n\nexport type IMarkAnimateSpec<MarkName extends string> = Partial<\n Record<MarkName, false | IAnimationConfig | IAnimationConfig[]>\n>;\n\nexport interface IAnimationSpec<MarkName extends string, Preset extends string> {\n /**\n * 图表入场动画\n * 支持配置图表内置不同动画效果\n */\n animationAppear?: boolean | IStateAnimateSpec<Preset> | IMarkAnimateSpec<MarkName>;\n /**\n * 数据更新 - 新增数据动画\n */\n animationEnter?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 数据更新 - 数据更新动画\n */\n animationUpdate?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 数据更新 - 数据删除动画\n */\n animationExit?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 图表退场动画\n */\n animationDisappear?: boolean | Omit<IStateAnimateSpec<Preset>, 'preset'> | IMarkAnimateSpec<MarkName>;\n /**\n * 状态切换动画\n * @since 1.12.0\n */\n animationState?: boolean | IStateAnimationConfig;\n /**\n * 循环动画\n */\n animationNormal?: IMarkAnimateSpec<MarkName>;\n}\nexport interface IMorphSeriesSpec {\n /**\n * 系列全局动画是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 图元匹配字段\n * 系列前后根据 morphKey 配置的内容进行关联\n */\n morphKey?: string;\n /**\n * 数据匹配字段\n * 多数据图元可配置\n */\n morphElementKey?: string;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { isFunction, isValidNumber } from "../util/type";
2
2
 
3
- import { DEFAULT_DATA_INDEX } from "../constant";
3
+ import { DEFAULT_DATA_INDEX } from "../constant/data";
4
4
 
5
5
  import { DEFAULT_ANIMATION_CONFIG } from "./config";
6
6
 
@@ -8,7 +8,7 @@ import { cloneDeep, isArray, isObject, isValid } from "@visactor/vutils";
8
8
 
9
9
  import { mergeSpec } from "@visactor/vutils-extension";
10
10
 
11
- export const AnimationStates = [ "appear", "enter", "update", "exit", "disappear", "normal" ];
11
+ export const AnimationStates = Object.keys(DEFAULT_ANIMATION_CONFIG);
12
12
 
13
13
  export function animationConfig(defaultConfig = {}, userConfig, params) {
14
14
  const config = {};
@@ -19,6 +19,10 @@ export function animationConfig(defaultConfig = {}, userConfig, params) {
19
19
  userStateConfig && (config.normal = userStateConfig);
20
20
  continue;
21
21
  }
22
+ if ("state" === state) {
23
+ !1 !== userStateConfig && (config.state = null != userStateConfig ? userStateConfig : DEFAULT_ANIMATION_CONFIG.state);
24
+ continue;
25
+ }
22
26
  if ("update" !== state && !userStateConfig && !defaultConfig[state]) continue;
23
27
  let defaultStateConfig, stateConfig;
24
28
  (defaultStateConfig = isArray(defaultConfig[state]) ? defaultConfig[state] : [ Object.assign(Object.assign({}, DEFAULT_ANIMATION_CONFIG[state]), defaultConfig[state]) ],
@@ -38,17 +42,18 @@ export function animationConfig(defaultConfig = {}, userConfig, params) {
38
42
  singleConfig;
39
43
  })), config[state] = stateConfig) : config[state] = defaultStateConfig;
40
44
  }
41
- return config.state = config.update, config;
45
+ return config;
42
46
  }
43
47
 
44
48
  export function userAnimationConfig(markName, spec, ctx) {
45
- var _a, _b, _c, _d, _e;
49
+ var _a, _b, _c, _d, _e, _f;
46
50
  const userConfig = {};
47
51
  return isValid(spec.animationAppear) && (userConfig.appear = null !== (_a = spec.animationAppear[markName]) && void 0 !== _a ? _a : spec.animationAppear),
48
52
  isValid(spec.animationDisappear) && (userConfig.disappear = null !== (_b = spec.animationDisappear[markName]) && void 0 !== _b ? _b : spec.animationDisappear),
49
53
  isValid(spec.animationEnter) && (userConfig.enter = null !== (_c = spec.animationEnter[markName]) && void 0 !== _c ? _c : spec.animationEnter),
50
54
  isValid(spec.animationExit) && (userConfig.exit = null !== (_d = spec.animationExit[markName]) && void 0 !== _d ? _d : spec.animationExit),
51
55
  isValid(spec.animationUpdate) && (userConfig.update = null !== (_e = spec.animationUpdate[markName]) && void 0 !== _e ? _e : spec.animationUpdate),
56
+ isValid(spec.animationState) && (userConfig.state = null !== (_f = spec.animationState[markName]) && void 0 !== _f ? _f : spec.animationState),
52
57
  spec.animationNormal && spec.animationNormal[markName] && (userConfig.normal = spec.animationNormal[markName]),
53
58
  uniformAnimationConfig(userConfig, ctx);
54
59
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animation/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n IElement,\n IAnimationTypeConfig,\n IStateAnimationConfig,\n IAnimationTimeline\n} from '@visactor/vgrammar-core';\nimport type { MarkAnimationSpec, IAnimationState } from './interface';\nimport type { IStateAnimateSpec, IAnimationSpec } from './spec';\nimport { isFunction, isValidNumber } from '../util/type';\nimport { DEFAULT_DATA_INDEX } from '../constant';\nimport { DEFAULT_ANIMATION_CONFIG } from './config';\nimport { cloneDeep, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { SeriesMarkNameEnum } from '../series/interface/type';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ISeries } from '../series';\nimport type { ISeriesSpec } from '../typings';\nimport type { IModelMarkAttributeContext } from '../compile/mark';\n\nexport const AnimationStates = ['appear', 'enter', 'update', 'exit', 'disappear', 'normal'];\n\nexport function animationConfig<Preset extends string>(\n defaultConfig: MarkAnimationSpec = {},\n userConfig?: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n >,\n params?: {\n dataIndex: (datum: any, params: any) => number;\n dataCount: () => number;\n }\n) {\n const config = {} as MarkAnimationSpec;\n for (let i = 0; i < AnimationStates.length; i++) {\n const state = AnimationStates[i];\n const userStateConfig = userConfig ? userConfig[state] : undefined;\n\n if (userStateConfig === false) {\n continue;\n }\n\n if (state === 'normal') {\n userStateConfig && (config.normal = userStateConfig as IAnimationTypeConfig);\n continue;\n }\n\n if (state !== 'update' && !userStateConfig && !defaultConfig[state]) {\n // no user config and default config\n continue;\n }\n\n // 开始处理默认动画逻辑\n let defaultStateConfig: IAnimationConfig[];\n if (isArray(defaultConfig[state])) {\n defaultStateConfig = defaultConfig[state] as IAnimationConfig[];\n } else {\n defaultStateConfig = [{ ...DEFAULT_ANIMATION_CONFIG[state], ...defaultConfig[state] } as any];\n }\n // FIXME: 用来控制当动画状态发生变更时是否清除正在执行的动画。\n // 现在 vrender 对于同一个视觉通道的 tween 不会做覆盖的处理。若不做动画清空同时 exit 动画比 update 动画时间长的情况下,效果会不正确\n if (state === 'exit') {\n defaultStateConfig.forEach(exitConfig => {\n exitConfig.controlOptions = { stopWhenStateChange: true };\n });\n }\n\n if (!userStateConfig) {\n config[state] = defaultStateConfig;\n continue;\n }\n\n // 开始处理用户配置的动画逻辑\n let stateConfig: IAnimationConfig[];\n if (isArray(userStateConfig)) {\n stateConfig = userStateConfig.map((userConfig, i) => {\n let singleConfig: IAnimationConfig = userConfig;\n // not merge default config when user animation config is array\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n } else {\n stateConfig = defaultStateConfig.map((stateConfig, i) => {\n let singleConfig: IAnimationConfig = mergeSpec({}, defaultStateConfig[i], userStateConfig) as IAnimationConfig;\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n }\n\n config[state] = stateConfig;\n }\n\n // 将 update copy 到 state 保证 useState 效果与 update 对齐\n config.state = config.update as IStateAnimationConfig;\n return config;\n}\n\nexport function userAnimationConfig<M extends string, Preset extends string>(\n markName: SeriesMarkNameEnum | string,\n spec: IAnimationSpec<M, Preset>,\n ctx: IModelMarkAttributeContext\n) {\n const userConfig: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n > = {};\n\n if (isValid(spec.animationAppear)) {\n userConfig.appear = spec.animationAppear[markName] ?? spec.animationAppear;\n }\n if (isValid(spec.animationDisappear)) {\n userConfig.disappear = spec.animationDisappear[markName] ?? spec.animationDisappear;\n }\n if (isValid(spec.animationEnter)) {\n userConfig.enter = spec.animationEnter[markName] ?? spec.animationEnter;\n }\n\n if (isValid(spec.animationExit)) {\n userConfig.exit = spec.animationExit[markName] ?? spec.animationExit;\n }\n if (isValid(spec.animationUpdate)) {\n userConfig.update = spec.animationUpdate[markName] ?? spec.animationUpdate;\n }\n if (spec.animationNormal && spec.animationNormal[markName]) {\n userConfig.normal = spec.animationNormal[markName];\n }\n\n return uniformAnimationConfig(userConfig, ctx);\n}\n\n/**\n * oneByOne\n */\nfunction produceOneByOne(\n stateConfig: IAnimationTypeConfig,\n dataIndex: (datum: any, params: any) => number,\n dataCount?: () => number\n) {\n const { oneByOne, duration, delay, delayAfter } = stateConfig;\n stateConfig.delay = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelay = isFunction(delay) ? delay(datum, element, params) : isValidNumber(delay) ? delay : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelay;\n }\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelay + index * (durationTime + oneByOneTime);\n };\n stateConfig.delayAfter = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelayAfter = isFunction(delayAfter)\n ? delayAfter(datum, element, params)\n : isValidNumber(delayAfter)\n ? delayAfter\n : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelayAfter;\n }\n const indexCount = dataCount ? dataCount() : element.mark.elements.length;\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelayAfter + (indexCount - index) * (durationTime + oneByOneTime);\n };\n delete stateConfig.oneByOne;\n return stateConfig;\n}\n\nfunction defaultDataIndex(datum: any, params: any) {\n return datum?.[DEFAULT_DATA_INDEX] ?? params?.VGRAMMAR_ANIMATION_PARAMETERS?.elementIndex;\n}\n\nexport function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string) {\n if (spec.animation === false) {\n return false;\n }\n\n if (spec.morph?.enable === false) {\n return false;\n }\n\n const appearAnimationEnabled = (spec.animationAppear?.[markName] ?? spec.animationAppear) !== false;\n const updateAnimationEnabled = (spec.animationUpdate?.[markName] ?? spec.animationUpdate) !== false;\n\n if (!appearAnimationEnabled || !updateAnimationEnabled) {\n return false;\n }\n\n return true;\n}\n\nexport function isTimeLineAnimation(animationConfig: IAnimationConfig) {\n return isValid((animationConfig as IAnimationTimeline).timeSlices);\n}\n\nexport function isChannelAnimation(animationConfig: IAnimationConfig) {\n return !isTimeLineAnimation(animationConfig) && isValid((animationConfig as IAnimationTypeConfig).channel);\n}\n\nexport function uniformAnimationConfig<Preset extends string>(\n config: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>,\n ctx: IModelMarkAttributeContext\n) {\n if (!config) {\n return config;\n }\n config = cloneDeep(config);\n traverseSpec(config, (node: any) => {\n // 将函数转换为 vchart 代理的函数\n // 这里可能会传自定义动画的构造函数,不能被代理\n if (isFunction(node) && node.prototype?.constructor !== node) {\n const name = (...args: any) => {\n return node(...args, ctx);\n };\n return name;\n }\n return node;\n });\n\n return config;\n}\n\nfunction traverseSpec(spec: any, transform: (node: any, key: string | number) => any) {\n if (isArray(spec)) {\n spec.forEach((i: any, index: number) => {\n spec[index] = transform(spec[index], index);\n traverseSpec(spec[index], transform);\n });\n } else if (isObject(spec)) {\n for (const key in spec) {\n spec[key] = transform(spec[key], key);\n traverseSpec(spec[key], transform);\n }\n }\n}\n\nexport function isAnimationEnabledForSeries(series: ISeries) {\n const seriesSpec = series.getSpec();\n\n if (seriesSpec.animation === false) {\n return false;\n }\n\n if (!isValid(series.getRegion().animate)) {\n return false;\n }\n\n let animationThreshold = seriesSpec.animationThreshold ?? Number.MAX_SAFE_INTEGER;\n\n // set mark stroke color follow series color\n // only set normal state in the level lower than level Series\n series.getMarks()?.forEach(m => {\n const config = m.getProgressiveConfig();\n if (config) {\n if (config.large && config.largeThreshold) {\n animationThreshold = Math.min(animationThreshold, config.largeThreshold);\n }\n if (config.progressiveThreshold) {\n animationThreshold = Math.min(animationThreshold, config.progressiveThreshold);\n }\n }\n });\n // auto close animation\n if (series.getRawData()?.latestData?.length >= animationThreshold) {\n return false;\n }\n\n return true;\n}\n"]}
1
+ {"version":3,"sources":["../src/animation/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n IElement,\n IAnimationTypeConfig,\n IStateAnimationConfig,\n IAnimationTimeline\n} from '@visactor/vgrammar-core';\nimport type { MarkAnimationSpec, IAnimationState } from './interface';\nimport type { IStateAnimateSpec, IAnimationSpec } from './spec';\nimport { isFunction, isValidNumber } from '../util/type';\nimport { DEFAULT_DATA_INDEX } from '../constant/data';\nimport { DEFAULT_ANIMATION_CONFIG } from './config';\nimport { cloneDeep, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { SeriesMarkNameEnum } from '../series/interface/type';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ISeries } from '../series';\nimport type { ISeriesSpec } from '../typings';\nimport type { IModelMarkAttributeContext } from '../compile/mark';\n\nexport const AnimationStates = Object.keys(DEFAULT_ANIMATION_CONFIG);\n\nexport function animationConfig<Preset extends string>(\n defaultConfig: MarkAnimationSpec = {},\n userConfig?: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n >,\n params?: {\n dataIndex: (datum: any, params: any) => number;\n dataCount: () => number;\n }\n) {\n const config = {} as MarkAnimationSpec;\n for (let i = 0; i < AnimationStates.length; i++) {\n const state = AnimationStates[i];\n const userStateConfig = userConfig ? userConfig[state] : undefined;\n\n if (userStateConfig === false) {\n continue;\n }\n\n if (state === 'normal') {\n userStateConfig && (config.normal = userStateConfig as IAnimationTypeConfig);\n continue;\n } else if (state === 'state') {\n if (userStateConfig !== false) {\n config.state = (userStateConfig ?? DEFAULT_ANIMATION_CONFIG.state) as any;\n }\n continue;\n }\n\n if (state !== 'update' && !userStateConfig && !defaultConfig[state]) {\n // no user config and default config\n continue;\n }\n\n // 开始处理默认动画逻辑\n let defaultStateConfig: IAnimationConfig[];\n if (isArray(defaultConfig[state])) {\n defaultStateConfig = defaultConfig[state] as IAnimationConfig[];\n } else {\n defaultStateConfig = [{ ...DEFAULT_ANIMATION_CONFIG[state], ...defaultConfig[state] } as any];\n }\n // FIXME: 用来控制当动画状态发生变更时是否清除正在执行的动画。\n // 现在 vrender 对于同一个视觉通道的 tween 不会做覆盖的处理。若不做动画清空同时 exit 动画比 update 动画时间长的情况下,效果会不正确\n if (state === 'exit') {\n defaultStateConfig.forEach(exitConfig => {\n exitConfig.controlOptions = { stopWhenStateChange: true };\n });\n }\n\n if (!userStateConfig) {\n config[state] = defaultStateConfig;\n continue;\n }\n\n // 开始处理用户配置的动画逻辑\n let stateConfig: IAnimationConfig[];\n if (isArray(userStateConfig)) {\n stateConfig = userStateConfig.map((userConfig, i) => {\n let singleConfig: IAnimationConfig = userConfig;\n // not merge default config when user animation config is array\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n } else {\n stateConfig = defaultStateConfig.map((stateConfig, i) => {\n let singleConfig: IAnimationConfig = mergeSpec({}, defaultStateConfig[i], userStateConfig) as IAnimationConfig;\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n }\n\n config[state] = stateConfig;\n }\n return config;\n}\n\nexport function userAnimationConfig<M extends string, Preset extends string>(\n markName: SeriesMarkNameEnum | string,\n spec: IAnimationSpec<M, Preset>,\n ctx: IModelMarkAttributeContext\n) {\n const userConfig: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n > = {};\n\n if (isValid(spec.animationAppear)) {\n userConfig.appear = spec.animationAppear[markName] ?? spec.animationAppear;\n }\n if (isValid(spec.animationDisappear)) {\n userConfig.disappear = spec.animationDisappear[markName] ?? spec.animationDisappear;\n }\n if (isValid(spec.animationEnter)) {\n userConfig.enter = spec.animationEnter[markName] ?? spec.animationEnter;\n }\n if (isValid(spec.animationExit)) {\n userConfig.exit = spec.animationExit[markName] ?? spec.animationExit;\n }\n if (isValid(spec.animationUpdate)) {\n userConfig.update = spec.animationUpdate[markName] ?? spec.animationUpdate;\n }\n if (isValid(spec.animationState)) {\n userConfig.state = spec.animationState[markName] ?? spec.animationState;\n }\n if (spec.animationNormal && spec.animationNormal[markName]) {\n userConfig.normal = spec.animationNormal[markName];\n }\n\n return uniformAnimationConfig(userConfig, ctx);\n}\n\n/**\n * oneByOne\n */\nfunction produceOneByOne(\n stateConfig: IAnimationTypeConfig,\n dataIndex: (datum: any, params: any) => number,\n dataCount?: () => number\n) {\n const { oneByOne, duration, delay, delayAfter } = stateConfig;\n stateConfig.delay = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelay = isFunction(delay) ? delay(datum, element, params) : isValidNumber(delay) ? delay : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelay;\n }\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelay + index * (durationTime + oneByOneTime);\n };\n stateConfig.delayAfter = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum, params);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelayAfter = isFunction(delayAfter)\n ? delayAfter(datum, element, params)\n : isValidNumber(delayAfter)\n ? delayAfter\n : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelayAfter;\n }\n const indexCount = dataCount ? dataCount() : element.mark.elements.length;\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelayAfter + (indexCount - index) * (durationTime + oneByOneTime);\n };\n delete stateConfig.oneByOne;\n return stateConfig;\n}\n\nfunction defaultDataIndex(datum: any, params: any) {\n return datum?.[DEFAULT_DATA_INDEX] ?? params?.VGRAMMAR_ANIMATION_PARAMETERS?.elementIndex;\n}\n\nexport function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string) {\n if (spec.animation === false) {\n return false;\n }\n\n if (spec.morph?.enable === false) {\n return false;\n }\n\n const appearAnimationEnabled = (spec.animationAppear?.[markName] ?? spec.animationAppear) !== false;\n const updateAnimationEnabled = (spec.animationUpdate?.[markName] ?? spec.animationUpdate) !== false;\n\n if (!appearAnimationEnabled || !updateAnimationEnabled) {\n return false;\n }\n\n return true;\n}\n\nexport function isTimeLineAnimation(animationConfig: IAnimationConfig) {\n return isValid((animationConfig as IAnimationTimeline).timeSlices);\n}\n\nexport function isChannelAnimation(animationConfig: IAnimationConfig) {\n return !isTimeLineAnimation(animationConfig) && isValid((animationConfig as IAnimationTypeConfig).channel);\n}\n\nexport function uniformAnimationConfig<Preset extends string>(\n config: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>,\n ctx: IModelMarkAttributeContext\n) {\n if (!config) {\n return config;\n }\n config = cloneDeep(config);\n traverseSpec(config, (node: any) => {\n // 将函数转换为 vchart 代理的函数\n // 这里可能会传自定义动画的构造函数,不能被代理\n if (isFunction(node) && node.prototype?.constructor !== node) {\n const name = (...args: any) => {\n return node(...args, ctx);\n };\n return name;\n }\n return node;\n });\n\n return config;\n}\n\nfunction traverseSpec(spec: any, transform: (node: any, key: string | number) => any) {\n if (isArray(spec)) {\n spec.forEach((i: any, index: number) => {\n spec[index] = transform(spec[index], index);\n traverseSpec(spec[index], transform);\n });\n } else if (isObject(spec)) {\n for (const key in spec) {\n spec[key] = transform(spec[key], key);\n traverseSpec(spec[key], transform);\n }\n }\n}\n\nexport function isAnimationEnabledForSeries(series: ISeries) {\n const seriesSpec = series.getSpec();\n\n if (seriesSpec.animation === false) {\n return false;\n }\n\n if (!isValid(series.getRegion().animate)) {\n return false;\n }\n\n let animationThreshold = seriesSpec.animationThreshold ?? Number.MAX_SAFE_INTEGER;\n\n // set mark stroke color follow series color\n // only set normal state in the level lower than level Series\n series.getMarks()?.forEach(m => {\n const config = m.getProgressiveConfig();\n if (config) {\n if (config.large && config.largeThreshold) {\n animationThreshold = Math.min(animationThreshold, config.largeThreshold);\n }\n if (config.progressiveThreshold) {\n animationThreshold = Math.min(animationThreshold, config.progressiveThreshold);\n }\n }\n });\n // auto close animation\n if (series.getRawData()?.latestData?.length >= animationThreshold) {\n return false;\n }\n\n return true;\n}\n"]}
@@ -8,6 +8,8 @@ import { BarChart } from "../bar";
8
8
 
9
9
  import { Bar3dChartSpecTransformer } from "./bar-3d-transformer";
10
10
 
11
+ import { register3DPlugin } from "../../../plugin/other";
12
+
11
13
  export class Bar3dChart extends BarChart {
12
14
  constructor() {
13
15
  super(...arguments), this.transformerConstructor = Bar3dChartSpecTransformer, this.type = "bar3d",
@@ -18,6 +20,6 @@ export class Bar3dChart extends BarChart {
18
20
  Bar3dChart.type = "bar3d", Bar3dChart.seriesType = SeriesTypeEnum.bar3d, Bar3dChart.transformerConstructor = Bar3dChartSpecTransformer;
19
21
 
20
22
  export const registerBar3dChart = () => {
21
- registerBar3dSeries(), Factory.registerChart(Bar3dChart.type, Bar3dChart);
23
+ register3DPlugin(), registerBar3dSeries(), Factory.registerChart(Bar3dChart.type, Bar3dChart);
22
24
  };
23
25
  //# sourceMappingURL=bar-3d.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/bar/3d/bar-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,OAAO,UAAwD,SAAQ,QAE5E;IAFD;;QAOW,2BAAsB,GAAG,yBAAyB,CAAC;QACnD,SAAI,WAA+B;QACnC,eAAU,GAAW,cAAc,CAAC,KAAK,CAAC;IACrD,CAAC;;AAPiB,eAAI,WAA+B;AACnC,qBAAU,GAAW,cAAc,CAAC,KAAK,CAAC;AAC1C,iCAAsB,GAAG,yBAAyB,CAAC;AAOrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,mBAAmB,EAAE,CAAC;IACtB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC","file":"bar-3d.js","sourcesContent":["import { registerBar3dSeries } from '../../../series/bar/bar-3d';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport { ChartTypeEnum } from '../../interface/type';\nimport type { IBar3dChartSpec } from '../interface';\nimport { Factory } from '../../../core/factory';\nimport { BarChart } from '../bar';\nimport type { AdaptiveSpec } from '../../../typings';\nimport { Bar3dChartSpecTransformer } from './bar-3d-transformer';\n\nexport class Bar3dChart<T extends IBar3dChartSpec = IBar3dChartSpec> extends BarChart<\n AdaptiveSpec<T, 'type' | 'series'>\n> {\n static readonly type: string = ChartTypeEnum.bar3d;\n static readonly seriesType: string = SeriesTypeEnum.bar3d;\n static readonly transformerConstructor = Bar3dChartSpecTransformer;\n // @ts-ignore\n readonly transformerConstructor = Bar3dChartSpecTransformer;\n readonly type: string = ChartTypeEnum.bar3d;\n readonly seriesType: string = SeriesTypeEnum.bar3d;\n}\n\nexport const registerBar3dChart = () => {\n registerBar3dSeries();\n Factory.registerChart(Bar3dChart.type, Bar3dChart);\n};\n"]}
1
+ {"version":3,"sources":["../src/chart/bar/3d/bar-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,UAAwD,SAAQ,QAE5E;IAFD;;QAOW,2BAAsB,GAAG,yBAAyB,CAAC;QACnD,SAAI,WAA+B;QACnC,eAAU,GAAW,cAAc,CAAC,KAAK,CAAC;IACrD,CAAC;;AAPiB,eAAI,WAA+B;AACnC,qBAAU,GAAW,cAAc,CAAC,KAAK,CAAC;AAC1C,iCAAsB,GAAG,yBAAyB,CAAC;AAOrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,gBAAgB,EAAE,CAAC;IACnB,mBAAmB,EAAE,CAAC;IACtB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC","file":"bar-3d.js","sourcesContent":["import { registerBar3dSeries } from '../../../series/bar/bar-3d';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport { ChartTypeEnum } from '../../interface/type';\nimport type { IBar3dChartSpec } from '../interface';\nimport { Factory } from '../../../core/factory';\nimport { BarChart } from '../bar';\nimport type { AdaptiveSpec } from '../../../typings';\nimport { Bar3dChartSpecTransformer } from './bar-3d-transformer';\nimport { register3DPlugin } from '../../../plugin/other';\n\nexport class Bar3dChart<T extends IBar3dChartSpec = IBar3dChartSpec> extends BarChart<\n AdaptiveSpec<T, 'type' | 'series'>\n> {\n static readonly type: string = ChartTypeEnum.bar3d;\n static readonly seriesType: string = SeriesTypeEnum.bar3d;\n static readonly transformerConstructor = Bar3dChartSpecTransformer;\n // @ts-ignore\n readonly transformerConstructor = Bar3dChartSpecTransformer;\n readonly type: string = ChartTypeEnum.bar3d;\n readonly seriesType: string = SeriesTypeEnum.bar3d;\n}\n\nexport const registerBar3dChart = () => {\n register3DPlugin();\n registerBar3dSeries();\n Factory.registerChart(Bar3dChart.type, Bar3dChart);\n};\n"]}
@@ -90,6 +90,7 @@ export class BaseChartSpecTransformer {
90
90
  animationUpdate: chartSpec.animationUpdate,
91
91
  animationExit: chartSpec.animationExit,
92
92
  animationNormal: chartSpec.animationNormal,
93
+ animationState: chartSpec.animationState,
93
94
  extensionMark: chartSpec.extensionMark,
94
95
  large: chartSpec.large,
95
96
  largeThreshold: chartSpec.largeThreshold,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/base/base-chart-transformer.ts"],"names":[],"mappings":"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","file":"base-chart-transformer.js","sourcesContent":["import { isArray, isNumber, isValid } from '@visactor/vutils';\nimport type { IChartSpec, ISeriesSpec } from '../../typings';\nimport type { IChartSpecInfo, IChartSpecTransformer, IChartSpecTransformerOption } from '../interface';\nimport type { IModelConstructor, IModelSpecInfo } from '../../model/interface';\nimport type { IRegionConstructor, RegionSpec } from '../../region/interface';\nimport { Factory } from '../../core';\nimport type { ISeriesConstructor } from '../../series';\nimport type { IComponentConstructor } from '../../component/interface/common';\nimport { ComponentTypeEnum } from '../../component/interface';\nimport { setProperty } from '@visactor/vutils-extension';\nimport { getRelatedRegionInfo, getRelatedSeriesInfo } from './util';\nimport type { ICartesianBandAxisSpec } from '../..//component/axis/cartesian/interface';\nimport { array } from '../../util';\n\nexport class BaseChartSpecTransformer<T extends IChartSpec> implements IChartSpecTransformer {\n readonly type: string;\n readonly seriesType: string;\n\n protected _option: IChartSpecTransformerOption;\n\n constructor(option: IChartSpecTransformerOption) {\n this._option = option;\n this.type = option.type;\n this.seriesType = option.seriesType;\n }\n\n /** 此方法不建议重写 */\n initChartSpec(chartSpec: T): IChartSpecInfo {\n this.transformSpec(chartSpec);\n return this.transformModelSpec(chartSpec);\n }\n\n /**\n * 转换 chart spec。包含以下步骤:\n * - 将图表 spec 统一转换为 common 图表 spec\n * - 图表层级的在初始化阶段的 spec 修改\n */\n transformSpec(chartSpec: T): void {\n if (!chartSpec.region || chartSpec.region.length === 0) {\n chartSpec.region = [{}];\n }\n if (chartSpec.tooltip === undefined) {\n chartSpec.tooltip = {};\n }\n // 堆积逆序\n if (isValid(chartSpec.stackInverse)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackInverse) && (r.stackInverse = chartSpec.stackInverse);\n });\n }\n // 堆积排序\n if (isValid(chartSpec.stackSort)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackSort) && (r.stackSort = chartSpec.stackSort);\n });\n }\n }\n\n /**\n * 转换 model spec。包含以下步骤:\n * - model 层级的主题合并\n * - model 层级的在初始化阶段的 spec 修改,如添加 label spec\n */\n transformModelSpec(chartSpec: T): IChartSpecInfo {\n const transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n // 调用 model 自己的 transformer 进行转换\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n setProperty(chartSpec, specPath, transformResult.spec);\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n ...transformResult\n });\n };\n return this.createSpecInfo(chartSpec, transform);\n }\n\n /** 遍历图表 spec 中包含的所有的 model,进行 spec 转换并生成图表 spec info */\n createSpecInfo(\n chartSpec: T,\n transform?: (\n /** 当前 model 的类 */\n constructor: IModelConstructor,\n /** 当前 model 的 spec info */\n specInfo: IModelSpecInfo,\n /** 图表 spec info */\n chartSpecInfo?: IChartSpecInfo\n ) => void\n ): IChartSpecInfo {\n if (!transform) {\n transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n theme: transformer.getTheme(spec, chartSpec)\n });\n };\n }\n\n const currentChartSpecInfo: IChartSpecInfo = {};\n\n /* 预处理 region */\n this.forEachRegionInSpec(chartSpec, transform, currentChartSpecInfo);\n\n /* 预处理 series */\n this.forEachSeriesInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 series 关联的 region\n currentChartSpecInfo.series?.forEach((seriesSpecInfo, i) => {\n const relatedRegion =\n getRelatedRegionInfo(seriesSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n const region = relatedRegion[0];\n if (region) {\n if (!region.seriesIndexes) {\n region.seriesIndexes = [];\n }\n region.seriesIndexes.push(i);\n seriesSpecInfo.regionIndexes = region.regionIndexes.slice();\n }\n });\n\n /* 预处理 component */\n this.forEachComponentInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 component 关联的 region、series\n Object.values(currentChartSpecInfo.component ?? {}).forEach(specInfoList =>\n specInfoList.forEach((componentSpecInfo, i) => {\n if (!componentSpecInfo) {\n return;\n }\n if (!componentSpecInfo.regionIndexes) {\n const relatedRegion =\n getRelatedRegionInfo(componentSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n componentSpecInfo.regionIndexes = relatedRegion.map(region => region.regionIndexes[0]);\n }\n if (!componentSpecInfo.seriesIndexes) {\n const seriesInfo = getRelatedSeriesInfo(componentSpecInfo, currentChartSpecInfo);\n if (!seriesInfo) {\n const seriesIndexSet = new Set<number>();\n (componentSpecInfo.regionIndexes ?? []).forEach(regionIndex => {\n const region = currentChartSpecInfo.region?.[regionIndex];\n region?.seriesIndexes?.forEach(seriesIndex => seriesIndexSet.add(seriesIndex));\n });\n componentSpecInfo.seriesIndexes = Array.from(seriesIndexSet);\n } else {\n componentSpecInfo.seriesIndexes = seriesInfo.map(({ seriesIndexes }) => seriesIndexes[0]);\n }\n }\n })\n );\n return currentChartSpecInfo;\n }\n\n protected _isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(chartSpec: any) {\n const series: any = {\n dataKey: chartSpec.dataKey,\n\n hover: chartSpec.hover,\n select: chartSpec.select,\n\n label: chartSpec.label,\n\n seriesStyle: chartSpec.seriesStyle,\n\n animation: chartSpec.animation ?? this._option.animation,\n animationThreshold: chartSpec.animationThreshold ?? this._option.getTheme?.().animationThreshold,\n animationAppear: chartSpec.animationAppear,\n animationDisappear: chartSpec.animationDisappear,\n animationEnter: chartSpec.animationEnter,\n animationUpdate: chartSpec.animationUpdate,\n animationExit: chartSpec.animationExit,\n animationNormal: chartSpec.animationNormal,\n\n extensionMark: chartSpec.extensionMark,\n\n large: chartSpec.large,\n largeThreshold: chartSpec.largeThreshold,\n progressiveStep: chartSpec.progressiveStep,\n progressiveThreshold: chartSpec.progressiveThreshold,\n background: chartSpec.seriesBackground,\n\n invalidType: chartSpec.invalidType,\n\n seriesField: chartSpec.seriesField,\n\n morph: chartSpec.morph,\n\n interactions: chartSpec.interactions\n };\n return series;\n }\n\n /** 遍历 spec 中每个有效的 region */\n forEachRegionInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IRegionConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const regionSpec = (chartSpec.region as RegionSpec[]) ?? [];\n return regionSpec.map((spec, index) =>\n callbackfn(\n Factory.getRegionInType('region'),\n {\n spec,\n specPath: ['region', index],\n type: 'region',\n regionIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 series */\n forEachSeriesInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: ISeriesConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const seriesSpec = (chartSpec.series as ISeriesSpec[]) ?? [];\n return seriesSpec.map((spec, index) =>\n callbackfn(\n Factory.getSeriesInType(spec.type),\n {\n spec,\n specPath: ['series', index],\n type: spec.type,\n seriesIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 component */\n forEachComponentInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IComponentConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const results: K[] = [];\n const components = Factory.getComponents();\n\n // 坐标轴组件只需要调用一次\n let cartesianAxis: IComponentConstructor;\n let polarAxis: IComponentConstructor;\n let geoCoordinate: IComponentConstructor;\n let tooltip: IComponentConstructor;\n const otherComponents = [];\n\n for (let index = 0; index < components.length; index++) {\n const { cmp, alwaysCheck } = components[index];\n if (cmp.type.startsWith(ComponentTypeEnum.cartesianAxis)) {\n cartesianAxis = cmp;\n } else if (cmp.type.startsWith(ComponentTypeEnum.polarAxis)) {\n polarAxis = cmp;\n } else if (cmp.type === ComponentTypeEnum.geoCoordinate) {\n geoCoordinate = cmp;\n } else if (alwaysCheck || chartSpec[cmp.specKey ?? cmp.type]) {\n if (cmp.type === ComponentTypeEnum.tooltip) {\n tooltip = cmp;\n } else {\n otherComponents.push(cmp);\n }\n }\n }\n\n // NOTE: 坐标轴组件需要在其他组件之前创建\n let hasInitAxis = false;\n if (cartesianAxis) {\n const infoList = cartesianAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (polarAxis && !hasInitAxis) {\n const infoList = polarAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (geoCoordinate && !hasInitAxis) {\n geoCoordinate.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(geoCoordinate, info, chartSpecInfo));\n });\n }\n\n otherComponents.forEach(C => {\n C.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(C, info, chartSpecInfo));\n });\n });\n\n // NOTE: tooltip 组件需要在 crosshair 组件之后创建\n tooltip?.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(tooltip, info, chartSpecInfo));\n });\n\n return results;\n }\n\n /** 处理series配置 */\n transformSeriesSpec(spec: T): void {\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this._isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n\n protected _findBandAxisBySeries(seriesSpec: ISeriesSpec, seriesIndex: number, axesSpec: any) {\n const isHorizontal = (seriesSpec as any)?.direction === 'horizontal';\n const matchOrient = isHorizontal ? ['left', 'right'] : ['top', 'bottom'];\n const targetBandAxis: any = axesSpec.find((axis: any) => {\n if (!matchOrient.includes(axis.orient)) {\n // orient必须匹配\n return false;\n }\n if (isValid(axis.seriesId)) {\n // 1. 通过seriesId绑定\n if (array(axis.seriesId).includes(seriesSpec?.id)) {\n return true;\n }\n } else if (isValid(axis.seriesIndex)) {\n // 2. 通过seriesIndex绑定\n if (array(axis.seriesIndex).includes(seriesIndex)) {\n return true;\n }\n } else if (axis.type === 'band') {\n // 3. 通过axis type识别\n return true;\n }\n // 4. 剩下的情况满足axis orient要求\n return true;\n });\n\n return targetBandAxis;\n }\n\n /**\n * @description bar chart 和 common chart支持autoBandsize, 此方法用于识别barWidth配置后应用到轴上\n * */\n protected _applyAxisBandSize(\n axis: ICartesianBandAxisSpec,\n extend: number,\n barWidthSpec: {\n barMaxWidth: number | string;\n barMinWidth: number | string;\n barWidth: number | string;\n barGapInGroup: number | string | (number | string)[];\n }\n ) {\n const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = barWidthSpec;\n let hasBarWidth = false;\n if (isNumber(barMinWidth)) {\n axis.minBandSize = barMinWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barWidth)) {\n axis.minBandSize = barWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barMaxWidth)) {\n axis.minBandSize = barMaxWidth as number;\n hasBarWidth = true;\n }\n if (hasBarWidth) {\n axis.bandSizeLevel = Number.MAX_VALUE; // 影响最底层的 scale\n axis.bandSizeExtend = {\n extend,\n gap: isArray(barGapInGroup) ? barGapInGroup[(barGapInGroup as any[]).length - 1] : barGapInGroup\n };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/base/base-chart-transformer.ts"],"names":[],"mappings":"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","file":"base-chart-transformer.js","sourcesContent":["import { isArray, isNumber, isValid } from '@visactor/vutils';\nimport type { IChartSpec, ISeriesSpec } from '../../typings';\nimport type { IChartSpecInfo, IChartSpecTransformer, IChartSpecTransformerOption } from '../interface';\nimport type { IModelConstructor, IModelSpecInfo } from '../../model/interface';\nimport type { IRegionConstructor, RegionSpec } from '../../region/interface';\nimport { Factory } from '../../core';\nimport type { ISeriesConstructor } from '../../series';\nimport type { IComponentConstructor } from '../../component/interface/common';\nimport { ComponentTypeEnum } from '../../component/interface';\nimport { setProperty } from '@visactor/vutils-extension';\nimport { getRelatedRegionInfo, getRelatedSeriesInfo } from './util';\nimport type { ICartesianBandAxisSpec } from '../..//component/axis/cartesian/interface';\nimport { array } from '../../util';\n\nexport class BaseChartSpecTransformer<T extends IChartSpec> implements IChartSpecTransformer {\n readonly type: string;\n readonly seriesType: string;\n\n protected _option: IChartSpecTransformerOption;\n\n constructor(option: IChartSpecTransformerOption) {\n this._option = option;\n this.type = option.type;\n this.seriesType = option.seriesType;\n }\n\n /** 此方法不建议重写 */\n initChartSpec(chartSpec: T): IChartSpecInfo {\n this.transformSpec(chartSpec);\n return this.transformModelSpec(chartSpec);\n }\n\n /**\n * 转换 chart spec。包含以下步骤:\n * - 将图表 spec 统一转换为 common 图表 spec\n * - 图表层级的在初始化阶段的 spec 修改\n */\n transformSpec(chartSpec: T): void {\n if (!chartSpec.region || chartSpec.region.length === 0) {\n chartSpec.region = [{}];\n }\n if (chartSpec.tooltip === undefined) {\n chartSpec.tooltip = {};\n }\n // 堆积逆序\n if (isValid(chartSpec.stackInverse)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackInverse) && (r.stackInverse = chartSpec.stackInverse);\n });\n }\n // 堆积排序\n if (isValid(chartSpec.stackSort)) {\n chartSpec.region.forEach((r: RegionSpec) => {\n !isValid(r.stackSort) && (r.stackSort = chartSpec.stackSort);\n });\n }\n }\n\n /**\n * 转换 model spec。包含以下步骤:\n * - model 层级的主题合并\n * - model 层级的在初始化阶段的 spec 修改,如添加 label spec\n */\n transformModelSpec(chartSpec: T): IChartSpecInfo {\n const transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n // 调用 model 自己的 transformer 进行转换\n const transformResult = transformer.transformSpec(spec, chartSpec, chartSpecInfo);\n setProperty(chartSpec, specPath, transformResult.spec);\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n ...transformResult\n });\n };\n return this.createSpecInfo(chartSpec, transform);\n }\n\n /** 遍历图表 spec 中包含的所有的 model,进行 spec 转换并生成图表 spec info */\n createSpecInfo(\n chartSpec: T,\n transform?: (\n /** 当前 model 的类 */\n constructor: IModelConstructor,\n /** 当前 model 的 spec info */\n specInfo: IModelSpecInfo,\n /** 图表 spec info */\n chartSpecInfo?: IChartSpecInfo\n ) => void\n ): IChartSpecInfo {\n if (!transform) {\n transform = (constructor: IModelConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => {\n const { spec, specPath, specInfoPath, type } = specInfo;\n const transformer = new constructor.transformerConstructor({\n ...this._option,\n type\n });\n setProperty(chartSpecInfo, specInfoPath ?? specPath, {\n ...specInfo,\n theme: transformer.getTheme(spec, chartSpec)\n });\n };\n }\n\n const currentChartSpecInfo: IChartSpecInfo = {};\n\n /* 预处理 region */\n this.forEachRegionInSpec(chartSpec, transform, currentChartSpecInfo);\n\n /* 预处理 series */\n this.forEachSeriesInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 series 关联的 region\n currentChartSpecInfo.series?.forEach((seriesSpecInfo, i) => {\n const relatedRegion =\n getRelatedRegionInfo(seriesSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n const region = relatedRegion[0];\n if (region) {\n if (!region.seriesIndexes) {\n region.seriesIndexes = [];\n }\n region.seriesIndexes.push(i);\n seriesSpecInfo.regionIndexes = region.regionIndexes.slice();\n }\n });\n\n /* 预处理 component */\n this.forEachComponentInSpec(chartSpec, transform, currentChartSpecInfo);\n // 记录每个 component 关联的 region、series\n Object.values(currentChartSpecInfo.component ?? {}).forEach(specInfoList =>\n specInfoList.forEach((componentSpecInfo, i) => {\n if (!componentSpecInfo) {\n return;\n }\n if (!componentSpecInfo.regionIndexes) {\n const relatedRegion =\n getRelatedRegionInfo(componentSpecInfo, currentChartSpecInfo) ?? currentChartSpecInfo.region ?? [];\n componentSpecInfo.regionIndexes = relatedRegion.map(region => region.regionIndexes[0]);\n }\n if (!componentSpecInfo.seriesIndexes) {\n const seriesInfo = getRelatedSeriesInfo(componentSpecInfo, currentChartSpecInfo);\n if (!seriesInfo) {\n const seriesIndexSet = new Set<number>();\n (componentSpecInfo.regionIndexes ?? []).forEach(regionIndex => {\n const region = currentChartSpecInfo.region?.[regionIndex];\n region?.seriesIndexes?.forEach(seriesIndex => seriesIndexSet.add(seriesIndex));\n });\n componentSpecInfo.seriesIndexes = Array.from(seriesIndexSet);\n } else {\n componentSpecInfo.seriesIndexes = seriesInfo.map(({ seriesIndexes }) => seriesIndexes[0]);\n }\n }\n })\n );\n return currentChartSpecInfo;\n }\n\n protected _isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(chartSpec: any) {\n const series: any = {\n dataKey: chartSpec.dataKey,\n\n hover: chartSpec.hover,\n select: chartSpec.select,\n\n label: chartSpec.label,\n\n seriesStyle: chartSpec.seriesStyle,\n\n animation: chartSpec.animation ?? this._option.animation,\n animationThreshold: chartSpec.animationThreshold ?? this._option.getTheme?.().animationThreshold,\n animationAppear: chartSpec.animationAppear,\n animationDisappear: chartSpec.animationDisappear,\n animationEnter: chartSpec.animationEnter,\n animationUpdate: chartSpec.animationUpdate,\n animationExit: chartSpec.animationExit,\n animationNormal: chartSpec.animationNormal,\n animationState: chartSpec.animationState,\n\n extensionMark: chartSpec.extensionMark,\n\n large: chartSpec.large,\n largeThreshold: chartSpec.largeThreshold,\n progressiveStep: chartSpec.progressiveStep,\n progressiveThreshold: chartSpec.progressiveThreshold,\n background: chartSpec.seriesBackground,\n\n invalidType: chartSpec.invalidType,\n\n seriesField: chartSpec.seriesField,\n\n morph: chartSpec.morph,\n\n interactions: chartSpec.interactions\n };\n return series;\n }\n\n /** 遍历 spec 中每个有效的 region */\n forEachRegionInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IRegionConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const regionSpec = (chartSpec.region as RegionSpec[]) ?? [];\n return regionSpec.map((spec, index) =>\n callbackfn(\n Factory.getRegionInType('region'),\n {\n spec,\n specPath: ['region', index],\n type: 'region',\n regionIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 series */\n forEachSeriesInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: ISeriesConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const seriesSpec = (chartSpec.series as ISeriesSpec[]) ?? [];\n return seriesSpec.map((spec, index) =>\n callbackfn(\n Factory.getSeriesInType(spec.type),\n {\n spec,\n specPath: ['series', index],\n type: spec.type,\n seriesIndexes: [index]\n },\n chartSpecInfo\n )\n );\n }\n\n /** 遍历 spec 中每个有效的 component */\n forEachComponentInSpec<K>(\n chartSpec: T,\n callbackfn: (constructor: IComponentConstructor, specInfo: IModelSpecInfo, chartSpecInfo?: IChartSpecInfo) => K,\n chartSpecInfo?: IChartSpecInfo\n ): K[] {\n const results: K[] = [];\n const components = Factory.getComponents();\n\n // 坐标轴组件只需要调用一次\n let cartesianAxis: IComponentConstructor;\n let polarAxis: IComponentConstructor;\n let geoCoordinate: IComponentConstructor;\n let tooltip: IComponentConstructor;\n const otherComponents = [];\n\n for (let index = 0; index < components.length; index++) {\n const { cmp, alwaysCheck } = components[index];\n if (cmp.type.startsWith(ComponentTypeEnum.cartesianAxis)) {\n cartesianAxis = cmp;\n } else if (cmp.type.startsWith(ComponentTypeEnum.polarAxis)) {\n polarAxis = cmp;\n } else if (cmp.type === ComponentTypeEnum.geoCoordinate) {\n geoCoordinate = cmp;\n } else if (alwaysCheck || chartSpec[cmp.specKey ?? cmp.type]) {\n if (cmp.type === ComponentTypeEnum.tooltip) {\n tooltip = cmp;\n } else {\n otherComponents.push(cmp);\n }\n }\n }\n\n // NOTE: 坐标轴组件需要在其他组件之前创建\n let hasInitAxis = false;\n if (cartesianAxis) {\n const infoList = cartesianAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (polarAxis && !hasInitAxis) {\n const infoList = polarAxis.getSpecInfo(chartSpec, chartSpecInfo);\n if (infoList?.length > 0) {\n hasInitAxis = true;\n infoList.forEach(info => {\n const cmp = Factory.getComponentInKey(info.type);\n results.push(callbackfn(cmp, info, chartSpecInfo));\n });\n }\n }\n\n if (geoCoordinate && !hasInitAxis) {\n geoCoordinate.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(geoCoordinate, info, chartSpecInfo));\n });\n }\n\n otherComponents.forEach(C => {\n C.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(C, info, chartSpecInfo));\n });\n });\n\n // NOTE: tooltip 组件需要在 crosshair 组件之后创建\n tooltip?.getSpecInfo(chartSpec, chartSpecInfo)?.forEach(info => {\n results.push(callbackfn(tooltip, info, chartSpecInfo));\n });\n\n return results;\n }\n\n /** 处理series配置 */\n transformSeriesSpec(spec: T): void {\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this._isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n\n protected _findBandAxisBySeries(seriesSpec: ISeriesSpec, seriesIndex: number, axesSpec: any) {\n const isHorizontal = (seriesSpec as any)?.direction === 'horizontal';\n const matchOrient = isHorizontal ? ['left', 'right'] : ['top', 'bottom'];\n const targetBandAxis: any = axesSpec.find((axis: any) => {\n if (!matchOrient.includes(axis.orient)) {\n // orient必须匹配\n return false;\n }\n if (isValid(axis.seriesId)) {\n // 1. 通过seriesId绑定\n if (array(axis.seriesId).includes(seriesSpec?.id)) {\n return true;\n }\n } else if (isValid(axis.seriesIndex)) {\n // 2. 通过seriesIndex绑定\n if (array(axis.seriesIndex).includes(seriesIndex)) {\n return true;\n }\n } else if (axis.type === 'band') {\n // 3. 通过axis type识别\n return true;\n }\n // 4. 剩下的情况满足axis orient要求\n return true;\n });\n\n return targetBandAxis;\n }\n\n /**\n * @description bar chart 和 common chart支持autoBandsize, 此方法用于识别barWidth配置后应用到轴上\n * */\n protected _applyAxisBandSize(\n axis: ICartesianBandAxisSpec,\n extend: number,\n barWidthSpec: {\n barMaxWidth: number | string;\n barMinWidth: number | string;\n barWidth: number | string;\n barGapInGroup: number | string | (number | string)[];\n }\n ) {\n const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = barWidthSpec;\n let hasBarWidth = false;\n if (isNumber(barMinWidth)) {\n axis.minBandSize = barMinWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barWidth)) {\n axis.minBandSize = barWidth as number;\n hasBarWidth = true;\n } else if (isNumber(barMaxWidth)) {\n axis.minBandSize = barMaxWidth as number;\n hasBarWidth = true;\n }\n if (hasBarWidth) {\n axis.bandSizeLevel = Number.MAX_VALUE; // 影响最底层的 scale\n axis.bandSizeExtend = {\n extend,\n gap: isArray(barGapInGroup) ? barGapInGroup[(barGapInGroup as any[]).length - 1] : barGapInGroup\n };\n }\n }\n}\n"]}
@@ -26,7 +26,7 @@ import { BaseMark } from "../../mark/base/base-mark";
26
26
 
27
27
  import { DEFAULT_CHART_WIDTH, DEFAULT_CHART_HEIGHT } from "../../constant/base";
28
28
 
29
- import { isFunction, isEmpty, isNil, isString, isEqual, pickWithout } from "@visactor/vutils";
29
+ import { isFunction, isEmpty, isNil, isString, pickWithout } from "@visactor/vutils";
30
30
 
31
31
  import { getDataScheme } from "../../theme/color-scheme/util";
32
32
 
@@ -34,7 +34,7 @@ import { CompilableBase } from "../../compile/compilable-base";
34
34
 
35
35
  import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
36
36
 
37
- import { ChartEvent, VGRAMMAR_HOOK_EVENT } from "../../constant";
37
+ import { ChartEvent, VGRAMMAR_HOOK_EVENT } from "../../constant/event";
38
38
 
39
39
  import { DimensionEventEnum } from "../../event/events/dimension";
40
40
 
@@ -417,7 +417,7 @@ export class BaseChart extends CompilableBase {
417
417
  updateChartConfig(result, oldSpec) {
418
418
  var _a, _b;
419
419
  this._paddingSpec = normalizeLayoutPaddingSpec(null !== (_a = this._spec.padding) && void 0 !== _a ? _a : null === (_b = this._option) || void 0 === _b ? void 0 : _b.getTheme().padding),
420
- this._updateLayoutRect(this._viewBox), isEqual(this._spec.background, oldSpec.background) || (result.reMake = !0);
420
+ this._updateLayoutRect(this._viewBox);
421
421
  }
422
422
  updateDataSpec() {
423
423
  this._spec.data && this._chartData.updateData(this._spec.data, !1, !0);
@@ -666,7 +666,9 @@ export class BaseChart extends CompilableBase {
666
666
  dimensionInfo.forEach((d => {
667
667
  const {axis: axis, value: value, data: data} = d, isY = "left" === axis.getOrient() || "right" === axis.getOrient();
668
668
  data.forEach((d => {
669
- isY ? dataFilter[d.series.fieldY[0]] = value : dataFilter[d.series.fieldX[0]] = value;
669
+ var _a, _b, _c;
670
+ const field = isY ? d.series.fieldY[0] : d.series.fieldX[0];
671
+ dataFilter[field] = null !== (_c = null === (_b = null === (_a = d.datum) || void 0 === _a ? void 0 : _a[0]) || void 0 === _b ? void 0 : _b[field]) && void 0 !== _c ? _c : value;
670
672
  }));
671
673
  })), tooltip.showTooltip(dataFilter, opt.showTooltipOption);
672
674
  }