@visactor/vchart 0.0.1-alpha.0 → 0.0.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1750) hide show
  1. package/README.md +6 -0
  2. package/build/index.js +14321 -14669
  3. package/build/index.min.js +2 -2
  4. package/cjs/animation/animate-manager.js.map +1 -1
  5. package/cjs/animation/config.js.map +1 -1
  6. package/cjs/animation/interface.js +2 -1
  7. package/cjs/animation/interface.js.map +1 -1
  8. package/cjs/animation/spec.d.ts +2 -2
  9. package/cjs/animation/spec.js.map +1 -1
  10. package/cjs/animation/utils.d.ts +4 -3
  11. package/cjs/animation/utils.js +8 -3
  12. package/cjs/animation/utils.js.map +1 -1
  13. package/cjs/chart/area/area.js.map +1 -1
  14. package/cjs/chart/area/index.js.map +1 -1
  15. package/cjs/chart/area/interface.js.map +1 -1
  16. package/cjs/chart/bar/bar.js.map +1 -1
  17. package/cjs/chart/bar/index.js.map +1 -1
  18. package/cjs/chart/bar/interface.js.map +1 -1
  19. package/cjs/chart/base-chart.js +3 -1
  20. package/cjs/chart/base-chart.js.map +1 -1
  21. package/cjs/chart/boxplot/boxPlot.js.map +1 -1
  22. package/cjs/chart/boxplot/index.js.map +1 -1
  23. package/cjs/chart/boxplot/interface.js.map +1 -1
  24. package/cjs/chart/cartesian/cartesian.js +7 -2
  25. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  26. package/cjs/chart/cartesian/interface.js.map +1 -1
  27. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  28. package/cjs/chart/circle-packing/index.js.map +1 -1
  29. package/cjs/chart/circle-packing/interface.js.map +1 -1
  30. package/cjs/chart/common/common.js.map +1 -1
  31. package/cjs/chart/common/index.js.map +1 -1
  32. package/cjs/chart/common/interface.js.map +1 -1
  33. package/cjs/chart/funnel/funnel.js.map +1 -1
  34. package/cjs/chart/funnel/index.js.map +1 -1
  35. package/cjs/chart/funnel/interface.js.map +1 -1
  36. package/cjs/chart/gauge/gauge.js.map +1 -1
  37. package/cjs/chart/gauge/index.js.map +1 -1
  38. package/cjs/chart/gauge/interface.js.map +1 -1
  39. package/cjs/chart/heatmap/heatmap.js +5 -3
  40. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  41. package/cjs/chart/heatmap/index.js.map +1 -1
  42. package/cjs/chart/heatmap/interface.js.map +1 -1
  43. package/cjs/chart/histogram/histogram.js.map +1 -1
  44. package/cjs/chart/histogram/index.js.map +1 -1
  45. package/cjs/chart/histogram/interface.js.map +1 -1
  46. package/cjs/chart/index.js.map +1 -1
  47. package/cjs/chart/interface/chart.js.map +1 -1
  48. package/cjs/chart/interface/common.js.map +1 -1
  49. package/cjs/chart/interface/index.js.map +1 -1
  50. package/cjs/chart/interface/type.js.map +1 -1
  51. package/cjs/chart/line/index.js.map +1 -1
  52. package/cjs/chart/line/interface.js.map +1 -1
  53. package/cjs/chart/line/line.js.map +1 -1
  54. package/cjs/chart/map/index.js.map +1 -1
  55. package/cjs/chart/map/interface.js.map +1 -1
  56. package/cjs/chart/map/map.js.map +1 -1
  57. package/cjs/chart/pie/index.js.map +1 -1
  58. package/cjs/chart/pie/interface.js.map +1 -1
  59. package/cjs/chart/pie/pie.d.ts +1 -0
  60. package/cjs/chart/pie/pie.js +5 -0
  61. package/cjs/chart/pie/pie.js.map +1 -1
  62. package/cjs/chart/polar/interface.js.map +1 -1
  63. package/cjs/chart/polar/polar.js.map +1 -1
  64. package/cjs/chart/polar/progress-like.js.map +1 -1
  65. package/cjs/chart/polar/rose-like.js.map +1 -1
  66. package/cjs/chart/progress/circular/circular.js.map +1 -1
  67. package/cjs/chart/progress/circular/index.js.map +1 -1
  68. package/cjs/chart/progress/circular/interface.js.map +1 -1
  69. package/cjs/chart/progress/interface.js.map +1 -1
  70. package/cjs/chart/progress/linear/index.js.map +1 -1
  71. package/cjs/chart/progress/linear/interface.js.map +1 -1
  72. package/cjs/chart/progress/linear/linear.js.map +1 -1
  73. package/cjs/chart/radar/index.js.map +1 -1
  74. package/cjs/chart/radar/interface.js.map +1 -1
  75. package/cjs/chart/radar/radar.js.map +1 -1
  76. package/cjs/chart/range-area/index.js.map +1 -1
  77. package/cjs/chart/range-area/interface.js.map +1 -1
  78. package/cjs/chart/range-area/range-area.js.map +1 -1
  79. package/cjs/chart/range-column/index.js.map +1 -1
  80. package/cjs/chart/range-column/interface.js.map +1 -1
  81. package/cjs/chart/range-column/rangeColumn.js.map +1 -1
  82. package/cjs/chart/rose/index.js.map +1 -1
  83. package/cjs/chart/rose/interface.js.map +1 -1
  84. package/cjs/chart/rose/rose.js.map +1 -1
  85. package/cjs/chart/sankey/index.js.map +1 -1
  86. package/cjs/chart/sankey/interface.js.map +1 -1
  87. package/cjs/chart/sankey/sankey.js.map +1 -1
  88. package/cjs/chart/scatter/index.js.map +1 -1
  89. package/cjs/chart/scatter/interface.js.map +1 -1
  90. package/cjs/chart/scatter/scatter.js.map +1 -1
  91. package/cjs/chart/sequence/index.js.map +1 -1
  92. package/cjs/chart/sequence/interface.js.map +1 -1
  93. package/cjs/chart/sequence/sequence.js.map +1 -1
  94. package/cjs/chart/stack.js.map +1 -1
  95. package/cjs/chart/sunburst/index.js.map +1 -1
  96. package/cjs/chart/sunburst/interface.js.map +1 -1
  97. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  98. package/cjs/chart/treemap/index.js.map +1 -1
  99. package/cjs/chart/treemap/interface.js.map +1 -1
  100. package/cjs/chart/treemap/treemap.js.map +1 -1
  101. package/cjs/chart/waterfall/index.js.map +1 -1
  102. package/cjs/chart/waterfall/interface.js.map +1 -1
  103. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  104. package/cjs/chart/word-cloud/index.js.map +1 -1
  105. package/cjs/chart/word-cloud/interface.d.ts +5 -1
  106. package/cjs/chart/word-cloud/interface.js.map +1 -1
  107. package/cjs/chart/word-cloud/word-cloud.d.ts +3 -2
  108. package/cjs/chart/word-cloud/word-cloud.js +42 -15
  109. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  110. package/cjs/compile/compilable-base.js +1 -1
  111. package/cjs/compile/compilable-base.js.map +1 -1
  112. package/cjs/compile/compiler.d.ts +3 -2
  113. package/cjs/compile/compiler.js +12 -9
  114. package/cjs/compile/compiler.js.map +1 -1
  115. package/cjs/compile/data/compilable-data.d.ts +1 -1
  116. package/cjs/compile/data/compilable-data.js.map +1 -1
  117. package/cjs/compile/data/index.js.map +1 -1
  118. package/cjs/compile/data/interface.js.map +1 -1
  119. package/cjs/compile/grammar-item.js +1 -1
  120. package/cjs/compile/grammar-item.js.map +1 -1
  121. package/cjs/compile/interface/compilable-item.d.ts +1 -2
  122. package/cjs/compile/interface/compilable-item.js.map +1 -1
  123. package/cjs/compile/interface/compiler.d.ts +1 -5
  124. package/cjs/compile/interface/compiler.js.map +1 -1
  125. package/cjs/compile/interface/index.js.map +1 -1
  126. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  127. package/cjs/compile/mark/compilable-mark.js +1 -1
  128. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  129. package/cjs/compile/mark/index.js.map +1 -1
  130. package/cjs/compile/mark/interface.d.ts +1 -0
  131. package/cjs/compile/mark/interface.js.map +1 -1
  132. package/cjs/compile/mark/mark-data.js.map +1 -1
  133. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  134. package/cjs/compile/mark/util.js.map +1 -1
  135. package/cjs/compile/signal/compilable-signal.js.map +1 -1
  136. package/cjs/compile/signal/index.js.map +1 -1
  137. package/cjs/compile/signal/interface.js.map +1 -1
  138. package/cjs/compile/signal/signal-manager.js.map +1 -1
  139. package/cjs/compile/signal/state-manager.d.ts +1 -1
  140. package/cjs/compile/signal/state-manager.js.map +1 -1
  141. package/cjs/compile/util.js +1 -1
  142. package/cjs/compile/util.js.map +1 -1
  143. package/cjs/component/axis/base-axis.d.ts +0 -1
  144. package/cjs/component/axis/base-axis.js +2 -11
  145. package/cjs/component/axis/base-axis.js.map +1 -1
  146. package/cjs/component/axis/cartesian/axis.d.ts +11 -0
  147. package/cjs/component/axis/cartesian/axis.js +64 -16
  148. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  149. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  150. package/cjs/component/axis/cartesian/config.js.map +1 -1
  151. package/cjs/component/axis/cartesian/index.js.map +1 -1
  152. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -5
  153. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  154. package/cjs/component/axis/cartesian/interface/index.js.map +1 -1
  155. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -4
  156. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  157. package/cjs/component/axis/cartesian/interface/theme.d.ts +10 -13
  158. package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
  159. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  160. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  161. package/cjs/component/axis/cartesian/util/common.d.ts +4 -4
  162. package/cjs/component/axis/cartesian/util/common.js +12 -15
  163. package/cjs/component/axis/cartesian/util/common.js.map +1 -1
  164. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  165. package/cjs/component/axis/cartesian/util/time.js.map +1 -1
  166. package/cjs/component/axis/index.js.map +1 -1
  167. package/cjs/component/axis/interface.d.ts +10 -17
  168. package/cjs/component/axis/interface.js.map +1 -1
  169. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  170. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  171. package/cjs/component/axis/polar/axis.js.map +1 -1
  172. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  173. package/cjs/component/axis/polar/config.js.map +1 -1
  174. package/cjs/component/axis/polar/index.js.map +1 -1
  175. package/cjs/component/axis/polar/interface/common.d.ts +1 -4
  176. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  177. package/cjs/component/axis/polar/interface/index.js.map +1 -1
  178. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  179. package/cjs/component/axis/polar/interface/theme.d.ts +9 -12
  180. package/cjs/component/axis/polar/interface/theme.js.map +1 -1
  181. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  182. package/cjs/component/axis/utils.d.ts +5 -1
  183. package/cjs/component/axis/utils.js +20 -4
  184. package/cjs/component/axis/utils.js.map +1 -1
  185. package/cjs/component/base/base-component.js.map +1 -1
  186. package/cjs/component/base/index.js.map +1 -1
  187. package/cjs/component/base/util.js +3 -4
  188. package/cjs/component/base/util.js.map +1 -1
  189. package/cjs/component/brush/brush.d.ts +0 -1
  190. package/cjs/component/brush/brush.js +7 -10
  191. package/cjs/component/brush/brush.js.map +1 -1
  192. package/cjs/component/brush/index.js.map +1 -1
  193. package/cjs/component/brush/interface.d.ts +10 -8
  194. package/cjs/component/brush/interface.js.map +1 -1
  195. package/cjs/component/common/trigger/config.js.map +1 -1
  196. package/cjs/component/common/trigger/desktop.js.map +1 -1
  197. package/cjs/component/common/trigger/interface.js.map +1 -1
  198. package/cjs/component/common/trigger/mobile.js.map +1 -1
  199. package/cjs/component/crosshair/base.d.ts +0 -1
  200. package/cjs/component/crosshair/base.js +7 -15
  201. package/cjs/component/crosshair/base.js.map +1 -1
  202. package/cjs/component/crosshair/cartesian.js.map +1 -1
  203. package/cjs/component/crosshair/config.d.ts +0 -2
  204. package/cjs/component/crosshair/config.js +2 -4
  205. package/cjs/component/crosshair/config.js.map +1 -1
  206. package/cjs/component/crosshair/index.js.map +1 -1
  207. package/cjs/component/crosshair/interface/index.js.map +1 -1
  208. package/cjs/component/crosshair/interface/spec.d.ts +3 -3
  209. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  210. package/cjs/component/crosshair/interface/theme.d.ts +2 -4
  211. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  212. package/cjs/component/crosshair/polar.js.map +1 -1
  213. package/cjs/component/crosshair/util.d.ts +0 -4
  214. package/cjs/component/crosshair/util.js +3 -12
  215. package/cjs/component/crosshair/util.js.map +1 -1
  216. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  217. package/cjs/component/custom-mark/index.js.map +1 -1
  218. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
  219. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  220. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  221. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
  222. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  223. package/cjs/component/data-zoom/data-zoom/index.js.map +1 -1
  224. package/cjs/component/data-zoom/data-zoom/interface.d.ts +5 -1
  225. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  226. package/cjs/component/data-zoom/index.js.map +1 -1
  227. package/cjs/component/data-zoom/interface.js.map +1 -1
  228. package/cjs/component/data-zoom/scroll-bar/index.js.map +1 -1
  229. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +7 -1
  230. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  231. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  232. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  233. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  234. package/cjs/component/data-zoom/util.js.map +1 -1
  235. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  236. package/cjs/component/geo/interface.js.map +1 -1
  237. package/cjs/component/geo/projection.js.map +1 -1
  238. package/cjs/component/index.js +1 -1
  239. package/cjs/component/index.js.map +1 -1
  240. package/cjs/component/indicator/indicator.d.ts +0 -1
  241. package/cjs/component/indicator/indicator.js +3 -12
  242. package/cjs/component/indicator/indicator.js.map +1 -1
  243. package/cjs/component/indicator/interface.d.ts +1 -5
  244. package/cjs/component/indicator/interface.js.map +1 -1
  245. package/cjs/component/indicator/util.js +2 -2
  246. package/cjs/component/indicator/util.js.map +1 -1
  247. package/cjs/component/interface/common.js.map +1 -1
  248. package/cjs/component/interface/index.js.map +1 -1
  249. package/cjs/component/interface/tooltip-helper.js.map +1 -1
  250. package/cjs/component/interface/type.js.map +1 -1
  251. package/cjs/component/label/bar.d.ts +1 -3
  252. package/cjs/component/label/bar.js +2 -4
  253. package/cjs/component/label/bar.js.map +1 -1
  254. package/cjs/component/label/index.js.map +1 -1
  255. package/cjs/component/label/interface.d.ts +2 -2
  256. package/cjs/component/label/interface.js.map +1 -1
  257. package/cjs/component/label/label.d.ts +56 -0
  258. package/cjs/component/label/label.js +4 -2
  259. package/cjs/component/label/label.js.map +1 -1
  260. package/cjs/component/label/symbol.js.map +1 -1
  261. package/cjs/component/label/util.js +1 -7
  262. package/cjs/component/label/util.js.map +1 -1
  263. package/cjs/component/legend/base-legend.d.ts +0 -1
  264. package/cjs/component/legend/base-legend.js +2 -4
  265. package/cjs/component/legend/base-legend.js.map +1 -1
  266. package/cjs/component/legend/continuous/index.js.map +1 -1
  267. package/cjs/component/legend/continuous/interface.d.ts +1 -6
  268. package/cjs/component/legend/continuous/interface.js.map +1 -1
  269. package/cjs/component/legend/continuous/legend.js +1 -1
  270. package/cjs/component/legend/continuous/legend.js.map +1 -1
  271. package/cjs/component/legend/continuous/util.js.map +1 -1
  272. package/cjs/component/legend/discrete/index.js.map +1 -1
  273. package/cjs/component/legend/discrete/interface.d.ts +1 -5
  274. package/cjs/component/legend/discrete/interface.js.map +1 -1
  275. package/cjs/component/legend/discrete/legend.js +17 -16
  276. package/cjs/component/legend/discrete/legend.js.map +1 -1
  277. package/cjs/component/legend/discrete/util.js.map +1 -1
  278. package/cjs/component/legend/index.js.map +1 -1
  279. package/cjs/component/legend/interface.d.ts +1 -1
  280. package/cjs/component/legend/interface.js.map +1 -1
  281. package/cjs/component/legend/util.js.map +1 -1
  282. package/cjs/component/map-label/component.js.map +1 -1
  283. package/cjs/component/map-label/config.js.map +1 -1
  284. package/cjs/component/map-label/index.js.map +1 -1
  285. package/cjs/component/map-label/interface.d.ts +2 -2
  286. package/cjs/component/map-label/interface.js.map +1 -1
  287. package/cjs/component/map-label/layout.js.map +1 -1
  288. package/cjs/component/marker/base-marker.d.ts +0 -1
  289. package/cjs/component/marker/base-marker.js +0 -3
  290. package/cjs/component/marker/base-marker.js.map +1 -1
  291. package/cjs/component/marker/interface.js.map +1 -1
  292. package/cjs/component/marker/mark-area/interface/index.js.map +1 -1
  293. package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -1
  294. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  295. package/cjs/component/marker/mark-area/interface/theme.d.ts +2 -2
  296. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  297. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  298. package/cjs/component/marker/mark-line/interface/index.js.map +1 -1
  299. package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -1
  300. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  301. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  302. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  303. package/cjs/component/marker/mark-point/interface/index.js.map +1 -1
  304. package/cjs/component/marker/mark-point/interface/spec.d.ts +2 -1
  305. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  306. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  307. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  308. package/cjs/component/marker/utils.js.map +1 -1
  309. package/cjs/component/player/index.js.map +1 -1
  310. package/cjs/component/player/interface/index.js.map +1 -1
  311. package/cjs/component/player/interface/spec.js.map +1 -1
  312. package/cjs/component/player/interface/theme.js.map +1 -1
  313. package/cjs/component/player/player.d.ts +0 -1
  314. package/cjs/component/player/player.js +1 -4
  315. package/cjs/component/player/player.js.map +1 -1
  316. package/cjs/component/player/utils/index.js.map +1 -1
  317. package/cjs/component/player/utils/orient.js.map +1 -1
  318. package/cjs/component/player/utils/transform.js.map +1 -1
  319. package/cjs/component/title/index.js.map +1 -1
  320. package/cjs/component/title/interface/index.js.map +1 -1
  321. package/cjs/component/title/interface/spec.d.ts +0 -4
  322. package/cjs/component/title/interface/spec.js.map +1 -1
  323. package/cjs/component/title/interface/theme.d.ts +2 -2
  324. package/cjs/component/title/interface/theme.js.map +1 -1
  325. package/cjs/component/title/title.d.ts +0 -1
  326. package/cjs/component/title/title.js +3 -10
  327. package/cjs/component/title/title.js.map +1 -1
  328. package/cjs/component/title/utils.d.ts +0 -1
  329. package/cjs/component/title/utils.js +2 -9
  330. package/cjs/component/title/utils.js.map +1 -1
  331. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  332. package/cjs/component/tooltip/handler/base.js +11 -12
  333. package/cjs/component/tooltip/handler/base.js.map +1 -1
  334. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
  335. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -3
  336. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  337. package/cjs/component/tooltip/handler/canvas/index.js.map +1 -1
  338. package/cjs/component/tooltip/handler/constants.d.ts +4 -0
  339. package/cjs/component/tooltip/handler/constants.js +7 -2
  340. package/cjs/component/tooltip/handler/constants.js.map +1 -1
  341. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
  342. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +3 -2
  343. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  344. package/cjs/component/tooltip/handler/dom/index.js.map +1 -1
  345. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  346. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  347. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  348. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  349. package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
  350. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  351. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  352. package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  353. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  354. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  355. package/cjs/component/tooltip/handler/dom/utils/style.js +3 -3
  356. package/cjs/component/tooltip/handler/dom/utils/style.js.map +1 -1
  357. package/cjs/component/tooltip/handler/index.js.map +1 -1
  358. package/cjs/component/tooltip/handler/interface/cache.js.map +1 -1
  359. package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
  360. package/cjs/component/tooltip/handler/interface/style.js.map +1 -1
  361. package/cjs/component/tooltip/handler/utils/attribute.js +4 -5
  362. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  363. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  364. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  365. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  366. package/cjs/component/tooltip/handler/utils/index.js.map +1 -1
  367. package/cjs/component/tooltip/handler/utils/pattern.js.map +1 -1
  368. package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
  369. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  370. package/cjs/component/tooltip/handler/utils/style.js +11 -7
  371. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  372. package/cjs/component/tooltip/index.js.map +1 -1
  373. package/cjs/component/tooltip/interface/common.js.map +1 -1
  374. package/cjs/component/tooltip/interface/index.js.map +1 -1
  375. package/cjs/component/tooltip/interface/spec.d.ts +5 -6
  376. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  377. package/cjs/component/tooltip/interface/theme.d.ts +6 -0
  378. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  379. package/cjs/component/tooltip/processor/base.d.ts +2 -4
  380. package/cjs/component/tooltip/processor/base.js +5 -5
  381. package/cjs/component/tooltip/processor/base.js.map +1 -1
  382. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  383. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  384. package/cjs/component/tooltip/processor/index.js.map +1 -1
  385. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  386. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  387. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  388. package/cjs/component/tooltip/processor/util.js.map +1 -1
  389. package/cjs/component/tooltip/tooltip.js +7 -8
  390. package/cjs/component/tooltip/tooltip.js.map +1 -1
  391. package/cjs/component/tooltip/utils/common.js.map +1 -1
  392. package/cjs/component/tooltip/utils/index.js.map +1 -1
  393. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  394. package/cjs/constant/base.d.ts +1 -1
  395. package/cjs/constant/base.js +1 -1
  396. package/cjs/constant/base.js.map +1 -1
  397. package/cjs/constant/box-plot.js.map +1 -1
  398. package/cjs/constant/event.js.map +1 -1
  399. package/cjs/constant/funnel.js.map +1 -1
  400. package/cjs/constant/hierarchy.js.map +1 -1
  401. package/cjs/constant/index.js.map +1 -1
  402. package/cjs/constant/label.js +1 -2
  403. package/cjs/constant/label.js.map +1 -1
  404. package/cjs/constant/layout.js.map +1 -1
  405. package/cjs/constant/marker.js.map +1 -1
  406. package/cjs/constant/polar.js +2 -1
  407. package/cjs/constant/polar.js.map +1 -1
  408. package/cjs/constant/scatter.js.map +1 -1
  409. package/cjs/constant/scroll-bar.js.map +1 -1
  410. package/cjs/constant/sunburst.js.map +1 -1
  411. package/cjs/constant/waterfall.js.map +1 -1
  412. package/cjs/constant/word-cloud.js.map +1 -1
  413. package/cjs/core/factory.js.map +1 -1
  414. package/cjs/core/interface.js.map +1 -1
  415. package/cjs/core/vchart.d.ts +1 -0
  416. package/cjs/core/vchart.js +13 -8
  417. package/cjs/core/vchart.js.map +1 -1
  418. package/cjs/data/initialize.js.map +1 -1
  419. package/cjs/data/parser/array.js.map +1 -1
  420. package/cjs/data/parser/scale.js.map +1 -1
  421. package/cjs/data/register.js.map +1 -1
  422. package/cjs/data/transforms/add-property.d.ts +5 -5
  423. package/cjs/data/transforms/add-property.js +3 -3
  424. package/cjs/data/transforms/add-property.js.map +1 -1
  425. package/cjs/data/transforms/aggregation.js.map +1 -1
  426. package/cjs/data/transforms/box-plot.js.map +1 -1
  427. package/cjs/data/transforms/circle-packing.js.map +1 -1
  428. package/cjs/data/transforms/copy-data-view.js.map +1 -1
  429. package/cjs/data/transforms/data-key.d.ts +3 -3
  430. package/cjs/data/transforms/data-key.js.map +1 -1
  431. package/cjs/data/transforms/dimension-data.js.map +1 -1
  432. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  433. package/cjs/data/transforms/drill.js.map +1 -1
  434. package/cjs/data/transforms/flatten.js.map +1 -1
  435. package/cjs/data/transforms/funnel.js.map +1 -1
  436. package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  437. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  438. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  439. package/cjs/data/transforms/legend-data/continuous/index.js.map +1 -1
  440. package/cjs/data/transforms/legend-data/continuous/interface.js.map +1 -1
  441. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  442. package/cjs/data/transforms/legend-data/discrete/index.js.map +1 -1
  443. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  444. package/cjs/data/transforms/lookup.js.map +1 -1
  445. package/cjs/data/transforms/map.js.map +1 -1
  446. package/cjs/data/transforms/obj-flat.js.map +1 -1
  447. package/cjs/data/transforms/pie.js.map +1 -1
  448. package/cjs/data/transforms/regression.js.map +1 -1
  449. package/cjs/data/transforms/sankey-links.js.map +1 -1
  450. package/cjs/data/transforms/sankey-nodes.js.map +1 -1
  451. package/cjs/data/transforms/sankey.js.map +1 -1
  452. package/cjs/data/transforms/stack-split.js.map +1 -1
  453. package/cjs/data/transforms/sunburst.js.map +1 -1
  454. package/cjs/data/transforms/tick-data/config.js.map +1 -1
  455. package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
  456. package/cjs/data/transforms/tick-data/discrete/linear.js.map +1 -1
  457. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  458. package/cjs/data/transforms/tick-data/index.js.map +1 -1
  459. package/cjs/data/transforms/tick-data/interface.js.map +1 -1
  460. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  461. package/cjs/data/transforms/treemap.js.map +1 -1
  462. package/cjs/data/transforms/waterfall.js.map +1 -1
  463. package/cjs/event/bubble.js.map +1 -1
  464. package/cjs/event/event-dispatcher.js.map +1 -1
  465. package/cjs/event/event.js +1 -2
  466. package/cjs/event/event.js.map +1 -1
  467. package/cjs/event/events/dimension/base.js.map +1 -1
  468. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  469. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  470. package/cjs/event/events/dimension/index.js.map +1 -1
  471. package/cjs/event/events/dimension/interface.js.map +1 -1
  472. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  473. package/cjs/event/events/dimension/util/common.js.map +1 -1
  474. package/cjs/event/events/dimension/util/index.js.map +1 -1
  475. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  476. package/cjs/event/events/index.js.map +1 -1
  477. package/cjs/event/interface.js.map +1 -1
  478. package/cjs/index.d.ts +1 -1
  479. package/cjs/index.js +1 -1
  480. package/cjs/index.js.map +1 -1
  481. package/cjs/interaction/config.js.map +1 -1
  482. package/cjs/interaction/dimension-trigger.js.map +1 -1
  483. package/cjs/interaction/drill/drillable.js.map +1 -1
  484. package/cjs/interaction/drill/index.js.map +1 -1
  485. package/cjs/interaction/interaction.js.map +1 -1
  486. package/cjs/interaction/interface.js.map +1 -1
  487. package/cjs/interaction/trigger.js.map +1 -1
  488. package/cjs/interaction/zoom/index.js.map +1 -1
  489. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  490. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  491. package/cjs/layout/index.d.ts +13 -10
  492. package/cjs/layout/index.js.map +1 -1
  493. package/cjs/layout/interface.js.map +1 -1
  494. package/cjs/layout/label/arc-label.js.map +1 -1
  495. package/cjs/layout/layout3d/index.d.ts +23 -0
  496. package/cjs/layout/layout3d/index.js +131 -0
  497. package/cjs/layout/layout3d/index.js.map +1 -0
  498. package/cjs/mark/arc.js +1 -1
  499. package/cjs/mark/arc.js.map +1 -1
  500. package/cjs/mark/area.js +1 -1
  501. package/cjs/mark/area.js.map +1 -1
  502. package/cjs/mark/base/base-line.js.map +1 -1
  503. package/cjs/mark/base/base-mark.js.map +1 -1
  504. package/cjs/mark/base/index.js.map +1 -1
  505. package/cjs/mark/boxPlot.js +2 -2
  506. package/cjs/mark/boxPlot.js.map +1 -1
  507. package/cjs/mark/cell.js +1 -1
  508. package/cjs/mark/cell.js.map +1 -1
  509. package/cjs/mark/component.d.ts +1 -0
  510. package/cjs/mark/component.js +5 -3
  511. package/cjs/mark/component.js.map +1 -1
  512. package/cjs/mark/group.js +1 -1
  513. package/cjs/mark/group.js.map +1 -1
  514. package/cjs/mark/interface/common.js.map +1 -1
  515. package/cjs/mark/interface/index.js.map +1 -1
  516. package/cjs/mark/interface/type.js.map +1 -1
  517. package/cjs/mark/line.js +1 -1
  518. package/cjs/mark/line.js.map +1 -1
  519. package/cjs/mark/linkPath.js +1 -2
  520. package/cjs/mark/linkPath.js.map +1 -1
  521. package/cjs/mark/mark-set/index.js.map +1 -1
  522. package/cjs/mark/path.js +1 -1
  523. package/cjs/mark/path.js.map +1 -1
  524. package/cjs/mark/polygon.js +1 -1
  525. package/cjs/mark/polygon.js.map +1 -1
  526. package/cjs/mark/progress-arc.js +1 -1
  527. package/cjs/mark/progress-arc.js.map +1 -1
  528. package/cjs/mark/rect.js +1 -1
  529. package/cjs/mark/rect.js.map +1 -1
  530. package/cjs/mark/rule.js +1 -1
  531. package/cjs/mark/rule.js.map +1 -1
  532. package/cjs/mark/symbol.js +1 -1
  533. package/cjs/mark/symbol.js.map +1 -1
  534. package/cjs/mark/text.js +1 -1
  535. package/cjs/mark/text.js.map +1 -1
  536. package/cjs/mark/utils/common.js.map +1 -1
  537. package/cjs/mark/utils/index.js.map +1 -1
  538. package/cjs/model/base-model.d.ts +1 -1
  539. package/cjs/model/base-model.js +1 -1
  540. package/cjs/model/base-model.js.map +1 -1
  541. package/cjs/model/interface.d.ts +1 -0
  542. package/cjs/model/interface.js +1 -1
  543. package/cjs/model/interface.js.map +1 -1
  544. package/cjs/model/layout-item.js +1 -1
  545. package/cjs/model/layout-item.js.map +1 -1
  546. package/cjs/model/model-state-manager.js +2 -1
  547. package/cjs/model/model-state-manager.js.map +1 -1
  548. package/cjs/model/tooltip-helper.js +1 -1
  549. package/cjs/model/tooltip-helper.js.map +1 -1
  550. package/cjs/plugin/chart/interface.js.map +1 -1
  551. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +1 -1
  552. package/cjs/plugin/components/basic-plugin.js.map +1 -1
  553. package/cjs/plugin/components/index.js.map +1 -1
  554. package/cjs/plugin/components/interface.js.map +1 -1
  555. package/cjs/plugin/components/plugin-service.js.map +1 -1
  556. package/cjs/plugin/interface.js +1 -1
  557. package/cjs/plugin/interface.js.map +1 -1
  558. package/cjs/plugin/series/interface.js.map +1 -1
  559. package/cjs/region/interface.js +1 -1
  560. package/cjs/region/interface.js.map +1 -1
  561. package/cjs/region/region.js +1 -1
  562. package/cjs/region/region.js.map +1 -1
  563. package/cjs/scale/global-scale.js +1 -1
  564. package/cjs/scale/global-scale.js.map +1 -1
  565. package/cjs/scale/interface.js +1 -1
  566. package/cjs/scale/interface.js.map +1 -1
  567. package/cjs/series/area/animation.js.map +1 -1
  568. package/cjs/series/area/area.js +3 -1
  569. package/cjs/series/area/area.js.map +1 -1
  570. package/cjs/series/area/interface.js.map +1 -1
  571. package/cjs/series/bar/animation.js.map +1 -1
  572. package/cjs/series/bar/bar.js +6 -5
  573. package/cjs/series/bar/bar.js.map +1 -1
  574. package/cjs/series/bar/interface.d.ts +3 -0
  575. package/cjs/series/bar/interface.js.map +1 -1
  576. package/cjs/series/base/base-series.d.ts +2 -2
  577. package/cjs/series/base/base-series.js +7 -9
  578. package/cjs/series/base/base-series.js.map +1 -1
  579. package/cjs/series/base/group.js.map +1 -1
  580. package/cjs/series/base/series-data.js.map +1 -1
  581. package/cjs/series/base/tooltip-helper.js.map +1 -1
  582. package/cjs/series/box-plot/boxPlot.d.ts +1 -1
  583. package/cjs/series/box-plot/boxPlot.js +9 -10
  584. package/cjs/series/box-plot/boxPlot.js.map +1 -1
  585. package/cjs/series/box-plot/interface.js.map +1 -1
  586. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  587. package/cjs/series/cartesian/cartesian.d.ts +11 -0
  588. package/cjs/series/cartesian/cartesian.js +37 -2
  589. package/cjs/series/cartesian/cartesian.js.map +1 -1
  590. package/cjs/series/cartesian/interface.d.ts +1 -2
  591. package/cjs/series/cartesian/interface.js.map +1 -1
  592. package/cjs/series/circle-packing/animation.js.map +1 -1
  593. package/cjs/series/circle-packing/circle-packing.js +2 -2
  594. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  595. package/cjs/series/circle-packing/interface.js.map +1 -1
  596. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  597. package/cjs/series/dot/config.js.map +1 -1
  598. package/cjs/series/dot/dot.js +6 -8
  599. package/cjs/series/dot/dot.js.map +1 -1
  600. package/cjs/series/dot/interface.d.ts +0 -1
  601. package/cjs/series/dot/interface.js.map +1 -1
  602. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  603. package/cjs/series/funnel/funnel.d.ts +8 -0
  604. package/cjs/series/funnel/funnel.js +11 -2
  605. package/cjs/series/funnel/funnel.js.map +1 -1
  606. package/cjs/series/funnel/interface.js.map +1 -1
  607. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  608. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  609. package/cjs/series/gauge/gauge.js.map +1 -1
  610. package/cjs/series/gauge/index.js.map +1 -1
  611. package/cjs/series/gauge/interface.js.map +1 -1
  612. package/cjs/series/geo/geo.d.ts +1 -0
  613. package/cjs/series/geo/geo.js +3 -0
  614. package/cjs/series/geo/geo.js.map +1 -1
  615. package/cjs/series/geo/interface.js.map +1 -1
  616. package/cjs/series/heatmap/animation.js.map +1 -1
  617. package/cjs/series/heatmap/heatmap.js +4 -3
  618. package/cjs/series/heatmap/heatmap.js.map +1 -1
  619. package/cjs/series/heatmap/interface.js.map +1 -1
  620. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  621. package/cjs/series/interface/common.d.ts +1 -0
  622. package/cjs/series/interface/common.js.map +1 -1
  623. package/cjs/series/interface/index.js.map +1 -1
  624. package/cjs/series/interface/series.d.ts +7 -0
  625. package/cjs/series/interface/series.js.map +1 -1
  626. package/cjs/series/interface/theme.js.map +1 -1
  627. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  628. package/cjs/series/interface/type.js.map +1 -1
  629. package/cjs/series/line/animation.js.map +1 -1
  630. package/cjs/series/line/interface.js.map +1 -1
  631. package/cjs/series/line/line.js.map +1 -1
  632. package/cjs/series/link/interface.d.ts +2 -2
  633. package/cjs/series/link/interface.js.map +1 -1
  634. package/cjs/series/link/link.js +3 -3
  635. package/cjs/series/link/link.js.map +1 -1
  636. package/cjs/series/link/tooltip-helper.js.map +1 -1
  637. package/cjs/series/map/geo-source.d.ts +1 -0
  638. package/cjs/series/map/geo-source.js +7 -3
  639. package/cjs/series/map/geo-source.js.map +1 -1
  640. package/cjs/series/map/interface.js.map +1 -1
  641. package/cjs/series/map/map.js +1 -0
  642. package/cjs/series/map/map.js.map +1 -1
  643. package/cjs/series/map/tooltip-helper.js.map +1 -1
  644. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  645. package/cjs/series/mixin/line-mixin.js +11 -8
  646. package/cjs/series/mixin/line-mixin.js.map +1 -1
  647. package/cjs/series/pie/animation/animation.js.map +1 -1
  648. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  649. package/cjs/series/pie/interface.d.ts +1 -0
  650. package/cjs/series/pie/interface.js.map +1 -1
  651. package/cjs/series/pie/pie.d.ts +13 -5
  652. package/cjs/series/pie/pie.js +34 -25
  653. package/cjs/series/pie/pie.js.map +1 -1
  654. package/cjs/series/polar/animation.js.map +1 -1
  655. package/cjs/series/polar/interface.d.ts +0 -1
  656. package/cjs/series/polar/interface.js.map +1 -1
  657. package/cjs/series/polar/polar.d.ts +1 -0
  658. package/cjs/series/polar/polar.js +3 -0
  659. package/cjs/series/polar/polar.js.map +1 -1
  660. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  661. package/cjs/series/polar/progress-like/index.js.map +1 -1
  662. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  663. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  664. package/cjs/series/polar/rose-like/index.js.map +1 -1
  665. package/cjs/series/polar/rose-like/interface.js.map +1 -1
  666. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  667. package/cjs/series/progress/circular/circular.js.map +1 -1
  668. package/cjs/series/progress/circular/index.js.map +1 -1
  669. package/cjs/series/progress/circular/interface.js.map +1 -1
  670. package/cjs/series/progress/interface.js.map +1 -1
  671. package/cjs/series/progress/linear/animation.js.map +1 -1
  672. package/cjs/series/progress/linear/index.js.map +1 -1
  673. package/cjs/series/progress/linear/interface.js.map +1 -1
  674. package/cjs/series/progress/linear/linear.js.map +1 -1
  675. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  676. package/cjs/series/radar/animation.js.map +1 -1
  677. package/cjs/series/radar/interface.d.ts +0 -1
  678. package/cjs/series/radar/interface.js.map +1 -1
  679. package/cjs/series/radar/radar.js.map +1 -1
  680. package/cjs/series/range-area/interface.js.map +1 -1
  681. package/cjs/series/range-area/range-area.js.map +1 -1
  682. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  683. package/cjs/series/range-column/animation.js.map +1 -1
  684. package/cjs/series/range-column/interface.d.ts +3 -3
  685. package/cjs/series/range-column/interface.js.map +1 -1
  686. package/cjs/series/range-column/rangeColumn.js +14 -12
  687. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  688. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  689. package/cjs/series/rose/animation.js.map +1 -1
  690. package/cjs/series/rose/interface.js.map +1 -1
  691. package/cjs/series/rose/rose.js +1 -0
  692. package/cjs/series/rose/rose.js.map +1 -1
  693. package/cjs/series/sankey/animation.js.map +1 -1
  694. package/cjs/series/sankey/interface.js.map +1 -1
  695. package/cjs/series/sankey/sankey.js +4 -4
  696. package/cjs/series/sankey/sankey.js.map +1 -1
  697. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  698. package/cjs/series/scatter/animation.js.map +1 -1
  699. package/cjs/series/scatter/interface.js.map +1 -1
  700. package/cjs/series/scatter/scatter.js +7 -4
  701. package/cjs/series/scatter/scatter.js.map +1 -1
  702. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  703. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  704. package/cjs/series/sunburst/animation/index.js.map +1 -1
  705. package/cjs/series/sunburst/animation/interface.js.map +1 -1
  706. package/cjs/series/sunburst/animation/preset.js.map +1 -1
  707. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  708. package/cjs/series/sunburst/interface.js.map +1 -1
  709. package/cjs/series/sunburst/sunburst.js +2 -2
  710. package/cjs/series/sunburst/sunburst.js.map +1 -1
  711. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  712. package/cjs/series/treemap/animation.js.map +1 -1
  713. package/cjs/series/treemap/config.js.map +1 -1
  714. package/cjs/series/treemap/interface.js.map +1 -1
  715. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  716. package/cjs/series/treemap/treemap.js +2 -2
  717. package/cjs/series/treemap/treemap.js.map +1 -1
  718. package/cjs/series/util/label-mark.js.map +1 -1
  719. package/cjs/series/util/utils.js.map +1 -1
  720. package/cjs/series/waterfall/animation.js.map +1 -1
  721. package/cjs/series/waterfall/interface.js.map +1 -1
  722. package/cjs/series/waterfall/waterfall.js.map +1 -1
  723. package/cjs/series/word-cloud/animation.js.map +1 -1
  724. package/cjs/series/word-cloud/config.js.map +1 -1
  725. package/cjs/series/word-cloud/interface.js.map +1 -1
  726. package/cjs/series/word-cloud/word-cloud.d.ts +10 -3
  727. package/cjs/series/word-cloud/word-cloud.js +109 -26
  728. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  729. package/cjs/theme/buildin-theme/config.js +2 -0
  730. package/cjs/theme/buildin-theme/config.js.map +1 -1
  731. package/cjs/theme/buildin-theme/dark.js +4 -462
  732. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  733. package/cjs/theme/buildin-theme/index.js.map +1 -1
  734. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  735. package/cjs/theme/buildin-theme/light/component/brush.js +12 -8
  736. package/cjs/theme/buildin-theme/light/component/brush.js.map +1 -1
  737. package/cjs/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
  738. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js +14 -84
  739. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
  740. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
  741. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +1 -1
  742. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
  743. package/cjs/theme/buildin-theme/light/component/common-axis.js +74 -0
  744. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +1 -0
  745. package/cjs/theme/buildin-theme/light/component/crosshair.js +2 -9
  746. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  747. package/cjs/theme/buildin-theme/light/component/data-zoom.js +10 -10
  748. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  749. package/cjs/theme/buildin-theme/light/component/discrete-legend.js +3 -6
  750. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
  751. package/cjs/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  752. package/cjs/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
  753. package/cjs/theme/buildin-theme/light/component/indicator.js.map +1 -0
  754. package/cjs/theme/buildin-theme/light/component/mark-area.js.map +1 -1
  755. package/cjs/theme/buildin-theme/light/component/mark-line.js.map +1 -1
  756. package/cjs/theme/buildin-theme/light/component/mark-point.js +1 -3
  757. package/cjs/theme/buildin-theme/light/component/mark-point.js.map +1 -1
  758. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  759. package/cjs/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
  760. package/cjs/theme/buildin-theme/light/component/polar-axis.js +11 -70
  761. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
  762. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +1 -1
  763. package/cjs/theme/buildin-theme/light/component/title.d.ts +2 -0
  764. package/cjs/theme/buildin-theme/light/component/title.js +13 -0
  765. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -0
  766. package/cjs/theme/buildin-theme/light/component/tooltip.js +6 -8
  767. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  768. package/cjs/theme/buildin-theme/light/index.js +10 -4
  769. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  770. package/cjs/theme/buildin-theme/light/series/area.js +5 -4
  771. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  772. package/cjs/theme/buildin-theme/light/series/bar.js +0 -3
  773. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  774. package/cjs/theme/buildin-theme/light/series/bar3d.js +0 -3
  775. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  776. package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
  777. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  778. package/cjs/theme/buildin-theme/light/series/dot.js +11 -3
  779. package/cjs/theme/buildin-theme/light/series/dot.js.map +1 -1
  780. package/cjs/theme/buildin-theme/light/series/funnel.js +0 -3
  781. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  782. package/cjs/theme/buildin-theme/light/series/funnel3d.js +0 -3
  783. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  784. package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
  785. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  786. package/cjs/theme/buildin-theme/light/series/heatmap.js +2 -3
  787. package/cjs/theme/buildin-theme/light/series/heatmap.js.map +1 -1
  788. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  789. package/cjs/theme/buildin-theme/light/series/line.js +5 -4
  790. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  791. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  792. package/cjs/theme/buildin-theme/light/series/link.js +5 -3
  793. package/cjs/theme/buildin-theme/light/series/link.js.map +1 -1
  794. package/cjs/theme/buildin-theme/light/series/map.js +0 -1
  795. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  796. package/cjs/theme/buildin-theme/light/series/pie.js +0 -2
  797. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  798. package/cjs/theme/buildin-theme/light/series/pie3d.js +0 -2
  799. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  800. package/cjs/theme/buildin-theme/light/series/radar.js +5 -4
  801. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  802. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +0 -3
  803. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  804. package/cjs/theme/buildin-theme/light/series/scatter.js +0 -3
  805. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  806. package/cjs/theme/buildin-theme/light/series/sunburst.js.map +1 -1
  807. package/cjs/theme/buildin-theme/light/series/treemap.js +0 -4
  808. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  809. package/cjs/theme/buildin-theme/light/series/waterfall.js +0 -4
  810. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  811. package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
  812. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  813. package/cjs/theme/color-scheme/interface.d.ts +1 -1
  814. package/cjs/theme/color-scheme/interface.js.map +1 -1
  815. package/cjs/theme/color-scheme/util.js.map +1 -1
  816. package/cjs/theme/index.js.map +1 -1
  817. package/cjs/theme/interface.d.ts +13 -5
  818. package/cjs/theme/interface.js.map +1 -1
  819. package/cjs/theme/theme-manager.js.map +1 -1
  820. package/cjs/typings/common.js.map +1 -1
  821. package/cjs/typings/coordinate.js.map +1 -1
  822. package/cjs/typings/cursor.js.map +1 -1
  823. package/cjs/typings/data.js.map +1 -1
  824. package/cjs/typings/geo.js.map +1 -1
  825. package/cjs/typings/index.js.map +1 -1
  826. package/cjs/typings/interpolate.js.map +1 -1
  827. package/cjs/typings/line-stroke.js.map +1 -1
  828. package/cjs/typings/params.js.map +1 -1
  829. package/cjs/typings/scale.js.map +1 -1
  830. package/cjs/typings/shape.js.map +1 -1
  831. package/cjs/typings/space.d.ts +1 -1
  832. package/cjs/typings/space.js.map +1 -1
  833. package/cjs/typings/spec/chart.js.map +1 -1
  834. package/cjs/typings/spec/common.d.ts +5 -5
  835. package/cjs/typings/spec/common.js.map +1 -1
  836. package/cjs/typings/spec/index.js.map +1 -1
  837. package/cjs/typings/tooltip/common.js.map +1 -1
  838. package/cjs/typings/tooltip/handler.js.map +1 -1
  839. package/cjs/typings/tooltip/index.js.map +1 -1
  840. package/cjs/typings/tooltip/line.js.map +1 -1
  841. package/cjs/typings/tooltip/position.js.map +1 -1
  842. package/cjs/typings/tooltip/shape.js.map +1 -1
  843. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  844. package/cjs/typings/visual.d.ts +21 -3
  845. package/cjs/typings/visual.js.map +1 -1
  846. package/cjs/util/array.js.map +1 -1
  847. package/cjs/util/color.js.map +1 -1
  848. package/cjs/util/data.js +3 -2
  849. package/cjs/util/data.js.map +1 -1
  850. package/cjs/util/debug.js.map +1 -1
  851. package/cjs/util/env.js.map +1 -1
  852. package/cjs/util/hierarchy.js.map +1 -1
  853. package/cjs/util/id.js +4 -4
  854. package/cjs/util/id.js.map +1 -1
  855. package/cjs/util/image.js.map +1 -1
  856. package/cjs/util/index.js.map +1 -1
  857. package/cjs/util/math.js.map +1 -1
  858. package/cjs/util/model.js.map +1 -1
  859. package/cjs/util/object.js.map +1 -1
  860. package/cjs/util/scale.js.map +1 -1
  861. package/cjs/util/space.js.map +1 -1
  862. package/cjs/util/spec.js.map +1 -1
  863. package/cjs/util/style.js +1 -3
  864. package/cjs/util/style.js.map +1 -1
  865. package/cjs/util/text.js.map +1 -1
  866. package/cjs/util/type.js.map +1 -1
  867. package/cjs/vchart-all.js +2 -2
  868. package/cjs/vchart-all.js.map +1 -1
  869. package/esm/animation/animate-manager.js.map +1 -1
  870. package/esm/animation/config.js.map +1 -1
  871. package/esm/animation/interface.js +2 -1
  872. package/esm/animation/interface.js.map +1 -1
  873. package/esm/animation/spec.d.ts +2 -2
  874. package/esm/animation/spec.js.map +1 -1
  875. package/esm/animation/utils.d.ts +4 -3
  876. package/esm/animation/utils.js +4 -0
  877. package/esm/animation/utils.js.map +1 -1
  878. package/esm/chart/area/area.js.map +1 -1
  879. package/esm/chart/area/index.js.map +1 -1
  880. package/esm/chart/area/interface.js.map +1 -1
  881. package/esm/chart/bar/bar.js.map +1 -1
  882. package/esm/chart/bar/index.js.map +1 -1
  883. package/esm/chart/bar/interface.js.map +1 -1
  884. package/esm/chart/base-chart.js +3 -1
  885. package/esm/chart/base-chart.js.map +1 -1
  886. package/esm/chart/boxplot/boxPlot.js.map +1 -1
  887. package/esm/chart/boxplot/index.js.map +1 -1
  888. package/esm/chart/boxplot/interface.js.map +1 -1
  889. package/esm/chart/cartesian/cartesian.js +7 -2
  890. package/esm/chart/cartesian/cartesian.js.map +1 -1
  891. package/esm/chart/cartesian/interface.js.map +1 -1
  892. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  893. package/esm/chart/circle-packing/index.js.map +1 -1
  894. package/esm/chart/circle-packing/interface.js.map +1 -1
  895. package/esm/chart/common/common.js.map +1 -1
  896. package/esm/chart/common/index.js.map +1 -1
  897. package/esm/chart/common/interface.js.map +1 -1
  898. package/esm/chart/funnel/funnel.js.map +1 -1
  899. package/esm/chart/funnel/index.js.map +1 -1
  900. package/esm/chart/funnel/interface.js.map +1 -1
  901. package/esm/chart/gauge/gauge.js.map +1 -1
  902. package/esm/chart/gauge/index.js.map +1 -1
  903. package/esm/chart/gauge/interface.js.map +1 -1
  904. package/esm/chart/heatmap/heatmap.js +4 -3
  905. package/esm/chart/heatmap/heatmap.js.map +1 -1
  906. package/esm/chart/heatmap/index.js.map +1 -1
  907. package/esm/chart/heatmap/interface.js.map +1 -1
  908. package/esm/chart/histogram/histogram.js.map +1 -1
  909. package/esm/chart/histogram/index.js.map +1 -1
  910. package/esm/chart/histogram/interface.js.map +1 -1
  911. package/esm/chart/index.js.map +1 -1
  912. package/esm/chart/interface/chart.js.map +1 -1
  913. package/esm/chart/interface/common.js.map +1 -1
  914. package/esm/chart/interface/index.js.map +1 -1
  915. package/esm/chart/interface/type.js.map +1 -1
  916. package/esm/chart/line/index.js.map +1 -1
  917. package/esm/chart/line/interface.js.map +1 -1
  918. package/esm/chart/line/line.js.map +1 -1
  919. package/esm/chart/map/index.js.map +1 -1
  920. package/esm/chart/map/interface.js.map +1 -1
  921. package/esm/chart/map/map.js.map +1 -1
  922. package/esm/chart/pie/index.js.map +1 -1
  923. package/esm/chart/pie/interface.js.map +1 -1
  924. package/esm/chart/pie/pie.d.ts +1 -0
  925. package/esm/chart/pie/pie.js +5 -0
  926. package/esm/chart/pie/pie.js.map +1 -1
  927. package/esm/chart/polar/interface.js.map +1 -1
  928. package/esm/chart/polar/polar.js.map +1 -1
  929. package/esm/chart/polar/progress-like.js.map +1 -1
  930. package/esm/chart/polar/rose-like.js.map +1 -1
  931. package/esm/chart/progress/circular/circular.js.map +1 -1
  932. package/esm/chart/progress/circular/index.js.map +1 -1
  933. package/esm/chart/progress/circular/interface.js.map +1 -1
  934. package/esm/chart/progress/interface.js.map +1 -1
  935. package/esm/chart/progress/linear/index.js.map +1 -1
  936. package/esm/chart/progress/linear/interface.js.map +1 -1
  937. package/esm/chart/progress/linear/linear.js.map +1 -1
  938. package/esm/chart/radar/index.js.map +1 -1
  939. package/esm/chart/radar/interface.js.map +1 -1
  940. package/esm/chart/radar/radar.js.map +1 -1
  941. package/esm/chart/range-area/index.js.map +1 -1
  942. package/esm/chart/range-area/interface.js.map +1 -1
  943. package/esm/chart/range-area/range-area.js.map +1 -1
  944. package/esm/chart/range-column/index.js.map +1 -1
  945. package/esm/chart/range-column/interface.js.map +1 -1
  946. package/esm/chart/range-column/rangeColumn.js.map +1 -1
  947. package/esm/chart/rose/index.js.map +1 -1
  948. package/esm/chart/rose/interface.js.map +1 -1
  949. package/esm/chart/rose/rose.js.map +1 -1
  950. package/esm/chart/sankey/index.js.map +1 -1
  951. package/esm/chart/sankey/interface.js.map +1 -1
  952. package/esm/chart/sankey/sankey.js.map +1 -1
  953. package/esm/chart/scatter/index.js.map +1 -1
  954. package/esm/chart/scatter/interface.js.map +1 -1
  955. package/esm/chart/scatter/scatter.js.map +1 -1
  956. package/esm/chart/sequence/index.js.map +1 -1
  957. package/esm/chart/sequence/interface.js.map +1 -1
  958. package/esm/chart/sequence/sequence.js.map +1 -1
  959. package/esm/chart/stack.js.map +1 -1
  960. package/esm/chart/sunburst/index.js.map +1 -1
  961. package/esm/chart/sunburst/interface.js.map +1 -1
  962. package/esm/chart/sunburst/sunburst.js.map +1 -1
  963. package/esm/chart/treemap/index.js.map +1 -1
  964. package/esm/chart/treemap/interface.js.map +1 -1
  965. package/esm/chart/treemap/treemap.js.map +1 -1
  966. package/esm/chart/waterfall/index.js.map +1 -1
  967. package/esm/chart/waterfall/interface.js.map +1 -1
  968. package/esm/chart/waterfall/waterfall.js.map +1 -1
  969. package/esm/chart/word-cloud/index.js.map +1 -1
  970. package/esm/chart/word-cloud/interface.d.ts +5 -1
  971. package/esm/chart/word-cloud/interface.js.map +1 -1
  972. package/esm/chart/word-cloud/word-cloud.d.ts +3 -2
  973. package/esm/chart/word-cloud/word-cloud.js +42 -15
  974. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  975. package/esm/compile/compilable-base.js +1 -1
  976. package/esm/compile/compilable-base.js.map +1 -1
  977. package/esm/compile/compiler.d.ts +3 -2
  978. package/esm/compile/compiler.js +8 -5
  979. package/esm/compile/compiler.js.map +1 -1
  980. package/esm/compile/data/compilable-data.d.ts +1 -1
  981. package/esm/compile/data/compilable-data.js.map +1 -1
  982. package/esm/compile/data/index.js.map +1 -1
  983. package/esm/compile/data/interface.js.map +1 -1
  984. package/esm/compile/grammar-item.js +1 -1
  985. package/esm/compile/grammar-item.js.map +1 -1
  986. package/esm/compile/interface/compilable-item.d.ts +1 -2
  987. package/esm/compile/interface/compilable-item.js.map +1 -1
  988. package/esm/compile/interface/compiler.d.ts +1 -5
  989. package/esm/compile/interface/compiler.js.map +1 -1
  990. package/esm/compile/interface/index.js.map +1 -1
  991. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  992. package/esm/compile/mark/compilable-mark.js +1 -1
  993. package/esm/compile/mark/compilable-mark.js.map +1 -1
  994. package/esm/compile/mark/index.js.map +1 -1
  995. package/esm/compile/mark/interface.d.ts +1 -0
  996. package/esm/compile/mark/interface.js.map +1 -1
  997. package/esm/compile/mark/mark-data.js.map +1 -1
  998. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  999. package/esm/compile/mark/util.js.map +1 -1
  1000. package/esm/compile/signal/compilable-signal.js.map +1 -1
  1001. package/esm/compile/signal/index.js.map +1 -1
  1002. package/esm/compile/signal/interface.js.map +1 -1
  1003. package/esm/compile/signal/signal-manager.js.map +1 -1
  1004. package/esm/compile/signal/state-manager.d.ts +1 -1
  1005. package/esm/compile/signal/state-manager.js.map +1 -1
  1006. package/esm/compile/util.js +1 -1
  1007. package/esm/compile/util.js.map +1 -1
  1008. package/esm/component/axis/base-axis.d.ts +0 -1
  1009. package/esm/component/axis/base-axis.js +3 -10
  1010. package/esm/component/axis/base-axis.js.map +1 -1
  1011. package/esm/component/axis/cartesian/axis.d.ts +11 -0
  1012. package/esm/component/axis/cartesian/axis.js +59 -15
  1013. package/esm/component/axis/cartesian/axis.js.map +1 -1
  1014. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  1015. package/esm/component/axis/cartesian/config.js.map +1 -1
  1016. package/esm/component/axis/cartesian/index.js.map +1 -1
  1017. package/esm/component/axis/cartesian/interface/common.d.ts +1 -5
  1018. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  1019. package/esm/component/axis/cartesian/interface/index.js.map +1 -1
  1020. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -4
  1021. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  1022. package/esm/component/axis/cartesian/interface/theme.d.ts +10 -13
  1023. package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
  1024. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  1025. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  1026. package/esm/component/axis/cartesian/util/common.d.ts +4 -4
  1027. package/esm/component/axis/cartesian/util/common.js +10 -11
  1028. package/esm/component/axis/cartesian/util/common.js.map +1 -1
  1029. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  1030. package/esm/component/axis/cartesian/util/time.js.map +1 -1
  1031. package/esm/component/axis/index.js.map +1 -1
  1032. package/esm/component/axis/interface.d.ts +10 -17
  1033. package/esm/component/axis/interface.js.map +1 -1
  1034. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  1035. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  1036. package/esm/component/axis/polar/axis.js.map +1 -1
  1037. package/esm/component/axis/polar/band-axis.js.map +1 -1
  1038. package/esm/component/axis/polar/config.js.map +1 -1
  1039. package/esm/component/axis/polar/index.js.map +1 -1
  1040. package/esm/component/axis/polar/interface/common.d.ts +1 -4
  1041. package/esm/component/axis/polar/interface/common.js.map +1 -1
  1042. package/esm/component/axis/polar/interface/index.js.map +1 -1
  1043. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  1044. package/esm/component/axis/polar/interface/theme.d.ts +9 -12
  1045. package/esm/component/axis/polar/interface/theme.js.map +1 -1
  1046. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  1047. package/esm/component/axis/utils.d.ts +5 -1
  1048. package/esm/component/axis/utils.js +17 -4
  1049. package/esm/component/axis/utils.js.map +1 -1
  1050. package/esm/component/base/base-component.js.map +1 -1
  1051. package/esm/component/base/index.js.map +1 -1
  1052. package/esm/component/base/util.js +5 -4
  1053. package/esm/component/base/util.js.map +1 -1
  1054. package/esm/component/brush/brush.d.ts +0 -1
  1055. package/esm/component/brush/brush.js +7 -12
  1056. package/esm/component/brush/brush.js.map +1 -1
  1057. package/esm/component/brush/index.js.map +1 -1
  1058. package/esm/component/brush/interface.d.ts +10 -8
  1059. package/esm/component/brush/interface.js.map +1 -1
  1060. package/esm/component/common/trigger/config.js.map +1 -1
  1061. package/esm/component/common/trigger/desktop.js.map +1 -1
  1062. package/esm/component/common/trigger/interface.js.map +1 -1
  1063. package/esm/component/common/trigger/mobile.js.map +1 -1
  1064. package/esm/component/crosshair/base.d.ts +0 -1
  1065. package/esm/component/crosshair/base.js +9 -17
  1066. package/esm/component/crosshair/base.js.map +1 -1
  1067. package/esm/component/crosshair/cartesian.js.map +1 -1
  1068. package/esm/component/crosshair/config.d.ts +0 -2
  1069. package/esm/component/crosshair/config.js +0 -4
  1070. package/esm/component/crosshair/config.js.map +1 -1
  1071. package/esm/component/crosshair/index.js.map +1 -1
  1072. package/esm/component/crosshair/interface/index.js.map +1 -1
  1073. package/esm/component/crosshair/interface/spec.d.ts +3 -3
  1074. package/esm/component/crosshair/interface/spec.js.map +1 -1
  1075. package/esm/component/crosshair/interface/theme.d.ts +2 -4
  1076. package/esm/component/crosshair/interface/theme.js.map +1 -1
  1077. package/esm/component/crosshair/polar.js.map +1 -1
  1078. package/esm/component/crosshair/util.d.ts +0 -4
  1079. package/esm/component/crosshair/util.js +0 -8
  1080. package/esm/component/crosshair/util.js.map +1 -1
  1081. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  1082. package/esm/component/custom-mark/index.js.map +1 -1
  1083. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
  1084. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  1085. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  1086. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
  1087. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  1088. package/esm/component/data-zoom/data-zoom/index.js.map +1 -1
  1089. package/esm/component/data-zoom/data-zoom/interface.d.ts +5 -1
  1090. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  1091. package/esm/component/data-zoom/index.js.map +1 -1
  1092. package/esm/component/data-zoom/interface.js.map +1 -1
  1093. package/esm/component/data-zoom/scroll-bar/index.js.map +1 -1
  1094. package/esm/component/data-zoom/scroll-bar/interface.d.ts +7 -1
  1095. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  1096. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  1097. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  1098. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  1099. package/esm/component/data-zoom/util.js.map +1 -1
  1100. package/esm/component/geo/geo-coordinate.js.map +1 -1
  1101. package/esm/component/geo/interface.js.map +1 -1
  1102. package/esm/component/geo/projection.js.map +1 -1
  1103. package/esm/component/index.js +1 -1
  1104. package/esm/component/index.js.map +1 -1
  1105. package/esm/component/indicator/indicator.d.ts +0 -1
  1106. package/esm/component/indicator/indicator.js +2 -13
  1107. package/esm/component/indicator/indicator.js.map +1 -1
  1108. package/esm/component/indicator/interface.d.ts +1 -5
  1109. package/esm/component/indicator/interface.js.map +1 -1
  1110. package/esm/component/indicator/util.js +3 -1
  1111. package/esm/component/indicator/util.js.map +1 -1
  1112. package/esm/component/interface/common.js.map +1 -1
  1113. package/esm/component/interface/index.js.map +1 -1
  1114. package/esm/component/interface/tooltip-helper.js.map +1 -1
  1115. package/esm/component/interface/type.js.map +1 -1
  1116. package/esm/component/label/bar.d.ts +1 -3
  1117. package/esm/component/label/bar.js +2 -4
  1118. package/esm/component/label/bar.js.map +1 -1
  1119. package/esm/component/label/index.js.map +1 -1
  1120. package/esm/component/label/interface.d.ts +2 -2
  1121. package/esm/component/label/interface.js.map +1 -1
  1122. package/esm/component/label/label.d.ts +56 -0
  1123. package/esm/component/label/label.js +4 -2
  1124. package/esm/component/label/label.js.map +1 -1
  1125. package/esm/component/label/symbol.js.map +1 -1
  1126. package/esm/component/label/util.js +1 -7
  1127. package/esm/component/label/util.js.map +1 -1
  1128. package/esm/component/legend/base-legend.d.ts +0 -1
  1129. package/esm/component/legend/base-legend.js +2 -4
  1130. package/esm/component/legend/base-legend.js.map +1 -1
  1131. package/esm/component/legend/continuous/index.js.map +1 -1
  1132. package/esm/component/legend/continuous/interface.d.ts +1 -6
  1133. package/esm/component/legend/continuous/interface.js.map +1 -1
  1134. package/esm/component/legend/continuous/legend.js +1 -1
  1135. package/esm/component/legend/continuous/legend.js.map +1 -1
  1136. package/esm/component/legend/continuous/util.js.map +1 -1
  1137. package/esm/component/legend/discrete/index.js.map +1 -1
  1138. package/esm/component/legend/discrete/interface.d.ts +1 -5
  1139. package/esm/component/legend/discrete/interface.js.map +1 -1
  1140. package/esm/component/legend/discrete/legend.js +17 -16
  1141. package/esm/component/legend/discrete/legend.js.map +1 -1
  1142. package/esm/component/legend/discrete/util.js.map +1 -1
  1143. package/esm/component/legend/index.js.map +1 -1
  1144. package/esm/component/legend/interface.d.ts +1 -1
  1145. package/esm/component/legend/interface.js.map +1 -1
  1146. package/esm/component/legend/util.js.map +1 -1
  1147. package/esm/component/map-label/component.js.map +1 -1
  1148. package/esm/component/map-label/config.js.map +1 -1
  1149. package/esm/component/map-label/index.js.map +1 -1
  1150. package/esm/component/map-label/interface.d.ts +2 -2
  1151. package/esm/component/map-label/interface.js.map +1 -1
  1152. package/esm/component/map-label/layout.js.map +1 -1
  1153. package/esm/component/marker/base-marker.d.ts +0 -1
  1154. package/esm/component/marker/base-marker.js +1 -4
  1155. package/esm/component/marker/base-marker.js.map +1 -1
  1156. package/esm/component/marker/interface.js.map +1 -1
  1157. package/esm/component/marker/mark-area/interface/index.js.map +1 -1
  1158. package/esm/component/marker/mark-area/interface/spec.d.ts +2 -1
  1159. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  1160. package/esm/component/marker/mark-area/interface/theme.d.ts +2 -2
  1161. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  1162. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  1163. package/esm/component/marker/mark-line/interface/index.js.map +1 -1
  1164. package/esm/component/marker/mark-line/interface/spec.d.ts +2 -1
  1165. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  1166. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  1167. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  1168. package/esm/component/marker/mark-point/interface/index.js.map +1 -1
  1169. package/esm/component/marker/mark-point/interface/spec.d.ts +2 -1
  1170. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  1171. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  1172. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  1173. package/esm/component/marker/utils.js.map +1 -1
  1174. package/esm/component/player/index.js.map +1 -1
  1175. package/esm/component/player/interface/index.js.map +1 -1
  1176. package/esm/component/player/interface/spec.js.map +1 -1
  1177. package/esm/component/player/interface/theme.js.map +1 -1
  1178. package/esm/component/player/player.d.ts +0 -1
  1179. package/esm/component/player/player.js +2 -5
  1180. package/esm/component/player/player.js.map +1 -1
  1181. package/esm/component/player/utils/index.js.map +1 -1
  1182. package/esm/component/player/utils/orient.js.map +1 -1
  1183. package/esm/component/player/utils/transform.js.map +1 -1
  1184. package/esm/component/title/index.js.map +1 -1
  1185. package/esm/component/title/interface/index.js.map +1 -1
  1186. package/esm/component/title/interface/spec.d.ts +0 -4
  1187. package/esm/component/title/interface/spec.js.map +1 -1
  1188. package/esm/component/title/interface/theme.d.ts +2 -2
  1189. package/esm/component/title/interface/theme.js.map +1 -1
  1190. package/esm/component/title/title.d.ts +0 -1
  1191. package/esm/component/title/title.js +3 -12
  1192. package/esm/component/title/title.js.map +1 -1
  1193. package/esm/component/title/utils.d.ts +0 -1
  1194. package/esm/component/title/utils.js +1 -8
  1195. package/esm/component/title/utils.js.map +1 -1
  1196. package/esm/component/tooltip/handler/base.d.ts +5 -3
  1197. package/esm/component/tooltip/handler/base.js +11 -12
  1198. package/esm/component/tooltip/handler/base.js.map +1 -1
  1199. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
  1200. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +5 -2
  1201. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  1202. package/esm/component/tooltip/handler/canvas/index.js.map +1 -1
  1203. package/esm/component/tooltip/handler/constants.d.ts +4 -0
  1204. package/esm/component/tooltip/handler/constants.js +6 -0
  1205. package/esm/component/tooltip/handler/constants.js.map +1 -1
  1206. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
  1207. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +4 -3
  1208. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  1209. package/esm/component/tooltip/handler/dom/index.js.map +1 -1
  1210. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  1211. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  1212. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  1213. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  1214. package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
  1215. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  1216. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  1217. package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  1218. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  1219. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  1220. package/esm/component/tooltip/handler/dom/utils/style.js +3 -3
  1221. package/esm/component/tooltip/handler/dom/utils/style.js.map +1 -1
  1222. package/esm/component/tooltip/handler/index.js.map +1 -1
  1223. package/esm/component/tooltip/handler/interface/cache.js.map +1 -1
  1224. package/esm/component/tooltip/handler/interface/index.js.map +1 -1
  1225. package/esm/component/tooltip/handler/interface/style.js.map +1 -1
  1226. package/esm/component/tooltip/handler/utils/attribute.js +4 -5
  1227. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  1228. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  1229. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  1230. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  1231. package/esm/component/tooltip/handler/utils/index.js.map +1 -1
  1232. package/esm/component/tooltip/handler/utils/pattern.js.map +1 -1
  1233. package/esm/component/tooltip/handler/utils/position.js.map +1 -1
  1234. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  1235. package/esm/component/tooltip/handler/utils/style.js +6 -4
  1236. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  1237. package/esm/component/tooltip/index.js.map +1 -1
  1238. package/esm/component/tooltip/interface/common.js.map +1 -1
  1239. package/esm/component/tooltip/interface/index.js.map +1 -1
  1240. package/esm/component/tooltip/interface/spec.d.ts +5 -6
  1241. package/esm/component/tooltip/interface/spec.js.map +1 -1
  1242. package/esm/component/tooltip/interface/theme.d.ts +6 -0
  1243. package/esm/component/tooltip/interface/theme.js.map +1 -1
  1244. package/esm/component/tooltip/processor/base.d.ts +2 -4
  1245. package/esm/component/tooltip/processor/base.js +4 -4
  1246. package/esm/component/tooltip/processor/base.js.map +1 -1
  1247. package/esm/component/tooltip/processor/dimension-tooltip.js +3 -0
  1248. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  1249. package/esm/component/tooltip/processor/index.js.map +1 -1
  1250. package/esm/component/tooltip/processor/interface.js.map +1 -1
  1251. package/esm/component/tooltip/processor/mark-tooltip.js +3 -0
  1252. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  1253. package/esm/component/tooltip/processor/util.js.map +1 -1
  1254. package/esm/component/tooltip/tooltip.js +6 -9
  1255. package/esm/component/tooltip/tooltip.js.map +1 -1
  1256. package/esm/component/tooltip/utils/common.js.map +1 -1
  1257. package/esm/component/tooltip/utils/index.js.map +1 -1
  1258. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  1259. package/esm/constant/base.d.ts +1 -1
  1260. package/esm/constant/base.js +1 -1
  1261. package/esm/constant/base.js.map +1 -1
  1262. package/esm/constant/box-plot.js.map +1 -1
  1263. package/esm/constant/event.js.map +1 -1
  1264. package/esm/constant/funnel.js.map +1 -1
  1265. package/esm/constant/hierarchy.js.map +1 -1
  1266. package/esm/constant/index.js.map +1 -1
  1267. package/esm/constant/label.js +1 -2
  1268. package/esm/constant/label.js.map +1 -1
  1269. package/esm/constant/layout.js.map +1 -1
  1270. package/esm/constant/marker.js.map +1 -1
  1271. package/esm/constant/polar.js +2 -1
  1272. package/esm/constant/polar.js.map +1 -1
  1273. package/esm/constant/scatter.js.map +1 -1
  1274. package/esm/constant/scroll-bar.js.map +1 -1
  1275. package/esm/constant/sunburst.js.map +1 -1
  1276. package/esm/constant/waterfall.js.map +1 -1
  1277. package/esm/constant/word-cloud.js.map +1 -1
  1278. package/esm/core/factory.js.map +1 -1
  1279. package/esm/core/interface.js.map +1 -1
  1280. package/esm/core/vchart.d.ts +1 -0
  1281. package/esm/core/vchart.js +15 -10
  1282. package/esm/core/vchart.js.map +1 -1
  1283. package/esm/data/initialize.js.map +1 -1
  1284. package/esm/data/parser/array.js.map +1 -1
  1285. package/esm/data/parser/scale.js.map +1 -1
  1286. package/esm/data/register.js.map +1 -1
  1287. package/esm/data/transforms/add-property.d.ts +5 -5
  1288. package/esm/data/transforms/add-property.js +1 -1
  1289. package/esm/data/transforms/add-property.js.map +1 -1
  1290. package/esm/data/transforms/aggregation.js.map +1 -1
  1291. package/esm/data/transforms/box-plot.js.map +1 -1
  1292. package/esm/data/transforms/circle-packing.js.map +1 -1
  1293. package/esm/data/transforms/copy-data-view.js.map +1 -1
  1294. package/esm/data/transforms/data-key.d.ts +3 -3
  1295. package/esm/data/transforms/data-key.js.map +1 -1
  1296. package/esm/data/transforms/dimension-data.js.map +1 -1
  1297. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  1298. package/esm/data/transforms/drill.js.map +1 -1
  1299. package/esm/data/transforms/flatten.js.map +1 -1
  1300. package/esm/data/transforms/funnel.js.map +1 -1
  1301. package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  1302. package/esm/data/transforms/invalid-travel.js.map +1 -1
  1303. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  1304. package/esm/data/transforms/legend-data/continuous/index.js.map +1 -1
  1305. package/esm/data/transforms/legend-data/continuous/interface.js.map +1 -1
  1306. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  1307. package/esm/data/transforms/legend-data/discrete/index.js.map +1 -1
  1308. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  1309. package/esm/data/transforms/lookup.js.map +1 -1
  1310. package/esm/data/transforms/map.js.map +1 -1
  1311. package/esm/data/transforms/obj-flat.js.map +1 -1
  1312. package/esm/data/transforms/pie.js.map +1 -1
  1313. package/esm/data/transforms/regression.js.map +1 -1
  1314. package/esm/data/transforms/sankey-links.js.map +1 -1
  1315. package/esm/data/transforms/sankey-nodes.js.map +1 -1
  1316. package/esm/data/transforms/sankey.js.map +1 -1
  1317. package/esm/data/transforms/stack-split.js.map +1 -1
  1318. package/esm/data/transforms/sunburst.js.map +1 -1
  1319. package/esm/data/transforms/tick-data/config.js.map +1 -1
  1320. package/esm/data/transforms/tick-data/continuous.js.map +1 -1
  1321. package/esm/data/transforms/tick-data/discrete/linear.js.map +1 -1
  1322. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  1323. package/esm/data/transforms/tick-data/index.js.map +1 -1
  1324. package/esm/data/transforms/tick-data/interface.js.map +1 -1
  1325. package/esm/data/transforms/tick-data/util.js.map +1 -1
  1326. package/esm/data/transforms/treemap.js.map +1 -1
  1327. package/esm/data/transforms/waterfall.js.map +1 -1
  1328. package/esm/event/bubble.js.map +1 -1
  1329. package/esm/event/event-dispatcher.js.map +1 -1
  1330. package/esm/event/event.js +1 -2
  1331. package/esm/event/event.js.map +1 -1
  1332. package/esm/event/events/dimension/base.js.map +1 -1
  1333. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  1334. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  1335. package/esm/event/events/dimension/index.js.map +1 -1
  1336. package/esm/event/events/dimension/interface.js.map +1 -1
  1337. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  1338. package/esm/event/events/dimension/util/common.js.map +1 -1
  1339. package/esm/event/events/dimension/util/index.js.map +1 -1
  1340. package/esm/event/events/dimension/util/polar.js.map +1 -1
  1341. package/esm/event/events/index.js.map +1 -1
  1342. package/esm/event/interface.js.map +1 -1
  1343. package/esm/index.d.ts +1 -1
  1344. package/esm/index.js +1 -1
  1345. package/esm/index.js.map +1 -1
  1346. package/esm/interaction/config.js.map +1 -1
  1347. package/esm/interaction/dimension-trigger.js.map +1 -1
  1348. package/esm/interaction/drill/drillable.js.map +1 -1
  1349. package/esm/interaction/drill/index.js.map +1 -1
  1350. package/esm/interaction/interaction.js.map +1 -1
  1351. package/esm/interaction/interface.js.map +1 -1
  1352. package/esm/interaction/trigger.js.map +1 -1
  1353. package/esm/interaction/zoom/index.js.map +1 -1
  1354. package/esm/interaction/zoom/zoomable.js.map +1 -1
  1355. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  1356. package/esm/layout/index.d.ts +13 -10
  1357. package/esm/layout/index.js.map +1 -1
  1358. package/esm/layout/interface.js.map +1 -1
  1359. package/esm/layout/label/arc-label.js.map +1 -1
  1360. package/esm/layout/layout3d/index.d.ts +23 -0
  1361. package/esm/layout/layout3d/index.js +123 -0
  1362. package/esm/layout/layout3d/index.js.map +1 -0
  1363. package/esm/mark/arc.js +1 -1
  1364. package/esm/mark/arc.js.map +1 -1
  1365. package/esm/mark/area.js +1 -1
  1366. package/esm/mark/area.js.map +1 -1
  1367. package/esm/mark/base/base-line.js.map +1 -1
  1368. package/esm/mark/base/base-mark.js.map +1 -1
  1369. package/esm/mark/base/index.js.map +1 -1
  1370. package/esm/mark/boxPlot.js +2 -2
  1371. package/esm/mark/boxPlot.js.map +1 -1
  1372. package/esm/mark/cell.js +1 -1
  1373. package/esm/mark/cell.js.map +1 -1
  1374. package/esm/mark/component.d.ts +1 -0
  1375. package/esm/mark/component.js +5 -3
  1376. package/esm/mark/component.js.map +1 -1
  1377. package/esm/mark/group.js +1 -1
  1378. package/esm/mark/group.js.map +1 -1
  1379. package/esm/mark/interface/common.js.map +1 -1
  1380. package/esm/mark/interface/index.js.map +1 -1
  1381. package/esm/mark/interface/type.js.map +1 -1
  1382. package/esm/mark/line.js +1 -1
  1383. package/esm/mark/line.js.map +1 -1
  1384. package/esm/mark/linkPath.js +1 -2
  1385. package/esm/mark/linkPath.js.map +1 -1
  1386. package/esm/mark/mark-set/index.js.map +1 -1
  1387. package/esm/mark/path.js +1 -1
  1388. package/esm/mark/path.js.map +1 -1
  1389. package/esm/mark/polygon.js +1 -1
  1390. package/esm/mark/polygon.js.map +1 -1
  1391. package/esm/mark/progress-arc.js +1 -1
  1392. package/esm/mark/progress-arc.js.map +1 -1
  1393. package/esm/mark/rect.js +1 -1
  1394. package/esm/mark/rect.js.map +1 -1
  1395. package/esm/mark/rule.js +1 -1
  1396. package/esm/mark/rule.js.map +1 -1
  1397. package/esm/mark/symbol.js +1 -1
  1398. package/esm/mark/symbol.js.map +1 -1
  1399. package/esm/mark/text.js +1 -1
  1400. package/esm/mark/text.js.map +1 -1
  1401. package/esm/mark/utils/common.js.map +1 -1
  1402. package/esm/mark/utils/index.js.map +1 -1
  1403. package/esm/model/base-model.d.ts +1 -1
  1404. package/esm/model/base-model.js +1 -1
  1405. package/esm/model/base-model.js.map +1 -1
  1406. package/esm/model/interface.d.ts +1 -0
  1407. package/esm/model/interface.js +1 -1
  1408. package/esm/model/interface.js.map +1 -1
  1409. package/esm/model/layout-item.js +1 -1
  1410. package/esm/model/layout-item.js.map +1 -1
  1411. package/esm/model/model-state-manager.js +2 -1
  1412. package/esm/model/model-state-manager.js.map +1 -1
  1413. package/esm/model/tooltip-helper.js +1 -1
  1414. package/esm/model/tooltip-helper.js.map +1 -1
  1415. package/esm/plugin/chart/interface.js.map +1 -1
  1416. package/esm/plugin/components/axis-label-overlap-plugin.js.map +1 -1
  1417. package/esm/plugin/components/basic-plugin.js.map +1 -1
  1418. package/esm/plugin/components/index.js.map +1 -1
  1419. package/esm/plugin/components/interface.js.map +1 -1
  1420. package/esm/plugin/components/plugin-service.js.map +1 -1
  1421. package/esm/plugin/interface.js +1 -1
  1422. package/esm/plugin/interface.js.map +1 -1
  1423. package/esm/plugin/series/interface.js.map +1 -1
  1424. package/esm/region/interface.js +1 -1
  1425. package/esm/region/interface.js.map +1 -1
  1426. package/esm/region/region.js +1 -1
  1427. package/esm/region/region.js.map +1 -1
  1428. package/esm/scale/global-scale.js +1 -1
  1429. package/esm/scale/global-scale.js.map +1 -1
  1430. package/esm/scale/interface.js +1 -1
  1431. package/esm/scale/interface.js.map +1 -1
  1432. package/esm/series/area/animation.js.map +1 -1
  1433. package/esm/series/area/area.js +3 -1
  1434. package/esm/series/area/area.js.map +1 -1
  1435. package/esm/series/area/interface.js.map +1 -1
  1436. package/esm/series/bar/animation.js.map +1 -1
  1437. package/esm/series/bar/bar.js +7 -6
  1438. package/esm/series/bar/bar.js.map +1 -1
  1439. package/esm/series/bar/interface.d.ts +3 -0
  1440. package/esm/series/bar/interface.js.map +1 -1
  1441. package/esm/series/base/base-series.d.ts +2 -2
  1442. package/esm/series/base/base-series.js +8 -10
  1443. package/esm/series/base/base-series.js.map +1 -1
  1444. package/esm/series/base/group.js.map +1 -1
  1445. package/esm/series/base/series-data.js.map +1 -1
  1446. package/esm/series/base/tooltip-helper.js.map +1 -1
  1447. package/esm/series/box-plot/boxPlot.d.ts +1 -1
  1448. package/esm/series/box-plot/boxPlot.js +10 -11
  1449. package/esm/series/box-plot/boxPlot.js.map +1 -1
  1450. package/esm/series/box-plot/interface.js.map +1 -1
  1451. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  1452. package/esm/series/cartesian/cartesian.d.ts +11 -0
  1453. package/esm/series/cartesian/cartesian.js +38 -3
  1454. package/esm/series/cartesian/cartesian.js.map +1 -1
  1455. package/esm/series/cartesian/interface.d.ts +1 -2
  1456. package/esm/series/cartesian/interface.js.map +1 -1
  1457. package/esm/series/circle-packing/animation.js.map +1 -1
  1458. package/esm/series/circle-packing/circle-packing.js +3 -3
  1459. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  1460. package/esm/series/circle-packing/interface.js.map +1 -1
  1461. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  1462. package/esm/series/dot/config.js.map +1 -1
  1463. package/esm/series/dot/dot.js +6 -8
  1464. package/esm/series/dot/dot.js.map +1 -1
  1465. package/esm/series/dot/interface.d.ts +0 -1
  1466. package/esm/series/dot/interface.js.map +1 -1
  1467. package/esm/series/dot/tooltip-helper.js.map +1 -1
  1468. package/esm/series/funnel/funnel.d.ts +8 -0
  1469. package/esm/series/funnel/funnel.js +13 -4
  1470. package/esm/series/funnel/funnel.js.map +1 -1
  1471. package/esm/series/funnel/interface.js.map +1 -1
  1472. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  1473. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  1474. package/esm/series/gauge/gauge.js.map +1 -1
  1475. package/esm/series/gauge/index.js.map +1 -1
  1476. package/esm/series/gauge/interface.js.map +1 -1
  1477. package/esm/series/geo/geo.d.ts +1 -0
  1478. package/esm/series/geo/geo.js +3 -0
  1479. package/esm/series/geo/geo.js.map +1 -1
  1480. package/esm/series/geo/interface.js.map +1 -1
  1481. package/esm/series/heatmap/animation.js.map +1 -1
  1482. package/esm/series/heatmap/heatmap.js +5 -4
  1483. package/esm/series/heatmap/heatmap.js.map +1 -1
  1484. package/esm/series/heatmap/interface.js.map +1 -1
  1485. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  1486. package/esm/series/interface/common.d.ts +1 -0
  1487. package/esm/series/interface/common.js.map +1 -1
  1488. package/esm/series/interface/index.js.map +1 -1
  1489. package/esm/series/interface/series.d.ts +7 -0
  1490. package/esm/series/interface/series.js.map +1 -1
  1491. package/esm/series/interface/theme.js.map +1 -1
  1492. package/esm/series/interface/tooltip-helper.js.map +1 -1
  1493. package/esm/series/interface/type.js.map +1 -1
  1494. package/esm/series/line/animation.js.map +1 -1
  1495. package/esm/series/line/interface.js.map +1 -1
  1496. package/esm/series/line/line.js.map +1 -1
  1497. package/esm/series/link/interface.d.ts +2 -2
  1498. package/esm/series/link/interface.js.map +1 -1
  1499. package/esm/series/link/link.js +3 -3
  1500. package/esm/series/link/link.js.map +1 -1
  1501. package/esm/series/link/tooltip-helper.js.map +1 -1
  1502. package/esm/series/map/geo-source.d.ts +1 -0
  1503. package/esm/series/map/geo-source.js +4 -0
  1504. package/esm/series/map/geo-source.js.map +1 -1
  1505. package/esm/series/map/interface.js.map +1 -1
  1506. package/esm/series/map/map.js +2 -1
  1507. package/esm/series/map/map.js.map +1 -1
  1508. package/esm/series/map/tooltip-helper.js.map +1 -1
  1509. package/esm/series/mixin/line-mixin.d.ts +0 -1
  1510. package/esm/series/mixin/line-mixin.js +12 -7
  1511. package/esm/series/mixin/line-mixin.js.map +1 -1
  1512. package/esm/series/pie/animation/animation.js.map +1 -1
  1513. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  1514. package/esm/series/pie/interface.d.ts +1 -0
  1515. package/esm/series/pie/interface.js.map +1 -1
  1516. package/esm/series/pie/pie.d.ts +13 -5
  1517. package/esm/series/pie/pie.js +32 -25
  1518. package/esm/series/pie/pie.js.map +1 -1
  1519. package/esm/series/polar/animation.js.map +1 -1
  1520. package/esm/series/polar/interface.d.ts +0 -1
  1521. package/esm/series/polar/interface.js.map +1 -1
  1522. package/esm/series/polar/polar.d.ts +1 -0
  1523. package/esm/series/polar/polar.js +3 -0
  1524. package/esm/series/polar/polar.js.map +1 -1
  1525. package/esm/series/polar/progress-like/animation.js.map +1 -1
  1526. package/esm/series/polar/progress-like/index.js.map +1 -1
  1527. package/esm/series/polar/progress-like/interface.js.map +1 -1
  1528. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  1529. package/esm/series/polar/rose-like/index.js.map +1 -1
  1530. package/esm/series/polar/rose-like/interface.js.map +1 -1
  1531. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  1532. package/esm/series/progress/circular/circular.js.map +1 -1
  1533. package/esm/series/progress/circular/index.js.map +1 -1
  1534. package/esm/series/progress/circular/interface.js.map +1 -1
  1535. package/esm/series/progress/interface.js.map +1 -1
  1536. package/esm/series/progress/linear/animation.js.map +1 -1
  1537. package/esm/series/progress/linear/index.js.map +1 -1
  1538. package/esm/series/progress/linear/interface.js.map +1 -1
  1539. package/esm/series/progress/linear/linear.js.map +1 -1
  1540. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  1541. package/esm/series/radar/animation.js.map +1 -1
  1542. package/esm/series/radar/interface.d.ts +0 -1
  1543. package/esm/series/radar/interface.js.map +1 -1
  1544. package/esm/series/radar/radar.js.map +1 -1
  1545. package/esm/series/range-area/interface.js.map +1 -1
  1546. package/esm/series/range-area/range-area.js.map +1 -1
  1547. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  1548. package/esm/series/range-column/animation.js.map +1 -1
  1549. package/esm/series/range-column/interface.d.ts +3 -3
  1550. package/esm/series/range-column/interface.js.map +1 -1
  1551. package/esm/series/range-column/rangeColumn.js +15 -13
  1552. package/esm/series/range-column/rangeColumn.js.map +1 -1
  1553. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  1554. package/esm/series/rose/animation.js.map +1 -1
  1555. package/esm/series/rose/interface.js.map +1 -1
  1556. package/esm/series/rose/rose.js +2 -1
  1557. package/esm/series/rose/rose.js.map +1 -1
  1558. package/esm/series/sankey/animation.js.map +1 -1
  1559. package/esm/series/sankey/interface.js.map +1 -1
  1560. package/esm/series/sankey/sankey.js +5 -5
  1561. package/esm/series/sankey/sankey.js.map +1 -1
  1562. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  1563. package/esm/series/scatter/animation.js.map +1 -1
  1564. package/esm/series/scatter/interface.js.map +1 -1
  1565. package/esm/series/scatter/scatter.js +8 -5
  1566. package/esm/series/scatter/scatter.js.map +1 -1
  1567. package/esm/series/sunburst/animation/enter.js.map +1 -1
  1568. package/esm/series/sunburst/animation/exit.js.map +1 -1
  1569. package/esm/series/sunburst/animation/index.js.map +1 -1
  1570. package/esm/series/sunburst/animation/interface.js.map +1 -1
  1571. package/esm/series/sunburst/animation/preset.js.map +1 -1
  1572. package/esm/series/sunburst/animation/utils.js.map +1 -1
  1573. package/esm/series/sunburst/interface.js.map +1 -1
  1574. package/esm/series/sunburst/sunburst.js +3 -3
  1575. package/esm/series/sunburst/sunburst.js.map +1 -1
  1576. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  1577. package/esm/series/treemap/animation.js.map +1 -1
  1578. package/esm/series/treemap/config.js.map +1 -1
  1579. package/esm/series/treemap/interface.js.map +1 -1
  1580. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  1581. package/esm/series/treemap/treemap.js +3 -3
  1582. package/esm/series/treemap/treemap.js.map +1 -1
  1583. package/esm/series/util/label-mark.js.map +1 -1
  1584. package/esm/series/util/utils.js.map +1 -1
  1585. package/esm/series/waterfall/animation.js.map +1 -1
  1586. package/esm/series/waterfall/interface.js.map +1 -1
  1587. package/esm/series/waterfall/waterfall.js.map +1 -1
  1588. package/esm/series/word-cloud/animation.js.map +1 -1
  1589. package/esm/series/word-cloud/config.js.map +1 -1
  1590. package/esm/series/word-cloud/interface.js.map +1 -1
  1591. package/esm/series/word-cloud/word-cloud.d.ts +10 -3
  1592. package/esm/series/word-cloud/word-cloud.js +107 -26
  1593. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  1594. package/esm/theme/buildin-theme/config.js +2 -0
  1595. package/esm/theme/buildin-theme/config.js.map +1 -1
  1596. package/esm/theme/buildin-theme/dark.js +6 -462
  1597. package/esm/theme/buildin-theme/dark.js.map +1 -1
  1598. package/esm/theme/buildin-theme/index.js.map +1 -1
  1599. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  1600. package/esm/theme/buildin-theme/light/component/brush.js +12 -8
  1601. package/esm/theme/buildin-theme/light/component/brush.js.map +1 -1
  1602. package/esm/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
  1603. package/esm/theme/buildin-theme/light/component/cartesian-axis.js +15 -81
  1604. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
  1605. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
  1606. package/esm/theme/buildin-theme/light/component/color-legend.js.map +1 -1
  1607. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
  1608. package/esm/theme/buildin-theme/light/component/common-axis.js +68 -0
  1609. package/esm/theme/buildin-theme/light/component/common-axis.js.map +1 -0
  1610. package/esm/theme/buildin-theme/light/component/crosshair.js +1 -6
  1611. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  1612. package/esm/theme/buildin-theme/light/component/data-zoom.js +10 -10
  1613. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  1614. package/esm/theme/buildin-theme/light/component/discrete-legend.js +3 -6
  1615. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
  1616. package/esm/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  1617. package/esm/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
  1618. package/esm/theme/buildin-theme/light/component/indicator.js.map +1 -0
  1619. package/esm/theme/buildin-theme/light/component/mark-area.js.map +1 -1
  1620. package/esm/theme/buildin-theme/light/component/mark-line.js.map +1 -1
  1621. package/esm/theme/buildin-theme/light/component/mark-point.js +1 -3
  1622. package/esm/theme/buildin-theme/light/component/mark-point.js.map +1 -1
  1623. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  1624. package/esm/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
  1625. package/esm/theme/buildin-theme/light/component/polar-axis.js +11 -68
  1626. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
  1627. package/esm/theme/buildin-theme/light/component/size-legend.js.map +1 -1
  1628. package/esm/theme/buildin-theme/light/component/title.d.ts +2 -0
  1629. package/esm/theme/buildin-theme/light/component/title.js +9 -0
  1630. package/esm/theme/buildin-theme/light/component/title.js.map +1 -0
  1631. package/esm/theme/buildin-theme/light/component/tooltip.js +5 -5
  1632. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  1633. package/esm/theme/buildin-theme/light/index.js +21 -7
  1634. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  1635. package/esm/theme/buildin-theme/light/series/area.js +6 -5
  1636. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  1637. package/esm/theme/buildin-theme/light/series/bar.js +1 -4
  1638. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  1639. package/esm/theme/buildin-theme/light/series/bar3d.js +1 -4
  1640. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  1641. package/esm/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
  1642. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  1643. package/esm/theme/buildin-theme/light/series/dot.js +11 -3
  1644. package/esm/theme/buildin-theme/light/series/dot.js.map +1 -1
  1645. package/esm/theme/buildin-theme/light/series/funnel.js +0 -3
  1646. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  1647. package/esm/theme/buildin-theme/light/series/funnel3d.js +0 -3
  1648. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  1649. package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
  1650. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  1651. package/esm/theme/buildin-theme/light/series/heatmap.js +2 -3
  1652. package/esm/theme/buildin-theme/light/series/heatmap.js.map +1 -1
  1653. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  1654. package/esm/theme/buildin-theme/light/series/line.js +6 -5
  1655. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  1656. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  1657. package/esm/theme/buildin-theme/light/series/link.js +5 -3
  1658. package/esm/theme/buildin-theme/light/series/link.js.map +1 -1
  1659. package/esm/theme/buildin-theme/light/series/map.js +1 -2
  1660. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  1661. package/esm/theme/buildin-theme/light/series/pie.js +1 -3
  1662. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  1663. package/esm/theme/buildin-theme/light/series/pie3d.js +1 -3
  1664. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  1665. package/esm/theme/buildin-theme/light/series/radar.js +6 -5
  1666. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  1667. package/esm/theme/buildin-theme/light/series/rangeColumn.js +1 -4
  1668. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  1669. package/esm/theme/buildin-theme/light/series/scatter.js +1 -4
  1670. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  1671. package/esm/theme/buildin-theme/light/series/sunburst.js.map +1 -1
  1672. package/esm/theme/buildin-theme/light/series/treemap.js +1 -5
  1673. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  1674. package/esm/theme/buildin-theme/light/series/waterfall.js +1 -5
  1675. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  1676. package/esm/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
  1677. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  1678. package/esm/theme/color-scheme/interface.d.ts +1 -1
  1679. package/esm/theme/color-scheme/interface.js.map +1 -1
  1680. package/esm/theme/color-scheme/util.js.map +1 -1
  1681. package/esm/theme/index.js.map +1 -1
  1682. package/esm/theme/interface.d.ts +13 -5
  1683. package/esm/theme/interface.js.map +1 -1
  1684. package/esm/theme/theme-manager.js.map +1 -1
  1685. package/esm/typings/common.js.map +1 -1
  1686. package/esm/typings/coordinate.js.map +1 -1
  1687. package/esm/typings/cursor.js.map +1 -1
  1688. package/esm/typings/data.js.map +1 -1
  1689. package/esm/typings/geo.js.map +1 -1
  1690. package/esm/typings/index.js.map +1 -1
  1691. package/esm/typings/interpolate.js.map +1 -1
  1692. package/esm/typings/line-stroke.js.map +1 -1
  1693. package/esm/typings/params.js.map +1 -1
  1694. package/esm/typings/scale.js.map +1 -1
  1695. package/esm/typings/shape.js.map +1 -1
  1696. package/esm/typings/space.d.ts +1 -1
  1697. package/esm/typings/space.js.map +1 -1
  1698. package/esm/typings/spec/chart.js.map +1 -1
  1699. package/esm/typings/spec/common.d.ts +5 -5
  1700. package/esm/typings/spec/common.js.map +1 -1
  1701. package/esm/typings/spec/index.js.map +1 -1
  1702. package/esm/typings/tooltip/common.js.map +1 -1
  1703. package/esm/typings/tooltip/handler.js.map +1 -1
  1704. package/esm/typings/tooltip/index.js.map +1 -1
  1705. package/esm/typings/tooltip/line.js.map +1 -1
  1706. package/esm/typings/tooltip/position.js.map +1 -1
  1707. package/esm/typings/tooltip/shape.js.map +1 -1
  1708. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1709. package/esm/typings/visual.d.ts +21 -3
  1710. package/esm/typings/visual.js.map +1 -1
  1711. package/esm/util/array.js.map +1 -1
  1712. package/esm/util/color.js.map +1 -1
  1713. package/esm/util/data.js +3 -2
  1714. package/esm/util/data.js.map +1 -1
  1715. package/esm/util/debug.js.map +1 -1
  1716. package/esm/util/env.js.map +1 -1
  1717. package/esm/util/hierarchy.js.map +1 -1
  1718. package/esm/util/id.js +4 -4
  1719. package/esm/util/id.js.map +1 -1
  1720. package/esm/util/image.js.map +1 -1
  1721. package/esm/util/index.js.map +1 -1
  1722. package/esm/util/math.js.map +1 -1
  1723. package/esm/util/model.js.map +1 -1
  1724. package/esm/util/object.js.map +1 -1
  1725. package/esm/util/scale.js.map +1 -1
  1726. package/esm/util/space.js.map +1 -1
  1727. package/esm/util/spec.js.map +1 -1
  1728. package/esm/util/style.js +4 -6
  1729. package/esm/util/style.js.map +1 -1
  1730. package/esm/util/text.js.map +1 -1
  1731. package/esm/util/type.js.map +1 -1
  1732. package/esm/vchart-all.js +3 -1
  1733. package/esm/vchart-all.js.map +1 -1
  1734. package/package.json +16 -57
  1735. package/cjs/component/brush/config.d.ts +0 -8
  1736. package/cjs/component/brush/config.js +0 -13
  1737. package/cjs/component/brush/config.js.map +0 -1
  1738. package/cjs/component/indicator/config.d.ts +0 -5
  1739. package/cjs/component/indicator/config.js.map +0 -1
  1740. package/cjs/component/tooltip/config.d.ts +0 -2
  1741. package/cjs/component/tooltip/config.js +0 -12
  1742. package/cjs/component/tooltip/config.js.map +0 -1
  1743. package/esm/component/brush/config.d.ts +0 -8
  1744. package/esm/component/brush/config.js +0 -9
  1745. package/esm/component/brush/config.js.map +0 -1
  1746. package/esm/component/indicator/config.d.ts +0 -5
  1747. package/esm/component/indicator/config.js.map +0 -1
  1748. package/esm/component/tooltip/config.d.ts +0 -2
  1749. package/esm/component/tooltip/config.js +0 -8
  1750. package/esm/component/tooltip/config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["core/vchart.ts"],"names":[],"mappings":"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","file":"vchart.js","sourcesContent":["import type { ISeries } from '../series/interface/series';\nimport { arrayParser } from '../data/parser/array';\nimport type { ILayoutConstructor, LayoutCallBack } from '../layout/interface';\nimport type { IDataValues, IMarkStateSpec, IInitOption } from '../typings/spec/common';\n// eslint-disable-next-line no-duplicate-imports\nimport { RenderModeEnum } from '../typings/spec/common';\nimport type { ISeriesConstructor } from '../series/interface';\nimport type { IChart, IChartConstructor } from '../chart/interface';\nimport type { IComponentConstructor } from '../component/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../component/interface';\nimport type { EventCallback, EventParams, EventQuery, EventType, IEvent, IEventDispatcher } from '../event/interface';\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type { Transform } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataSet, dataViewParser, DataView } from '@visactor/vdataset';\nimport type { Stage } from '@visactor/vrender';\nimport {\n isMiniAppLikeMode,\n isString,\n isValid,\n isNil,\n array,\n merge,\n createID,\n debounce,\n isTrueBrowser,\n warn,\n error,\n specTransform\n} from '../util';\nimport { Factory } from './factory';\nimport { Event } from '../event/event';\nimport { EventDispatcher } from '../event/event-dispatcher';\nimport type { GeoSourceType } from '../typings/geo';\nimport type { GeoSourceOption } from '../series/map/geo-source';\n// eslint-disable-next-line no-duplicate-imports\nimport { clearMapSource, registerMapSource, getMapSource } from '../series/map/geo-source';\nimport type { IMark, MarkConstructor } from '../mark/interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nimport { dataToDataView } from '../data/initialize';\nimport { stackSplit } from '../data/transforms/stack-split';\nimport { copyDataView } from '../data/transforms/copy-data-view';\nimport type { ITooltipHandler } from '../typings/tooltip';\nimport type { Tooltip } from '../component/tooltip';\nimport type { Datum, IRegionQuerier, IShowTooltipOption, ISpec, Maybe, MaybeArray, StringOrNumber } from '../typings';\nimport { AnimationStateEnum } from '../animation/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { ThemeManager } from '../theme/theme-manager';\nimport type { ITheme } from '../theme';\nimport type { IUpdateSpecResult } from '../model/interface';\nimport { Compiler } from '../compile/compiler';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { ILegend } from '../component/legend/interface';\nimport { getCanvasDataURL, URLToImage } from '../util/image';\nimport { ChartEvent, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH } from '../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { getContainerSize, isArray } from '@visactor/vutils';\nimport type { IVChart } from './interface';\n\nexport class VChart implements IVChart {\n readonly id = createID();\n\n /** 全局实例 map */\n static readonly instances: Map<number, VChart> = new Map();\n /** 注册实例 */\n private static _registerInstance(instance: VChart) {\n VChart.instances.set(instance.id, instance);\n }\n /** 注销实例 */\n private static _unregisterInstance(instance: VChart) {\n VChart.instances.delete(instance.id);\n }\n /**\n * 创建图表实例\n * @param spec spec 配置项\n * @param options 初始化参数\n * @returns VChart 实例\n */\n static createInstance(spec: ISpec, options: IInitOption): VChart {\n return new VChart(spec, options);\n }\n /**\n * 根据 vChart 实例的 id 获取 vChart 实例\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static getInstance(id: number): VChart | undefined {\n return VChart.instances.get(id);\n }\n /**\n * 根据图表 id 判断实例是否存在\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static instanceExist(id: number): boolean {\n return VChart.instances.has(id);\n }\n\n /**\n * 注册图表\n * @param charts 图表类\n */\n static useChart(charts: IChartConstructor[]) {\n charts.forEach(c => Factory.registerChart(c.type, c));\n }\n /**\n * 注册系列\n * @param series 系列类\n */\n static useSeries(series: ISeriesConstructor[]) {\n series.forEach(s => Factory.registerSeries(s.type, s));\n }\n /**\n * 注册组件\n * @param components 组件类\n */\n static useComponent(components: IComponentConstructor[]) {\n components.forEach(c => Factory.registerComponent(c.type, c));\n }\n /**\n * 注册 Mark\n * @param marks Mark 图元类\n */\n static useMark(marks: MarkConstructor[]) {\n marks.forEach(m => Factory.registerMark(m.constructorType ?? m.type, m));\n }\n /**\n * 注册布局\n * @param layouts 布局类\n */\n static useLayout(layouts: ILayoutConstructor[]) {\n layouts.forEach(l => Factory.registerLayout(l.type, l));\n }\n /**\n * 注册 DataSet 数据方法\n * @param name 数据 transform 方法名称\n * @param transform 具体的 Transform 执行方法\n */\n static registerDataSetTransform(name: string, transform: Transform) {\n Factory.registerTransform(name, transform);\n }\n\n /**\n * 注册地图数据\n * @param key 地图名称\n * @param source 地图数据\n * @param option 地图数据配置\n */\n static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption) {\n registerMapSource(key, source, option);\n }\n\n /**\n * 根据地图名称获取地图数据\n * @param key 地图名称\n * @returns 地图数据\n */\n static getMap(key: string): GeoSourceType {\n return getMapSource(key);\n }\n\n /** 主题管理器 */\n static readonly ThemeManager = ThemeManager;\n\n protected _spec: any;\n\n private _viewBox: IBoundsLike;\n private _chart!: Maybe<IChart>;\n private _compiler: Compiler;\n private _event: Maybe<IEvent>;\n private _eventDispatcher: Maybe<IEventDispatcher>;\n private _dataSet!: Maybe<DataSet>;\n getDataSet() {\n return this._dataSet;\n }\n\n private _container?: HTMLElement;\n private _canvas?: HTMLCanvasElement | OffscreenCanvas | string;\n private _stage?: Stage;\n\n private _autoSize: boolean = true;\n private _option: IInitOption = {\n mode: RenderModeEnum['desktop-browser'],\n animation: true\n };\n\n private _curSize = { width: 0, height: 0 };\n private _observer: ResizeObserver = null;\n\n private _currentThemeName: string;\n private _currentTheme: ITheme;\n\n private _context: any = {}; // 存放用户在model初始化前通过实例方法传入的配置等\n\n constructor(spec: ISpec, options: IInitOption) {\n this._option = merge(this._option, options);\n\n const { dom, renderCanvas, mode, stage, ...restOptions } = this._option;\n\n if (dom) {\n this._container = isString(dom) ? document?.getElementById(dom) : dom;\n }\n if (renderCanvas) {\n this._canvas = renderCanvas;\n }\n if (stage) {\n this._stage = stage as unknown as Stage; // FIXME: 等待 vrender 解决类型和接口不匹配的问题 @zhouxinyu\n }\n\n if (mode !== 'node' && !this._container && !this._canvas && !this._stage) {\n error('please specify container or renderCanvas!');\n return;\n }\n\n this._viewBox = this._option.viewBox;\n this._setSpec(spec);\n this._updateCurrentTheme();\n\n this._compiler = new Compiler(\n {\n dom: this._container ?? 'none',\n canvas: renderCanvas\n },\n {\n mode: this._option.mode,\n pickMode: isMiniAppLikeMode(this._option.mode) ? 'geoPick' : 'native',\n stage,\n ...restOptions,\n background: spec.background || this._option.background // spec 的优先级更高\n }\n );\n this._eventDispatcher = new EventDispatcher(this, this._compiler);\n this._event = new Event(this._eventDispatcher, mode);\n this._compiler.initSrView();\n\n this._initDataSet(this._option.dataSet);\n this._autoSize = isTrueBrowser(mode) ? spec.autoFit ?? this._option.autoFit ?? true : false;\n this._curSize = {\n width: spec.width || 0,\n height: spec.height || 0\n };\n this._bindResizeEvent();\n this._event.emit(ChartEvent.initialized, {});\n\n VChart._registerInstance(this);\n }\n\n private _setSpec(spec: any) {\n if (!spec) {\n return;\n }\n\n this._spec = specTransform(isString(spec) ? JSON.parse(spec) : spec);\n }\n\n private _initData() {\n if (isNil(this._dataSet)) {\n true && warn('dataSet is not initialized');\n return;\n }\n const specData: (DataView | IDataValues)[] = array(this._spec.data);\n\n const dataViewArr: DataView[] = [];\n for (let i = 0; i < specData.length; i++) {\n const curSpecData = specData[i];\n dataViewArr.push(dataToDataView(curSpecData, <DataSet>this._dataSet, dataViewArr));\n }\n\n this._spec.data = dataViewArr;\n }\n\n private _initChart(spec: any) {\n if (!this._compiler) {\n error('compiler is not initialized');\n return;\n }\n this._initData();\n // 放到这里而不是放到chart内的考虑\n // 用户spec更新,也许会有core上图表实例的内容存在\n // 如果要支持spec的类似Proxy监听,更新逻辑应当从这一层开始。如果在chart上做,就需要在再向上发送spec更新消息,不是很合理。\n // todo: 问题1 存不存在 chart 需要在这个阶段处理的特殊字段?目前没有,但是理论上可以有?\n const chart = Factory.createChart(spec.type, spec, {\n globalInstance: this,\n eventDispatcher: this._eventDispatcher!,\n dataSet: this._dataSet!,\n container: this._container,\n canvas: this._canvas,\n map: new Map(),\n mode: this._option.mode || RenderModeEnum['desktop-browser'],\n modeParams: this._option.modeParams,\n getCompiler: () => this._compiler,\n performanceHook: this._option.performanceHook,\n viewBox: this._viewBox,\n animation: this._option.animation,\n getTheme: () => this._currentTheme,\n layout: this._option.layout\n });\n if (!chart) {\n error('init chart fail');\n return;\n }\n this._chart = chart;\n this._chart.created();\n this._chart.init({});\n }\n\n private _releaseData() {\n if (this._dataSet) {\n this._dataSet.dataViewMap = {};\n this._dataSet = null;\n }\n }\n\n private _bindResizeEvent() {\n if (this._autoSize) {\n if (this._container) {\n const ResizeObserverWindow: any = window.ResizeObserver;\n this._observer = new ResizeObserverWindow(this._onResize);\n this._observer?.observe(this._container);\n }\n window.addEventListener('resize', this._onResize);\n }\n }\n\n private _unBindResizeEvent() {\n if (this._autoSize) {\n window.removeEventListener('resize', this._onResize);\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n }\n }\n\n private _onResize = debounce((...args: any[]) => {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n this._container!,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n const width = this._spec.width ?? containerWidth;\n const height = this._spec.height ?? containerHeight;\n if (this._curSize.width !== width || this._curSize.height !== height) {\n this.resize(width, height);\n this._curSize = { width, height };\n }\n }, 100);\n\n private _initDataSet(dataSet?: DataSet) {\n if (dataSet instanceof DataSet) {\n this._dataSet = dataSet;\n } else {\n this._dataSet = new DataSet();\n }\n registerDataSetInstanceParser(this._dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceParser(this._dataSet, 'array', arrayParser);\n registerDataSetInstanceTransform(this._dataSet, 'stackSplit', stackSplit);\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n // 注册 dataset transform\n for (const key in Factory.transforms) {\n registerDataSetInstanceTransform(this._dataSet, key, Factory.transforms[key]);\n }\n // 注册 dataview parser\n for (const key in Factory.dataParser) {\n registerDataSetInstanceParser(this._dataSet, key, Factory.dataParser[key]);\n }\n }\n\n async updateCustomConfigAndRerender(modifyConfig: () => IUpdateSpecResult | undefined, morphConfig?: IMorphConfig) {\n const result = modifyConfig(); // 执行回调\n if (!isValid(result)) {\n return this as unknown as IVChart;\n }\n\n if (result.reMake) {\n this._releaseData();\n this._initDataSet();\n // 释放图表等等\n this._chart.release();\n this._chart = null as unknown as IChart;\n this._compiler?.releaseGrammar();\n\n // chart 内部事件 模块自己必须删除\n // 外部事件不处理\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // VGrammar view 对象不需要释放,提供了reuse和morph能力之后,srView有上下文缓存\n } else {\n if (result.reCompile) {\n // FIXME: 暂时这么处理,还需要整体设计下组件的生命周期\n this.getComponents().forEach(c => c.clear());\n // TODO: 释放事件?\n // 重新绑定事件\n // TODO: 释放XX?\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // 先compile\n this._compiler?.compile({ chart: this._chart, vChart: this }, {});\n }\n }\n await this.renderAsync(morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * 同步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderSync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n this._compiler?.renderSync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 异步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n async renderAsync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n await this._compiler?.renderAsync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 销毁图表\n */\n release() {\n if ((this._onResize as any)?.cancel) {\n (this._onResize as any).cancel();\n }\n this._chart?.release();\n this._compiler?.release();\n this._eventDispatcher?.release();\n this._unBindResizeEvent();\n clearMapSource();\n // resetID(); // 为什么要重置ID呢?\n\n this._releaseData();\n\n this._chart = null;\n this._compiler = null;\n this._spec = null;\n // this._option = null;\n this._event = null;\n this._eventDispatcher = null;\n\n VChart._unregisterInstance(this);\n }\n\n /**\n * **异步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n async updateData(id: StringOrNumber, data: DataView | Datum[] | string, options?: IParserOptions): Promise<IVChart> {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n\n // after layout\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n this._spec.data = array(this._spec.data);\n const preDV = this._spec.data.find((dv: any) => dv.name === id || dv.id === id);\n if (preDV) {\n if (preDV.id === id) {\n preDV.values = data;\n } else if (preDV.name === id) {\n preDV.parse(data, options);\n }\n } else {\n if (isArray(data)) {\n this._spec.data.push({\n id,\n values: data\n });\n } else {\n this._spec.data.push(data);\n }\n }\n return this as unknown as IVChart;\n }\n\n /**\n * **异步**批量更新数据。\n * @param list 待更新的数据列表\n * @returns VChart 实例\n */\n async updateDataInBatches(\n list: { id: string; data: DataView | Datum[]; options?: IParserOptions }[]\n ): Promise<IVChart> {\n if (this._chart) {\n list.forEach(({ id, data, options }) => {\n this._chart.updateData(id, data, options);\n });\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n list.forEach(({ id, data, options }) => {\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n });\n return this as unknown as IVChart;\n }\n\n /**\n * **同步**更新数据\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateDataSync(id: StringOrNumber, data: DataView | Datum[], options?: IParserOptions) {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n // after layout\n this._compiler.renderSync();\n return this as unknown as IVChart;\n }\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id as string });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n return this as unknown as IVChart;\n }\n\n /**\n * spec 更新\n * @param spec\n * @param forceMerge\n * @returns\n */\n async updateSpec(spec: ISpec, forceMerge: boolean = false, morphConfig?: IMorphConfig) {\n if (!spec) {\n return this as unknown as IVChart;\n }\n if (isString(spec)) {\n spec = JSON.parse(spec);\n }\n\n // 没有配置变化 因为数据对象的原因,这里会报错\n // if (specString == JSON.stringify(this._spec)) {\n // return;\n // }\n\n if (forceMerge) {\n spec = merge({}, this._spec, spec);\n }\n\n await this.updateCustomConfigAndRerender(() => {\n spec = specTransform(spec) as any;\n this._spec = spec;\n this._updateCurrentTheme();\n this._compiler?.getVGrammarView()?.updateLayoutTag();\n return this._chart.updateSpec(spec, morphConfig);\n }, morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * **异步方法**,图表尺寸更新方法\n * @param width 宽度\n * @param height 高度\n * @returns VChart 当前实例\n */\n async resize(width: number, height: number) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 如果宽高未变化,不需要重新执行 resize,防止当图表初始化时会执行一次多余的 resize\n const chartCanvasRect = this._chart.getCanvasRect();\n if (chartCanvasRect && chartCanvasRect.width === width && chartCanvasRect.height === height) {\n return this as unknown as IVChart;\n }\n this._option.performanceHook?.beforeResizeWithUpdate?.();\n this._chart.onResize(width, height);\n this._option.performanceHook?.afterResizeWithUpdate?.();\n await this._compiler.resize?.(width, height);\n\n return this as unknown as IVChart;\n }\n\n /**\n * 更新绘制区域\n * @param viewBox 绘制区域\n * @param reRender 是否重新渲染,默认为 true\n * @returns\n */\n updateViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n this._viewBox = viewBox;\n // 更新 layout 参数\n this._chart.updateViewBox(viewBox);\n // 重新布局\n this._compiler.renderSync();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this._chart?.onEvaluateEnd();\n // 获取 compiler\n this._compiler.updateViewBox(viewBox, reRender);\n return this as unknown as IVChart;\n }\n\n // 事件相关方法\n on(eType: EventType, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery | EventCallback<EventParams>, handler?: EventCallback<EventParams>): void {\n this._event?.on(eType as any, query as any, handler as any);\n }\n off(eType: string, handler?: EventCallback<EventParams>): void {\n this._event?.off(eType, handler);\n }\n\n // 状态相关方法\n /**\n * 更新或设置图元状态\n * @param state 状态筛选器\n * @param filter 筛选器\n */\n updateState(\n state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>,\n filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean //series + mark 筛选\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.updateState(state, filter);\n }\n\n /**\n * 更新图元选中状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setSelected(\n datum: MaybeArray<any> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setSelected(datum, filter, region);\n }\n\n /**\n * 更新图元 hover 状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setHovered(\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setHovered(datum, filter, region);\n }\n\n // 主题相关方法\n /** 当 spec 或者 currentThemeName 有变化时需要调用此方法对 currentTheme 进行更新 */\n private _updateCurrentTheme() {\n this._currentTheme = merge({}, VChart.ThemeManager.getTheme(this._currentThemeName), this._spec?.theme ?? {});\n }\n\n /**\n * 获取当前主题,会返回完整的主题配置\n * */\n getCurrentTheme() {\n return this._currentTheme;\n }\n\n /**\n * 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n */\n getCurrentThemeName() {\n return this._currentThemeName;\n }\n\n /**\n * **异步方法**, 设置当前主题\n * @param name 主题名称\n * @returns\n */\n async setCurrentTheme(name: string) {\n if (!VChart.ThemeManager.themeExist(name)) {\n return this as unknown as IVChart;\n }\n\n await this.updateCustomConfigAndRerender(() => {\n this._currentThemeName = name;\n this._updateCurrentTheme();\n this._chart?.setCurrentTheme(this._currentTheme, true);\n return { change: true, reMake: false };\n });\n\n return this as unknown as IVChart;\n }\n\n // Tooltip 相关方法\n private _getTooltipComponent(): Tooltip | undefined {\n const tooltip = this._chart?.getAllComponents().find(c => c.type === ComponentTypeEnum.tooltip) as Tooltip;\n return tooltip;\n }\n\n /**\n * 自定义 TooltipHandler\n * @param tooltipHandler\n */\n setTooltipHandler(tooltipHandler: ITooltipHandler) {\n this._context.tooltipHandler = tooltipHandler;\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n tooltip.tooltipHandler?.removeTooltip?.();\n tooltip.tooltipHandler?.release?.();\n tooltip.tooltipHandler = tooltipHandler;\n }\n }\n\n /**\n * 获取用户定义的 TooltipHandler\n * @returns ITooltipHandler\n */\n getTooltipHandlerByUser(): ITooltipHandler | undefined {\n return this._context?.tooltipHandler;\n }\n\n /**\n * 获取 TooltipHandler\n * @returns\n */\n getTooltipHandler(): ITooltipHandler | undefined {\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n return tooltip.tooltipHandler;\n }\n return this._context.tooltipHandler;\n }\n\n /**\n * 手动调用展示 tooltip\n * @param datum 原始数据\n * @param options\n * @returns\n */\n showTooltip(datum: Datum, options: IShowTooltipOption): boolean {\n const tooltip = this._getTooltipComponent();\n return (isValid(datum) && tooltip?.showTooltip(datum, options) !== 'none') ?? false;\n }\n\n /**\n * 手动调用,关闭 tooltip\n * @returns\n */\n hideTooltip(): boolean {\n const tooltip = this._getTooltipComponent();\n return tooltip?.hideTooltip() ?? false;\n }\n\n // 图例相关 api\n /**\n * 根据图例组件 id 获取图例数据\n * @param id 组件 id\n * @returns\n */\n getLegendDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getLegendData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取图例数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getLegendData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 获取当前图例的选中项\n * @param id 组件 id\n * @returns\n */\n getLegendSelectedDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getSelectedData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取当前图例的选中项\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendSelectedDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getSelectedData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 更新图例选中数据\n * @param id\n * @returns\n */\n setLegendSelectedDataById(id: string, selectedData: StringOrNumber[]) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n legendComponent.setSelectedData(selectedData);\n }\n }\n\n /**\n * 根据图例组件索引更新图例选中数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n setLegendSelectedDataByIndex(index: number = 0, selectedData: StringOrNumber[]) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n legends[index].setSelectedData(selectedData);\n }\n }\n\n // 保存图片相关的方法\n /**\n * **异步方法**返回一个包含图片展示的 data URI。\n * @returns data URI\n */\n async getDataURL() {\n const stage = this.getStage();\n if (this._chart && stage) {\n // 因为 vrender 是 autoRender 的,它不能确认第几帧才是完整的图表,所以这里调用一次 render 以保证获取到的是完整的画布\n stage.render();\n const canvas = this._chart.getCanvas();\n const url = await getCanvasDataURL(canvas);\n return url;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n /**\n * **异步方法** 导出图表图片,只支持浏览器端。\n * @param name 保存的图片名称\n * @returns\n */\n async exportImg(name?: string) {\n if (!isTrueBrowser(this._option.mode)) {\n console.error(new TypeError(`non-browser environment can not export img`));\n return;\n }\n\n const dataURL = await this.getDataURL();\n if (dataURL) {\n URLToImage(name, dataURL);\n } else {\n console.error(new ReferenceError(`render is not defined`));\n }\n }\n\n /**\n * 目前仅支持 node 环境,用于 node 端的图片导出\n * @returns\n */\n getImageBuffer() {\n if (this._option.mode !== 'node') {\n console.error(new TypeError('getImageBuffer() now only support node environment.'));\n return;\n }\n const stage = this.getStage();\n if (stage) {\n stage.render();\n const buffer = stage.window.getImageBuffer();\n return buffer;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n // 布局相关的方法\n /**\n * 设置自定义布局\n */\n setLayout(layout: LayoutCallBack) {\n this._option.layout = layout;\n this._chart?.setLayout(layout);\n }\n /**\n * 强制重新布局\n */\n reLayout() {\n this._chart?.setLayoutTag(true);\n }\n\n /**\n * 获取编译器实例\n * @returns\n */\n getCompiler() {\n return this._compiler;\n }\n\n /**\n * Get the chart instance\n * 获取 Chart 图表实例。\n * @returns Chart 实例\n */\n getChart() {\n return this._chart;\n }\n\n /**\n * Get the renderer instance.\n * 获取渲染引擎实例。\n * @returns the instance of VRender Stage\n */\n getStage(): Stage {\n return this._compiler.getStage();\n }\n\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas(): HTMLCanvasElement | undefined {\n return this._compiler?.getCanvas();\n }\n\n /**\n * 获取图表的 dom 容器\n * @returns\n */\n getContainer(): Maybe<HTMLElement> {\n // 用户传入 dom container\n if (isValid(this._container)) {\n return this._container;\n }\n\n // 用户传入 canvas\n let canvasNode: Maybe<HTMLCanvasElement>;\n if (isString(this._canvas)) {\n canvasNode = document?.getElementById(this._canvas) as HTMLCanvasElement;\n } else {\n canvasNode = this._canvas as HTMLCanvasElement;\n }\n if (isValid(canvasNode)) {\n return canvasNode.parentElement;\n }\n\n // 用户传入 stage\n return this.getCanvas()?.parentElement;\n }\n\n /**\n * 获取图表所有的组件实例\n * @returns 组件实例\n */\n getComponents() {\n return this._chart.getAllComponents();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/vchart.ts"],"names":[],"mappings":"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","file":"vchart.js","sourcesContent":["import type { ISeries } from '../series/interface/series';\nimport { arrayParser } from '../data/parser/array';\nimport type { ILayoutConstructor, LayoutCallBack } from '../layout/interface';\nimport type { IDataValues, IMarkStateSpec, IInitOption } from '../typings/spec/common';\n// eslint-disable-next-line no-duplicate-imports\nimport { RenderModeEnum } from '../typings/spec/common';\nimport type { ISeriesConstructor } from '../series/interface';\nimport type { IChart, IChartConstructor } from '../chart/interface';\nimport type { IComponentConstructor } from '../component/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../component/interface';\nimport type { EventCallback, EventParams, EventQuery, EventType, IEvent, IEventDispatcher } from '../event/interface';\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type { Transform } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataSet, dataViewParser, DataView } from '@visactor/vdataset';\nimport type { Stage } from '@visactor/vrender';\nimport {\n isString,\n isValid,\n isNil,\n array,\n merge,\n createID,\n debounce,\n isTrueBrowser,\n warn,\n error,\n specTransform\n} from '../util';\nimport { Factory } from './factory';\nimport { Event } from '../event/event';\nimport { EventDispatcher } from '../event/event-dispatcher';\nimport type { GeoSourceType } from '../typings/geo';\nimport type { GeoSourceOption } from '../series/map/geo-source';\n// eslint-disable-next-line no-duplicate-imports\nimport { clearMapSource, registerMapSource, getMapSource, unregisterMapSource } from '../series/map/geo-source';\nimport type { IMark, MarkConstructor } from '../mark/interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nimport { dataToDataView } from '../data/initialize';\nimport { stackSplit } from '../data/transforms/stack-split';\nimport { copyDataView } from '../data/transforms/copy-data-view';\nimport type { ITooltipHandler } from '../typings/tooltip';\nimport type { Tooltip } from '../component/tooltip';\nimport type { Datum, IRegionQuerier, IShowTooltipOption, ISpec, Maybe, MaybeArray, StringOrNumber } from '../typings';\nimport { AnimationStateEnum } from '../animation/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { ThemeManager } from '../theme/theme-manager';\nimport type { ITheme } from '../theme';\nimport type { IUpdateSpecResult } from '../model/interface';\nimport { Compiler } from '../compile/compiler';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { ILegend } from '../component/legend/interface';\nimport { getCanvasDataURL, URLToImage } from '../util/image';\nimport { ChartEvent, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH } from '../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { getContainerSize, isArray } from '@visactor/vutils';\nimport type { IVChart } from './interface';\n\nexport class VChart implements IVChart {\n readonly id = createID();\n\n /** 全局实例 map */\n static readonly instances: Map<number, VChart> = new Map();\n /** 注册实例 */\n private static _registerInstance(instance: VChart) {\n VChart.instances.set(instance.id, instance);\n }\n /** 注销实例 */\n private static _unregisterInstance(instance: VChart) {\n VChart.instances.delete(instance.id);\n }\n /**\n * 创建图表实例\n * @param spec spec 配置项\n * @param options 初始化参数\n * @returns VChart 实例\n */\n static createInstance(spec: ISpec, options: IInitOption): VChart {\n return new VChart(spec, options);\n }\n /**\n * 根据 vChart 实例的 id 获取 vChart 实例\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static getInstance(id: number): VChart | undefined {\n return VChart.instances.get(id);\n }\n /**\n * 根据图表 id 判断实例是否存在\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static instanceExist(id: number): boolean {\n return VChart.instances.has(id);\n }\n\n /**\n * 注册图表\n * @param charts 图表类\n */\n static useChart(charts: IChartConstructor[]) {\n charts.forEach(c => Factory.registerChart(c.type, c));\n }\n /**\n * 注册系列\n * @param series 系列类\n */\n static useSeries(series: ISeriesConstructor[]) {\n series.forEach(s => Factory.registerSeries(s.type, s));\n }\n /**\n * 注册组件\n * @param components 组件类\n */\n static useComponent(components: IComponentConstructor[]) {\n components.forEach(c => Factory.registerComponent(c.type, c));\n }\n /**\n * 注册 Mark\n * @param marks Mark 图元类\n */\n static useMark(marks: MarkConstructor[]) {\n marks.forEach(m => Factory.registerMark(m.constructorType ?? m.type, m));\n }\n /**\n * 注册布局\n * @param layouts 布局类\n */\n static useLayout(layouts: ILayoutConstructor[]) {\n layouts.forEach(l => Factory.registerLayout(l.type, l));\n }\n /**\n * 注册 DataSet 数据方法\n * @param name 数据 transform 方法名称\n * @param transform 具体的 Transform 执行方法\n */\n static registerDataSetTransform(name: string, transform: Transform) {\n Factory.registerTransform(name, transform);\n }\n\n /**\n * 注册地图数据\n * @param key 地图名称\n * @param source 地图数据\n * @param option 地图数据配置\n */\n static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption) {\n registerMapSource(key, source, option);\n }\n\n /**\n * 注销地图数据\n * @param key 地图名称\n */\n static unregisterMap(key: string) {\n unregisterMapSource(key);\n }\n\n /**\n * 根据地图名称获取地图数据\n * @param key 地图名称\n * @returns 地图数据\n */\n static getMap(key: string): GeoSourceType {\n return getMapSource(key);\n }\n\n /** 主题管理器 */\n static readonly ThemeManager = ThemeManager;\n\n protected _spec: any;\n\n private _viewBox: IBoundsLike;\n private _chart!: Maybe<IChart>;\n private _compiler: Compiler;\n private _event: Maybe<IEvent>;\n private _eventDispatcher: Maybe<IEventDispatcher>;\n private _dataSet!: Maybe<DataSet>;\n getDataSet() {\n return this._dataSet;\n }\n\n private _container?: HTMLElement;\n private _canvas?: HTMLCanvasElement | OffscreenCanvas | string;\n private _stage?: Stage;\n\n private _autoSize: boolean = true;\n private _option: IInitOption = {\n mode: RenderModeEnum['desktop-browser'],\n animation: true\n };\n\n private _curSize = { width: 0, height: 0 };\n private _observer: ResizeObserver = null;\n\n private _currentThemeName: string;\n private _currentTheme: ITheme;\n\n private _context: any = {}; // 存放用户在model初始化前通过实例方法传入的配置等\n\n constructor(spec: ISpec, options: IInitOption) {\n this._option = merge(this._option, options);\n\n const { dom, renderCanvas, mode, stage, ...restOptions } = this._option;\n\n if (dom) {\n this._container = isString(dom) ? document?.getElementById(dom) : dom;\n }\n if (renderCanvas) {\n this._canvas = renderCanvas;\n }\n if (stage) {\n this._stage = stage as unknown as Stage; // FIXME: 等待 vrender 解决类型和接口不匹配的问题 @zhouxinyu\n }\n\n if (mode !== 'node' && !this._container && !this._canvas && !this._stage) {\n error('please specify container or renderCanvas!');\n return;\n }\n\n this._viewBox = this._option.viewBox;\n this._setSpec(spec);\n this._updateCurrentTheme();\n\n this._compiler = new Compiler(\n {\n dom: this._container ?? 'none',\n canvas: renderCanvas\n },\n {\n mode: this._option.mode,\n stage,\n ...restOptions,\n background: spec.background || this._currentTheme.background || this._option.background // spec > spec.theme > initOptions.theme\n }\n );\n this._eventDispatcher = new EventDispatcher(this, this._compiler);\n this._event = new Event(this._eventDispatcher, mode);\n this._compiler.initSrView();\n // 设置全局字体\n // FIXME: vrender 目前有 BUG,待修复\n this.getStage()?.setTheme({\n text: { fontFamily: this._currentTheme.fontFamily }\n });\n this._initDataSet(this._option.dataSet);\n this._autoSize = isTrueBrowser(mode) ? spec.autoFit ?? this._option.autoFit ?? true : false;\n this._curSize = {\n width: spec.width || 0,\n height: spec.height || 0\n };\n this._bindResizeEvent();\n this._event.emit(ChartEvent.initialized, {});\n\n VChart._registerInstance(this);\n }\n\n private _setSpec(spec: any) {\n if (!spec) {\n return;\n }\n\n this._spec = specTransform(isString(spec) ? JSON.parse(spec) : spec);\n }\n\n private _initData() {\n if (isNil(this._dataSet)) {\n true && warn('dataSet is not initialized');\n return;\n }\n const specData: (DataView | IDataValues)[] = array(this._spec.data);\n\n const dataViewArr: DataView[] = [];\n for (let i = 0; i < specData.length; i++) {\n const curSpecData = specData[i];\n dataViewArr.push(dataToDataView(curSpecData, <DataSet>this._dataSet, dataViewArr));\n }\n\n this._spec.data = dataViewArr;\n }\n\n private _initChart(spec: any) {\n if (!this._compiler) {\n error('compiler is not initialized');\n return;\n }\n this._initData();\n // 放到这里而不是放到chart内的考虑\n // 用户spec更新,也许会有core上图表实例的内容存在\n // 如果要支持spec的类似Proxy监听,更新逻辑应当从这一层开始。如果在chart上做,就需要在再向上发送spec更新消息,不是很合理。\n // todo: 问题1 存不存在 chart 需要在这个阶段处理的特殊字段?目前没有,但是理论上可以有?\n const chart = Factory.createChart(spec.type, spec, {\n globalInstance: this,\n eventDispatcher: this._eventDispatcher!,\n dataSet: this._dataSet!,\n container: this._container,\n canvas: this._canvas,\n map: new Map(),\n mode: this._option.mode || RenderModeEnum['desktop-browser'],\n modeParams: this._option.modeParams,\n getCompiler: () => this._compiler,\n performanceHook: this._option.performanceHook,\n viewBox: this._viewBox,\n animation: this._option.animation,\n getTheme: () => this._currentTheme,\n layout: this._option.layout\n });\n if (!chart) {\n error('init chart fail');\n return;\n }\n this._chart = chart;\n this._chart.created();\n this._chart.init({});\n }\n\n private _releaseData() {\n if (this._dataSet) {\n this._dataSet.dataViewMap = {};\n this._dataSet = null;\n }\n }\n\n private _bindResizeEvent() {\n if (this._autoSize) {\n if (this._container) {\n const ResizeObserverWindow: any = window.ResizeObserver;\n this._observer = new ResizeObserverWindow(this._onResize);\n this._observer?.observe(this._container);\n }\n window.addEventListener('resize', this._onResize);\n }\n }\n\n private _unBindResizeEvent() {\n if (this._autoSize) {\n window.removeEventListener('resize', this._onResize);\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n }\n }\n\n private _onResize = debounce((...args: any[]) => {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n this._container!,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n const width = this._spec.width ?? containerWidth;\n const height = this._spec.height ?? containerHeight;\n if (this._curSize.width !== width || this._curSize.height !== height) {\n this.resize(width, height);\n this._curSize = { width, height };\n }\n }, 100);\n\n private _initDataSet(dataSet?: DataSet) {\n if (dataSet instanceof DataSet) {\n this._dataSet = dataSet;\n } else {\n this._dataSet = new DataSet();\n }\n registerDataSetInstanceParser(this._dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceParser(this._dataSet, 'array', arrayParser);\n registerDataSetInstanceTransform(this._dataSet, 'stackSplit', stackSplit);\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n // 注册 dataset transform\n for (const key in Factory.transforms) {\n registerDataSetInstanceTransform(this._dataSet, key, Factory.transforms[key]);\n }\n // 注册 dataview parser\n for (const key in Factory.dataParser) {\n registerDataSetInstanceParser(this._dataSet, key, Factory.dataParser[key]);\n }\n }\n\n async updateCustomConfigAndRerender(modifyConfig: () => IUpdateSpecResult | undefined, morphConfig?: IMorphConfig) {\n const result = modifyConfig(); // 执行回调\n if (!isValid(result)) {\n return this as unknown as IVChart;\n }\n\n if (result.reMake) {\n this._releaseData();\n this._initDataSet();\n // 释放图表等等\n this._chart.release();\n this._chart = null as unknown as IChart;\n this._compiler?.releaseGrammar();\n\n // chart 内部事件 模块自己必须删除\n // 外部事件不处理\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // VGrammar view 对象不需要释放,提供了reuse和morph能力之后,srView有上下文缓存\n } else {\n if (result.reCompile) {\n // FIXME: 暂时这么处理,还需要整体设计下组件的生命周期\n this.getComponents().forEach(c => c.clear());\n // TODO: 释放事件?\n // 重新绑定事件\n // TODO: 释放XX?\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // 先compile\n this._compiler?.compile({ chart: this._chart, vChart: this }, {});\n }\n }\n await this.renderAsync(morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * 同步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderSync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n this._compiler?.renderSync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 异步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n async renderAsync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n await this._compiler?.renderAsync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 销毁图表\n */\n release() {\n if ((this._onResize as any)?.cancel) {\n (this._onResize as any).cancel();\n }\n this._chart?.release();\n this._compiler?.release();\n this._eventDispatcher?.release();\n this._unBindResizeEvent();\n clearMapSource();\n // resetID(); // 为什么要重置ID呢?\n\n this._releaseData();\n\n this._chart = null;\n this._compiler = null;\n this._spec = null;\n // this._option = null;\n this._event = null;\n this._eventDispatcher = null;\n\n VChart._unregisterInstance(this);\n }\n\n /**\n * **异步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n async updateData(id: StringOrNumber, data: DataView | Datum[] | string, options?: IParserOptions): Promise<IVChart> {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n\n // after layout\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n this._spec.data = array(this._spec.data);\n const preDV = this._spec.data.find((dv: any) => dv.name === id || dv.id === id);\n if (preDV) {\n if (preDV.id === id) {\n preDV.values = data;\n } else if (preDV.name === id) {\n preDV.parse(data, options);\n }\n } else {\n if (isArray(data)) {\n this._spec.data.push({\n id,\n values: data\n });\n } else {\n this._spec.data.push(data);\n }\n }\n return this as unknown as IVChart;\n }\n\n /**\n * **异步**批量更新数据。\n * @param list 待更新的数据列表\n * @returns VChart 实例\n */\n async updateDataInBatches(\n list: { id: string; data: DataView | Datum[]; options?: IParserOptions }[]\n ): Promise<IVChart> {\n if (this._chart) {\n list.forEach(({ id, data, options }) => {\n this._chart.updateData(id, data, options);\n });\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n list.forEach(({ id, data, options }) => {\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n });\n return this as unknown as IVChart;\n }\n\n /**\n * **同步**更新数据\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateDataSync(id: StringOrNumber, data: DataView | Datum[], options?: IParserOptions) {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n // after layout\n this._compiler.renderSync();\n return this as unknown as IVChart;\n }\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id as string });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n return this as unknown as IVChart;\n }\n\n /**\n * spec 更新\n * @param spec\n * @param forceMerge\n * @returns\n */\n async updateSpec(spec: ISpec, forceMerge: boolean = false, morphConfig?: IMorphConfig) {\n if (!spec) {\n return this as unknown as IVChart;\n }\n if (isString(spec)) {\n spec = JSON.parse(spec);\n }\n\n // 没有配置变化 因为数据对象的原因,这里会报错\n // if (specString == JSON.stringify(this._spec)) {\n // return;\n // }\n\n if (forceMerge) {\n spec = merge({}, this._spec, spec);\n }\n\n await this.updateCustomConfigAndRerender(() => {\n spec = specTransform(spec) as any;\n this._spec = spec;\n this._updateCurrentTheme();\n this._compiler?.getVGrammarView()?.updateLayoutTag();\n return this._chart.updateSpec(spec, morphConfig);\n }, morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * **异步方法**,图表尺寸更新方法\n * @param width 宽度\n * @param height 高度\n * @returns VChart 当前实例\n */\n async resize(width: number, height: number) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 如果宽高未变化,不需要重新执行 resize,防止当图表初始化时会执行一次多余的 resize\n const chartCanvasRect = this._chart.getCanvasRect();\n if (chartCanvasRect && chartCanvasRect.width === width && chartCanvasRect.height === height) {\n return this as unknown as IVChart;\n }\n this._option.performanceHook?.beforeResizeWithUpdate?.();\n this._chart.onResize(width, height);\n this._option.performanceHook?.afterResizeWithUpdate?.();\n await this._compiler.resize?.(width, height);\n\n return this as unknown as IVChart;\n }\n\n /**\n * 更新绘制区域\n * @param viewBox 绘制区域\n * @param reRender 是否重新渲染,默认为 true\n * @returns\n */\n updateViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n this._viewBox = viewBox;\n // 更新 layout 参数\n this._chart.updateViewBox(viewBox);\n // 重新布局\n this._compiler.renderSync();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this._chart?.onEvaluateEnd();\n // 获取 compiler\n this._compiler.updateViewBox(viewBox, reRender);\n return this as unknown as IVChart;\n }\n\n // 事件相关方法\n on(eType: EventType, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery | EventCallback<EventParams>, handler?: EventCallback<EventParams>): void {\n this._event?.on(eType as any, query as any, handler as any);\n }\n off(eType: string, handler?: EventCallback<EventParams>): void {\n this._event?.off(eType, handler);\n }\n\n // 状态相关方法\n /**\n * 更新或设置图元状态\n * @param state 状态筛选器\n * @param filter 筛选器\n */\n updateState(\n state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>,\n filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean //series + mark 筛选\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.updateState(state, filter);\n }\n\n /**\n * 更新图元选中状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setSelected(\n datum: MaybeArray<any> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setSelected(datum, filter, region);\n }\n\n /**\n * 更新图元 hover 状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setHovered(\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setHovered(datum, filter, region);\n }\n\n // 主题相关方法\n /** 当 spec 或者 currentThemeName 有变化时需要调用此方法对 currentTheme 进行更新 */\n private _updateCurrentTheme() {\n this._currentTheme = merge({}, VChart.ThemeManager.getTheme(this._currentThemeName), this._spec?.theme ?? {});\n }\n\n /**\n * 获取当前主题,会返回完整的主题配置\n * */\n getCurrentTheme() {\n return this._currentTheme;\n }\n\n /**\n * 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n */\n getCurrentThemeName() {\n return this._currentThemeName;\n }\n\n /**\n * **异步方法**, 设置当前主题\n * @param name 主题名称\n * @returns\n */\n async setCurrentTheme(name: string) {\n if (!VChart.ThemeManager.themeExist(name)) {\n return this as unknown as IVChart;\n }\n\n await this.updateCustomConfigAndRerender(() => {\n this._currentThemeName = name;\n this._updateCurrentTheme();\n this._chart?.setCurrentTheme(this._currentTheme, true);\n return { change: true, reMake: false };\n });\n\n return this as unknown as IVChart;\n }\n\n // Tooltip 相关方法\n private _getTooltipComponent(): Tooltip | undefined {\n const tooltip = this._chart?.getAllComponents().find(c => c.type === ComponentTypeEnum.tooltip) as Tooltip;\n return tooltip;\n }\n\n /**\n * 自定义 TooltipHandler\n * @param tooltipHandler\n */\n setTooltipHandler(tooltipHandler: ITooltipHandler) {\n this._context.tooltipHandler = tooltipHandler;\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n tooltip.tooltipHandler?.release?.();\n tooltip.tooltipHandler = tooltipHandler;\n }\n }\n\n /**\n * 获取用户定义的 TooltipHandler\n * @returns ITooltipHandler\n */\n getTooltipHandlerByUser(): ITooltipHandler | undefined {\n return this._context?.tooltipHandler;\n }\n\n /**\n * 获取 TooltipHandler\n * @returns\n */\n getTooltipHandler(): ITooltipHandler | undefined {\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n return tooltip.tooltipHandler;\n }\n return this._context.tooltipHandler;\n }\n\n /**\n * 手动调用展示 tooltip\n * @param datum 原始数据\n * @param options\n * @returns\n */\n showTooltip(datum: Datum, options: IShowTooltipOption): boolean {\n const tooltip = this._getTooltipComponent();\n return (isValid(datum) && tooltip?.showTooltip(datum, options) !== 'none') ?? false;\n }\n\n /**\n * 手动调用,关闭 tooltip\n * @returns\n */\n hideTooltip(): boolean {\n const tooltip = this._getTooltipComponent();\n return tooltip?.hideTooltip() ?? false;\n }\n\n // 图例相关 api\n /**\n * 根据图例组件 id 获取图例数据\n * @param id 组件 id\n * @returns\n */\n getLegendDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getLegendData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取图例数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getLegendData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 获取当前图例的选中项\n * @param id 组件 id\n * @returns\n */\n getLegendSelectedDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getSelectedData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取当前图例的选中项\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendSelectedDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getSelectedData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 更新图例选中数据\n * @param id\n * @returns\n */\n setLegendSelectedDataById(id: string, selectedData: StringOrNumber[]) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n legendComponent.setSelectedData(selectedData);\n }\n }\n\n /**\n * 根据图例组件索引更新图例选中数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n setLegendSelectedDataByIndex(index: number = 0, selectedData: StringOrNumber[]) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n legends[index].setSelectedData(selectedData);\n }\n }\n\n // 保存图片相关的方法\n /**\n * **异步方法**返回一个包含图片展示的 data URI。\n * @returns data URI\n */\n async getDataURL() {\n const stage = this.getStage();\n if (this._chart && stage) {\n // 因为 vrender 是 autoRender 的,它不能确认第几帧才是完整的图表,所以这里调用一次 render 以保证获取到的是完整的画布\n stage.render();\n const canvas = this._chart.getCanvas();\n const url = await getCanvasDataURL(canvas);\n return url;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n /**\n * **异步方法** 导出图表图片,只支持浏览器端。\n * @param name 保存的图片名称\n * @returns\n */\n async exportImg(name?: string) {\n if (!isTrueBrowser(this._option.mode)) {\n console.error(new TypeError(`non-browser environment can not export img`));\n return;\n }\n\n const dataURL = await this.getDataURL();\n if (dataURL) {\n URLToImage(name, dataURL);\n } else {\n console.error(new ReferenceError(`render is not defined`));\n }\n }\n\n /**\n * 目前仅支持 node 环境,用于 node 端的图片导出\n * @returns\n */\n getImageBuffer() {\n if (this._option.mode !== 'node') {\n console.error(new TypeError('getImageBuffer() now only support node environment.'));\n return;\n }\n const stage = this.getStage();\n if (stage) {\n stage.render();\n const buffer = stage.window.getImageBuffer();\n return buffer;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n // 布局相关的方法\n /**\n * 设置自定义布局\n */\n setLayout(layout: LayoutCallBack) {\n this._option.layout = layout;\n this._chart?.setLayout(layout);\n }\n /**\n * 强制重新布局\n */\n reLayout() {\n this._chart?.setLayoutTag(true);\n }\n\n /**\n * 获取编译器实例\n * @returns\n */\n getCompiler() {\n return this._compiler;\n }\n\n /**\n * Get the chart instance\n * 获取 Chart 图表实例。\n * @returns Chart 实例\n */\n getChart() {\n return this._chart;\n }\n\n /**\n * Get the renderer instance.\n * 获取渲染引擎实例。\n * @returns the instance of VRender Stage\n */\n getStage(): Stage {\n return this._compiler.getStage();\n }\n\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas(): HTMLCanvasElement | undefined {\n return this._compiler?.getCanvas();\n }\n\n /**\n * 获取图表的 dom 容器\n * @returns\n */\n getContainer(): Maybe<HTMLElement> {\n // 用户传入 dom container\n if (isValid(this._container)) {\n return this._container;\n }\n\n // 用户传入 canvas\n let canvasNode: Maybe<HTMLCanvasElement>;\n if (isString(this._canvas)) {\n canvasNode = document?.getElementById(this._canvas) as HTMLCanvasElement;\n } else {\n canvasNode = this._canvas as HTMLCanvasElement;\n }\n if (isValid(canvasNode)) {\n return canvasNode.parentElement;\n }\n\n // 用户传入 stage\n return this.getCanvas()?.parentElement;\n }\n\n /**\n * 获取图表所有的组件实例\n * @returns 组件实例\n */\n getComponents() {\n return this._chart.getAllComponents();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/initialize.ts"],"names":[],"mappings":"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","file":"initialize.js","sourcesContent":["import { isString } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataSet, DataView } from '@visactor/vdataset';\nimport type { IDataViewOptions, IFields, ITransformOptions } from '@visactor/vdataset';\nimport type { IDataValues } from '../typings/spec/common';\nimport { error } from '../util';\nimport { registerDataSetInstanceTransform } from './register';\nimport { copyDataView } from './transforms/copy-data-view';\n\nexport function initializeData() {\n // todo\n}\n\nexport function initCSVData() {\n // todo\n}\n\nexport function initData() {\n // todo\n}\n\nexport function initFoldData() {\n // todo\n}\n\nexport function dataViewFromDataView(rawData: DataView, dataSet?: DataSet, op?: IDataViewOptions) {\n dataSet = dataSet instanceof DataSet ? dataSet : rawData.dataSet;\n registerDataSetInstanceTransform(dataSet, 'copyDataView', copyDataView);\n const viewData = new DataView(dataSet, op);\n viewData.parse([rawData], {\n type: 'dataview'\n });\n viewData.transform({\n type: 'copyDataView'\n });\n return viewData;\n}\n\n/**\n * 将数据实例化为 DataView\n * @param data 数据\n * @param dataSet 数据集\n * @returns\n */\nexport function dataToDataView(data: DataView | IDataValues, dataSet: DataSet, sourceDataViews: DataView[] = []) {\n if (data instanceof DataView) {\n return data;\n }\n\n const { id, values = [], fromDataIndex, fromDataId, transforms = [], fields, parser } = data;\n let dataView: DataView;\n const existDataView = sourceDataViews.find(dv => dv.name === id);\n if (existDataView) {\n dataView = existDataView;\n } else {\n const initOption: IDataViewOptions = { name: id as string };\n // fields 支持在dataView初始化参数中传入\n if (fields) {\n initOption.fields = fields as IFields;\n }\n dataView = new DataView(dataSet, initOption);\n if (typeof fromDataId === 'string') {\n // 使用id查找上游dataview\n const fromDataView = sourceDataViews.find(dv => dv.name === fromDataId);\n if (!fromDataView) {\n throw new Error(`no data matches fromDataId ${fromDataId}`);\n }\n\n dataView.parse([fromDataView], {\n type: 'dataview'\n });\n dataView.transform({\n type: 'copyDataView'\n });\n } else if (typeof fromDataIndex === 'number') {\n // 使用index查找上游dataview\n const fromDataView = sourceDataViews[fromDataIndex];\n if (!fromDataView) {\n throw new Error(`no data matches fromDataIndex ${fromDataIndex}`);\n }\n\n dataView.parse([fromDataView], {\n type: 'dataview'\n });\n dataView.transform({\n type: 'copyDataView'\n });\n } else if (Array.isArray(values)) {\n // 处理values\n dataView.parse(values);\n } else if (\n isString(values) &&\n (!parser || parser.type === 'csv' || parser.type === 'dsv' || parser.type === 'tsv')\n ) {\n // 内置 csv parser\n dataView.parse(values, parser ?? { type: 'csv' });\n } else {\n // 如果 values 不符合要求,则默认设置为 [],同时打印错误信息\n dataView.parse([]);\n error('values should be array');\n }\n // 处理transform\n if (transforms && transforms.length) {\n transforms.forEach((transform: ITransformOptions) => {\n if (dataSet.getTransform(transform.type)) {\n dataView.transform(transform);\n }\n });\n }\n }\n\n return dataView;\n}\n"]}
1
+ {"version":3,"sources":["../src/data/initialize.ts"],"names":[],"mappings":"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","file":"initialize.js","sourcesContent":["import { isString } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataSet, DataView } from '@visactor/vdataset';\nimport type { IDataViewOptions, IFields, ITransformOptions } from '@visactor/vdataset';\nimport type { IDataValues } from '../typings/spec/common';\nimport { error } from '../util';\nimport { registerDataSetInstanceTransform } from './register';\nimport { copyDataView } from './transforms/copy-data-view';\n\nexport function initializeData() {\n // todo\n}\n\nexport function initCSVData() {\n // todo\n}\n\nexport function initData() {\n // todo\n}\n\nexport function initFoldData() {\n // todo\n}\n\nexport function dataViewFromDataView(rawData: DataView, dataSet?: DataSet, op?: IDataViewOptions) {\n dataSet = dataSet instanceof DataSet ? dataSet : rawData.dataSet;\n registerDataSetInstanceTransform(dataSet, 'copyDataView', copyDataView);\n const viewData = new DataView(dataSet, op);\n viewData.parse([rawData], {\n type: 'dataview'\n });\n viewData.transform({\n type: 'copyDataView'\n });\n return viewData;\n}\n\n/**\n * 将数据实例化为 DataView\n * @param data 数据\n * @param dataSet 数据集\n * @returns\n */\nexport function dataToDataView(data: DataView | IDataValues, dataSet: DataSet, sourceDataViews: DataView[] = []) {\n if (data instanceof DataView) {\n return data;\n }\n\n const { id, values = [], fromDataIndex, fromDataId, transforms = [], fields, parser } = data;\n let dataView: DataView;\n const existDataView = sourceDataViews.find(dv => dv.name === id);\n if (existDataView) {\n dataView = existDataView;\n } else {\n const initOption: IDataViewOptions = { name: id as string };\n // fields 支持在dataView初始化参数中传入\n if (fields) {\n initOption.fields = fields as IFields;\n }\n dataView = new DataView(dataSet, initOption);\n if (typeof fromDataId === 'string') {\n // 使用id查找上游dataview\n const fromDataView = sourceDataViews.find(dv => dv.name === fromDataId);\n if (!fromDataView) {\n throw new Error(`no data matches fromDataId ${fromDataId}`);\n }\n\n dataView.parse([fromDataView], {\n type: 'dataview'\n });\n dataView.transform({\n type: 'copyDataView'\n });\n } else if (typeof fromDataIndex === 'number') {\n // 使用index查找上游dataview\n const fromDataView = sourceDataViews[fromDataIndex];\n if (!fromDataView) {\n throw new Error(`no data matches fromDataIndex ${fromDataIndex}`);\n }\n\n dataView.parse([fromDataView], {\n type: 'dataview'\n });\n dataView.transform({\n type: 'copyDataView'\n });\n } else if (Array.isArray(values)) {\n // 处理values\n dataView.parse(values);\n } else if (\n isString(values) &&\n (!parser || parser.type === 'csv' || parser.type === 'dsv' || parser.type === 'tsv')\n ) {\n // 内置 csv parser\n dataView.parse(values, parser ?? { type: 'csv' });\n } else {\n // 如果 values 不符合要求,则默认设置为 [],同时打印错误信息\n dataView.parse([]);\n error('values should be array');\n }\n // 处理transform\n if (transforms && transforms.length) {\n transforms.forEach((transform: ITransformOptions) => {\n if (dataSet.getTransform(transform.type)) {\n dataView.transform(transform);\n }\n });\n }\n }\n\n return dataView;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/parser/array.ts"],"names":[],"mappings":";;;AASO,MAAM,WAAW,GAAW,CAAC,KAAS,EAAE,EAAE;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB","file":"array.js","sourcesContent":["import type { Parser } from '@visactor/vdataset';\n\n/**\n * dataView数据 解析器\n * @param data\n * @param options\n * @param dataView\n * @returns\n */\nexport const arrayParser: Parser = (array: []) => {\n return array;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/parser/array.ts"],"names":[],"mappings":";;;AASO,MAAM,WAAW,GAAW,CAAC,KAAS,EAAE,EAAE;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB","file":"array.js","sourcesContent":["import type { Parser } from '@visactor/vdataset';\n\n/**\n * dataView数据 解析器\n * @param data\n * @param options\n * @param dataView\n * @returns\n */\nexport const arrayParser: Parser = (array: []) => {\n return array;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/parser/scale.ts"],"names":[],"mappings":";;;AAUO,MAAM,WAAW,GAAW,CAAC,KAAiB,EAAE,EAAE;IACvD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB","file":"scale.js","sourcesContent":["import type { Parser } from '@visactor/vdataset';\nimport type { IBaseScale } from '@visactor/vscale';\n\n/**\n * dataView数据 解析器\n * @param data\n * @param options\n * @param dataView\n * @returns\n */\nexport const scaleParser: Parser = (scale: IBaseScale) => {\n return scale;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/parser/scale.ts"],"names":[],"mappings":";;;AAUO,MAAM,WAAW,GAAW,CAAC,KAAiB,EAAE,EAAE;IACvD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB","file":"scale.js","sourcesContent":["import type { Parser } from '@visactor/vdataset';\nimport type { IBaseScale } from '@visactor/vscale';\n\n/**\n * dataView数据 解析器\n * @param data\n * @param options\n * @param dataView\n * @returns\n */\nexport const scaleParser: Parser = (scale: IBaseScale) => {\n return scale;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/register.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gCAAgC,CAAC,OAAgB,EAAE,IAAY,EAAE,SAAoB;IACnG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QAC/B,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC5C;AACH,CAAC;AAJD,4EAIC;AAED,SAAgB,6BAA6B,CAAC,OAAgB,EAAE,IAAY,EAAE,KAAa;IACzF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACrC;AACH,CAAC;AAJD,sEAIC","file":"register.js","sourcesContent":["import type { DataSet, Parser, Transform } from '@visactor/vdataset';\n\nexport function registerDataSetInstanceTransform(dataSet: DataSet, name: string, transform: Transform) {\n if (!dataSet.getTransform(name)) {\n dataSet.registerTransform(name, transform);\n }\n}\n\nexport function registerDataSetInstanceParser(dataSet: DataSet, name: string, parse: Parser) {\n if (!dataSet.getParser(name)) {\n dataSet.registerParser(name, parse);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/data/register.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gCAAgC,CAAC,OAAgB,EAAE,IAAY,EAAE,SAAoB;IACnG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QAC/B,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC5C;AACH,CAAC;AAJD,4EAIC;AAED,SAAgB,6BAA6B,CAAC,OAAgB,EAAE,IAAY,EAAE,KAAa;IACzF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACrC;AACH,CAAC;AAJD,sEAIC","file":"register.js","sourcesContent":["import type { DataSet, Parser, Transform } from '@visactor/vdataset';\n\nexport function registerDataSetInstanceTransform(dataSet: DataSet, name: string, transform: Transform) {\n if (!dataSet.getTransform(name)) {\n dataSet.registerTransform(name, transform);\n }\n}\n\nexport function registerDataSetInstanceParser(dataSet: DataSet, name: string, parse: Parser) {\n if (!dataSet.getParser(name)) {\n dataSet.registerParser(name, parse);\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
- export type AddChartSpacePropertyContext = {
1
+ export type AddVChartPropertyContext = {
2
2
  keyMap: Map<string, number>;
3
3
  };
4
- export interface IAddChartSpacePropertyOpt {
5
- beforeCall: () => AddChartSpacePropertyContext;
6
- call: (d: any, i: number, context: AddChartSpacePropertyContext) => void;
4
+ export interface IAddVChartPropertyOpt {
5
+ beforeCall: () => AddVChartPropertyContext;
6
+ call: (d: any, i: number, context: AddVChartPropertyContext) => void;
7
7
  }
8
- export declare const addChartSpaceProperty: (data: Array<any>, op: IAddChartSpacePropertyOpt) => any[];
8
+ export declare const addVChartProperty: (data: Array<any>, op: IAddVChartPropertyOpt) => any[];
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.addChartSpaceProperty = void 0;
5
+ }), exports.addVChartProperty = void 0;
6
6
 
7
- const addChartSpaceProperty = (data, op) => {
7
+ const addVChartProperty = (data, op) => {
8
8
  const context = op.beforeCall();
9
9
  return data.forEach(((d, i) => op.call(d, i, context))), context.keyMap && (context.keyMap.clear(),
10
10
  context.keyMap = null), data;
11
11
  };
12
12
 
13
- exports.addChartSpaceProperty = addChartSpaceProperty;
13
+ exports.addVChartProperty = addVChartProperty;
14
14
  //# sourceMappingURL=add-property.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/add-property.ts"],"names":[],"mappings":";;;AAMO,MAAM,qBAAqB,GAAG,CAAC,IAAgB,EAAE,EAA6B,EAAE,EAAE;IACvF,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC","file":"add-property.js","sourcesContent":["export type AddChartSpacePropertyContext = { keyMap: Map<string, number> };\nexport interface IAddChartSpacePropertyOpt {\n beforeCall: () => AddChartSpacePropertyContext;\n call: (d: any, i: number, context: AddChartSpacePropertyContext) => void;\n}\n\nexport const addChartSpaceProperty = (data: Array<any>, op: IAddChartSpacePropertyOpt) => {\n const context = op.beforeCall();\n data.forEach((d, i) => op.call(d, i, context));\n\n if (context.keyMap) {\n context.keyMap.clear();\n context.keyMap = null;\n }\n\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/add-property.ts"],"names":[],"mappings":";;;AAMO,MAAM,iBAAiB,GAAG,CAAC,IAAgB,EAAE,EAAyB,EAAE,EAAE;IAC/E,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B","file":"add-property.js","sourcesContent":["export type AddVChartPropertyContext = { keyMap: Map<string, number> };\nexport interface IAddVChartPropertyOpt {\n beforeCall: () => AddVChartPropertyContext;\n call: (d: any, i: number, context: AddVChartPropertyContext) => void;\n}\n\nexport const addVChartProperty = (data: Array<any>, op: IAddVChartPropertyOpt) => {\n const context = op.beforeCall();\n data.forEach((d, i) => op.call(d, i, context));\n\n if (context.keyMap) {\n context.keyMap.clear();\n context.keyMap = null;\n }\n\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/aggregation.ts"],"names":[],"mappings":"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","file":"aggregation.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IAggrType } from '../../component/marker/interface';\nimport type { ICartesianSeries } from '../../series/interface';\n\nimport { variance, average, min, max, sum, standardDeviation, median, isValid } from '../../util';\n\nexport type IOption = {\n field: string;\n};\n\nexport type IOptionAggrField = {\n field: string;\n aggrType: IAggrType;\n};\n\nexport type IOptionPos = IOptionAggrField | string | number;\n\nexport type IOptionAggr = {\n x?: IOptionPos;\n y?: IOptionPos;\n getRefRelativeSeries?: () => ICartesianSeries;\n};\n\nexport type IOptionAggrs = IOptionAggr[];\n\nexport const markerMin = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData;\n\n return min(data, opt.field);\n};\nexport const markerMax = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData;\n\n return max(data, opt.field);\n};\n\nexport function markerSum(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return sum(data, opt.field);\n}\nexport function markerAverage(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return average(data, opt.field);\n}\n\nexport function markerVariance(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return variance(data, opt.field);\n}\n\nexport function markerStandardDeviation(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return standardDeviation(data, opt.field);\n}\n\nexport function markerMedian(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return median(data, opt.field);\n}\n\nexport function markerAggregation(_data: Array<DataView>, options: IOptionAggrs) {\n const aggrMap = {\n min: markerMin,\n max: markerMax,\n sum: markerSum,\n average: markerAverage,\n variance: markerVariance,\n standardDeviation: markerStandardDeviation,\n median: markerMedian\n };\n const results: {\n x: string | number | null;\n y: string | number | null;\n }[] = [];\n\n options.forEach(option => {\n const result: {\n x: string | number | null;\n y: string | number | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n } = { x: null, y: null };\n if (isValid(option.x)) {\n const x = option.x;\n if (typeof x === 'string' || typeof x === 'number') {\n result.x = x;\n } else {\n const { aggrType, field } = x;\n result.x = aggrMap[aggrType](_data, { field: field });\n }\n }\n if (isValid(option.y)) {\n const y = option.y;\n if (typeof y === 'string' || typeof y === 'number') {\n result.y = y;\n } else {\n const { aggrType, field } = y;\n result.y = aggrMap[aggrType](_data, { field: field });\n }\n }\n if (option.getRefRelativeSeries) {\n result.getRefRelativeSeries = option.getRefRelativeSeries;\n }\n results.push(result);\n });\n\n return results;\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/aggregation.ts"],"names":[],"mappings":"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","file":"aggregation.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IAggrType } from '../../component/marker/interface';\nimport type { ICartesianSeries } from '../../series/interface';\n\nimport { variance, average, min, max, sum, standardDeviation, median, isValid } from '../../util';\n\nexport type IOption = {\n field: string;\n};\n\nexport type IOptionAggrField = {\n field: string;\n aggrType: IAggrType;\n};\n\nexport type IOptionPos = IOptionAggrField | string | number;\n\nexport type IOptionAggr = {\n x?: IOptionPos;\n y?: IOptionPos;\n getRefRelativeSeries?: () => ICartesianSeries;\n};\n\nexport type IOptionAggrs = IOptionAggr[];\n\nexport const markerMin = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData;\n\n return min(data, opt.field);\n};\nexport const markerMax = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData;\n\n return max(data, opt.field);\n};\n\nexport function markerSum(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return sum(data, opt.field);\n}\nexport function markerAverage(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return average(data, opt.field);\n}\n\nexport function markerVariance(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return variance(data, opt.field);\n}\n\nexport function markerStandardDeviation(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return standardDeviation(data, opt.field);\n}\n\nexport function markerMedian(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return median(data, opt.field);\n}\n\nexport function markerAggregation(_data: Array<DataView>, options: IOptionAggrs) {\n const aggrMap = {\n min: markerMin,\n max: markerMax,\n sum: markerSum,\n average: markerAverage,\n variance: markerVariance,\n standardDeviation: markerStandardDeviation,\n median: markerMedian\n };\n const results: {\n x: string | number | null;\n y: string | number | null;\n }[] = [];\n\n options.forEach(option => {\n const result: {\n x: string | number | null;\n y: string | number | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n } = { x: null, y: null };\n if (isValid(option.x)) {\n const x = option.x;\n if (typeof x === 'string' || typeof x === 'number') {\n result.x = x;\n } else {\n const { aggrType, field } = x;\n result.x = aggrMap[aggrType](_data, { field: field });\n }\n }\n if (isValid(option.y)) {\n const y = option.y;\n if (typeof y === 'string' || typeof y === 'number') {\n result.y = y;\n } else {\n const { aggrType, field } = y;\n result.y = aggrMap[aggrType](_data, { field: field });\n }\n }\n if (option.getRefRelativeSeries) {\n result.getRefRelativeSeries = option.getRefRelativeSeries;\n }\n results.push(result);\n });\n\n return results;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/box-plot.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,sDAAuE;AAahE,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAE,EAAsB,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAI,IAAI,CAAC,CAAC,CAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IACrD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,EAAE;YAC3B,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,MAAM,CAAC,IAAI,CACT,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG;gBACd,CAAC,uCAA4B,CAAC,EAAE,CAAC;aAClC,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAtBW,QAAA,eAAe,mBAsB1B","file":"box-plot.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport type { Datum } from '../../typings';\n\nexport interface IBoxPlotOutlierOpt {\n dimensionField: string[];\n outliersField: string;\n}\n/**\n * 将箱型图outlier数组展平\n * @param data\n * @param options\n * @returns\n */\nexport const foldOutlierData = (data: Array<DataView>, op: IBoxPlotOutlierOpt) => {\n const result: any = [];\n const { outliersField, dimensionField } = op;\n const latestData = (data[0] as any).latestData || [];\n latestData.forEach((d: Datum) => {\n let outlierValues = d[outliersField];\n if (!isArray(outlierValues)) {\n outlierValues = [outlierValues];\n }\n result.push(\n ...outlierValues.map((v: any) => {\n const resData = {\n [BOX_PLOT_OUTLIER_VALUE_FIELD]: v\n };\n dimensionField.forEach(field => {\n resData[field] = d[field];\n });\n return resData;\n })\n );\n });\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/box-plot.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,sDAAuE;AAahE,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAE,EAAsB,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAI,IAAI,CAAC,CAAC,CAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IACrD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,EAAE;YAC3B,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,MAAM,CAAC,IAAI,CACT,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG;gBACd,CAAC,uCAA4B,CAAC,EAAE,CAAC;aAClC,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAtBW,QAAA,eAAe,mBAsB1B","file":"box-plot.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport type { Datum } from '../../typings';\n\nexport interface IBoxPlotOutlierOpt {\n dimensionField: string[];\n outliersField: string;\n}\n/**\n * 将箱型图outlier数组展平\n * @param data\n * @param options\n * @returns\n */\nexport const foldOutlierData = (data: Array<DataView>, op: IBoxPlotOutlierOpt) => {\n const result: any = [];\n const { outliersField, dimensionField } = op;\n const latestData = (data[0] as any).latestData || [];\n latestData.forEach((d: Datum) => {\n let outlierValues = d[outliersField];\n if (!isArray(outlierValues)) {\n outlierValues = [outlierValues];\n }\n result.push(\n ...outlierValues.map((v: any) => {\n const resData = {\n [BOX_PLOT_OUTLIER_VALUE_FIELD]: v\n };\n dimensionField.forEach(field => {\n resData[field] = d[field];\n });\n return resData;\n })\n );\n });\n return result;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/circle-packing.ts"],"names":[],"mappings":";;;AAIA,qEAAmE;AAU5D,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,EAA2B,EAAE,EAAE;IACrF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClC,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,MAAM,GAAG,IAAI,wCAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AAXW,QAAA,mBAAmB,uBAW9B","file":"circle-packing.js","sourcesContent":["import type { Datum } from '../../typings';\nimport type { CirclePackingOptions } from '@visactor/vgrammar-hierarchy';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { CirclePackingLayout } from '@visactor/vgrammar-hierarchy';\n\nexport interface ICirclePackingOpt extends CirclePackingOptions {\n width: number;\n height: number;\n}\n\n/**\n * CirclePacking布局算法,VGrammar 提供.\n */\nexport const circlePackingLayout = (data: Array<Datum>, op: () => ICirclePackingOpt) => {\n if (!data) {\n return data;\n }\n const options = op();\n const { width, height } = options;\n if (width === 0 || height === 0) {\n return data;\n }\n const layout = new CirclePackingLayout(options);\n return layout.layout(data, { width, height });\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/circle-packing.ts"],"names":[],"mappings":";;;AAIA,qEAAmE;AAU5D,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,EAA2B,EAAE,EAAE;IACrF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClC,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,MAAM,GAAG,IAAI,wCAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AAXW,QAAA,mBAAmB,uBAW9B","file":"circle-packing.js","sourcesContent":["import type { Datum } from '../../typings';\nimport type { CirclePackingOptions } from '@visactor/vgrammar-hierarchy';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { CirclePackingLayout } from '@visactor/vgrammar-hierarchy';\n\nexport interface ICirclePackingOpt extends CirclePackingOptions {\n width: number;\n height: number;\n}\n\n/**\n * CirclePacking布局算法,VGrammar 提供.\n */\nexport const circlePackingLayout = (data: Array<Datum>, op: () => ICirclePackingOpt) => {\n if (!data) {\n return data;\n }\n const options = op();\n const { width, height } = options;\n if (width === 0 || height === 0) {\n return data;\n }\n const layout = new CirclePackingLayout(options);\n return layout.layout(data, { width, height });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/copy-data-view.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iDAA8C;AAE9C,SAAS,eAAe,CAAC,CAAW,EAAE,IAAI,GAAG,KAAK;IAChD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,CAAC,UAAU,YAAY,mBAAQ,EAAE;QACpC,KAAK,GAAG,KAAK,CAAC;KACf;IACD,IAAI,KAAK,EAAE;QACT,OAAO,IAAA,gBAAS,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KAChC;IAED,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAQM,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAE,OAA6B,EAAE,EAAE;IACnF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;KAChD;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AARW,QAAA,YAAY,gBAQvB","file":"copy-data-view.js","sourcesContent":["import { cloneDeep } from '../../util';\nimport { DataView } from '@visactor/vdataset';\n\nfunction copyOneDataView(d: DataView, deep = false) {\n let _deep = deep;\n if (d.latestData instanceof DataView) {\n _deep = false;\n }\n if (_deep) {\n return cloneDeep(d.latestData);\n }\n\n return d.latestData.slice();\n}\n\n/**\n * 聚合统计主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const copyDataView = (data: Array<DataView>, options?: ICopyDataViewOption) => {\n if (data.length === 0) {\n return [];\n }\n if (data.length === 1) {\n return copyOneDataView(data[0], options?.deep);\n }\n return data.map(d => copyOneDataView(d, options?.deep));\n};\n\nexport interface ICopyDataViewOption {\n deep?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/copy-data-view.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iDAA8C;AAE9C,SAAS,eAAe,CAAC,CAAW,EAAE,IAAI,GAAG,KAAK;IAChD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,CAAC,UAAU,YAAY,mBAAQ,EAAE;QACpC,KAAK,GAAG,KAAK,CAAC;KACf;IACD,IAAI,KAAK,EAAE;QACT,OAAO,IAAA,gBAAS,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KAChC;IAED,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAQM,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAE,OAA6B,EAAE,EAAE;IACnF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;KAChD;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AARW,QAAA,YAAY,gBAQvB","file":"copy-data-view.js","sourcesContent":["import { cloneDeep } from '../../util';\nimport { DataView } from '@visactor/vdataset';\n\nfunction copyOneDataView(d: DataView, deep = false) {\n let _deep = deep;\n if (d.latestData instanceof DataView) {\n _deep = false;\n }\n if (_deep) {\n return cloneDeep(d.latestData);\n }\n\n return d.latestData.slice();\n}\n\n/**\n * 聚合统计主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const copyDataView = (data: Array<DataView>, options?: ICopyDataViewOption) => {\n if (data.length === 0) {\n return [];\n }\n if (data.length === 1) {\n return copyOneDataView(data[0], options?.deep);\n }\n return data.map(d => copyOneDataView(d, options?.deep));\n};\n\nexport interface ICopyDataViewOption {\n deep?: boolean;\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { BaseSeries } from '../../series/base/base-series';
2
2
  import type { TreeMapSeries } from '../../series/treemap/treemap';
3
- import type { AddChartSpacePropertyContext } from './add-property';
3
+ import type { AddVChartPropertyContext } from './add-property';
4
4
  import type { SunburstSeries } from '../../series/sunburst/sunburst';
5
5
  import type { CirclePackingSeries } from '../../series/circle-packing/circle-packing';
6
6
  export declare const initKeyMap: () => {
7
7
  keyMap: Map<any, any>;
8
8
  };
9
- export declare function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddChartSpacePropertyContext): void;
10
- export declare function addHierarchyDataKey(this: TreeMapSeries | SunburstSeries | CirclePackingSeries, d: any, i: number, context: AddChartSpacePropertyContext, depth?: number, root?: string, rootIndex?: number): void;
9
+ export declare function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddVChartPropertyContext): void;
10
+ export declare function addHierarchyDataKey(this: TreeMapSeries | SunburstSeries | CirclePackingSeries, d: any, i: number, context: AddVChartPropertyContext, depth?: number, root?: string, rootIndex?: number): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/data-key.ts"],"names":[],"mappings":";;;AAAA,6CAAiG;AAIjG,wDAIkC;AAI3B,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF,SAAgB,UAAU,CAAwB,CAAM,EAAE,CAAS,EAAE,OAAqC;IACxG,IAAI,CAAC,CAAC,EAAE;QACN,OAAO;KACR;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QACtB,CAAC,CAAC,oCAAyB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;KACxD;IACD,CAAC,CAAC,6BAAkB,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,2BAAgB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AATD,gCASC;AAED,SAAgB,mBAAmB,CAEjC,CAAM,EACN,CAAS,EACT,OAAqC,EACrC,QAAgB,CAAC,EACjB,IAAa,EACb,SAAkB;IAElB,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,SAAS,GAAG,CAAC,CAAC;KACf;IACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,mCAAuB,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC,CAAC,kCAAsB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,wCAA4B,CAAC,GAAG,SAAS,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAU,EAAE,EAAE,CACzC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,EAAE,EACF,EAAE,EACF,OAAO,EACP,CAAC,CAAC,mCAAuB,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,kCAAsB,CAAC,EACzB,SAAS,CACV,CACF,CAAC;KACH;AACH,CAAC;AA5BD,kDA4BC","file":"data-key.js","sourcesContent":["import { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport type { BaseSeries } from '../../series/base/base-series';\nimport type { TreeMapSeries } from '../../series/treemap/treemap';\nimport type { AddChartSpacePropertyContext } from './add-property';\nimport {\n DEFAULT_HIERARCHY_DEPTH,\n DEFAULT_HIERARCHY_ROOT,\n DEFAULT_HIERARCHY_ROOT_INDEX\n} from '../../constant/hierarchy';\nimport type { SunburstSeries } from '../../series/sunburst/sunburst';\nimport type { CirclePackingSeries } from '../../series/circle-packing/circle-packing';\n\nexport const initKeyMap = () => {\n return { keyMap: new Map() };\n};\n\nexport function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddChartSpacePropertyContext) {\n if (!d) {\n return;\n }\n if (!this._seriesField) {\n d[DEFAULT_DATA_SERIES_FIELD] = this.getSeriesKeys()[0];\n }\n d[DEFAULT_DATA_INDEX] = i;\n d[DEFAULT_DATA_KEY] = this.generateDefaultDataKey(this._spec.dataKey, d, i, context);\n}\n\nexport function addHierarchyDataKey(\n this: TreeMapSeries | SunburstSeries | CirclePackingSeries,\n d: any,\n i: number,\n context: AddChartSpacePropertyContext,\n depth: number = 0,\n root?: string,\n rootIndex?: number\n) {\n if (rootIndex === undefined) {\n rootIndex = i;\n }\n addDataKey.bind(this)(d, i, context);\n d[DEFAULT_HIERARCHY_DEPTH] = depth;\n d[DEFAULT_HIERARCHY_ROOT] = root || d[this.getCategoryField()];\n d[DEFAULT_HIERARCHY_ROOT_INDEX] = rootIndex;\n if (d.children && d.children.length) {\n d.children.forEach((_d: any, _i: number) =>\n addHierarchyDataKey.bind(this)(\n _d,\n _i,\n context,\n d[DEFAULT_HIERARCHY_DEPTH] + 1,\n d[DEFAULT_HIERARCHY_ROOT],\n rootIndex\n )\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/data-key.ts"],"names":[],"mappings":";;;AAAA,6CAAiG;AAIjG,wDAIkC;AAI3B,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF,SAAgB,UAAU,CAAwB,CAAM,EAAE,CAAS,EAAE,OAAiC;IACpG,IAAI,CAAC,CAAC,EAAE;QACN,OAAO;KACR;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QACtB,CAAC,CAAC,oCAAyB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;KACxD;IACD,CAAC,CAAC,6BAAkB,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,2BAAgB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AATD,gCASC;AAED,SAAgB,mBAAmB,CAEjC,CAAM,EACN,CAAS,EACT,OAAiC,EACjC,QAAgB,CAAC,EACjB,IAAa,EACb,SAAkB;IAElB,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,SAAS,GAAG,CAAC,CAAC;KACf;IACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,mCAAuB,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC,CAAC,kCAAsB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,wCAA4B,CAAC,GAAG,SAAS,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAU,EAAE,EAAE,CACzC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,EAAE,EACF,EAAE,EACF,OAAO,EACP,CAAC,CAAC,mCAAuB,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,kCAAsB,CAAC,EACzB,SAAS,CACV,CACF,CAAC;KACH;AACH,CAAC;AA5BD,kDA4BC","file":"data-key.js","sourcesContent":["import { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport type { BaseSeries } from '../../series/base/base-series';\nimport type { TreeMapSeries } from '../../series/treemap/treemap';\nimport type { AddVChartPropertyContext } from './add-property';\nimport {\n DEFAULT_HIERARCHY_DEPTH,\n DEFAULT_HIERARCHY_ROOT,\n DEFAULT_HIERARCHY_ROOT_INDEX\n} from '../../constant/hierarchy';\nimport type { SunburstSeries } from '../../series/sunburst/sunburst';\nimport type { CirclePackingSeries } from '../../series/circle-packing/circle-packing';\n\nexport const initKeyMap = () => {\n return { keyMap: new Map() };\n};\n\nexport function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddVChartPropertyContext) {\n if (!d) {\n return;\n }\n if (!this._seriesField) {\n d[DEFAULT_DATA_SERIES_FIELD] = this.getSeriesKeys()[0];\n }\n d[DEFAULT_DATA_INDEX] = i;\n d[DEFAULT_DATA_KEY] = this.generateDefaultDataKey(this._spec.dataKey, d, i, context);\n}\n\nexport function addHierarchyDataKey(\n this: TreeMapSeries | SunburstSeries | CirclePackingSeries,\n d: any,\n i: number,\n context: AddVChartPropertyContext,\n depth: number = 0,\n root?: string,\n rootIndex?: number\n) {\n if (rootIndex === undefined) {\n rootIndex = i;\n }\n addDataKey.bind(this)(d, i, context);\n d[DEFAULT_HIERARCHY_DEPTH] = depth;\n d[DEFAULT_HIERARCHY_ROOT] = root || d[this.getCategoryField()];\n d[DEFAULT_HIERARCHY_ROOT_INDEX] = rootIndex;\n if (d.children && d.children.length) {\n d.children.forEach((_d: any, _i: number) =>\n addHierarchyDataKey.bind(this)(\n _d,\n _i,\n context,\n d[DEFAULT_HIERARCHY_DEPTH] + 1,\n d[DEFAULT_HIERARCHY_ROOT],\n rootIndex\n )\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/dimension-data.ts"],"names":[],"mappings":";;;AAOO,MAAM,aAAa,GAAG,CAAC,IAAqB,EAAE,EAAqB,EAAE,EAAE;IAC5E,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IACD,MAAM,WAAW,GAAG,IAAI;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,OAAO,CAAC,CAAC,UAAU,CAAC;IACtB,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IACV,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,OAAO;QACL,eAAe;QACf,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEF,SAAS,MAAM,CAAC,IAAa,EAAE,MAAgB,EAAE,eAAuB;IACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5E,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAAa,EAAE,KAAa,EAAE,GAAgB;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACd;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc,EAAE,EAAoC;IAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AALD,8BAKC;AAED,SAAgB,gBAAgB,CAAC,IAAS,EAAE,MAAgB;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;QAC7B,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAVD,4CAUC","file":"dimension-data.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar';\nimport type { DataView } from '@visactor/vdataset';\n\nexport interface IDimensionTreeOpt {\n fields: string[];\n}\n\nexport const dimensionTree = (data: Array<DataView>, op: IDimensionTreeOpt) => {\n if (!op.fields) {\n return data;\n }\n const dataCollect = data\n .map(d => {\n return d.latestData;\n })\n .flat();\n const dimensionValues = {};\n return {\n dimensionValues,\n dimensionData: groups(dataCollect, op.fields, dimensionValues)\n };\n};\n\nfunction groups(data: Datum[], fields: string[], dimensionValues: object): any {\n if (fields.length === 0) {\n return data;\n }\n const first = fields[0];\n const _rest = fields.slice(1);\n dimensionValues[first] = new Set();\n return mapValues(groupBy(data, first, dimensionValues[first]), (value, key) => {\n return groups(value, _rest, dimensionValues);\n });\n}\n\nfunction groupBy(data: Datum[], field: string, set: Set<string>) {\n const groups = new Map();\n data.forEach(d => {\n const key = d[field];\n if (!groups.has(key)) {\n groups.set(key, []);\n set.add(key);\n }\n groups.get(key).push(d);\n });\n return Object.fromEntries(groups);\n}\n\nexport function mapValues(target: object, fn: (value: any, key: string) => any) {\n return Object.keys(target).reduce((result, key) => {\n result[key] = fn(target[key], key);\n return result;\n }, {});\n}\n\nexport function findDataInFields(data: any, fields: string[]): any {\n if (fields.length === 0) {\n return data;\n }\n const first = fields[0];\n const _rest = fields.slice(1);\n if (data[first] === undefined) {\n return undefined;\n }\n return findDataInFields(data[first], _rest);\n}\n\n/**\n *\n const data = [\n { type: \"circle\", color: \"red\", x: 10, y:100 },\n { type: \"circle\", color: \"blue\", x: 10, y:100 },\n { type: \"rect\", color: \"red\", x: 10, y:100 },\n { type: \"rect\", color: \"blue\", x: 10, y:100 },\n ]\n\n groups(data, [\"circle\", \"color\"])\n\n =====>\n {\n circle: {\n red:[{ type: \"circle\", color: \"red\", x: 10, y:100 }],\n blue:[{ type: \"circle\", color: \"blue\", x: 10, y:100 }]\n },\n rect:{\n red:[{ type: \"rect\", color: \"red\", x: 10, y:100 }],\n blue:[{ type: \"rect\", color: \"blue\", x: 10, y:100 }]\n }\n }\n */\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/dimension-data.ts"],"names":[],"mappings":";;;AAOO,MAAM,aAAa,GAAG,CAAC,IAAqB,EAAE,EAAqB,EAAE,EAAE;IAC5E,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IACD,MAAM,WAAW,GAAG,IAAI;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,OAAO,CAAC,CAAC,UAAU,CAAC;IACtB,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IACV,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,OAAO;QACL,eAAe;QACf,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEF,SAAS,MAAM,CAAC,IAAa,EAAE,MAAgB,EAAE,eAAuB;IACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5E,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAAa,EAAE,KAAa,EAAE,GAAgB;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACd;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc,EAAE,EAAoC;IAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AALD,8BAKC;AAED,SAAgB,gBAAgB,CAAC,IAAS,EAAE,MAAgB;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;QAC7B,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAVD,4CAUC","file":"dimension-data.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar';\nimport type { DataView } from '@visactor/vdataset';\n\nexport interface IDimensionTreeOpt {\n fields: string[];\n}\n\nexport const dimensionTree = (data: Array<DataView>, op: IDimensionTreeOpt) => {\n if (!op.fields) {\n return data;\n }\n const dataCollect = data\n .map(d => {\n return d.latestData;\n })\n .flat();\n const dimensionValues = {};\n return {\n dimensionValues,\n dimensionData: groups(dataCollect, op.fields, dimensionValues)\n };\n};\n\nfunction groups(data: Datum[], fields: string[], dimensionValues: object): any {\n if (fields.length === 0) {\n return data;\n }\n const first = fields[0];\n const _rest = fields.slice(1);\n dimensionValues[first] = new Set();\n return mapValues(groupBy(data, first, dimensionValues[first]), (value, key) => {\n return groups(value, _rest, dimensionValues);\n });\n}\n\nfunction groupBy(data: Datum[], field: string, set: Set<string>) {\n const groups = new Map();\n data.forEach(d => {\n const key = d[field];\n if (!groups.has(key)) {\n groups.set(key, []);\n set.add(key);\n }\n groups.get(key).push(d);\n });\n return Object.fromEntries(groups);\n}\n\nexport function mapValues(target: object, fn: (value: any, key: string) => any) {\n return Object.keys(target).reduce((result, key) => {\n result[key] = fn(target[key], key);\n return result;\n }, {});\n}\n\nexport function findDataInFields(data: any, fields: string[]): any {\n if (fields.length === 0) {\n return data;\n }\n const first = fields[0];\n const _rest = fields.slice(1);\n if (data[first] === undefined) {\n return undefined;\n }\n return findDataInFields(data[first], _rest);\n}\n\n/**\n *\n const data = [\n { type: \"circle\", color: \"red\", x: 10, y:100 },\n { type: \"circle\", color: \"blue\", x: 10, y:100 },\n { type: \"rect\", color: \"red\", x: 10, y:100 },\n { type: \"rect\", color: \"blue\", x: 10, y:100 },\n ]\n\n groups(data, [\"circle\", \"color\"])\n\n =====>\n {\n circle: {\n red:[{ type: \"circle\", color: \"red\", x: 10, y:100 }],\n blue:[{ type: \"circle\", color: \"blue\", x: 10, y:100 }]\n },\n rect:{\n red:[{ type: \"rect\", color: \"red\", x: 10, y:100 }],\n blue:[{ type: \"rect\", color: \"blue\", x: 10, y:100 }]\n }\n }\n */\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/dimension-statistics.ts"],"names":[],"mappings":"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","file":"dimension-statistics.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IFieldsMeta } from '../../typings/spec';\nimport { couldBeValidNumber, isFunction } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\n\nexport const StatisticsDefault = {\n min: () => Number.MAX_VALUE,\n max: () => Number.MIN_VALUE,\n values: () => new Set(),\n //计算数组形式的data中的最大最小值\n 'array-min': () => Number.MAX_VALUE,\n 'array-max': () => Number.MIN_VALUE\n};\nexport const StatisticsValueTransform = {\n min: (v: any) => (v === StatisticsDefault.min() ? 0 : v),\n max: (v: any) => (v === StatisticsDefault.max() ? 0 : v),\n values: (v: Set<string>) => Array.from(v),\n //计算数组形式的data中的最大最小值\n 'array-min': (v: any) => (v === StatisticsDefault.min() ? 0 : v),\n 'array-max': (v: any) => (v === StatisticsDefault.max() ? 0 : v)\n};\n\nfunction StatisticsMin(last: any, value: any) {\n if (!couldBeValidNumber(value)) {\n return last;\n }\n return Math.min(last, value);\n}\nfunction StatisticsMax(last: any, value: any) {\n if (!couldBeValidNumber(value)) {\n return last;\n }\n return Math.max(last, value);\n}\n\nfunction StatisticsArrayMin(last: any, valueArr: any) {\n const filteredValueArr = (valueArr ?? []).filter((v: any) => couldBeValidNumber(v));\n if (filteredValueArr.length === 0) {\n return last;\n }\n return Math.min(last, ...filteredValueArr);\n}\n\nfunction StatisticsArrayMax(last: any, valueArr: any) {\n const filteredValueArr = (valueArr ?? []).filter((v: any) => couldBeValidNumber(v));\n if (filteredValueArr.length === 0) {\n return last;\n }\n return Math.max(last, ...filteredValueArr);\n}\n\nfunction StatisticsValues(last: Set<string>, value: any) {\n if (value === undefined) {\n return last;\n }\n if (last.has(value)) {\n return last;\n }\n last.add(value);\n return last;\n}\n\nexport const StatisticsMethod = {\n min: StatisticsMin,\n max: StatisticsMax,\n values: StatisticsValues,\n //计算数组形式的data中的最大最小值\n 'array-min': StatisticsArrayMin,\n 'array-max': StatisticsArrayMax\n};\n\nexport type StatisticOperations = Array<'max' | 'min' | 'values' | 'array-max' | 'array-min'>;\n\nexport interface IStatisticsOption {\n fields: {\n key: string;\n operations: StatisticOperations;\n customize?: { max: number; min: number } | any[];\n }[];\n // operations: Array<'max' | 'min' | 'values'>;\n target?: 'parser' | 'latest';\n}\n\n/**\n * 聚合统计主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const dimensionStatistics = (data: Array<DataView>, op: IStatisticsOption) => {\n const result = {};\n // const operations = op.operations;\n let fields = op.fields;\n if (isFunction(fields)) {\n fields = fields();\n }\n if (!fields?.length || !data?.length) {\n return result;\n }\n\n const dataKey = op.target === 'parser' ? 'parserData' : 'latestData';\n const latestData = data[0][dataKey] ? data[0][dataKey] : data || [];\n const dataFields = data[0].getFields?.() as Record<\n /** 字段key */\n string,\n IFieldsMeta\n >;\n fields.forEach(f => {\n result[f.key] = {};\n const dataFiledInKey = dataFields?.[f.key];\n // default value\n f.operations.forEach(op => {\n // @chensij 如果指定了计算的domain结果,则忽略计算(目前该逻辑仅在dot series中维护,因为dot series期望在filter data之后x轴改变domain,y轴不改变domain)\n if (f.customize) {\n result[f.key][op] = f.customize;\n } else {\n if (dataFiledInKey && dataFiledInKey.lockStatisticsByDomain && !isNil(dataFiledInKey.domain)) {\n if (op === 'min') {\n result[f.key][op] = Math.min(...(dataFiledInKey.domain as number[]));\n return;\n }\n if (op === 'max') {\n result[f.key][op] = Math.max(...(dataFiledInKey.domain as number[]));\n return;\n }\n if (op === 'values') {\n result[f.key][op] = [...dataFiledInKey.domain];\n return;\n }\n }\n result[f.key][op] = StatisticsDefault[op]();\n\n latestData.forEach((d: any) => {\n const value = d?.[f.key];\n result[f.key][op] = StatisticsMethod[op](result[f.key][op], value);\n });\n result[f.key][op] = StatisticsValueTransform[op](result[f.key][op]);\n if (op === 'array-max') {\n result[f.key].max = result[f.key][op];\n }\n if (op === 'array-min') {\n result[f.key].min = result[f.key][op];\n }\n }\n });\n });\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/dimension-statistics.ts"],"names":[],"mappings":"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","file":"dimension-statistics.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IFieldsMeta } from '../../typings/spec';\nimport { couldBeValidNumber, isFunction } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\n\nexport const StatisticsDefault = {\n min: () => Number.MAX_VALUE,\n max: () => Number.MIN_VALUE,\n values: () => new Set(),\n //计算数组形式的data中的最大最小值\n 'array-min': () => Number.MAX_VALUE,\n 'array-max': () => Number.MIN_VALUE\n};\nexport const StatisticsValueTransform = {\n min: (v: any) => (v === StatisticsDefault.min() ? 0 : v),\n max: (v: any) => (v === StatisticsDefault.max() ? 0 : v),\n values: (v: Set<string>) => Array.from(v),\n //计算数组形式的data中的最大最小值\n 'array-min': (v: any) => (v === StatisticsDefault.min() ? 0 : v),\n 'array-max': (v: any) => (v === StatisticsDefault.max() ? 0 : v)\n};\n\nfunction StatisticsMin(last: any, value: any) {\n if (!couldBeValidNumber(value)) {\n return last;\n }\n return Math.min(last, value);\n}\nfunction StatisticsMax(last: any, value: any) {\n if (!couldBeValidNumber(value)) {\n return last;\n }\n return Math.max(last, value);\n}\n\nfunction StatisticsArrayMin(last: any, valueArr: any) {\n const filteredValueArr = (valueArr ?? []).filter((v: any) => couldBeValidNumber(v));\n if (filteredValueArr.length === 0) {\n return last;\n }\n return Math.min(last, ...filteredValueArr);\n}\n\nfunction StatisticsArrayMax(last: any, valueArr: any) {\n const filteredValueArr = (valueArr ?? []).filter((v: any) => couldBeValidNumber(v));\n if (filteredValueArr.length === 0) {\n return last;\n }\n return Math.max(last, ...filteredValueArr);\n}\n\nfunction StatisticsValues(last: Set<string>, value: any) {\n if (value === undefined) {\n return last;\n }\n if (last.has(value)) {\n return last;\n }\n last.add(value);\n return last;\n}\n\nexport const StatisticsMethod = {\n min: StatisticsMin,\n max: StatisticsMax,\n values: StatisticsValues,\n //计算数组形式的data中的最大最小值\n 'array-min': StatisticsArrayMin,\n 'array-max': StatisticsArrayMax\n};\n\nexport type StatisticOperations = Array<'max' | 'min' | 'values' | 'array-max' | 'array-min'>;\n\nexport interface IStatisticsOption {\n fields: {\n key: string;\n operations: StatisticOperations;\n customize?: { max: number; min: number } | any[];\n }[];\n // operations: Array<'max' | 'min' | 'values'>;\n target?: 'parser' | 'latest';\n}\n\n/**\n * 聚合统计主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const dimensionStatistics = (data: Array<DataView>, op: IStatisticsOption) => {\n const result = {};\n // const operations = op.operations;\n let fields = op.fields;\n if (isFunction(fields)) {\n fields = fields();\n }\n if (!fields?.length || !data?.length) {\n return result;\n }\n\n const dataKey = op.target === 'parser' ? 'parserData' : 'latestData';\n const latestData = data[0][dataKey] ? data[0][dataKey] : data || [];\n const dataFields = data[0].getFields?.() as Record<\n /** 字段key */\n string,\n IFieldsMeta\n >;\n fields.forEach(f => {\n result[f.key] = {};\n const dataFiledInKey = dataFields?.[f.key];\n // default value\n f.operations.forEach(op => {\n // @chensij 如果指定了计算的domain结果,则忽略计算(目前该逻辑仅在dot series中维护,因为dot series期望在filter data之后x轴改变domain,y轴不改变domain)\n if (f.customize) {\n result[f.key][op] = f.customize;\n } else {\n if (dataFiledInKey && dataFiledInKey.lockStatisticsByDomain && !isNil(dataFiledInKey.domain)) {\n if (op === 'min') {\n result[f.key][op] = Math.min(...(dataFiledInKey.domain as number[]));\n return;\n }\n if (op === 'max') {\n result[f.key][op] = Math.max(...(dataFiledInKey.domain as number[]));\n return;\n }\n if (op === 'values') {\n result[f.key][op] = [...dataFiledInKey.domain];\n return;\n }\n }\n result[f.key][op] = StatisticsDefault[op]();\n\n latestData.forEach((d: any) => {\n const value = d?.[f.key];\n result[f.key][op] = StatisticsMethod[op](result[f.key][op], value);\n });\n result[f.key][op] = StatisticsValueTransform[op](result[f.key][op]);\n if (op === 'array-max') {\n result[f.key].max = result[f.key][op];\n }\n if (op === 'array-min') {\n result[f.key].min = result[f.key][op];\n }\n }\n });\n });\n return result;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/drill.ts"],"names":[],"mappings":";;;AACA,qCAAsF;AAGtF,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,gCAAmB,CAAA;AACrB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAWM,MAAM,WAAW,GAAG,CACzB,IAAkB,EAClB,EAGC,EACD,EAAE;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC;IAE1B,IAAI,IAAA,YAAK,EAAC,OAAO,CAAC,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE;QACrC,MAAM,UAAU,GAAG,IAAA,wBAAiB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,IAAA,YAAK,EAAC,UAAU,CAAC,CAAC;KAC1B;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE;QACnC,MAAM,UAAU,GAAG,IAAA,8BAAuB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,UAAU,EAAE;YACd,OAAO,IAAA,YAAK,EAAC,UAAU,CAAC,CAAC;SAC1B;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9BW,QAAA,WAAW,eA8BtB","file":"drill.js","sourcesContent":["import type { Datum } from '../../typings';\nimport { array, findHierarchyNode, findHierarchyNodeParent, isNil } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\n\nexport enum DrillEnum {\n DrillDown = 'drillDown',\n DrillUp = 'drillUp'\n}\n\nexport type DrillInfo = {\n key: string;\n type: DrillEnum;\n path: string[];\n};\n\n/**\n * 通用的上卷下钻的数据过滤方法.\n */\nexport const drillFilter = (\n data: Array<Datum>,\n op: {\n info: () => DrillInfo;\n keyField: () => string;\n }\n) => {\n // 根据key找到节点\n const info = op.info();\n const keyField = op.keyField();\n const dataKey = info?.key;\n\n if (isNil(dataKey)) {\n return data;\n }\n\n // 下钻, 找到当前选中节点\n if (info.type === DrillEnum.DrillDown) {\n const targetNode = findHierarchyNode(data, dataKey, keyField, 'children');\n return array(targetNode);\n }\n\n // 上卷, 找到当前选中节点的父节点\n if (info.type === DrillEnum.DrillUp) {\n const targetNode = findHierarchyNodeParent(data, dataKey, keyField, 'children');\n if (targetNode) {\n return array(targetNode);\n }\n }\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/drill.ts"],"names":[],"mappings":";;;AACA,qCAAsF;AAGtF,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,gCAAmB,CAAA;AACrB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAWM,MAAM,WAAW,GAAG,CACzB,IAAkB,EAClB,EAGC,EACD,EAAE;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC;IAE1B,IAAI,IAAA,YAAK,EAAC,OAAO,CAAC,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE;QACrC,MAAM,UAAU,GAAG,IAAA,wBAAiB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,IAAA,YAAK,EAAC,UAAU,CAAC,CAAC;KAC1B;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE;QACnC,MAAM,UAAU,GAAG,IAAA,8BAAuB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,UAAU,EAAE;YACd,OAAO,IAAA,YAAK,EAAC,UAAU,CAAC,CAAC;SAC1B;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9BW,QAAA,WAAW,eA8BtB","file":"drill.js","sourcesContent":["import type { Datum } from '../../typings';\nimport { array, findHierarchyNode, findHierarchyNodeParent, isNil } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\n\nexport enum DrillEnum {\n DrillDown = 'drillDown',\n DrillUp = 'drillUp'\n}\n\nexport type DrillInfo = {\n key: string;\n type: DrillEnum;\n path: string[];\n};\n\n/**\n * 通用的上卷下钻的数据过滤方法.\n */\nexport const drillFilter = (\n data: Array<Datum>,\n op: {\n info: () => DrillInfo;\n keyField: () => string;\n }\n) => {\n // 根据key找到节点\n const info = op.info();\n const keyField = op.keyField();\n const dataKey = info?.key;\n\n if (isNil(dataKey)) {\n return data;\n }\n\n // 下钻, 找到当前选中节点\n if (info.type === DrillEnum.DrillDown) {\n const targetNode = findHierarchyNode(data, dataKey, keyField, 'children');\n return array(targetNode);\n }\n\n // 上卷, 找到当前选中节点的父节点\n if (info.type === DrillEnum.DrillUp) {\n const targetNode = findHierarchyNodeParent(data, dataKey, keyField, 'children');\n if (targetNode) {\n return array(targetNode);\n }\n }\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/flatten.ts"],"names":[],"mappings":";;;AAAA,qEAA4D;AAarD,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAE,KAAkB,EAAE,EAAE,EAAE;IAClE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,MAAM,GAAG,EAA0B,CAAC;IAC1C,IAAA,iCAAY,EAAC,IAAuC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AARW,QAAA,OAAO,WAQlB","file":"flatten.js","sourcesContent":["import { flattenNodes } from '@visactor/vgrammar-hierarchy';\nimport type { Datum } from '../../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TreemapNodeElement, SunburstNodeElement } from '@visactor/vgrammar-hierarchy';\n\nexport type FlattenNodeElement = TreemapNodeElement | SunburstNodeElement;\n\nexport interface IFlattenOpt {\n output?: Datum[];\n maxDepth?: number;\n callback?: <T>(node: FlattenNodeElement) => T;\n}\n\nexport const flatten = (data: Array<Datum>, op: IFlattenOpt = {}) => {\n if (!data) {\n return [];\n }\n\n const result = [] as FlattenNodeElement[];\n flattenNodes(data as unknown as FlattenNodeElement[], result, op);\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/flatten.ts"],"names":[],"mappings":";;;AAAA,qEAA4D;AAarD,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAE,KAAkB,EAAE,EAAE,EAAE;IAClE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,MAAM,GAAG,EAA0B,CAAC;IAC1C,IAAA,iCAAY,EAAC,IAAuC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AARW,QAAA,OAAO,WAQlB","file":"flatten.js","sourcesContent":["import { flattenNodes } from '@visactor/vgrammar-hierarchy';\nimport type { Datum } from '../../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TreemapNodeElement, SunburstNodeElement } from '@visactor/vgrammar-hierarchy';\n\nexport type FlattenNodeElement = TreemapNodeElement | SunburstNodeElement;\n\nexport interface IFlattenOpt {\n output?: Datum[];\n maxDepth?: number;\n callback?: <T>(node: FlattenNodeElement) => T;\n}\n\nexport const flatten = (data: Array<Datum>, op: IFlattenOpt = {}) => {\n if (!data) {\n return [];\n }\n\n const result = [] as FlattenNodeElement[];\n flattenNodes(data as unknown as FlattenNodeElement[], result, op);\n return result;\n};\n"]}