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

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 (1670) hide show
  1. package/README.md +6 -0
  2. package/build/index.js +16050 -16474
  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 +2 -2
  11. package/cjs/animation/utils.js.map +1 -1
  12. package/cjs/chart/area/area.js.map +1 -1
  13. package/cjs/chart/area/index.js.map +1 -1
  14. package/cjs/chart/area/interface.js.map +1 -1
  15. package/cjs/chart/bar/bar.js.map +1 -1
  16. package/cjs/chart/bar/index.js.map +1 -1
  17. package/cjs/chart/bar/interface.js.map +1 -1
  18. package/cjs/chart/base-chart.js +3 -1
  19. package/cjs/chart/base-chart.js.map +1 -1
  20. package/cjs/chart/boxplot/boxPlot.js.map +1 -1
  21. package/cjs/chart/boxplot/index.js.map +1 -1
  22. package/cjs/chart/boxplot/interface.js.map +1 -1
  23. package/cjs/chart/cartesian/cartesian.js +7 -2
  24. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  25. package/cjs/chart/cartesian/interface.js.map +1 -1
  26. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  27. package/cjs/chart/circle-packing/index.js.map +1 -1
  28. package/cjs/chart/circle-packing/interface.js.map +1 -1
  29. package/cjs/chart/common/common.js.map +1 -1
  30. package/cjs/chart/common/index.js.map +1 -1
  31. package/cjs/chart/common/interface.js.map +1 -1
  32. package/cjs/chart/funnel/funnel.js.map +1 -1
  33. package/cjs/chart/funnel/index.js.map +1 -1
  34. package/cjs/chart/funnel/interface.js.map +1 -1
  35. package/cjs/chart/gauge/gauge.js.map +1 -1
  36. package/cjs/chart/gauge/index.js.map +1 -1
  37. package/cjs/chart/gauge/interface.js.map +1 -1
  38. package/cjs/chart/heatmap/heatmap.js +5 -3
  39. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  40. package/cjs/chart/heatmap/index.js.map +1 -1
  41. package/cjs/chart/heatmap/interface.js.map +1 -1
  42. package/cjs/chart/histogram/histogram.js.map +1 -1
  43. package/cjs/chart/histogram/index.js.map +1 -1
  44. package/cjs/chart/histogram/interface.js.map +1 -1
  45. package/cjs/chart/index.js.map +1 -1
  46. package/cjs/chart/interface/chart.js.map +1 -1
  47. package/cjs/chart/interface/common.js.map +1 -1
  48. package/cjs/chart/interface/index.js.map +1 -1
  49. package/cjs/chart/interface/type.js.map +1 -1
  50. package/cjs/chart/line/index.js.map +1 -1
  51. package/cjs/chart/line/interface.js.map +1 -1
  52. package/cjs/chart/line/line.js.map +1 -1
  53. package/cjs/chart/map/index.js.map +1 -1
  54. package/cjs/chart/map/interface.js.map +1 -1
  55. package/cjs/chart/map/map.js.map +1 -1
  56. package/cjs/chart/pie/index.js.map +1 -1
  57. package/cjs/chart/pie/interface.js.map +1 -1
  58. package/cjs/chart/pie/pie.d.ts +1 -0
  59. package/cjs/chart/pie/pie.js +5 -0
  60. package/cjs/chart/pie/pie.js.map +1 -1
  61. package/cjs/chart/polar/interface.js.map +1 -1
  62. package/cjs/chart/polar/polar.js.map +1 -1
  63. package/cjs/chart/polar/progress-like.js.map +1 -1
  64. package/cjs/chart/polar/rose-like.js.map +1 -1
  65. package/cjs/chart/progress/circular/circular.js.map +1 -1
  66. package/cjs/chart/progress/circular/index.js.map +1 -1
  67. package/cjs/chart/progress/circular/interface.js.map +1 -1
  68. package/cjs/chart/progress/interface.js.map +1 -1
  69. package/cjs/chart/progress/linear/index.js.map +1 -1
  70. package/cjs/chart/progress/linear/interface.js.map +1 -1
  71. package/cjs/chart/progress/linear/linear.js.map +1 -1
  72. package/cjs/chart/radar/index.js.map +1 -1
  73. package/cjs/chart/radar/interface.js.map +1 -1
  74. package/cjs/chart/radar/radar.js.map +1 -1
  75. package/cjs/chart/range-area/index.js.map +1 -1
  76. package/cjs/chart/range-area/interface.js.map +1 -1
  77. package/cjs/chart/range-area/range-area.js.map +1 -1
  78. package/cjs/chart/range-column/index.js.map +1 -1
  79. package/cjs/chart/range-column/interface.js.map +1 -1
  80. package/cjs/chart/range-column/rangeColumn.js.map +1 -1
  81. package/cjs/chart/rose/index.js.map +1 -1
  82. package/cjs/chart/rose/interface.js.map +1 -1
  83. package/cjs/chart/rose/rose.js.map +1 -1
  84. package/cjs/chart/sankey/index.js.map +1 -1
  85. package/cjs/chart/sankey/interface.js.map +1 -1
  86. package/cjs/chart/sankey/sankey.js.map +1 -1
  87. package/cjs/chart/scatter/index.js.map +1 -1
  88. package/cjs/chart/scatter/interface.js.map +1 -1
  89. package/cjs/chart/scatter/scatter.js.map +1 -1
  90. package/cjs/chart/sequence/index.js.map +1 -1
  91. package/cjs/chart/sequence/interface.js.map +1 -1
  92. package/cjs/chart/sequence/sequence.js.map +1 -1
  93. package/cjs/chart/stack.js.map +1 -1
  94. package/cjs/chart/sunburst/index.js.map +1 -1
  95. package/cjs/chart/sunburst/interface.js.map +1 -1
  96. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  97. package/cjs/chart/treemap/index.js.map +1 -1
  98. package/cjs/chart/treemap/interface.js.map +1 -1
  99. package/cjs/chart/treemap/treemap.js.map +1 -1
  100. package/cjs/chart/waterfall/index.js.map +1 -1
  101. package/cjs/chart/waterfall/interface.js.map +1 -1
  102. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  103. package/cjs/chart/word-cloud/index.js.map +1 -1
  104. package/cjs/chart/word-cloud/interface.d.ts +5 -1
  105. package/cjs/chart/word-cloud/interface.js.map +1 -1
  106. package/cjs/chart/word-cloud/word-cloud.d.ts +3 -2
  107. package/cjs/chart/word-cloud/word-cloud.js +42 -15
  108. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  109. package/cjs/compile/compilable-base.js.map +1 -1
  110. package/cjs/compile/compiler.d.ts +3 -2
  111. package/cjs/compile/compiler.js +11 -8
  112. package/cjs/compile/compiler.js.map +1 -1
  113. package/cjs/compile/data/compilable-data.d.ts +1 -1
  114. package/cjs/compile/data/compilable-data.js.map +1 -1
  115. package/cjs/compile/data/index.js.map +1 -1
  116. package/cjs/compile/data/interface.js.map +1 -1
  117. package/cjs/compile/grammar-item.js.map +1 -1
  118. package/cjs/compile/interface/compilable-item.d.ts +1 -2
  119. package/cjs/compile/interface/compilable-item.js.map +1 -1
  120. package/cjs/compile/interface/compiler.d.ts +1 -0
  121. package/cjs/compile/interface/compiler.js.map +1 -1
  122. package/cjs/compile/interface/index.js.map +1 -1
  123. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  124. package/cjs/compile/mark/compilable-mark.js +1 -1
  125. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  126. package/cjs/compile/mark/index.js.map +1 -1
  127. package/cjs/compile/mark/interface.d.ts +1 -0
  128. package/cjs/compile/mark/interface.js.map +1 -1
  129. package/cjs/compile/mark/mark-data.js.map +1 -1
  130. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  131. package/cjs/compile/mark/util.js.map +1 -1
  132. package/cjs/compile/signal/compilable-signal.js.map +1 -1
  133. package/cjs/compile/signal/index.js.map +1 -1
  134. package/cjs/compile/signal/interface.js.map +1 -1
  135. package/cjs/compile/signal/signal-manager.js.map +1 -1
  136. package/cjs/compile/signal/state-manager.d.ts +1 -1
  137. package/cjs/compile/signal/state-manager.js.map +1 -1
  138. package/cjs/compile/util.js.map +1 -1
  139. package/cjs/component/axis/base-axis.d.ts +0 -1
  140. package/cjs/component/axis/base-axis.js +2 -11
  141. package/cjs/component/axis/base-axis.js.map +1 -1
  142. package/cjs/component/axis/cartesian/axis.d.ts +11 -0
  143. package/cjs/component/axis/cartesian/axis.js +64 -16
  144. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  145. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  146. package/cjs/component/axis/cartesian/config.js.map +1 -1
  147. package/cjs/component/axis/cartesian/index.js.map +1 -1
  148. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -5
  149. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  150. package/cjs/component/axis/cartesian/interface/index.js.map +1 -1
  151. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -4
  152. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  153. package/cjs/component/axis/cartesian/interface/theme.d.ts +10 -13
  154. package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
  155. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  156. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  157. package/cjs/component/axis/cartesian/util/common.d.ts +4 -4
  158. package/cjs/component/axis/cartesian/util/common.js +12 -15
  159. package/cjs/component/axis/cartesian/util/common.js.map +1 -1
  160. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  161. package/cjs/component/axis/cartesian/util/time.js.map +1 -1
  162. package/cjs/component/axis/index.js.map +1 -1
  163. package/cjs/component/axis/interface.d.ts +10 -17
  164. package/cjs/component/axis/interface.js.map +1 -1
  165. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  166. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  167. package/cjs/component/axis/polar/axis.js.map +1 -1
  168. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  169. package/cjs/component/axis/polar/config.js.map +1 -1
  170. package/cjs/component/axis/polar/index.js.map +1 -1
  171. package/cjs/component/axis/polar/interface/common.d.ts +1 -4
  172. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  173. package/cjs/component/axis/polar/interface/index.js.map +1 -1
  174. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  175. package/cjs/component/axis/polar/interface/theme.d.ts +9 -12
  176. package/cjs/component/axis/polar/interface/theme.js.map +1 -1
  177. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  178. package/cjs/component/axis/utils.d.ts +5 -1
  179. package/cjs/component/axis/utils.js +20 -4
  180. package/cjs/component/axis/utils.js.map +1 -1
  181. package/cjs/component/base/base-component.js.map +1 -1
  182. package/cjs/component/base/index.js.map +1 -1
  183. package/cjs/component/base/util.js +3 -4
  184. package/cjs/component/base/util.js.map +1 -1
  185. package/cjs/component/brush/brush.d.ts +0 -1
  186. package/cjs/component/brush/brush.js +7 -10
  187. package/cjs/component/brush/brush.js.map +1 -1
  188. package/cjs/component/brush/index.js.map +1 -1
  189. package/cjs/component/brush/interface.d.ts +10 -8
  190. package/cjs/component/brush/interface.js.map +1 -1
  191. package/cjs/component/common/trigger/config.js.map +1 -1
  192. package/cjs/component/common/trigger/desktop.js.map +1 -1
  193. package/cjs/component/common/trigger/interface.js.map +1 -1
  194. package/cjs/component/common/trigger/mobile.js.map +1 -1
  195. package/cjs/component/crosshair/base.d.ts +0 -1
  196. package/cjs/component/crosshair/base.js +7 -15
  197. package/cjs/component/crosshair/base.js.map +1 -1
  198. package/cjs/component/crosshair/cartesian.js.map +1 -1
  199. package/cjs/component/crosshair/config.d.ts +0 -2
  200. package/cjs/component/crosshair/config.js +2 -4
  201. package/cjs/component/crosshair/config.js.map +1 -1
  202. package/cjs/component/crosshair/index.js.map +1 -1
  203. package/cjs/component/crosshair/interface/index.js.map +1 -1
  204. package/cjs/component/crosshair/interface/spec.d.ts +3 -3
  205. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  206. package/cjs/component/crosshair/interface/theme.d.ts +2 -4
  207. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  208. package/cjs/component/crosshair/polar.js.map +1 -1
  209. package/cjs/component/crosshair/util.d.ts +0 -4
  210. package/cjs/component/crosshair/util.js +3 -12
  211. package/cjs/component/crosshair/util.js.map +1 -1
  212. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  213. package/cjs/component/custom-mark/index.js.map +1 -1
  214. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  215. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  216. package/cjs/component/data-zoom/data-zoom/index.js.map +1 -1
  217. package/cjs/component/data-zoom/data-zoom/interface.d.ts +5 -1
  218. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  219. package/cjs/component/data-zoom/index.js.map +1 -1
  220. package/cjs/component/data-zoom/interface.js.map +1 -1
  221. package/cjs/component/data-zoom/scroll-bar/index.js.map +1 -1
  222. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +7 -1
  223. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  224. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  225. package/cjs/component/data-zoom/util.js.map +1 -1
  226. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  227. package/cjs/component/geo/interface.js.map +1 -1
  228. package/cjs/component/geo/projection.js.map +1 -1
  229. package/cjs/component/index.js.map +1 -1
  230. package/cjs/component/indicator/indicator.d.ts +0 -1
  231. package/cjs/component/indicator/indicator.js +3 -12
  232. package/cjs/component/indicator/indicator.js.map +1 -1
  233. package/cjs/component/indicator/interface.d.ts +1 -5
  234. package/cjs/component/indicator/interface.js.map +1 -1
  235. package/cjs/component/indicator/util.js +2 -2
  236. package/cjs/component/indicator/util.js.map +1 -1
  237. package/cjs/component/interface/common.js.map +1 -1
  238. package/cjs/component/interface/index.js.map +1 -1
  239. package/cjs/component/interface/tooltip-helper.js.map +1 -1
  240. package/cjs/component/interface/type.js.map +1 -1
  241. package/cjs/component/label/bar.d.ts +1 -3
  242. package/cjs/component/label/bar.js +2 -4
  243. package/cjs/component/label/bar.js.map +1 -1
  244. package/cjs/component/label/index.js.map +1 -1
  245. package/cjs/component/label/interface.d.ts +2 -2
  246. package/cjs/component/label/interface.js.map +1 -1
  247. package/cjs/component/label/label.d.ts +56 -0
  248. package/cjs/component/label/label.js +4 -2
  249. package/cjs/component/label/label.js.map +1 -1
  250. package/cjs/component/label/symbol.js.map +1 -1
  251. package/cjs/component/label/util.js +1 -7
  252. package/cjs/component/label/util.js.map +1 -1
  253. package/cjs/component/legend/base-legend.d.ts +0 -1
  254. package/cjs/component/legend/base-legend.js +2 -4
  255. package/cjs/component/legend/base-legend.js.map +1 -1
  256. package/cjs/component/legend/continuous/index.js.map +1 -1
  257. package/cjs/component/legend/continuous/interface.d.ts +1 -6
  258. package/cjs/component/legend/continuous/interface.js.map +1 -1
  259. package/cjs/component/legend/continuous/legend.js +1 -1
  260. package/cjs/component/legend/continuous/legend.js.map +1 -1
  261. package/cjs/component/legend/continuous/util.js.map +1 -1
  262. package/cjs/component/legend/discrete/index.js.map +1 -1
  263. package/cjs/component/legend/discrete/interface.d.ts +1 -5
  264. package/cjs/component/legend/discrete/interface.js.map +1 -1
  265. package/cjs/component/legend/discrete/legend.js +17 -16
  266. package/cjs/component/legend/discrete/legend.js.map +1 -1
  267. package/cjs/component/legend/discrete/util.js.map +1 -1
  268. package/cjs/component/legend/index.js.map +1 -1
  269. package/cjs/component/legend/interface.d.ts +1 -1
  270. package/cjs/component/legend/interface.js.map +1 -1
  271. package/cjs/component/legend/util.js.map +1 -1
  272. package/cjs/component/map-label/component.js.map +1 -1
  273. package/cjs/component/map-label/config.js.map +1 -1
  274. package/cjs/component/map-label/index.js.map +1 -1
  275. package/cjs/component/map-label/interface.d.ts +2 -2
  276. package/cjs/component/map-label/interface.js.map +1 -1
  277. package/cjs/component/map-label/layout.js.map +1 -1
  278. package/cjs/component/marker/base-marker.d.ts +0 -1
  279. package/cjs/component/marker/base-marker.js +0 -3
  280. package/cjs/component/marker/base-marker.js.map +1 -1
  281. package/cjs/component/marker/interface.js.map +1 -1
  282. package/cjs/component/marker/mark-area/interface/index.js.map +1 -1
  283. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  284. package/cjs/component/marker/mark-area/interface/theme.d.ts +2 -2
  285. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  286. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  287. package/cjs/component/marker/mark-line/interface/index.js.map +1 -1
  288. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  289. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  290. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  291. package/cjs/component/marker/mark-point/interface/index.js.map +1 -1
  292. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  293. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  294. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  295. package/cjs/component/marker/utils.js.map +1 -1
  296. package/cjs/component/player/index.js.map +1 -1
  297. package/cjs/component/player/interface/index.js.map +1 -1
  298. package/cjs/component/player/interface/spec.js.map +1 -1
  299. package/cjs/component/player/interface/theme.js.map +1 -1
  300. package/cjs/component/player/player.d.ts +0 -1
  301. package/cjs/component/player/player.js +1 -4
  302. package/cjs/component/player/player.js.map +1 -1
  303. package/cjs/component/player/utils/index.js.map +1 -1
  304. package/cjs/component/player/utils/orient.js.map +1 -1
  305. package/cjs/component/player/utils/transform.js.map +1 -1
  306. package/cjs/component/title/index.js.map +1 -1
  307. package/cjs/component/title/interface/index.js.map +1 -1
  308. package/cjs/component/title/interface/spec.d.ts +0 -4
  309. package/cjs/component/title/interface/spec.js.map +1 -1
  310. package/cjs/component/title/interface/theme.d.ts +2 -2
  311. package/cjs/component/title/interface/theme.js.map +1 -1
  312. package/cjs/component/title/title.d.ts +0 -1
  313. package/cjs/component/title/title.js +3 -10
  314. package/cjs/component/title/title.js.map +1 -1
  315. package/cjs/component/title/utils.d.ts +0 -1
  316. package/cjs/component/title/utils.js +2 -9
  317. package/cjs/component/title/utils.js.map +1 -1
  318. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  319. package/cjs/component/tooltip/handler/base.js +11 -12
  320. package/cjs/component/tooltip/handler/base.js.map +1 -1
  321. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
  322. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -3
  323. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  324. package/cjs/component/tooltip/handler/canvas/index.js.map +1 -1
  325. package/cjs/component/tooltip/handler/constants.d.ts +4 -0
  326. package/cjs/component/tooltip/handler/constants.js +7 -2
  327. package/cjs/component/tooltip/handler/constants.js.map +1 -1
  328. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
  329. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +3 -2
  330. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  331. package/cjs/component/tooltip/handler/dom/index.js.map +1 -1
  332. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  333. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  334. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  335. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  336. package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
  337. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  338. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  339. package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  340. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  341. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  342. package/cjs/component/tooltip/handler/dom/utils/style.js +3 -3
  343. package/cjs/component/tooltip/handler/dom/utils/style.js.map +1 -1
  344. package/cjs/component/tooltip/handler/index.js.map +1 -1
  345. package/cjs/component/tooltip/handler/interface/cache.js.map +1 -1
  346. package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
  347. package/cjs/component/tooltip/handler/interface/style.js.map +1 -1
  348. package/cjs/component/tooltip/handler/utils/attribute.js +4 -5
  349. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  350. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  351. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  352. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  353. package/cjs/component/tooltip/handler/utils/index.js.map +1 -1
  354. package/cjs/component/tooltip/handler/utils/pattern.js.map +1 -1
  355. package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
  356. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  357. package/cjs/component/tooltip/handler/utils/style.js +11 -7
  358. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  359. package/cjs/component/tooltip/index.js.map +1 -1
  360. package/cjs/component/tooltip/interface/common.js.map +1 -1
  361. package/cjs/component/tooltip/interface/index.js.map +1 -1
  362. package/cjs/component/tooltip/interface/spec.d.ts +5 -6
  363. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  364. package/cjs/component/tooltip/interface/theme.d.ts +6 -0
  365. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  366. package/cjs/component/tooltip/processor/base.d.ts +2 -4
  367. package/cjs/component/tooltip/processor/base.js +5 -5
  368. package/cjs/component/tooltip/processor/base.js.map +1 -1
  369. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  370. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  371. package/cjs/component/tooltip/processor/index.js.map +1 -1
  372. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  373. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  374. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  375. package/cjs/component/tooltip/processor/util.js.map +1 -1
  376. package/cjs/component/tooltip/tooltip.js +7 -8
  377. package/cjs/component/tooltip/tooltip.js.map +1 -1
  378. package/cjs/component/tooltip/utils/common.js.map +1 -1
  379. package/cjs/component/tooltip/utils/index.js.map +1 -1
  380. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  381. package/cjs/constant/base.js.map +1 -1
  382. package/cjs/constant/box-plot.js.map +1 -1
  383. package/cjs/constant/event.js.map +1 -1
  384. package/cjs/constant/funnel.js.map +1 -1
  385. package/cjs/constant/hierarchy.js.map +1 -1
  386. package/cjs/constant/index.js.map +1 -1
  387. package/cjs/constant/label.js +1 -2
  388. package/cjs/constant/label.js.map +1 -1
  389. package/cjs/constant/layout.js.map +1 -1
  390. package/cjs/constant/marker.js.map +1 -1
  391. package/cjs/constant/polar.js +2 -1
  392. package/cjs/constant/polar.js.map +1 -1
  393. package/cjs/constant/scatter.js.map +1 -1
  394. package/cjs/constant/scroll-bar.js.map +1 -1
  395. package/cjs/constant/sunburst.js.map +1 -1
  396. package/cjs/constant/waterfall.js.map +1 -1
  397. package/cjs/constant/word-cloud.js.map +1 -1
  398. package/cjs/core/factory.js.map +1 -1
  399. package/cjs/core/interface.js.map +1 -1
  400. package/cjs/core/vchart.d.ts +1 -0
  401. package/cjs/core/vchart.js +13 -7
  402. package/cjs/core/vchart.js.map +1 -1
  403. package/cjs/data/initialize.js +1 -2
  404. package/cjs/data/initialize.js.map +1 -1
  405. package/cjs/data/parser/array.js.map +1 -1
  406. package/cjs/data/parser/scale.js.map +1 -1
  407. package/cjs/data/register.js.map +1 -1
  408. package/cjs/data/transforms/add-property.js.map +1 -1
  409. package/cjs/data/transforms/aggregation.js.map +1 -1
  410. package/cjs/data/transforms/box-plot.js.map +1 -1
  411. package/cjs/data/transforms/circle-packing.js.map +1 -1
  412. package/cjs/data/transforms/copy-data-view.js.map +1 -1
  413. package/cjs/data/transforms/data-key.js.map +1 -1
  414. package/cjs/data/transforms/dimension-data.js.map +1 -1
  415. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  416. package/cjs/data/transforms/drill.js.map +1 -1
  417. package/cjs/data/transforms/flatten.js.map +1 -1
  418. package/cjs/data/transforms/funnel.js.map +1 -1
  419. package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  420. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  421. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  422. package/cjs/data/transforms/legend-data/continuous/index.js.map +1 -1
  423. package/cjs/data/transforms/legend-data/continuous/interface.js.map +1 -1
  424. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  425. package/cjs/data/transforms/legend-data/discrete/index.js.map +1 -1
  426. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  427. package/cjs/data/transforms/lookup.js.map +1 -1
  428. package/cjs/data/transforms/map.js.map +1 -1
  429. package/cjs/data/transforms/obj-flat.js.map +1 -1
  430. package/cjs/data/transforms/pie.js.map +1 -1
  431. package/cjs/data/transforms/regression.js.map +1 -1
  432. package/cjs/data/transforms/sankey-links.js.map +1 -1
  433. package/cjs/data/transforms/sankey-nodes.js.map +1 -1
  434. package/cjs/data/transforms/sankey.js.map +1 -1
  435. package/cjs/data/transforms/stack-split.js.map +1 -1
  436. package/cjs/data/transforms/sunburst.js.map +1 -1
  437. package/cjs/data/transforms/tick-data/config.js.map +1 -1
  438. package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
  439. package/cjs/data/transforms/tick-data/discrete/linear.js.map +1 -1
  440. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  441. package/cjs/data/transforms/tick-data/index.js.map +1 -1
  442. package/cjs/data/transforms/tick-data/interface.js.map +1 -1
  443. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  444. package/cjs/data/transforms/treemap.js.map +1 -1
  445. package/cjs/data/transforms/waterfall.js.map +1 -1
  446. package/cjs/event/bubble.js.map +1 -1
  447. package/cjs/event/event-dispatcher.js.map +1 -1
  448. package/cjs/event/event.js.map +1 -1
  449. package/cjs/event/events/dimension/base.js.map +1 -1
  450. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  451. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  452. package/cjs/event/events/dimension/index.js.map +1 -1
  453. package/cjs/event/events/dimension/interface.js.map +1 -1
  454. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  455. package/cjs/event/events/dimension/util/common.js.map +1 -1
  456. package/cjs/event/events/dimension/util/index.js.map +1 -1
  457. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  458. package/cjs/event/events/index.js.map +1 -1
  459. package/cjs/event/interface.js.map +1 -1
  460. package/cjs/index.js.map +1 -1
  461. package/cjs/interaction/config.js.map +1 -1
  462. package/cjs/interaction/dimension-trigger.js.map +1 -1
  463. package/cjs/interaction/drill/drillable.js.map +1 -1
  464. package/cjs/interaction/drill/index.js.map +1 -1
  465. package/cjs/interaction/interaction.js.map +1 -1
  466. package/cjs/interaction/interface.js.map +1 -1
  467. package/cjs/interaction/trigger.js.map +1 -1
  468. package/cjs/interaction/zoom/index.js.map +1 -1
  469. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  470. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  471. package/cjs/layout/index.d.ts +13 -10
  472. package/cjs/layout/index.js.map +1 -1
  473. package/cjs/layout/interface.js.map +1 -1
  474. package/cjs/layout/label/arc-label.js.map +1 -1
  475. package/cjs/layout/layout3d/index.d.ts +23 -0
  476. package/cjs/layout/layout3d/index.js +131 -0
  477. package/cjs/layout/layout3d/index.js.map +1 -0
  478. package/cjs/mark/arc.js +1 -1
  479. package/cjs/mark/arc.js.map +1 -1
  480. package/cjs/mark/area.js +1 -1
  481. package/cjs/mark/area.js.map +1 -1
  482. package/cjs/mark/base/base-line.js.map +1 -1
  483. package/cjs/mark/base/base-mark.js.map +1 -1
  484. package/cjs/mark/base/index.js.map +1 -1
  485. package/cjs/mark/boxPlot.js +2 -2
  486. package/cjs/mark/boxPlot.js.map +1 -1
  487. package/cjs/mark/cell.js +1 -1
  488. package/cjs/mark/cell.js.map +1 -1
  489. package/cjs/mark/component.d.ts +1 -0
  490. package/cjs/mark/component.js +5 -3
  491. package/cjs/mark/component.js.map +1 -1
  492. package/cjs/mark/group.js.map +1 -1
  493. package/cjs/mark/interface/common.js.map +1 -1
  494. package/cjs/mark/interface/index.js.map +1 -1
  495. package/cjs/mark/interface/type.js.map +1 -1
  496. package/cjs/mark/line.js.map +1 -1
  497. package/cjs/mark/linkPath.js.map +1 -1
  498. package/cjs/mark/mark-set/index.js.map +1 -1
  499. package/cjs/mark/path.js.map +1 -1
  500. package/cjs/mark/polygon.js.map +1 -1
  501. package/cjs/mark/progress-arc.js.map +1 -1
  502. package/cjs/mark/rect.js.map +1 -1
  503. package/cjs/mark/rule.js.map +1 -1
  504. package/cjs/mark/symbol.js.map +1 -1
  505. package/cjs/mark/text.js.map +1 -1
  506. package/cjs/mark/utils/common.js.map +1 -1
  507. package/cjs/mark/utils/index.js.map +1 -1
  508. package/cjs/model/base-model.d.ts +1 -1
  509. package/cjs/model/base-model.js.map +1 -1
  510. package/cjs/model/interface.d.ts +1 -0
  511. package/cjs/model/interface.js.map +1 -1
  512. package/cjs/model/layout-item.js +1 -2
  513. package/cjs/model/layout-item.js.map +1 -1
  514. package/cjs/model/model-state-manager.js +2 -1
  515. package/cjs/model/model-state-manager.js.map +1 -1
  516. package/cjs/model/tooltip-helper.js.map +1 -1
  517. package/cjs/plugin/chart/interface.js.map +1 -1
  518. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +1 -1
  519. package/cjs/plugin/components/basic-plugin.js.map +1 -1
  520. package/cjs/plugin/components/index.js.map +1 -1
  521. package/cjs/plugin/components/interface.js.map +1 -1
  522. package/cjs/plugin/components/plugin-service.js.map +1 -1
  523. package/cjs/plugin/interface.js +1 -1
  524. package/cjs/plugin/interface.js.map +1 -1
  525. package/cjs/plugin/series/interface.js.map +1 -1
  526. package/cjs/region/interface.js +1 -1
  527. package/cjs/region/interface.js.map +1 -1
  528. package/cjs/region/region.js +1 -1
  529. package/cjs/region/region.js.map +1 -1
  530. package/cjs/scale/global-scale.js +1 -1
  531. package/cjs/scale/global-scale.js.map +1 -1
  532. package/cjs/scale/interface.js +1 -1
  533. package/cjs/scale/interface.js.map +1 -1
  534. package/cjs/series/area/animation.js.map +1 -1
  535. package/cjs/series/area/area.js +3 -1
  536. package/cjs/series/area/area.js.map +1 -1
  537. package/cjs/series/area/interface.js.map +1 -1
  538. package/cjs/series/bar/animation.js.map +1 -1
  539. package/cjs/series/bar/bar.js +7 -5
  540. package/cjs/series/bar/bar.js.map +1 -1
  541. package/cjs/series/bar/interface.d.ts +3 -0
  542. package/cjs/series/bar/interface.js.map +1 -1
  543. package/cjs/series/base/base-series.js +5 -7
  544. package/cjs/series/base/base-series.js.map +1 -1
  545. package/cjs/series/base/group.js.map +1 -1
  546. package/cjs/series/base/series-data.js.map +1 -1
  547. package/cjs/series/base/tooltip-helper.js.map +1 -1
  548. package/cjs/series/box-plot/boxPlot.d.ts +1 -1
  549. package/cjs/series/box-plot/boxPlot.js +7 -8
  550. package/cjs/series/box-plot/boxPlot.js.map +1 -1
  551. package/cjs/series/box-plot/interface.js.map +1 -1
  552. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  553. package/cjs/series/cartesian/cartesian.d.ts +11 -0
  554. package/cjs/series/cartesian/cartesian.js +37 -2
  555. package/cjs/series/cartesian/cartesian.js.map +1 -1
  556. package/cjs/series/cartesian/interface.d.ts +1 -2
  557. package/cjs/series/cartesian/interface.js.map +1 -1
  558. package/cjs/series/circle-packing/animation.js.map +1 -1
  559. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  560. package/cjs/series/circle-packing/interface.js.map +1 -1
  561. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  562. package/cjs/series/dot/config.js.map +1 -1
  563. package/cjs/series/dot/dot.js +6 -8
  564. package/cjs/series/dot/dot.js.map +1 -1
  565. package/cjs/series/dot/interface.d.ts +0 -1
  566. package/cjs/series/dot/interface.js.map +1 -1
  567. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  568. package/cjs/series/funnel/funnel.d.ts +8 -0
  569. package/cjs/series/funnel/funnel.js +20 -11
  570. package/cjs/series/funnel/funnel.js.map +1 -1
  571. package/cjs/series/funnel/interface.js.map +1 -1
  572. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  573. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  574. package/cjs/series/gauge/gauge.js.map +1 -1
  575. package/cjs/series/gauge/index.js.map +1 -1
  576. package/cjs/series/gauge/interface.js.map +1 -1
  577. package/cjs/series/geo/geo.d.ts +1 -0
  578. package/cjs/series/geo/geo.js +3 -0
  579. package/cjs/series/geo/geo.js.map +1 -1
  580. package/cjs/series/geo/interface.js.map +1 -1
  581. package/cjs/series/heatmap/animation.js.map +1 -1
  582. package/cjs/series/heatmap/heatmap.js +5 -3
  583. package/cjs/series/heatmap/heatmap.js.map +1 -1
  584. package/cjs/series/heatmap/interface.js.map +1 -1
  585. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  586. package/cjs/series/interface/common.d.ts +1 -0
  587. package/cjs/series/interface/common.js.map +1 -1
  588. package/cjs/series/interface/index.js.map +1 -1
  589. package/cjs/series/interface/series.d.ts +7 -0
  590. package/cjs/series/interface/series.js.map +1 -1
  591. package/cjs/series/interface/theme.js.map +1 -1
  592. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  593. package/cjs/series/interface/type.js.map +1 -1
  594. package/cjs/series/line/animation.js.map +1 -1
  595. package/cjs/series/line/interface.js.map +1 -1
  596. package/cjs/series/line/line.js.map +1 -1
  597. package/cjs/series/link/interface.d.ts +2 -2
  598. package/cjs/series/link/interface.js.map +1 -1
  599. package/cjs/series/link/link.js +3 -3
  600. package/cjs/series/link/link.js.map +1 -1
  601. package/cjs/series/link/tooltip-helper.js.map +1 -1
  602. package/cjs/series/map/geo-source.d.ts +1 -0
  603. package/cjs/series/map/geo-source.js +7 -3
  604. package/cjs/series/map/geo-source.js.map +1 -1
  605. package/cjs/series/map/interface.js.map +1 -1
  606. package/cjs/series/map/map.js +3 -2
  607. package/cjs/series/map/map.js.map +1 -1
  608. package/cjs/series/map/tooltip-helper.js.map +1 -1
  609. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  610. package/cjs/series/mixin/line-mixin.js +11 -7
  611. package/cjs/series/mixin/line-mixin.js.map +1 -1
  612. package/cjs/series/pie/animation/animation.js.map +1 -1
  613. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  614. package/cjs/series/pie/interface.d.ts +1 -0
  615. package/cjs/series/pie/interface.js.map +1 -1
  616. package/cjs/series/pie/pie.d.ts +13 -5
  617. package/cjs/series/pie/pie.js +41 -32
  618. package/cjs/series/pie/pie.js.map +1 -1
  619. package/cjs/series/polar/animation.js.map +1 -1
  620. package/cjs/series/polar/interface.d.ts +0 -1
  621. package/cjs/series/polar/interface.js.map +1 -1
  622. package/cjs/series/polar/polar.d.ts +1 -0
  623. package/cjs/series/polar/polar.js +3 -0
  624. package/cjs/series/polar/polar.js.map +1 -1
  625. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  626. package/cjs/series/polar/progress-like/index.js.map +1 -1
  627. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  628. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  629. package/cjs/series/polar/rose-like/index.js.map +1 -1
  630. package/cjs/series/polar/rose-like/interface.js.map +1 -1
  631. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  632. package/cjs/series/progress/circular/circular.js.map +1 -1
  633. package/cjs/series/progress/circular/index.js.map +1 -1
  634. package/cjs/series/progress/circular/interface.js.map +1 -1
  635. package/cjs/series/progress/interface.js.map +1 -1
  636. package/cjs/series/progress/linear/animation.js.map +1 -1
  637. package/cjs/series/progress/linear/index.js.map +1 -1
  638. package/cjs/series/progress/linear/interface.js.map +1 -1
  639. package/cjs/series/progress/linear/linear.js.map +1 -1
  640. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  641. package/cjs/series/radar/animation.js.map +1 -1
  642. package/cjs/series/radar/interface.d.ts +0 -1
  643. package/cjs/series/radar/interface.js.map +1 -1
  644. package/cjs/series/radar/radar.js.map +1 -1
  645. package/cjs/series/range-area/interface.js.map +1 -1
  646. package/cjs/series/range-area/range-area.js.map +1 -1
  647. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  648. package/cjs/series/range-column/animation.js.map +1 -1
  649. package/cjs/series/range-column/interface.d.ts +3 -3
  650. package/cjs/series/range-column/interface.js.map +1 -1
  651. package/cjs/series/range-column/rangeColumn.js +19 -17
  652. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  653. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  654. package/cjs/series/rose/animation.js.map +1 -1
  655. package/cjs/series/rose/interface.js.map +1 -1
  656. package/cjs/series/rose/rose.js +2 -0
  657. package/cjs/series/rose/rose.js.map +1 -1
  658. package/cjs/series/sankey/animation.js.map +1 -1
  659. package/cjs/series/sankey/interface.js.map +1 -1
  660. package/cjs/series/sankey/sankey.js.map +1 -1
  661. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  662. package/cjs/series/scatter/animation.js.map +1 -1
  663. package/cjs/series/scatter/interface.js.map +1 -1
  664. package/cjs/series/scatter/scatter.js +8 -4
  665. package/cjs/series/scatter/scatter.js.map +1 -1
  666. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  667. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  668. package/cjs/series/sunburst/animation/index.js.map +1 -1
  669. package/cjs/series/sunburst/animation/interface.js.map +1 -1
  670. package/cjs/series/sunburst/animation/preset.js.map +1 -1
  671. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  672. package/cjs/series/sunburst/interface.js.map +1 -1
  673. package/cjs/series/sunburst/sunburst.js.map +1 -1
  674. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  675. package/cjs/series/treemap/animation.js.map +1 -1
  676. package/cjs/series/treemap/config.js.map +1 -1
  677. package/cjs/series/treemap/interface.js.map +1 -1
  678. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  679. package/cjs/series/treemap/treemap.js.map +1 -1
  680. package/cjs/series/util/label-mark.js.map +1 -1
  681. package/cjs/series/util/utils.js.map +1 -1
  682. package/cjs/series/waterfall/animation.js.map +1 -1
  683. package/cjs/series/waterfall/interface.js.map +1 -1
  684. package/cjs/series/waterfall/waterfall.js.map +1 -1
  685. package/cjs/series/word-cloud/animation.js.map +1 -1
  686. package/cjs/series/word-cloud/config.js.map +1 -1
  687. package/cjs/series/word-cloud/interface.js.map +1 -1
  688. package/cjs/series/word-cloud/word-cloud.d.ts +10 -3
  689. package/cjs/series/word-cloud/word-cloud.js +109 -26
  690. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  691. package/cjs/theme/buildin-theme/config.js +2 -0
  692. package/cjs/theme/buildin-theme/config.js.map +1 -1
  693. package/cjs/theme/buildin-theme/dark.js +4 -462
  694. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  695. package/cjs/theme/buildin-theme/index.js.map +1 -1
  696. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  697. package/cjs/theme/buildin-theme/light/component/brush.js +12 -8
  698. package/cjs/theme/buildin-theme/light/component/brush.js.map +1 -1
  699. package/cjs/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
  700. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js +14 -84
  701. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
  702. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
  703. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +1 -1
  704. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
  705. package/cjs/theme/buildin-theme/light/component/common-axis.js +74 -0
  706. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +1 -0
  707. package/cjs/theme/buildin-theme/light/component/crosshair.js +2 -9
  708. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  709. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  710. package/cjs/theme/buildin-theme/light/component/discrete-legend.js +3 -6
  711. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
  712. package/cjs/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  713. package/cjs/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
  714. package/cjs/theme/buildin-theme/light/component/indicator.js.map +1 -0
  715. package/cjs/theme/buildin-theme/light/component/mark-area.js.map +1 -1
  716. package/cjs/theme/buildin-theme/light/component/mark-line.js.map +1 -1
  717. package/cjs/theme/buildin-theme/light/component/mark-point.js +1 -3
  718. package/cjs/theme/buildin-theme/light/component/mark-point.js.map +1 -1
  719. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  720. package/cjs/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
  721. package/cjs/theme/buildin-theme/light/component/polar-axis.js +11 -70
  722. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
  723. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +1 -1
  724. package/cjs/theme/buildin-theme/light/component/title.d.ts +2 -0
  725. package/cjs/theme/buildin-theme/light/component/title.js +13 -0
  726. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -0
  727. package/cjs/theme/buildin-theme/light/component/tooltip.js +6 -8
  728. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  729. package/cjs/theme/buildin-theme/light/index.js +10 -4
  730. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  731. package/cjs/theme/buildin-theme/light/series/area.js +5 -4
  732. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  733. package/cjs/theme/buildin-theme/light/series/bar.js +0 -3
  734. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  735. package/cjs/theme/buildin-theme/light/series/bar3d.js +0 -3
  736. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  737. package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
  738. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  739. package/cjs/theme/buildin-theme/light/series/dot.js +11 -3
  740. package/cjs/theme/buildin-theme/light/series/dot.js.map +1 -1
  741. package/cjs/theme/buildin-theme/light/series/funnel.js +0 -3
  742. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  743. package/cjs/theme/buildin-theme/light/series/funnel3d.js +0 -3
  744. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  745. package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
  746. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  747. package/cjs/theme/buildin-theme/light/series/heatmap.js +2 -3
  748. package/cjs/theme/buildin-theme/light/series/heatmap.js.map +1 -1
  749. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  750. package/cjs/theme/buildin-theme/light/series/line.js +5 -4
  751. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  752. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  753. package/cjs/theme/buildin-theme/light/series/link.js +5 -3
  754. package/cjs/theme/buildin-theme/light/series/link.js.map +1 -1
  755. package/cjs/theme/buildin-theme/light/series/map.js +0 -1
  756. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  757. package/cjs/theme/buildin-theme/light/series/pie.js +0 -2
  758. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  759. package/cjs/theme/buildin-theme/light/series/pie3d.js +0 -2
  760. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  761. package/cjs/theme/buildin-theme/light/series/radar.js +5 -4
  762. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  763. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +0 -3
  764. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  765. package/cjs/theme/buildin-theme/light/series/scatter.js +0 -3
  766. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  767. package/cjs/theme/buildin-theme/light/series/sunburst.js.map +1 -1
  768. package/cjs/theme/buildin-theme/light/series/treemap.js +0 -4
  769. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  770. package/cjs/theme/buildin-theme/light/series/waterfall.js +0 -4
  771. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  772. package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
  773. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  774. package/cjs/theme/color-scheme/interface.d.ts +1 -1
  775. package/cjs/theme/color-scheme/interface.js.map +1 -1
  776. package/cjs/theme/color-scheme/util.js.map +1 -1
  777. package/cjs/theme/index.js.map +1 -1
  778. package/cjs/theme/interface.d.ts +13 -5
  779. package/cjs/theme/interface.js.map +1 -1
  780. package/cjs/theme/theme-manager.js.map +1 -1
  781. package/cjs/typings/common.js.map +1 -1
  782. package/cjs/typings/coordinate.js.map +1 -1
  783. package/cjs/typings/cursor.js.map +1 -1
  784. package/cjs/typings/data.js.map +1 -1
  785. package/cjs/typings/geo.js.map +1 -1
  786. package/cjs/typings/index.js.map +1 -1
  787. package/cjs/typings/interpolate.js.map +1 -1
  788. package/cjs/typings/line-stroke.js.map +1 -1
  789. package/cjs/typings/params.js.map +1 -1
  790. package/cjs/typings/scale.js.map +1 -1
  791. package/cjs/typings/shape.js.map +1 -1
  792. package/cjs/typings/space.d.ts +1 -1
  793. package/cjs/typings/space.js.map +1 -1
  794. package/cjs/typings/spec/chart.js.map +1 -1
  795. package/cjs/typings/spec/common.d.ts +5 -5
  796. package/cjs/typings/spec/common.js.map +1 -1
  797. package/cjs/typings/spec/index.js.map +1 -1
  798. package/cjs/typings/tooltip/common.js.map +1 -1
  799. package/cjs/typings/tooltip/handler.js.map +1 -1
  800. package/cjs/typings/tooltip/index.js.map +1 -1
  801. package/cjs/typings/tooltip/line.js.map +1 -1
  802. package/cjs/typings/tooltip/position.js.map +1 -1
  803. package/cjs/typings/tooltip/shape.js.map +1 -1
  804. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  805. package/cjs/typings/visual.d.ts +21 -3
  806. package/cjs/typings/visual.js.map +1 -1
  807. package/cjs/util/array.js.map +1 -1
  808. package/cjs/util/color.js.map +1 -1
  809. package/cjs/util/data.js +3 -2
  810. package/cjs/util/data.js.map +1 -1
  811. package/cjs/util/debug.js.map +1 -1
  812. package/cjs/util/env.js.map +1 -1
  813. package/cjs/util/hierarchy.js.map +1 -1
  814. package/cjs/util/id.js.map +1 -1
  815. package/cjs/util/image.js.map +1 -1
  816. package/cjs/util/index.js.map +1 -1
  817. package/cjs/util/math.js.map +1 -1
  818. package/cjs/util/model.js.map +1 -1
  819. package/cjs/util/object.js.map +1 -1
  820. package/cjs/util/scale.js.map +1 -1
  821. package/cjs/util/space.js.map +1 -1
  822. package/cjs/util/spec.js.map +1 -1
  823. package/cjs/util/style.js +1 -3
  824. package/cjs/util/style.js.map +1 -1
  825. package/cjs/util/text.js.map +1 -1
  826. package/cjs/util/type.js.map +1 -1
  827. package/cjs/vchart-all.js +2 -2
  828. package/cjs/vchart-all.js.map +1 -1
  829. package/esm/animation/animate-manager.js.map +1 -1
  830. package/esm/animation/config.js.map +1 -1
  831. package/esm/animation/interface.js +2 -1
  832. package/esm/animation/interface.js.map +1 -1
  833. package/esm/animation/spec.d.ts +2 -2
  834. package/esm/animation/spec.js.map +1 -1
  835. package/esm/animation/utils.d.ts +2 -2
  836. package/esm/animation/utils.js.map +1 -1
  837. package/esm/chart/area/area.js.map +1 -1
  838. package/esm/chart/area/index.js.map +1 -1
  839. package/esm/chart/area/interface.js.map +1 -1
  840. package/esm/chart/bar/bar.js.map +1 -1
  841. package/esm/chart/bar/index.js.map +1 -1
  842. package/esm/chart/bar/interface.js.map +1 -1
  843. package/esm/chart/base-chart.js +3 -1
  844. package/esm/chart/base-chart.js.map +1 -1
  845. package/esm/chart/boxplot/boxPlot.js.map +1 -1
  846. package/esm/chart/boxplot/index.js.map +1 -1
  847. package/esm/chart/boxplot/interface.js.map +1 -1
  848. package/esm/chart/cartesian/cartesian.js +7 -2
  849. package/esm/chart/cartesian/cartesian.js.map +1 -1
  850. package/esm/chart/cartesian/interface.js.map +1 -1
  851. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  852. package/esm/chart/circle-packing/index.js.map +1 -1
  853. package/esm/chart/circle-packing/interface.js.map +1 -1
  854. package/esm/chart/common/common.js.map +1 -1
  855. package/esm/chart/common/index.js.map +1 -1
  856. package/esm/chart/common/interface.js.map +1 -1
  857. package/esm/chart/funnel/funnel.js.map +1 -1
  858. package/esm/chart/funnel/index.js.map +1 -1
  859. package/esm/chart/funnel/interface.js.map +1 -1
  860. package/esm/chart/gauge/gauge.js.map +1 -1
  861. package/esm/chart/gauge/index.js.map +1 -1
  862. package/esm/chart/gauge/interface.js.map +1 -1
  863. package/esm/chart/heatmap/heatmap.js +4 -3
  864. package/esm/chart/heatmap/heatmap.js.map +1 -1
  865. package/esm/chart/heatmap/index.js.map +1 -1
  866. package/esm/chart/heatmap/interface.js.map +1 -1
  867. package/esm/chart/histogram/histogram.js.map +1 -1
  868. package/esm/chart/histogram/index.js.map +1 -1
  869. package/esm/chart/histogram/interface.js.map +1 -1
  870. package/esm/chart/index.js.map +1 -1
  871. package/esm/chart/interface/chart.js.map +1 -1
  872. package/esm/chart/interface/common.js.map +1 -1
  873. package/esm/chart/interface/index.js.map +1 -1
  874. package/esm/chart/interface/type.js.map +1 -1
  875. package/esm/chart/line/index.js.map +1 -1
  876. package/esm/chart/line/interface.js.map +1 -1
  877. package/esm/chart/line/line.js.map +1 -1
  878. package/esm/chart/map/index.js.map +1 -1
  879. package/esm/chart/map/interface.js.map +1 -1
  880. package/esm/chart/map/map.js.map +1 -1
  881. package/esm/chart/pie/index.js.map +1 -1
  882. package/esm/chart/pie/interface.js.map +1 -1
  883. package/esm/chart/pie/pie.d.ts +1 -0
  884. package/esm/chart/pie/pie.js +5 -0
  885. package/esm/chart/pie/pie.js.map +1 -1
  886. package/esm/chart/polar/interface.js.map +1 -1
  887. package/esm/chart/polar/polar.js.map +1 -1
  888. package/esm/chart/polar/progress-like.js.map +1 -1
  889. package/esm/chart/polar/rose-like.js.map +1 -1
  890. package/esm/chart/progress/circular/circular.js.map +1 -1
  891. package/esm/chart/progress/circular/index.js.map +1 -1
  892. package/esm/chart/progress/circular/interface.js.map +1 -1
  893. package/esm/chart/progress/interface.js.map +1 -1
  894. package/esm/chart/progress/linear/index.js.map +1 -1
  895. package/esm/chart/progress/linear/interface.js.map +1 -1
  896. package/esm/chart/progress/linear/linear.js.map +1 -1
  897. package/esm/chart/radar/index.js.map +1 -1
  898. package/esm/chart/radar/interface.js.map +1 -1
  899. package/esm/chart/radar/radar.js.map +1 -1
  900. package/esm/chart/range-area/index.js.map +1 -1
  901. package/esm/chart/range-area/interface.js.map +1 -1
  902. package/esm/chart/range-area/range-area.js.map +1 -1
  903. package/esm/chart/range-column/index.js.map +1 -1
  904. package/esm/chart/range-column/interface.js.map +1 -1
  905. package/esm/chart/range-column/rangeColumn.js.map +1 -1
  906. package/esm/chart/rose/index.js.map +1 -1
  907. package/esm/chart/rose/interface.js.map +1 -1
  908. package/esm/chart/rose/rose.js.map +1 -1
  909. package/esm/chart/sankey/index.js.map +1 -1
  910. package/esm/chart/sankey/interface.js.map +1 -1
  911. package/esm/chart/sankey/sankey.js.map +1 -1
  912. package/esm/chart/scatter/index.js.map +1 -1
  913. package/esm/chart/scatter/interface.js.map +1 -1
  914. package/esm/chart/scatter/scatter.js.map +1 -1
  915. package/esm/chart/sequence/index.js.map +1 -1
  916. package/esm/chart/sequence/interface.js.map +1 -1
  917. package/esm/chart/sequence/sequence.js.map +1 -1
  918. package/esm/chart/stack.js.map +1 -1
  919. package/esm/chart/sunburst/index.js.map +1 -1
  920. package/esm/chart/sunburst/interface.js.map +1 -1
  921. package/esm/chart/sunburst/sunburst.js.map +1 -1
  922. package/esm/chart/treemap/index.js.map +1 -1
  923. package/esm/chart/treemap/interface.js.map +1 -1
  924. package/esm/chart/treemap/treemap.js.map +1 -1
  925. package/esm/chart/waterfall/index.js.map +1 -1
  926. package/esm/chart/waterfall/interface.js.map +1 -1
  927. package/esm/chart/waterfall/waterfall.js.map +1 -1
  928. package/esm/chart/word-cloud/index.js.map +1 -1
  929. package/esm/chart/word-cloud/interface.d.ts +5 -1
  930. package/esm/chart/word-cloud/interface.js.map +1 -1
  931. package/esm/chart/word-cloud/word-cloud.d.ts +3 -2
  932. package/esm/chart/word-cloud/word-cloud.js +42 -15
  933. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  934. package/esm/compile/compilable-base.js.map +1 -1
  935. package/esm/compile/compiler.d.ts +3 -2
  936. package/esm/compile/compiler.js +7 -4
  937. package/esm/compile/compiler.js.map +1 -1
  938. package/esm/compile/data/compilable-data.d.ts +1 -1
  939. package/esm/compile/data/compilable-data.js.map +1 -1
  940. package/esm/compile/data/index.js.map +1 -1
  941. package/esm/compile/data/interface.js.map +1 -1
  942. package/esm/compile/grammar-item.js.map +1 -1
  943. package/esm/compile/interface/compilable-item.d.ts +1 -2
  944. package/esm/compile/interface/compilable-item.js.map +1 -1
  945. package/esm/compile/interface/compiler.d.ts +1 -0
  946. package/esm/compile/interface/compiler.js.map +1 -1
  947. package/esm/compile/interface/index.js.map +1 -1
  948. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  949. package/esm/compile/mark/compilable-mark.js +1 -1
  950. package/esm/compile/mark/compilable-mark.js.map +1 -1
  951. package/esm/compile/mark/index.js.map +1 -1
  952. package/esm/compile/mark/interface.d.ts +1 -0
  953. package/esm/compile/mark/interface.js.map +1 -1
  954. package/esm/compile/mark/mark-data.js.map +1 -1
  955. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  956. package/esm/compile/mark/util.js.map +1 -1
  957. package/esm/compile/signal/compilable-signal.js.map +1 -1
  958. package/esm/compile/signal/index.js.map +1 -1
  959. package/esm/compile/signal/interface.js.map +1 -1
  960. package/esm/compile/signal/signal-manager.js.map +1 -1
  961. package/esm/compile/signal/state-manager.d.ts +1 -1
  962. package/esm/compile/signal/state-manager.js.map +1 -1
  963. package/esm/compile/util.js.map +1 -1
  964. package/esm/component/axis/base-axis.d.ts +0 -1
  965. package/esm/component/axis/base-axis.js +3 -10
  966. package/esm/component/axis/base-axis.js.map +1 -1
  967. package/esm/component/axis/cartesian/axis.d.ts +11 -0
  968. package/esm/component/axis/cartesian/axis.js +59 -15
  969. package/esm/component/axis/cartesian/axis.js.map +1 -1
  970. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  971. package/esm/component/axis/cartesian/config.js.map +1 -1
  972. package/esm/component/axis/cartesian/index.js.map +1 -1
  973. package/esm/component/axis/cartesian/interface/common.d.ts +1 -5
  974. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  975. package/esm/component/axis/cartesian/interface/index.js.map +1 -1
  976. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -4
  977. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  978. package/esm/component/axis/cartesian/interface/theme.d.ts +10 -13
  979. package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
  980. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  981. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  982. package/esm/component/axis/cartesian/util/common.d.ts +4 -4
  983. package/esm/component/axis/cartesian/util/common.js +10 -11
  984. package/esm/component/axis/cartesian/util/common.js.map +1 -1
  985. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  986. package/esm/component/axis/cartesian/util/time.js.map +1 -1
  987. package/esm/component/axis/index.js.map +1 -1
  988. package/esm/component/axis/interface.d.ts +10 -17
  989. package/esm/component/axis/interface.js.map +1 -1
  990. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  991. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  992. package/esm/component/axis/polar/axis.js.map +1 -1
  993. package/esm/component/axis/polar/band-axis.js.map +1 -1
  994. package/esm/component/axis/polar/config.js.map +1 -1
  995. package/esm/component/axis/polar/index.js.map +1 -1
  996. package/esm/component/axis/polar/interface/common.d.ts +1 -4
  997. package/esm/component/axis/polar/interface/common.js.map +1 -1
  998. package/esm/component/axis/polar/interface/index.js.map +1 -1
  999. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  1000. package/esm/component/axis/polar/interface/theme.d.ts +9 -12
  1001. package/esm/component/axis/polar/interface/theme.js.map +1 -1
  1002. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  1003. package/esm/component/axis/utils.d.ts +5 -1
  1004. package/esm/component/axis/utils.js +17 -4
  1005. package/esm/component/axis/utils.js.map +1 -1
  1006. package/esm/component/base/base-component.js.map +1 -1
  1007. package/esm/component/base/index.js.map +1 -1
  1008. package/esm/component/base/util.js +5 -4
  1009. package/esm/component/base/util.js.map +1 -1
  1010. package/esm/component/brush/brush.d.ts +0 -1
  1011. package/esm/component/brush/brush.js +7 -12
  1012. package/esm/component/brush/brush.js.map +1 -1
  1013. package/esm/component/brush/index.js.map +1 -1
  1014. package/esm/component/brush/interface.d.ts +10 -8
  1015. package/esm/component/brush/interface.js.map +1 -1
  1016. package/esm/component/common/trigger/config.js.map +1 -1
  1017. package/esm/component/common/trigger/desktop.js.map +1 -1
  1018. package/esm/component/common/trigger/interface.js.map +1 -1
  1019. package/esm/component/common/trigger/mobile.js.map +1 -1
  1020. package/esm/component/crosshair/base.d.ts +0 -1
  1021. package/esm/component/crosshair/base.js +9 -17
  1022. package/esm/component/crosshair/base.js.map +1 -1
  1023. package/esm/component/crosshair/cartesian.js.map +1 -1
  1024. package/esm/component/crosshair/config.d.ts +0 -2
  1025. package/esm/component/crosshair/config.js +0 -4
  1026. package/esm/component/crosshair/config.js.map +1 -1
  1027. package/esm/component/crosshair/index.js.map +1 -1
  1028. package/esm/component/crosshair/interface/index.js.map +1 -1
  1029. package/esm/component/crosshair/interface/spec.d.ts +3 -3
  1030. package/esm/component/crosshair/interface/spec.js.map +1 -1
  1031. package/esm/component/crosshair/interface/theme.d.ts +2 -4
  1032. package/esm/component/crosshair/interface/theme.js.map +1 -1
  1033. package/esm/component/crosshair/polar.js.map +1 -1
  1034. package/esm/component/crosshair/util.d.ts +0 -4
  1035. package/esm/component/crosshair/util.js +0 -8
  1036. package/esm/component/crosshair/util.js.map +1 -1
  1037. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  1038. package/esm/component/custom-mark/index.js.map +1 -1
  1039. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  1040. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  1041. package/esm/component/data-zoom/data-zoom/index.js.map +1 -1
  1042. package/esm/component/data-zoom/data-zoom/interface.d.ts +5 -1
  1043. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  1044. package/esm/component/data-zoom/index.js.map +1 -1
  1045. package/esm/component/data-zoom/interface.js.map +1 -1
  1046. package/esm/component/data-zoom/scroll-bar/index.js.map +1 -1
  1047. package/esm/component/data-zoom/scroll-bar/interface.d.ts +7 -1
  1048. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  1049. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  1050. package/esm/component/data-zoom/util.js.map +1 -1
  1051. package/esm/component/geo/geo-coordinate.js.map +1 -1
  1052. package/esm/component/geo/interface.js.map +1 -1
  1053. package/esm/component/geo/projection.js.map +1 -1
  1054. package/esm/component/index.js.map +1 -1
  1055. package/esm/component/indicator/indicator.d.ts +0 -1
  1056. package/esm/component/indicator/indicator.js +2 -13
  1057. package/esm/component/indicator/indicator.js.map +1 -1
  1058. package/esm/component/indicator/interface.d.ts +1 -5
  1059. package/esm/component/indicator/interface.js.map +1 -1
  1060. package/esm/component/indicator/util.js +3 -1
  1061. package/esm/component/indicator/util.js.map +1 -1
  1062. package/esm/component/interface/common.js.map +1 -1
  1063. package/esm/component/interface/index.js.map +1 -1
  1064. package/esm/component/interface/tooltip-helper.js.map +1 -1
  1065. package/esm/component/interface/type.js.map +1 -1
  1066. package/esm/component/label/bar.d.ts +1 -3
  1067. package/esm/component/label/bar.js +2 -4
  1068. package/esm/component/label/bar.js.map +1 -1
  1069. package/esm/component/label/index.js.map +1 -1
  1070. package/esm/component/label/interface.d.ts +2 -2
  1071. package/esm/component/label/interface.js.map +1 -1
  1072. package/esm/component/label/label.d.ts +56 -0
  1073. package/esm/component/label/label.js +4 -2
  1074. package/esm/component/label/label.js.map +1 -1
  1075. package/esm/component/label/symbol.js.map +1 -1
  1076. package/esm/component/label/util.js +1 -7
  1077. package/esm/component/label/util.js.map +1 -1
  1078. package/esm/component/legend/base-legend.d.ts +0 -1
  1079. package/esm/component/legend/base-legend.js +2 -4
  1080. package/esm/component/legend/base-legend.js.map +1 -1
  1081. package/esm/component/legend/continuous/index.js.map +1 -1
  1082. package/esm/component/legend/continuous/interface.d.ts +1 -6
  1083. package/esm/component/legend/continuous/interface.js.map +1 -1
  1084. package/esm/component/legend/continuous/legend.js +1 -1
  1085. package/esm/component/legend/continuous/legend.js.map +1 -1
  1086. package/esm/component/legend/continuous/util.js.map +1 -1
  1087. package/esm/component/legend/discrete/index.js.map +1 -1
  1088. package/esm/component/legend/discrete/interface.d.ts +1 -5
  1089. package/esm/component/legend/discrete/interface.js.map +1 -1
  1090. package/esm/component/legend/discrete/legend.js +17 -16
  1091. package/esm/component/legend/discrete/legend.js.map +1 -1
  1092. package/esm/component/legend/discrete/util.js.map +1 -1
  1093. package/esm/component/legend/index.js.map +1 -1
  1094. package/esm/component/legend/interface.d.ts +1 -1
  1095. package/esm/component/legend/interface.js.map +1 -1
  1096. package/esm/component/legend/util.js.map +1 -1
  1097. package/esm/component/map-label/component.js.map +1 -1
  1098. package/esm/component/map-label/config.js.map +1 -1
  1099. package/esm/component/map-label/index.js.map +1 -1
  1100. package/esm/component/map-label/interface.d.ts +2 -2
  1101. package/esm/component/map-label/interface.js.map +1 -1
  1102. package/esm/component/map-label/layout.js.map +1 -1
  1103. package/esm/component/marker/base-marker.d.ts +0 -1
  1104. package/esm/component/marker/base-marker.js +1 -4
  1105. package/esm/component/marker/base-marker.js.map +1 -1
  1106. package/esm/component/marker/interface.js.map +1 -1
  1107. package/esm/component/marker/mark-area/interface/index.js.map +1 -1
  1108. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  1109. package/esm/component/marker/mark-area/interface/theme.d.ts +2 -2
  1110. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  1111. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  1112. package/esm/component/marker/mark-line/interface/index.js.map +1 -1
  1113. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  1114. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  1115. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  1116. package/esm/component/marker/mark-point/interface/index.js.map +1 -1
  1117. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  1118. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  1119. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  1120. package/esm/component/marker/utils.js.map +1 -1
  1121. package/esm/component/player/index.js.map +1 -1
  1122. package/esm/component/player/interface/index.js.map +1 -1
  1123. package/esm/component/player/interface/spec.js.map +1 -1
  1124. package/esm/component/player/interface/theme.js.map +1 -1
  1125. package/esm/component/player/player.d.ts +0 -1
  1126. package/esm/component/player/player.js +2 -5
  1127. package/esm/component/player/player.js.map +1 -1
  1128. package/esm/component/player/utils/index.js.map +1 -1
  1129. package/esm/component/player/utils/orient.js.map +1 -1
  1130. package/esm/component/player/utils/transform.js.map +1 -1
  1131. package/esm/component/title/index.js.map +1 -1
  1132. package/esm/component/title/interface/index.js.map +1 -1
  1133. package/esm/component/title/interface/spec.d.ts +0 -4
  1134. package/esm/component/title/interface/spec.js.map +1 -1
  1135. package/esm/component/title/interface/theme.d.ts +2 -2
  1136. package/esm/component/title/interface/theme.js.map +1 -1
  1137. package/esm/component/title/title.d.ts +0 -1
  1138. package/esm/component/title/title.js +3 -12
  1139. package/esm/component/title/title.js.map +1 -1
  1140. package/esm/component/title/utils.d.ts +0 -1
  1141. package/esm/component/title/utils.js +1 -8
  1142. package/esm/component/title/utils.js.map +1 -1
  1143. package/esm/component/tooltip/handler/base.d.ts +5 -3
  1144. package/esm/component/tooltip/handler/base.js +11 -12
  1145. package/esm/component/tooltip/handler/base.js.map +1 -1
  1146. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
  1147. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +5 -2
  1148. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  1149. package/esm/component/tooltip/handler/canvas/index.js.map +1 -1
  1150. package/esm/component/tooltip/handler/constants.d.ts +4 -0
  1151. package/esm/component/tooltip/handler/constants.js +6 -0
  1152. package/esm/component/tooltip/handler/constants.js.map +1 -1
  1153. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
  1154. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +4 -3
  1155. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  1156. package/esm/component/tooltip/handler/dom/index.js.map +1 -1
  1157. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  1158. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  1159. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  1160. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  1161. package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
  1162. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  1163. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  1164. package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  1165. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  1166. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  1167. package/esm/component/tooltip/handler/dom/utils/style.js +3 -3
  1168. package/esm/component/tooltip/handler/dom/utils/style.js.map +1 -1
  1169. package/esm/component/tooltip/handler/index.js.map +1 -1
  1170. package/esm/component/tooltip/handler/interface/cache.js.map +1 -1
  1171. package/esm/component/tooltip/handler/interface/index.js.map +1 -1
  1172. package/esm/component/tooltip/handler/interface/style.js.map +1 -1
  1173. package/esm/component/tooltip/handler/utils/attribute.js +4 -5
  1174. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  1175. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  1176. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  1177. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  1178. package/esm/component/tooltip/handler/utils/index.js.map +1 -1
  1179. package/esm/component/tooltip/handler/utils/pattern.js.map +1 -1
  1180. package/esm/component/tooltip/handler/utils/position.js.map +1 -1
  1181. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  1182. package/esm/component/tooltip/handler/utils/style.js +6 -4
  1183. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  1184. package/esm/component/tooltip/index.js.map +1 -1
  1185. package/esm/component/tooltip/interface/common.js.map +1 -1
  1186. package/esm/component/tooltip/interface/index.js.map +1 -1
  1187. package/esm/component/tooltip/interface/spec.d.ts +5 -6
  1188. package/esm/component/tooltip/interface/spec.js.map +1 -1
  1189. package/esm/component/tooltip/interface/theme.d.ts +6 -0
  1190. package/esm/component/tooltip/interface/theme.js.map +1 -1
  1191. package/esm/component/tooltip/processor/base.d.ts +2 -4
  1192. package/esm/component/tooltip/processor/base.js +4 -4
  1193. package/esm/component/tooltip/processor/base.js.map +1 -1
  1194. package/esm/component/tooltip/processor/dimension-tooltip.js +3 -0
  1195. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  1196. package/esm/component/tooltip/processor/index.js.map +1 -1
  1197. package/esm/component/tooltip/processor/interface.js.map +1 -1
  1198. package/esm/component/tooltip/processor/mark-tooltip.js +3 -0
  1199. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  1200. package/esm/component/tooltip/processor/util.js.map +1 -1
  1201. package/esm/component/tooltip/tooltip.js +6 -9
  1202. package/esm/component/tooltip/tooltip.js.map +1 -1
  1203. package/esm/component/tooltip/utils/common.js.map +1 -1
  1204. package/esm/component/tooltip/utils/index.js.map +1 -1
  1205. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  1206. package/esm/constant/base.js.map +1 -1
  1207. package/esm/constant/box-plot.js.map +1 -1
  1208. package/esm/constant/event.js.map +1 -1
  1209. package/esm/constant/funnel.js.map +1 -1
  1210. package/esm/constant/hierarchy.js.map +1 -1
  1211. package/esm/constant/index.js.map +1 -1
  1212. package/esm/constant/label.js +1 -2
  1213. package/esm/constant/label.js.map +1 -1
  1214. package/esm/constant/layout.js.map +1 -1
  1215. package/esm/constant/marker.js.map +1 -1
  1216. package/esm/constant/polar.js +2 -1
  1217. package/esm/constant/polar.js.map +1 -1
  1218. package/esm/constant/scatter.js.map +1 -1
  1219. package/esm/constant/scroll-bar.js.map +1 -1
  1220. package/esm/constant/sunburst.js.map +1 -1
  1221. package/esm/constant/waterfall.js.map +1 -1
  1222. package/esm/constant/word-cloud.js.map +1 -1
  1223. package/esm/core/factory.js.map +1 -1
  1224. package/esm/core/interface.js.map +1 -1
  1225. package/esm/core/vchart.d.ts +1 -0
  1226. package/esm/core/vchart.js +14 -8
  1227. package/esm/core/vchart.js.map +1 -1
  1228. package/esm/data/initialize.js +1 -2
  1229. package/esm/data/initialize.js.map +1 -1
  1230. package/esm/data/parser/array.js.map +1 -1
  1231. package/esm/data/parser/scale.js.map +1 -1
  1232. package/esm/data/register.js.map +1 -1
  1233. package/esm/data/transforms/add-property.js.map +1 -1
  1234. package/esm/data/transforms/aggregation.js.map +1 -1
  1235. package/esm/data/transforms/box-plot.js.map +1 -1
  1236. package/esm/data/transforms/circle-packing.js.map +1 -1
  1237. package/esm/data/transforms/copy-data-view.js.map +1 -1
  1238. package/esm/data/transforms/data-key.js.map +1 -1
  1239. package/esm/data/transforms/dimension-data.js.map +1 -1
  1240. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  1241. package/esm/data/transforms/drill.js.map +1 -1
  1242. package/esm/data/transforms/flatten.js.map +1 -1
  1243. package/esm/data/transforms/funnel.js.map +1 -1
  1244. package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  1245. package/esm/data/transforms/invalid-travel.js.map +1 -1
  1246. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  1247. package/esm/data/transforms/legend-data/continuous/index.js.map +1 -1
  1248. package/esm/data/transforms/legend-data/continuous/interface.js.map +1 -1
  1249. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  1250. package/esm/data/transforms/legend-data/discrete/index.js.map +1 -1
  1251. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  1252. package/esm/data/transforms/lookup.js.map +1 -1
  1253. package/esm/data/transforms/map.js.map +1 -1
  1254. package/esm/data/transforms/obj-flat.js.map +1 -1
  1255. package/esm/data/transforms/pie.js.map +1 -1
  1256. package/esm/data/transforms/regression.js.map +1 -1
  1257. package/esm/data/transforms/sankey-links.js.map +1 -1
  1258. package/esm/data/transforms/sankey-nodes.js.map +1 -1
  1259. package/esm/data/transforms/sankey.js.map +1 -1
  1260. package/esm/data/transforms/stack-split.js.map +1 -1
  1261. package/esm/data/transforms/sunburst.js.map +1 -1
  1262. package/esm/data/transforms/tick-data/config.js.map +1 -1
  1263. package/esm/data/transforms/tick-data/continuous.js.map +1 -1
  1264. package/esm/data/transforms/tick-data/discrete/linear.js.map +1 -1
  1265. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  1266. package/esm/data/transforms/tick-data/index.js.map +1 -1
  1267. package/esm/data/transforms/tick-data/interface.js.map +1 -1
  1268. package/esm/data/transforms/tick-data/util.js.map +1 -1
  1269. package/esm/data/transforms/treemap.js.map +1 -1
  1270. package/esm/data/transforms/waterfall.js.map +1 -1
  1271. package/esm/event/bubble.js.map +1 -1
  1272. package/esm/event/event-dispatcher.js.map +1 -1
  1273. package/esm/event/event.js.map +1 -1
  1274. package/esm/event/events/dimension/base.js.map +1 -1
  1275. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  1276. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  1277. package/esm/event/events/dimension/index.js.map +1 -1
  1278. package/esm/event/events/dimension/interface.js.map +1 -1
  1279. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  1280. package/esm/event/events/dimension/util/common.js.map +1 -1
  1281. package/esm/event/events/dimension/util/index.js.map +1 -1
  1282. package/esm/event/events/dimension/util/polar.js.map +1 -1
  1283. package/esm/event/events/index.js.map +1 -1
  1284. package/esm/event/interface.js.map +1 -1
  1285. package/esm/index.js.map +1 -1
  1286. package/esm/interaction/config.js.map +1 -1
  1287. package/esm/interaction/dimension-trigger.js.map +1 -1
  1288. package/esm/interaction/drill/drillable.js.map +1 -1
  1289. package/esm/interaction/drill/index.js.map +1 -1
  1290. package/esm/interaction/interaction.js.map +1 -1
  1291. package/esm/interaction/interface.js.map +1 -1
  1292. package/esm/interaction/trigger.js.map +1 -1
  1293. package/esm/interaction/zoom/index.js.map +1 -1
  1294. package/esm/interaction/zoom/zoomable.js.map +1 -1
  1295. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  1296. package/esm/layout/index.d.ts +13 -10
  1297. package/esm/layout/index.js.map +1 -1
  1298. package/esm/layout/interface.js.map +1 -1
  1299. package/esm/layout/label/arc-label.js.map +1 -1
  1300. package/esm/layout/layout3d/index.d.ts +23 -0
  1301. package/esm/layout/layout3d/index.js +123 -0
  1302. package/esm/layout/layout3d/index.js.map +1 -0
  1303. package/esm/mark/arc.js +1 -1
  1304. package/esm/mark/arc.js.map +1 -1
  1305. package/esm/mark/area.js +1 -1
  1306. package/esm/mark/area.js.map +1 -1
  1307. package/esm/mark/base/base-line.js.map +1 -1
  1308. package/esm/mark/base/base-mark.js.map +1 -1
  1309. package/esm/mark/base/index.js.map +1 -1
  1310. package/esm/mark/boxPlot.js +2 -2
  1311. package/esm/mark/boxPlot.js.map +1 -1
  1312. package/esm/mark/cell.js +1 -1
  1313. package/esm/mark/cell.js.map +1 -1
  1314. package/esm/mark/component.d.ts +1 -0
  1315. package/esm/mark/component.js +5 -3
  1316. package/esm/mark/component.js.map +1 -1
  1317. package/esm/mark/group.js.map +1 -1
  1318. package/esm/mark/interface/common.js.map +1 -1
  1319. package/esm/mark/interface/index.js.map +1 -1
  1320. package/esm/mark/interface/type.js.map +1 -1
  1321. package/esm/mark/line.js.map +1 -1
  1322. package/esm/mark/linkPath.js.map +1 -1
  1323. package/esm/mark/mark-set/index.js.map +1 -1
  1324. package/esm/mark/path.js.map +1 -1
  1325. package/esm/mark/polygon.js.map +1 -1
  1326. package/esm/mark/progress-arc.js.map +1 -1
  1327. package/esm/mark/rect.js.map +1 -1
  1328. package/esm/mark/rule.js.map +1 -1
  1329. package/esm/mark/symbol.js.map +1 -1
  1330. package/esm/mark/text.js.map +1 -1
  1331. package/esm/mark/utils/common.js.map +1 -1
  1332. package/esm/mark/utils/index.js.map +1 -1
  1333. package/esm/model/base-model.d.ts +1 -1
  1334. package/esm/model/base-model.js.map +1 -1
  1335. package/esm/model/interface.d.ts +1 -0
  1336. package/esm/model/interface.js.map +1 -1
  1337. package/esm/model/layout-item.js +1 -2
  1338. package/esm/model/layout-item.js.map +1 -1
  1339. package/esm/model/model-state-manager.js +2 -1
  1340. package/esm/model/model-state-manager.js.map +1 -1
  1341. package/esm/model/tooltip-helper.js.map +1 -1
  1342. package/esm/plugin/chart/interface.js.map +1 -1
  1343. package/esm/plugin/components/axis-label-overlap-plugin.js.map +1 -1
  1344. package/esm/plugin/components/basic-plugin.js.map +1 -1
  1345. package/esm/plugin/components/index.js.map +1 -1
  1346. package/esm/plugin/components/interface.js.map +1 -1
  1347. package/esm/plugin/components/plugin-service.js.map +1 -1
  1348. package/esm/plugin/interface.js +1 -1
  1349. package/esm/plugin/interface.js.map +1 -1
  1350. package/esm/plugin/series/interface.js.map +1 -1
  1351. package/esm/region/interface.js +1 -1
  1352. package/esm/region/interface.js.map +1 -1
  1353. package/esm/region/region.js +1 -1
  1354. package/esm/region/region.js.map +1 -1
  1355. package/esm/scale/global-scale.js +1 -1
  1356. package/esm/scale/global-scale.js.map +1 -1
  1357. package/esm/scale/interface.js +1 -1
  1358. package/esm/scale/interface.js.map +1 -1
  1359. package/esm/series/area/animation.js.map +1 -1
  1360. package/esm/series/area/area.js +3 -1
  1361. package/esm/series/area/area.js.map +1 -1
  1362. package/esm/series/area/interface.js.map +1 -1
  1363. package/esm/series/bar/animation.js.map +1 -1
  1364. package/esm/series/bar/bar.js +7 -5
  1365. package/esm/series/bar/bar.js.map +1 -1
  1366. package/esm/series/bar/interface.d.ts +3 -0
  1367. package/esm/series/bar/interface.js.map +1 -1
  1368. package/esm/series/base/base-series.js +5 -7
  1369. package/esm/series/base/base-series.js.map +1 -1
  1370. package/esm/series/base/group.js.map +1 -1
  1371. package/esm/series/base/series-data.js.map +1 -1
  1372. package/esm/series/base/tooltip-helper.js.map +1 -1
  1373. package/esm/series/box-plot/boxPlot.d.ts +1 -1
  1374. package/esm/series/box-plot/boxPlot.js +7 -8
  1375. package/esm/series/box-plot/boxPlot.js.map +1 -1
  1376. package/esm/series/box-plot/interface.js.map +1 -1
  1377. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  1378. package/esm/series/cartesian/cartesian.d.ts +11 -0
  1379. package/esm/series/cartesian/cartesian.js +38 -3
  1380. package/esm/series/cartesian/cartesian.js.map +1 -1
  1381. package/esm/series/cartesian/interface.d.ts +1 -2
  1382. package/esm/series/cartesian/interface.js.map +1 -1
  1383. package/esm/series/circle-packing/animation.js.map +1 -1
  1384. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  1385. package/esm/series/circle-packing/interface.js.map +1 -1
  1386. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  1387. package/esm/series/dot/config.js.map +1 -1
  1388. package/esm/series/dot/dot.js +6 -8
  1389. package/esm/series/dot/dot.js.map +1 -1
  1390. package/esm/series/dot/interface.d.ts +0 -1
  1391. package/esm/series/dot/interface.js.map +1 -1
  1392. package/esm/series/dot/tooltip-helper.js.map +1 -1
  1393. package/esm/series/funnel/funnel.d.ts +8 -0
  1394. package/esm/series/funnel/funnel.js +21 -12
  1395. package/esm/series/funnel/funnel.js.map +1 -1
  1396. package/esm/series/funnel/interface.js.map +1 -1
  1397. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  1398. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  1399. package/esm/series/gauge/gauge.js.map +1 -1
  1400. package/esm/series/gauge/index.js.map +1 -1
  1401. package/esm/series/gauge/interface.js.map +1 -1
  1402. package/esm/series/geo/geo.d.ts +1 -0
  1403. package/esm/series/geo/geo.js +3 -0
  1404. package/esm/series/geo/geo.js.map +1 -1
  1405. package/esm/series/geo/interface.js.map +1 -1
  1406. package/esm/series/heatmap/animation.js.map +1 -1
  1407. package/esm/series/heatmap/heatmap.js +5 -3
  1408. package/esm/series/heatmap/heatmap.js.map +1 -1
  1409. package/esm/series/heatmap/interface.js.map +1 -1
  1410. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  1411. package/esm/series/interface/common.d.ts +1 -0
  1412. package/esm/series/interface/common.js.map +1 -1
  1413. package/esm/series/interface/index.js.map +1 -1
  1414. package/esm/series/interface/series.d.ts +7 -0
  1415. package/esm/series/interface/series.js.map +1 -1
  1416. package/esm/series/interface/theme.js.map +1 -1
  1417. package/esm/series/interface/tooltip-helper.js.map +1 -1
  1418. package/esm/series/interface/type.js.map +1 -1
  1419. package/esm/series/line/animation.js.map +1 -1
  1420. package/esm/series/line/interface.js.map +1 -1
  1421. package/esm/series/line/line.js.map +1 -1
  1422. package/esm/series/link/interface.d.ts +2 -2
  1423. package/esm/series/link/interface.js.map +1 -1
  1424. package/esm/series/link/link.js +3 -3
  1425. package/esm/series/link/link.js.map +1 -1
  1426. package/esm/series/link/tooltip-helper.js.map +1 -1
  1427. package/esm/series/map/geo-source.d.ts +1 -0
  1428. package/esm/series/map/geo-source.js +4 -0
  1429. package/esm/series/map/geo-source.js.map +1 -1
  1430. package/esm/series/map/interface.js.map +1 -1
  1431. package/esm/series/map/map.js +3 -2
  1432. package/esm/series/map/map.js.map +1 -1
  1433. package/esm/series/map/tooltip-helper.js.map +1 -1
  1434. package/esm/series/mixin/line-mixin.d.ts +0 -1
  1435. package/esm/series/mixin/line-mixin.js +11 -7
  1436. package/esm/series/mixin/line-mixin.js.map +1 -1
  1437. package/esm/series/pie/animation/animation.js.map +1 -1
  1438. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  1439. package/esm/series/pie/interface.d.ts +1 -0
  1440. package/esm/series/pie/interface.js.map +1 -1
  1441. package/esm/series/pie/pie.d.ts +13 -5
  1442. package/esm/series/pie/pie.js +38 -31
  1443. package/esm/series/pie/pie.js.map +1 -1
  1444. package/esm/series/polar/animation.js.map +1 -1
  1445. package/esm/series/polar/interface.d.ts +0 -1
  1446. package/esm/series/polar/interface.js.map +1 -1
  1447. package/esm/series/polar/polar.d.ts +1 -0
  1448. package/esm/series/polar/polar.js +3 -0
  1449. package/esm/series/polar/polar.js.map +1 -1
  1450. package/esm/series/polar/progress-like/animation.js.map +1 -1
  1451. package/esm/series/polar/progress-like/index.js.map +1 -1
  1452. package/esm/series/polar/progress-like/interface.js.map +1 -1
  1453. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  1454. package/esm/series/polar/rose-like/index.js.map +1 -1
  1455. package/esm/series/polar/rose-like/interface.js.map +1 -1
  1456. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  1457. package/esm/series/progress/circular/circular.js.map +1 -1
  1458. package/esm/series/progress/circular/index.js.map +1 -1
  1459. package/esm/series/progress/circular/interface.js.map +1 -1
  1460. package/esm/series/progress/interface.js.map +1 -1
  1461. package/esm/series/progress/linear/animation.js.map +1 -1
  1462. package/esm/series/progress/linear/index.js.map +1 -1
  1463. package/esm/series/progress/linear/interface.js.map +1 -1
  1464. package/esm/series/progress/linear/linear.js.map +1 -1
  1465. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  1466. package/esm/series/radar/animation.js.map +1 -1
  1467. package/esm/series/radar/interface.d.ts +0 -1
  1468. package/esm/series/radar/interface.js.map +1 -1
  1469. package/esm/series/radar/radar.js.map +1 -1
  1470. package/esm/series/range-area/interface.js.map +1 -1
  1471. package/esm/series/range-area/range-area.js.map +1 -1
  1472. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  1473. package/esm/series/range-column/animation.js.map +1 -1
  1474. package/esm/series/range-column/interface.d.ts +3 -3
  1475. package/esm/series/range-column/interface.js.map +1 -1
  1476. package/esm/series/range-column/rangeColumn.js +19 -17
  1477. package/esm/series/range-column/rangeColumn.js.map +1 -1
  1478. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  1479. package/esm/series/rose/animation.js.map +1 -1
  1480. package/esm/series/rose/interface.js.map +1 -1
  1481. package/esm/series/rose/rose.js +2 -0
  1482. package/esm/series/rose/rose.js.map +1 -1
  1483. package/esm/series/sankey/animation.js.map +1 -1
  1484. package/esm/series/sankey/interface.js.map +1 -1
  1485. package/esm/series/sankey/sankey.js.map +1 -1
  1486. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  1487. package/esm/series/scatter/animation.js.map +1 -1
  1488. package/esm/series/scatter/interface.js.map +1 -1
  1489. package/esm/series/scatter/scatter.js +8 -4
  1490. package/esm/series/scatter/scatter.js.map +1 -1
  1491. package/esm/series/sunburst/animation/enter.js.map +1 -1
  1492. package/esm/series/sunburst/animation/exit.js.map +1 -1
  1493. package/esm/series/sunburst/animation/index.js.map +1 -1
  1494. package/esm/series/sunburst/animation/interface.js.map +1 -1
  1495. package/esm/series/sunburst/animation/preset.js.map +1 -1
  1496. package/esm/series/sunburst/animation/utils.js.map +1 -1
  1497. package/esm/series/sunburst/interface.js.map +1 -1
  1498. package/esm/series/sunburst/sunburst.js.map +1 -1
  1499. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  1500. package/esm/series/treemap/animation.js.map +1 -1
  1501. package/esm/series/treemap/config.js.map +1 -1
  1502. package/esm/series/treemap/interface.js.map +1 -1
  1503. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  1504. package/esm/series/treemap/treemap.js.map +1 -1
  1505. package/esm/series/util/label-mark.js.map +1 -1
  1506. package/esm/series/util/utils.js.map +1 -1
  1507. package/esm/series/waterfall/animation.js.map +1 -1
  1508. package/esm/series/waterfall/interface.js.map +1 -1
  1509. package/esm/series/waterfall/waterfall.js.map +1 -1
  1510. package/esm/series/word-cloud/animation.js.map +1 -1
  1511. package/esm/series/word-cloud/config.js.map +1 -1
  1512. package/esm/series/word-cloud/interface.js.map +1 -1
  1513. package/esm/series/word-cloud/word-cloud.d.ts +10 -3
  1514. package/esm/series/word-cloud/word-cloud.js +107 -26
  1515. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  1516. package/esm/theme/buildin-theme/config.js +2 -0
  1517. package/esm/theme/buildin-theme/config.js.map +1 -1
  1518. package/esm/theme/buildin-theme/dark.js +6 -462
  1519. package/esm/theme/buildin-theme/dark.js.map +1 -1
  1520. package/esm/theme/buildin-theme/index.js.map +1 -1
  1521. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  1522. package/esm/theme/buildin-theme/light/component/brush.js +12 -8
  1523. package/esm/theme/buildin-theme/light/component/brush.js.map +1 -1
  1524. package/esm/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
  1525. package/esm/theme/buildin-theme/light/component/cartesian-axis.js +15 -81
  1526. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
  1527. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
  1528. package/esm/theme/buildin-theme/light/component/color-legend.js.map +1 -1
  1529. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
  1530. package/esm/theme/buildin-theme/light/component/common-axis.js +68 -0
  1531. package/esm/theme/buildin-theme/light/component/common-axis.js.map +1 -0
  1532. package/esm/theme/buildin-theme/light/component/crosshair.js +1 -6
  1533. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  1534. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  1535. package/esm/theme/buildin-theme/light/component/discrete-legend.js +3 -6
  1536. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
  1537. package/esm/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  1538. package/esm/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
  1539. package/esm/theme/buildin-theme/light/component/indicator.js.map +1 -0
  1540. package/esm/theme/buildin-theme/light/component/mark-area.js.map +1 -1
  1541. package/esm/theme/buildin-theme/light/component/mark-line.js.map +1 -1
  1542. package/esm/theme/buildin-theme/light/component/mark-point.js +1 -3
  1543. package/esm/theme/buildin-theme/light/component/mark-point.js.map +1 -1
  1544. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  1545. package/esm/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
  1546. package/esm/theme/buildin-theme/light/component/polar-axis.js +11 -68
  1547. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
  1548. package/esm/theme/buildin-theme/light/component/size-legend.js.map +1 -1
  1549. package/esm/theme/buildin-theme/light/component/title.d.ts +2 -0
  1550. package/esm/theme/buildin-theme/light/component/title.js +9 -0
  1551. package/esm/theme/buildin-theme/light/component/title.js.map +1 -0
  1552. package/esm/theme/buildin-theme/light/component/tooltip.js +5 -5
  1553. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  1554. package/esm/theme/buildin-theme/light/index.js +21 -7
  1555. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  1556. package/esm/theme/buildin-theme/light/series/area.js +6 -5
  1557. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  1558. package/esm/theme/buildin-theme/light/series/bar.js +1 -4
  1559. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  1560. package/esm/theme/buildin-theme/light/series/bar3d.js +1 -4
  1561. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  1562. package/esm/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
  1563. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  1564. package/esm/theme/buildin-theme/light/series/dot.js +11 -3
  1565. package/esm/theme/buildin-theme/light/series/dot.js.map +1 -1
  1566. package/esm/theme/buildin-theme/light/series/funnel.js +0 -3
  1567. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  1568. package/esm/theme/buildin-theme/light/series/funnel3d.js +0 -3
  1569. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  1570. package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
  1571. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  1572. package/esm/theme/buildin-theme/light/series/heatmap.js +2 -3
  1573. package/esm/theme/buildin-theme/light/series/heatmap.js.map +1 -1
  1574. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  1575. package/esm/theme/buildin-theme/light/series/line.js +6 -5
  1576. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  1577. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  1578. package/esm/theme/buildin-theme/light/series/link.js +5 -3
  1579. package/esm/theme/buildin-theme/light/series/link.js.map +1 -1
  1580. package/esm/theme/buildin-theme/light/series/map.js +1 -2
  1581. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  1582. package/esm/theme/buildin-theme/light/series/pie.js +1 -3
  1583. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  1584. package/esm/theme/buildin-theme/light/series/pie3d.js +1 -3
  1585. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  1586. package/esm/theme/buildin-theme/light/series/radar.js +6 -5
  1587. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  1588. package/esm/theme/buildin-theme/light/series/rangeColumn.js +1 -4
  1589. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  1590. package/esm/theme/buildin-theme/light/series/scatter.js +1 -4
  1591. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  1592. package/esm/theme/buildin-theme/light/series/sunburst.js.map +1 -1
  1593. package/esm/theme/buildin-theme/light/series/treemap.js +1 -5
  1594. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  1595. package/esm/theme/buildin-theme/light/series/waterfall.js +1 -5
  1596. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  1597. package/esm/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
  1598. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  1599. package/esm/theme/color-scheme/interface.d.ts +1 -1
  1600. package/esm/theme/color-scheme/interface.js.map +1 -1
  1601. package/esm/theme/color-scheme/util.js.map +1 -1
  1602. package/esm/theme/index.js.map +1 -1
  1603. package/esm/theme/interface.d.ts +13 -5
  1604. package/esm/theme/interface.js.map +1 -1
  1605. package/esm/theme/theme-manager.js.map +1 -1
  1606. package/esm/typings/common.js.map +1 -1
  1607. package/esm/typings/coordinate.js.map +1 -1
  1608. package/esm/typings/cursor.js.map +1 -1
  1609. package/esm/typings/data.js.map +1 -1
  1610. package/esm/typings/geo.js.map +1 -1
  1611. package/esm/typings/index.js.map +1 -1
  1612. package/esm/typings/interpolate.js.map +1 -1
  1613. package/esm/typings/line-stroke.js.map +1 -1
  1614. package/esm/typings/params.js.map +1 -1
  1615. package/esm/typings/scale.js.map +1 -1
  1616. package/esm/typings/shape.js.map +1 -1
  1617. package/esm/typings/space.d.ts +1 -1
  1618. package/esm/typings/space.js.map +1 -1
  1619. package/esm/typings/spec/chart.js.map +1 -1
  1620. package/esm/typings/spec/common.d.ts +5 -5
  1621. package/esm/typings/spec/common.js.map +1 -1
  1622. package/esm/typings/spec/index.js.map +1 -1
  1623. package/esm/typings/tooltip/common.js.map +1 -1
  1624. package/esm/typings/tooltip/handler.js.map +1 -1
  1625. package/esm/typings/tooltip/index.js.map +1 -1
  1626. package/esm/typings/tooltip/line.js.map +1 -1
  1627. package/esm/typings/tooltip/position.js.map +1 -1
  1628. package/esm/typings/tooltip/shape.js.map +1 -1
  1629. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1630. package/esm/typings/visual.d.ts +21 -3
  1631. package/esm/typings/visual.js.map +1 -1
  1632. package/esm/util/array.js.map +1 -1
  1633. package/esm/util/color.js.map +1 -1
  1634. package/esm/util/data.js +3 -2
  1635. package/esm/util/data.js.map +1 -1
  1636. package/esm/util/debug.js.map +1 -1
  1637. package/esm/util/env.js.map +1 -1
  1638. package/esm/util/hierarchy.js.map +1 -1
  1639. package/esm/util/id.js.map +1 -1
  1640. package/esm/util/image.js.map +1 -1
  1641. package/esm/util/index.js.map +1 -1
  1642. package/esm/util/math.js.map +1 -1
  1643. package/esm/util/model.js.map +1 -1
  1644. package/esm/util/object.js.map +1 -1
  1645. package/esm/util/scale.js.map +1 -1
  1646. package/esm/util/space.js.map +1 -1
  1647. package/esm/util/spec.js.map +1 -1
  1648. package/esm/util/style.js +4 -6
  1649. package/esm/util/style.js.map +1 -1
  1650. package/esm/util/text.js.map +1 -1
  1651. package/esm/util/type.js.map +1 -1
  1652. package/esm/vchart-all.js +3 -1
  1653. package/esm/vchart-all.js.map +1 -1
  1654. package/package.json +17 -58
  1655. package/cjs/component/brush/config.d.ts +0 -8
  1656. package/cjs/component/brush/config.js +0 -13
  1657. package/cjs/component/brush/config.js.map +0 -1
  1658. package/cjs/component/indicator/config.d.ts +0 -5
  1659. package/cjs/component/indicator/config.js.map +0 -1
  1660. package/cjs/component/tooltip/config.d.ts +0 -2
  1661. package/cjs/component/tooltip/config.js +0 -12
  1662. package/cjs/component/tooltip/config.js.map +0 -1
  1663. package/esm/component/brush/config.d.ts +0 -8
  1664. package/esm/component/brush/config.js +0 -9
  1665. package/esm/component/brush/config.js.map +0 -1
  1666. package/esm/component/indicator/config.d.ts +0 -5
  1667. package/esm/component/indicator/config.js.map +0 -1
  1668. package/esm/component/tooltip/config.d.ts +0 -2
  1669. package/esm/component/tooltip/config.js +0 -8
  1670. package/esm/component/tooltip/config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/base-chart.ts"],"names":[],"mappings":"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","file":"base-chart.js","sourcesContent":["import type {\n ISeriesSpec,\n Datum,\n IMarkStateSpec,\n IVisual,\n IVisualSpecScale,\n IRegionQuerier,\n MaybeArray,\n IPadding,\n IRect,\n StringOrNumber,\n IChartSpec\n} from '../typings';\nimport type { LayoutCallBack } from '../layout/interface';\nimport { GlobalScale } from '../scale/global-scale';\nimport type {\n ILayoutModelState,\n IModel,\n IModelOption,\n IUpdateSpecResult,\n ILayoutOrientPadding,\n ILayoutRect\n} from '../model/interface';\nimport type {\n IChart,\n IChartLayoutOption,\n IChartRenderOption,\n IChartOption,\n IChartEvaluateOption,\n ILayoutParams\n} from './interface';\nimport type { ISeries } from '../series/interface';\nimport type { IRegion } from '../region/interface';\nimport type { IComponent } from '../component/interface';\nimport type { IMark } from '../mark/interface';\nimport type { IEvent } from '../event/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport type { DataSet } from '@visactor/vdataset/es/data-set';\nimport { Factory } from '../core/factory';\nimport { Event } from '../event/event';\nimport {\n isArray,\n isValid,\n createID,\n calcPadding,\n normalizeLayoutPaddingSpec,\n array,\n isTrueBrowser,\n isString,\n getActualColor\n} from '../util';\nimport { Stack } from './stack';\nimport { BaseModel } from '../model/base-model';\nimport { BaseMark } from '../mark/base/base-mark';\nimport type { ITheme } from '../theme/interface';\nimport { DEFAULT_CHART_WIDTH, DEFAULT_CHART_HEIGHT } from '../constant/base';\nimport { dataToDataView } from '../data/initialize';\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { has, isFunction, isEmpty, getContainerSize } from '@visactor/vutils';\nimport { getDataScheme } from '../theme/color-scheme/util';\nimport type { IGroupMark, IMorphConfig, IMark as IVGrammarMark, IView } from '@visactor/vgrammar';\nimport { CompilableBase } from '../compile/compilable-base';\nimport type { IStateInfo } from '../compile/mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nimport { ChartEvent, VGRAMMAR_HOOK_EVENT } from '../constant';\nimport type { IGlobalScale } from '../scale/interface';\n\nexport class BaseChart extends CompilableBase implements IChart {\n readonly type: string = 'chart';\n\n readonly id: number = createID();\n\n //FIXME: 转换后的 spec 需要声明 ITransformedChartSpec\n protected _spec: any;\n getSpec() {\n return this._spec;\n }\n setSpec(s: any) {\n // TODO 通过spec设置进行图表更新\n this.transformSpec(s);\n this._spec = s;\n }\n\n // 主题\n protected _theme: ITheme;\n\n protected _regions: IRegion[] = [];\n // 系列\n protected _series: ISeries[] = [];\n // 组件\n protected _components: IComponent[] = [];\n\n // 布局\n protected _layoutFunc: LayoutCallBack;\n protected _layoutRect: IRect = {\n x: 0,\n y: 0,\n width: DEFAULT_CHART_WIDTH,\n height: DEFAULT_CHART_HEIGHT\n };\n getLayoutRect() {\n return this._layoutRect;\n }\n protected _viewRect: ILayoutRect = {\n width: DEFAULT_CHART_WIDTH,\n height: DEFAULT_CHART_HEIGHT\n };\n getViewRect() {\n return this._viewRect;\n }\n protected _viewBox: IBoundsLike = {\n x1: 0,\n y1: 0,\n x2: DEFAULT_CHART_WIDTH,\n y2: DEFAULT_CHART_HEIGHT\n };\n\n // 模块参数\n protected _modelOption: IModelOption;\n\n // 全局通道\n // protected _globalScale: { [key: string]: IBaseScale } = {};\n protected _globalScale: IGlobalScale;\n\n // mark & model 的 id 映射\n protected _idMap: Map<number, IModel | IMark> = new Map();\n\n protected _event: IEvent;\n protected _dataSet: DataSet;\n protected declare _option: IChartOption;\n\n protected _layoutTag: boolean = true;\n getLayoutTag() {\n return this._layoutTag;\n }\n setLayoutTag(tag: boolean, morphConfig?: IMorphConfig): boolean {\n this._layoutTag = tag;\n if (this.getCompiler()?.getVGrammarView()) {\n this.getCompiler().getVGrammarView().updateLayoutTag();\n tag && this.getCompiler().reRenderAsync(morphConfig);\n }\n return this._layoutTag;\n }\n\n // 模块内的需要动态影像图表的属性\n readonly state: ILayoutModelState = {\n layoutUpdateRank: 1\n };\n\n // stack\n protected _stack: Stack;\n\n padding: IPadding = { top: 0, left: 0, right: 0, bottom: 0 };\n protected _paddingSpec: ILayoutOrientPadding;\n\n protected _canvasRect: ILayoutRect;\n\n constructor(spec: any, option: IChartOption) {\n super(option);\n\n this._theme = option.getTheme();\n this._paddingSpec = normalizeLayoutPaddingSpec(spec.padding ?? this._theme?.padding);\n\n this._event = new Event(option.eventDispatcher, option.mode);\n this._dataSet = option.dataSet;\n this._modelOption = {\n ...option,\n mode: this._option.mode,\n map: this._idMap,\n getChartLayoutRect: () => this._layoutRect,\n getChartViewRect: () => this._viewRect,\n getChart: () => this,\n globalScale: this._globalScale\n };\n this._stack = new Stack(this);\n this._spec = spec;\n }\n\n created() {\n this.transformSpec(this._spec);\n this.createGlobalScale();\n // 基础内容\n this.createLayout();\n // 基于spec 创建元素。\n // region\n this.createRegion(this._spec.region);\n this.createSeries(this._spec.series);\n this.createComponent(this._spec);\n }\n transformSpec(spec: any): void {\n if (!spec.region || spec.region.length === 0) {\n spec.region = [{}];\n }\n if (!has(spec, 'tooltip')) {\n spec.tooltip = {};\n }\n }\n\n init(options: any = {}) {\n // 元素创建完毕后再执行各元素的初始化 方便各元素能获取到其他模块\n this.initRegion();\n this.initSeries();\n // global scale 应当在series初始化完成后,组件初始化之前\n // 此时 globalScale 已经生效组件可以获取到正确的映射\n this.initGlobalScale();\n // component\n this.initComponent();\n // event\n this.initEvent();\n\n // TODO: to component\n // stack\n this._stack.init();\n // this._stack.stackAll();\n this._series.forEach(s => s.getRawData()?.markRunning());\n this._series.forEach(s => s.fillData());\n }\n\n onResize(width: number, height: number): void {\n const canvasRect = {\n width,\n height\n };\n this._canvasRect = canvasRect;\n this._updateLayoutRect(this._option.viewBox);\n this.setLayoutTag(true);\n }\n\n updateViewBox(viewBox: IBoundsLike) {\n this._updateLayoutRect(viewBox);\n this.setLayoutTag(true);\n }\n\n createRegion(regionSpec: any[]) {\n // this._regions = [];\n if (!regionSpec) {\n return;\n }\n regionSpec.forEach((s, i) => {\n const region = Factory.createRegion('region', s, {\n ...this._modelOption,\n specIndex: i,\n specKey: 'region'\n });\n if (region) {\n region.created();\n this._regions.push(region);\n }\n });\n }\n\n initRegion() {\n this._regions.forEach(r => r.init({}));\n }\n\n createSeries(seriesSpec: ISeriesSpec[]) {\n seriesSpec.forEach((spec, index) => {\n // 自动填充数据\n if (!spec.data) {\n spec.data = this.getSeriesData(spec.dataId, spec.dataIndex);\n } else {\n // 保证数据最终是 DataView 实例\n spec.data = dataToDataView(spec.data, this._dataSet, this._spec.data as DataView[]);\n }\n\n // 如果用户在 vchart 构造函数参数中关闭了 animation, 则已该配置为准\n if (this._option.animation === false) {\n spec.animation = false;\n }\n\n let region: IRegion | undefined;\n if (isValid(spec.regionId)) {\n region = this.getRegionsInUserId(spec.regionId);\n } else if (isValid(spec.regionIndex)) {\n region = this.getRegionsInIndex([spec.regionIndex])[0];\n }\n\n if (!region) {\n region = this._regions[0];\n }\n if (!region) {\n return;\n }\n const series = Factory.createSeries(spec.type, spec, {\n ...this._modelOption,\n region,\n specIndex: index,\n specKey: 'series',\n getTheme: () => this._theme,\n globalScale: this._globalScale,\n getSeriesData: this.getSeriesData.bind(this)\n });\n\n if (series) {\n series.created();\n this._series.push(series);\n region.addSeries(series);\n }\n });\n }\n initSeries() {\n this._series.forEach(s => s.init({}));\n }\n getAllSeries = (): ISeries[] => {\n return this._series ?? [];\n };\n\n getSeriesById(id: number): ISeries | undefined {\n return this._series.find(x => x.id === id);\n }\n\n createComponent(spec: any) {\n Factory.getComponents().forEach(C => {\n const cmp = C.createComponent(spec, {\n ...this._modelOption,\n getAllRegions: this.getAllRegions,\n getRegionsInIndex: this.getRegionsInIndex,\n getRegionsInIds: this.getRegionsInIds,\n getRegionsInUserIdOrIndex: this.getRegionsInUserIdOrIndex,\n getTheme: () => this._theme,\n getAllSeries: this.getAllSeries,\n getSeriesInIndex: this.getSeriesInIndex,\n getSeriesInIds: this.getSeriesInIds,\n getSeriesInUserIdOrIndex: this.getSeriesInUserIdOrIndex,\n getAllComponents: this.getComponents,\n getComponentByIndex: this.getComponentByIndex,\n getComponentByUserId: this.getComponentByUserId,\n getComponentsByKey: this.getComponentsByKey\n });\n if (!cmp) {\n return;\n }\n array(cmp).forEach(c => {\n c.created();\n this._components.push(c);\n });\n });\n }\n\n initComponent() {\n this._components.forEach(c => c.init({ dataSet: this._dataSet }));\n }\n\n getAllComponents(): IComponent[] {\n return this._components;\n }\n\n getAllModels(): IModel[] {\n return [].concat(this.getAllSeries(), this.getAllComponents(), this.getAllRegions());\n }\n\n createLayout() {\n this._updateLayoutRect(this._option.viewBox);\n this._initLayoutFunc();\n }\n\n setLayout(layout: LayoutCallBack) {\n // 统一自定义 layout 到 option 中\n this._option.layout = layout;\n this._initLayoutFunc();\n }\n\n /** 可以通过设置 layout = null 来取消自定义布局。启用spec上的布局配置 */\n private _initLayoutFunc() {\n this._layoutFunc = this._option.layout;\n if (!this._layoutFunc) {\n const layout = new (Factory.getLayout(this._spec.layout?.type ?? 'base'))(this._spec.layout);\n this._layoutFunc = layout.layoutItems.bind(layout);\n }\n }\n\n layout(params: ILayoutParams): void {\n this._option.performanceHook?.beforeLayoutWithSceneGraph?.();\n if (this.getLayoutTag()) {\n this._event.emit(ChartEvent.layoutStart, { chart: this });\n\n this.onLayoutStart(params);\n const elements = this.getLayoutElements();\n this._layoutFunc(this, elements, this._layoutRect, this._viewBox);\n this.setLayoutTag(false);\n this.onLayoutEnd(params);\n\n this._event.emit(ChartEvent.layoutEnd, { chart: this });\n }\n this._option.performanceHook?.afterLayoutWithSceneGraph?.();\n }\n\n // 通知所有需要通知的元素 onLayout 钩子\n onLayoutStart(option: IChartLayoutOption) {\n const elements = this.getLayoutElements();\n elements.forEach(element => element.onLayoutStart(this._layoutRect, this._viewRect, option));\n }\n\n // 通知所有需要通知的元素 onLayoutEnd 钩子\n onLayoutEnd(option: IChartLayoutOption) {\n const elements = this.getLayoutElements();\n elements.forEach(element => element.onLayoutEnd(option));\n }\n\n onEvaluateEnd(option: IChartEvaluateOption) {\n const elements = this.getLayoutElements();\n elements.forEach(element => element.onEvaluateEnd(option));\n }\n\n getLayoutElements() {\n return [...this._components, ...this._regions, ...this._series];\n }\n\n // 区域\n getRegionsInIndex = (index?: number[]): IRegion[] => {\n if (!index || index.length === 0) {\n return [this._regions[0]];\n }\n return this._regions.filter((_r, i) => index.includes(i));\n };\n\n getAllRegions = () => {\n return this._regions;\n };\n\n getRegionsInIds = (ids: number[]): IRegion[] => {\n if (!ids) {\n return [];\n }\n return this._regions.filter(r => ids.includes(r.id));\n };\n\n getRegionsInQuerier = (region?: MaybeArray<IRegionQuerier>) => {\n if (region) {\n return this._regions.filter((r, index) => {\n return array(region).some(\n regionFilter =>\n (isValid(regionFilter.regionId) && regionFilter.regionId === r.userId) || regionFilter.regionIndex === index\n );\n });\n }\n return this._regions;\n };\n\n getRegionsInUserId = (userId: StringOrNumber): IRegion | undefined => {\n if (!userId) {\n return undefined;\n }\n return this._regions.find(r => r.userId === userId);\n };\n\n getRegionsInUserIdOrIndex = (user_ids?: StringOrNumber[], index?: number[]): IRegion[] => {\n const regions = this.getAllRegions();\n return regions.filter(r => {\n if (user_ids?.length) {\n return r.userId && user_ids.includes(r.userId);\n } else if (index?.length) {\n return index.includes(r.getSpecIndex());\n }\n return true;\n });\n };\n\n // 模块\n getComponents = () => {\n return this._components;\n };\n\n // 区域\n getSeriesInIndex = (index?: number[]): ISeries[] => {\n if (!index || index.length === 0) {\n return [this._series[0]];\n }\n return this._series.filter((_r, i) => index.includes(i));\n };\n\n getSeriesInIds = (ids?: number[]): ISeries[] => {\n if (!ids) {\n return [];\n }\n return this._series.filter(r => ids.includes(r.id));\n };\n\n getSeriesInUserId = (userId: string): ISeries | undefined => {\n if (!userId) {\n return undefined;\n }\n return this._series.find(r => r.userId === userId);\n };\n\n getSeriesInUserIdOrIndex = (user_ids?: StringOrNumber[], index?: number[]): ISeries[] => {\n const series = this.getAllSeries();\n return series.filter(s => {\n if (user_ids?.length) {\n return s.userId && user_ids.includes(s.userId);\n } else if (index?.length) {\n return index.includes(s.getSpecIndex());\n }\n return true;\n });\n };\n\n getComponentByIndex = (key: string, index: number) => {\n const components = this._components.filter(c => c.specKey === key);\n if (!components || components.length === 0) {\n return undefined;\n }\n return components[index];\n };\n\n getComponentsByKey = (key: string) => {\n return this._components.filter(c => c.specKey === key);\n };\n\n getComponentByUserId = (userId: StringOrNumber) => {\n const component = this._components.find(s => s.userId === userId);\n if (component) {\n return component;\n }\n return undefined;\n };\n\n getModelById(id: number): IModel | undefined {\n const model = this._idMap.get(id);\n if (model && model instanceof BaseModel) {\n return model;\n }\n return undefined;\n }\n\n getModelByUserId(userId: StringOrNumber): IModel | undefined {\n // TODO: 考虑通过 map 结构优化获取方式 & 补充所有 model 的寻找方法\n const series = this._series.find(s => s.userId === userId);\n if (series) {\n return series;\n }\n const region = this._regions.find(s => s.userId === userId);\n if (region) {\n return region;\n }\n const component = this._components.find(s => s.userId === userId);\n if (component) {\n return component;\n }\n return undefined;\n }\n\n getAllMarks(): IMark[] {\n const items = Array.from(this._idMap.values());\n return items.filter(item => item && item instanceof BaseMark) as IMark[];\n }\n\n getMarkById(id: number): IMark | undefined {\n const mark = this._idMap.get(id);\n if (mark && mark instanceof BaseMark) {\n return mark;\n }\n return undefined;\n }\n\n updateParseData(id: string, data: Datum[], options?: IParserOptions) {\n const dv = this._dataSet.getDataView(id);\n if (dv) {\n dv.updateRawData(data);\n }\n }\n\n updateData(id: StringOrNumber, data: unknown, options?: IParserOptions) {\n const dv = this._dataSet.getDataView(id as string);\n if (dv) {\n dv.parseNewData(data);\n }\n this.getAllModels().forEach(model => model.onDataUpdate());\n }\n\n onRender(option: IChartRenderOption) {\n // do nothing\n }\n\n getCanvasRect(): Omit<IRect, 'x' | 'y'> {\n if (this._canvasRect) {\n return this._canvasRect;\n }\n\n const { width: userWidth, height: userHeight } = this._spec;\n if (isValid(userWidth) && isValid(userHeight)) {\n this._canvasRect = {\n width: userWidth,\n height: userHeight\n };\n } else {\n let width = DEFAULT_CHART_WIDTH;\n let height = DEFAULT_CHART_HEIGHT;\n const container = this._option.container;\n const canvas = this._option.canvas;\n if (container) {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n this._option.container,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n width = containerWidth;\n height = containerHeight;\n } else if (canvas && isTrueBrowser(this._option.mode)) {\n let canvasNode;\n if (isString(canvas)) {\n canvasNode = document?.getElementById(canvas);\n } else {\n canvasNode = canvas;\n }\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n canvasNode as HTMLCanvasElement,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n width = containerWidth;\n height = containerHeight;\n }\n\n width = userWidth ?? width;\n height = userHeight ?? height;\n\n this._canvasRect = {\n width,\n height\n };\n }\n\n return this._canvasRect;\n }\n\n getSeriesData(id: StringOrNumber | undefined, index: number | undefined): DataView | undefined {\n if (!this._spec.data) {\n // 没有数据,报错处理\n throw new Error('no data in spec!');\n }\n\n // dataId 优先\n if (typeof id === 'string') {\n const metchData = (this._spec.data as DataView[]).filter((data: any) => {\n return data.name === id;\n });\n\n if (metchData[0]) {\n return metchData[0];\n }\n\n // id不匹配,报错处理\n throw new Error(`no data matches dataId ${id}!`);\n }\n\n // 其次使用dataIndex\n if (typeof index === 'number') {\n if (this._spec.data[index]) {\n return this._spec.data[index];\n }\n // index不匹配,报错处理\n throw new Error(`no data matches dataIndex ${index}!`);\n }\n\n // 最后返回第一条数据\n return this._spec.data[0];\n }\n\n // 全局通道\n createGlobalScale() {\n const scales: IChartSpec['scales'] = this._spec.scales ?? [];\n let colorScaleSpec: IVisualSpecScale<any, any> = scales.find(s => s.id === 'color');\n if (!colorScaleSpec) {\n colorScaleSpec = {\n type: 'ordinal',\n id: 'color',\n domain: null,\n range: null\n };\n scales.push(colorScaleSpec);\n if (this._spec.color) {\n const colorSpec = this._spec.color as string[] | IVisual<string>;\n\n // range array\n if (isArray(colorSpec)) {\n colorScaleSpec.range = colorSpec.map(color => getActualColor(color, this._theme?.colorScheme));\n } else {\n colorScaleSpec.type = (colorSpec as IVisualSpecScale<any, any>).type;\n (colorSpec as IVisualSpecScale<any, any>).domain &&\n (colorScaleSpec.domain = (colorSpec as IVisualSpecScale<any, any>).domain);\n colorScaleSpec.range = (colorSpec as IVisualSpecScale<any, any>).range;\n }\n }\n }\n // 如果没有range设置\n // length === 0 就认为是没有配置,用户配置 color: [] 依然认为是无效配置,启用主题色板\n if (!colorScaleSpec.range?.length) {\n colorScaleSpec.range = getDataScheme(this._theme?.colorScheme);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n colorScaleSpec.rangeTheme = true;\n }\n this._globalScale = new GlobalScale(scales, this);\n this._modelOption.globalScale = this._globalScale;\n }\n\n initGlobalScale() {\n const domainSet = new Set();\n this._series.forEach(s => {\n const keys = s.getSeriesKeys();\n keys && keys.forEach(k => domainSet.add(k));\n });\n // domain\n const domain = Array.from(domainSet);\n // 如果 global scale 当前没有 domain 的话,就使用这个domain\n // 整理了目前会影响全局 scale 的逻辑,但是当前这个节点使用这个逻辑可行\n // 但是考虑到组件也可能会有修改 scale 的逻辑\n // 增加一个属性设置优先级也许是必须的?\n this._globalScale.updateScaleDomain(domain);\n }\n\n updateGlobalScaleTheme() {\n const colorSpec = this._globalScale.getScaleSpec('color');\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (colorSpec.rangeTheme) {\n colorSpec.range = getDataScheme(this._theme?.colorScheme);\n this._globalScale.getScale('color').range(colorSpec.range);\n }\n }\n\n updateSpec(spec: any, morphConfig?: IMorphConfig) {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n // 需要重新布局\n this.setLayoutTag(true, morphConfig);\n // 第一版简易逻辑如果配置项出现增删,直接重新创建chart\n // 如果出现类型不同,同上\n if (spec.type !== this.type) {\n result.reMake = true;\n return result;\n }\n // transform\n this.transformSpec(spec);\n // spec set & transformSpec\n // diff meta length;\n const currentKeys = Object.keys(this._spec);\n const nextKeys = Object.keys(spec);\n if (JSON.stringify(currentKeys) !== JSON.stringify(nextKeys)) {\n result.reMake = true;\n return result;\n }\n this._spec = spec;\n this.updateDataSpec(result);\n if (result.reMake) {\n return result;\n }\n // region 变化\n this.updateRegionSpec(result);\n if (result.reMake) {\n return result;\n }\n this.updateComponentSpec(result);\n if (result.reMake) {\n return result;\n }\n this.updateSeriesSpec(result);\n return result;\n }\n\n updateDataSpec(result: IUpdateSpecResult) {\n if (!this._spec.data) {\n return;\n }\n array(this._spec.data).forEach(d => {\n const dataView = this._dataSet.getDataView(d.id);\n if (dataView) {\n if (d.values) {\n dataView.updateRawData(d.values);\n } else if (!d.latestData) {\n dataView.updateRawData([]);\n }\n }\n });\n }\n\n updateRegionSpec(result: IUpdateSpecResult) {\n if (!this._spec?.region) {\n return;\n }\n // 长度不同,直接判定为 remake\n if (this._spec.region.length !== this._regions.length) {\n result.reMake = true;\n return;\n }\n this._regions.forEach(r => {\n this._mergeUpdateResult(result, r.updateSpec(this._spec.region[r.getSpecIndex()]));\n r.reInit();\n });\n }\n\n updateComponentSpec(result: IUpdateSpecResult) {\n // 用来检测组件是否有新增\n const componentCache: {\n [key in string]: {\n specCount: number;\n componentCount: number;\n };\n } = {};\n this._components.forEach(c => {\n // 每一个组件获取对应的speck\n const cmpSpec = this._spec[c.specKey] ?? {};\n if (isArray(cmpSpec)) {\n componentCache[c.specKey] = componentCache[c.specKey] || {\n specCount: cmpSpec.length,\n componentCount: 0\n };\n componentCache[c.specKey].componentCount++;\n this._mergeUpdateResult(result, c.updateSpec(cmpSpec[c.getSpecIndex()]));\n } else {\n this._mergeUpdateResult(result, c.updateSpec(cmpSpec));\n }\n c.reInit();\n });\n for (const key in componentCache) {\n if (Object.prototype.hasOwnProperty.call(componentCache, key)) {\n const element = componentCache[key];\n if (element.componentCount !== element.specCount) {\n result.reMake = true;\n }\n }\n }\n }\n\n updateSeriesSpec(result: IUpdateSpecResult) {\n // 长度不同,直接判定为 remake\n if (this._spec.series.length !== this._series.length) {\n result.reMake = true;\n return;\n }\n this._series.forEach(s => {\n this._mergeUpdateResult(result, s.updateSpec(this._spec.series[s.getSpecIndex()]));\n s.reInit();\n });\n }\n\n getCanvas() {\n return this.getCompiler()?.getCanvas() ?? null;\n }\n\n protected isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(spec: any) {\n const series: any = {\n data: spec.data?.[0],\n dataKey: spec.dataKey,\n\n hover: spec.hover,\n select: spec.select,\n\n label: spec.label,\n\n seriesStyle: spec.seriesStyle,\n\n animation: spec.animation,\n animationAppear: spec.animationAppear,\n animationDisappear: spec.animationDisappear,\n animationEnter: spec.animationEnter,\n animationUpdate: spec.animationUpdate,\n animationExit: spec.animationExit,\n animationNormal: spec.animationNormal,\n\n extensionMark: spec.extensionMark\n };\n return series;\n }\n\n private _mergeUpdateResult(resultA: IUpdateSpecResult, resultB: IUpdateSpecResult) {\n resultA.change = resultA.change || resultB.change;\n resultA.reCompile = resultA.reCompile || resultB.reCompile;\n resultA.reMake = resultA.reMake || resultB.reMake;\n resultA.reRender = resultA.reRender || resultB.reRender;\n resultA.reSize = resultA.reSize || resultB.reSize;\n }\n\n private _updateLayoutRect(viewBox: IBoundsLike) {\n const canvasRect = this.getCanvasRect();\n let viewRect = canvasRect;\n if (viewBox) {\n this._viewBox = viewBox;\n const { x1 = 0, y1 = 0, x2, y2 } = viewBox;\n viewRect = {\n width: x2 - x1,\n height: y2 - y1\n };\n } else {\n this._viewBox = { x1: 0, y1: 0, x2: viewRect.width, y2: viewRect.height };\n }\n this._viewRect = viewRect;\n // resize 时 padding 也应该会发生变化 先计算\n this.padding = calcPadding(this._paddingSpec, viewRect, viewRect);\n this._layoutRect.width = viewRect.width - this.padding.left - this.padding.right;\n this._layoutRect.height = viewRect.height - this.padding.top - this.padding.bottom;\n this._layoutRect.x = this.padding.left;\n this._layoutRect.y = this.padding.top;\n }\n\n /** 获取当前全局主题 */\n getCurrentTheme() {\n return this._theme;\n }\n\n /** 设置当前全局主题 */\n setCurrentTheme(theme: ITheme) {\n this._theme = theme;\n\n // 需要重新布局\n this.setLayoutTag(true);\n\n // transform\n this.transformSpec(this._spec);\n // 设置色板,只设置 colorScale 的 range\n this.updateGlobalScaleTheme();\n\n this.setRegionTheme();\n this.setComponentTheme(theme);\n this.setSeriesTheme(theme);\n }\n\n protected setRegionTheme() {\n this._regions.forEach(r => {\n r.reInit();\n });\n }\n\n protected setComponentTheme(theme: ITheme) {\n this._components.forEach(c => {\n c.setCurrentTheme(theme.series[c.type], true);\n });\n }\n\n protected setSeriesTheme(theme: ITheme) {\n this._series.forEach(async s => {\n await s.setCurrentTheme(theme.series[s.type], true);\n });\n }\n\n compile() {\n this.compileLayout();\n this.compileRegions();\n this.compileSeries();\n this.compileComponents();\n }\n\n compileLayout() {\n const { width, height } = this.getCanvasRect();\n this.getCompiler().setSize(width, height);\n }\n\n compileRegions() {\n this._option.performanceHook?.beforeRegionCompile?.();\n this.getAllRegions().forEach(r => {\n r.compile();\n });\n this._option.performanceHook?.afterRegionCompile?.();\n }\n\n compileSeries() {\n this._option.performanceHook?.beforeSeriesCompile?.();\n this.getAllSeries().forEach(s => {\n s.compile();\n });\n this._option.performanceHook?.afterSeriesCompile?.();\n }\n\n compileComponents() {\n this._option.performanceHook?.beforeComponentCompile?.();\n this.getAllComponents().forEach(c => {\n c.compile();\n });\n this._option.performanceHook?.afterComponentCompile?.();\n }\n\n release() {\n super.release();\n\n [...this._components, ...this._regions, ...this._series].forEach(m => {\n m.release();\n });\n this._components = this._regions = this._series = [];\n this._spec = {};\n // FIXME: type lint\n this._dataSet = this._globalScale = this._layoutFunc = null as unknown as any;\n this._layoutTag = false;\n this._idMap.clear();\n }\n\n onLayout(srView: IView) {\n const root = srView.rootMark;\n this.checkUpdate(root, null, null);\n this.layout({ group: root, srView });\n }\n\n /**\n * 未下沉组件通过这里绑定场景元素,保持布局逻辑\n * TODO: 但是不应该通过getProduct吗?\n * @param mark\n * @param model\n * @param sceneRoot\n * @returns\n */\n checkUpdate(mark: IVGrammarMark, model: IModel, sceneRoot: IVGrammarMark) {\n if (mark.context?.model) {\n sceneRoot = mark;\n model = mark.context.model;\n }\n if (model && mark.isUpdated) {\n model.bindSceneNode?.(sceneRoot.elements[0]);\n model.setAttributeTag(true);\n return;\n }\n if (mark.markType === 'group') {\n (mark as IGroupMark).children.forEach(child => {\n this.checkUpdate(child, model, sceneRoot);\n });\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 const seriesArr = this.getAllSeries();\n for (const key in state) {\n if (isEmpty(state[key])) {\n continue;\n }\n const stateSpec = state[key];\n let stateInfo: IStateInfo = { stateValue: key };\n if (isFunction(stateSpec.filter)) {\n stateInfo = { filter: stateSpec.filter, ...stateInfo };\n } else {\n stateInfo = { ...stateSpec.filter, ...stateInfo };\n }\n if (stateSpec.level) {\n stateInfo.level = stateSpec.level;\n }\n seriesArr.forEach(series => {\n series.getMarks().forEach(m => {\n if (!m.stateStyle[key]) {\n return;\n }\n if (!filter || filter(series, m, key)) {\n m.state.changeStateInfo(stateInfo);\n m.updateMarkState(key);\n }\n });\n });\n }\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 this._setStateInDatum(STATE_VALUE_ENUM.STATE_SELECTED, true, 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 this._setStateInDatum(STATE_VALUE_ENUM.STATE_HOVER, true, datum, filter, region);\n }\n\n initEvent() {\n [ChartEvent.dataZoomChange, ChartEvent.scrollBarChange].forEach(event => {\n this._event.on(event, ({ value }) => {\n // 非数据筛选的方式,图元不存在增删,可以保持动画效果\n if (!value.filterData) {\n return;\n }\n this._disableMarkAnimation(['exit', 'update']);\n const enableMarkAnimate = () => {\n this._enableMarkAnimation(['exit', 'update']);\n this._event.off(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableMarkAnimate);\n };\n this._event.on(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableMarkAnimate);\n });\n });\n }\n\n protected _enableMarkAnimation(states: string | string[]) {\n const marks = this.getAllMarks();\n marks.forEach(mark => {\n const product = mark.getProduct();\n if (product && product.animate) {\n product.animate.enableAnimationState(states);\n }\n });\n }\n\n protected _disableMarkAnimation(states: string | string[]) {\n const marks = this.getAllMarks();\n marks.forEach(mark => {\n const product = mark.getProduct();\n if (product && product.animate) {\n product.animate.disableAnimationState(states);\n }\n });\n }\n\n protected _setStateInDatum(\n stateKey: string,\n checkReverse: boolean,\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ) {\n datum = datum ? array(datum) : null;\n const keys = !datum ? null : Object.keys(datum[0]);\n this.getRegionsInQuerier(region).forEach(r => {\n if (!datum) {\n r.interaction.clearEventElement(stateKey, true);\n return;\n }\n r.getSeries().forEach(s => {\n s.getMarks().forEach(m => {\n if (!m.getProduct()) {\n return;\n }\n if (!filter || (isFunction(filter) && filter(s, m))) {\n const isCollect = m.getProduct().isCollectionMark();\n const elements = m.getProduct().elements;\n let pickElements = elements;\n if (isCollect) {\n pickElements = elements.filter(e => {\n const elDatum = e.getDatum();\n // eslint-disable-next-line max-nested-callbacks, eqeqeq\n (datum as Datum[]).every((d, index) => keys.every(k => d[k] == elDatum[index][k]));\n });\n } else {\n if (datum.length > 1) {\n const datumTemp = [...(datum as Datum[])];\n pickElements = elements.filter(e => {\n if (datumTemp.length === 0) {\n return false;\n }\n const elDatum = e.getDatum();\n // eslint-disable-next-line max-nested-callbacks, eqeqeq\n const index = datumTemp.findIndex(d => keys.every(k => d[k] == elDatum[k]));\n if (index >= 0) {\n datumTemp.splice(index, 1);\n return true;\n }\n return false;\n });\n } else {\n // eslint-disable-next-line eqeqeq\n const el = elements.find(e => keys.every(k => datum[0][k] == e.getDatum()[k]));\n el && (pickElements = [el]);\n }\n }\n pickElements.forEach(element => {\n r.interaction.addEventElement(stateKey, element);\n });\n }\n });\n });\n if (checkReverse) {\n r.interaction.reverseEventElement(stateKey);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/base-chart.ts"],"names":[],"mappings":"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","file":"base-chart.js","sourcesContent":["import type {\n ISeriesSpec,\n Datum,\n IMarkStateSpec,\n IVisual,\n IVisualSpecScale,\n IRegionQuerier,\n MaybeArray,\n IPadding,\n IRect,\n StringOrNumber,\n IChartSpec\n} from '../typings';\nimport type { LayoutCallBack } from '../layout/interface';\nimport { GlobalScale } from '../scale/global-scale';\nimport type {\n ILayoutModelState,\n IModel,\n IModelOption,\n IUpdateSpecResult,\n ILayoutOrientPadding,\n ILayoutRect\n} from '../model/interface';\nimport type {\n IChart,\n IChartLayoutOption,\n IChartRenderOption,\n IChartOption,\n IChartEvaluateOption,\n ILayoutParams\n} from './interface';\nimport type { ISeries } from '../series/interface';\nimport type { IRegion } from '../region/interface';\nimport type { IComponent } from '../component/interface';\nimport type { IMark } from '../mark/interface';\nimport type { IEvent } from '../event/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport type { DataSet } from '@visactor/vdataset/es/data-set';\nimport { Factory } from '../core/factory';\nimport { Event } from '../event/event';\nimport {\n isArray,\n isValid,\n createID,\n calcPadding,\n normalizeLayoutPaddingSpec,\n array,\n isTrueBrowser,\n isString,\n getActualColor\n} from '../util';\nimport { Stack } from './stack';\nimport { BaseModel } from '../model/base-model';\nimport { BaseMark } from '../mark/base/base-mark';\nimport type { ITheme } from '../theme/interface';\nimport { DEFAULT_CHART_WIDTH, DEFAULT_CHART_HEIGHT } from '../constant/base';\nimport { dataToDataView } from '../data/initialize';\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { has, isFunction, isEmpty, getContainerSize } from '@visactor/vutils';\nimport { getDataScheme } from '../theme/color-scheme/util';\nimport type { IGroupMark, IMorphConfig, IMark as IVGrammarMark, IView } from '@visactor/vgrammar';\nimport { CompilableBase } from '../compile/compilable-base';\nimport type { IStateInfo } from '../compile/mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nimport { ChartEvent, VGRAMMAR_HOOK_EVENT } from '../constant';\nimport type { IGlobalScale } from '../scale/interface';\n\nexport class BaseChart extends CompilableBase implements IChart {\n readonly type: string = 'chart';\n\n readonly id: number = createID();\n\n //FIXME: 转换后的 spec 需要声明 ITransformedChartSpec\n protected _spec: any;\n getSpec() {\n return this._spec;\n }\n setSpec(s: any) {\n // TODO 通过spec设置进行图表更新\n this.transformSpec(s);\n this._spec = s;\n }\n\n // 主题\n protected _theme: ITheme;\n\n protected _regions: IRegion[] = [];\n // 系列\n protected _series: ISeries[] = [];\n // 组件\n protected _components: IComponent[] = [];\n\n // 布局\n protected _layoutFunc: LayoutCallBack;\n protected _layoutRect: IRect = {\n x: 0,\n y: 0,\n width: DEFAULT_CHART_WIDTH,\n height: DEFAULT_CHART_HEIGHT\n };\n getLayoutRect() {\n return this._layoutRect;\n }\n protected _viewRect: ILayoutRect = {\n width: DEFAULT_CHART_WIDTH,\n height: DEFAULT_CHART_HEIGHT\n };\n getViewRect() {\n return this._viewRect;\n }\n protected _viewBox: IBoundsLike = {\n x1: 0,\n y1: 0,\n x2: DEFAULT_CHART_WIDTH,\n y2: DEFAULT_CHART_HEIGHT\n };\n\n // 模块参数\n protected _modelOption: IModelOption;\n\n // 全局通道\n // protected _globalScale: { [key: string]: IBaseScale } = {};\n protected _globalScale: IGlobalScale;\n\n // mark & model 的 id 映射\n protected _idMap: Map<number, IModel | IMark> = new Map();\n\n protected _event: IEvent;\n protected _dataSet: DataSet;\n protected declare _option: IChartOption;\n\n protected _layoutTag: boolean = true;\n getLayoutTag() {\n return this._layoutTag;\n }\n setLayoutTag(tag: boolean, morphConfig?: IMorphConfig): boolean {\n this._layoutTag = tag;\n if (this.getCompiler()?.getVGrammarView()) {\n this.getCompiler().getVGrammarView().updateLayoutTag();\n tag && this.getCompiler().reRenderAsync(morphConfig);\n }\n return this._layoutTag;\n }\n\n // 模块内的需要动态影像图表的属性\n readonly state: ILayoutModelState = {\n layoutUpdateRank: 1\n };\n\n // stack\n protected _stack: Stack;\n\n padding: IPadding = { top: 0, left: 0, right: 0, bottom: 0 };\n protected _paddingSpec: ILayoutOrientPadding;\n\n protected _canvasRect: ILayoutRect;\n\n constructor(spec: any, option: IChartOption) {\n super(option);\n\n this._theme = option.getTheme();\n this._paddingSpec = normalizeLayoutPaddingSpec(spec.padding ?? this._theme?.padding);\n\n this._event = new Event(option.eventDispatcher, option.mode);\n this._dataSet = option.dataSet;\n this._modelOption = {\n ...option,\n mode: this._option.mode,\n map: this._idMap,\n getChartLayoutRect: () => this._layoutRect,\n getChartViewRect: () => this._viewRect,\n getChart: () => this,\n globalScale: this._globalScale\n };\n this._stack = new Stack(this);\n this._spec = spec;\n }\n\n created() {\n this.transformSpec(this._spec);\n this.createGlobalScale();\n // 基础内容\n this.createLayout();\n // 基于spec 创建元素。\n // region\n this.createRegion(this._spec.region);\n this.createSeries(this._spec.series);\n this.createComponent(this._spec);\n }\n transformSpec(spec: any): void {\n if (!spec.region || spec.region.length === 0) {\n spec.region = [{}];\n }\n if (!has(spec, 'tooltip')) {\n spec.tooltip = {};\n }\n }\n\n init(options: any = {}) {\n // 元素创建完毕后再执行各元素的初始化 方便各元素能获取到其他模块\n this.initRegion();\n this.initSeries();\n // global scale 应当在series初始化完成后,组件初始化之前\n // 此时 globalScale 已经生效组件可以获取到正确的映射\n this.initGlobalScale();\n // component\n this.initComponent();\n // event\n this.initEvent();\n\n // TODO: to component\n // stack\n this._stack.init();\n // this._stack.stackAll();\n this._series.forEach(s => s.getRawData()?.markRunning());\n this._series.forEach(s => s.fillData());\n }\n\n onResize(width: number, height: number): void {\n const canvasRect = {\n width,\n height\n };\n this._canvasRect = canvasRect;\n this._updateLayoutRect(this._option.viewBox);\n this.setLayoutTag(true);\n }\n\n updateViewBox(viewBox: IBoundsLike) {\n this._updateLayoutRect(viewBox);\n this.setLayoutTag(true);\n }\n\n createRegion(regionSpec: any[]) {\n // this._regions = [];\n if (!regionSpec) {\n return;\n }\n regionSpec.forEach((s, i) => {\n const region = Factory.createRegion('region', s, {\n ...this._modelOption,\n specIndex: i,\n specKey: 'region'\n });\n if (region) {\n region.created();\n this._regions.push(region);\n }\n });\n }\n\n initRegion() {\n this._regions.forEach(r => r.init({}));\n }\n\n createSeries(seriesSpec: ISeriesSpec[]) {\n seriesSpec.forEach((spec, index) => {\n // 自动填充数据\n if (!spec.data) {\n spec.data = this.getSeriesData(spec.dataId, spec.dataIndex);\n } else {\n // 保证数据最终是 DataView 实例\n spec.data = dataToDataView(spec.data, this._dataSet, this._spec.data as DataView[]);\n }\n\n // 如果用户在 vchart 构造函数参数中关闭了 animation, 则已该配置为准\n if (this._option.animation === false) {\n spec.animation = false;\n }\n\n let region: IRegion | undefined;\n if (isValid(spec.regionId)) {\n region = this.getRegionsInUserId(spec.regionId);\n } else if (isValid(spec.regionIndex)) {\n region = this.getRegionsInIndex([spec.regionIndex])[0];\n }\n\n if (!region) {\n region = this._regions[0];\n }\n if (!region) {\n return;\n }\n const series = Factory.createSeries(spec.type, spec, {\n ...this._modelOption,\n region,\n specIndex: index,\n specKey: 'series',\n getTheme: () => this._theme,\n globalScale: this._globalScale,\n getSeriesData: this.getSeriesData.bind(this)\n });\n\n if (series) {\n series.created();\n this._series.push(series);\n region.addSeries(series);\n }\n });\n }\n initSeries() {\n this._series.forEach(s => s.init({}));\n }\n getAllSeries = (): ISeries[] => {\n return this._series ?? [];\n };\n\n getSeriesById(id: number): ISeries | undefined {\n return this._series.find(x => x.id === id);\n }\n\n createComponent(spec: any) {\n Factory.getComponents().forEach(C => {\n const cmp = C.createComponent(spec, {\n ...this._modelOption,\n getAllRegions: this.getAllRegions,\n getRegionsInIndex: this.getRegionsInIndex,\n getRegionsInIds: this.getRegionsInIds,\n getRegionsInUserIdOrIndex: this.getRegionsInUserIdOrIndex,\n getTheme: () => this._theme,\n getAllSeries: this.getAllSeries,\n getSeriesInIndex: this.getSeriesInIndex,\n getSeriesInIds: this.getSeriesInIds,\n getSeriesInUserIdOrIndex: this.getSeriesInUserIdOrIndex,\n getAllComponents: this.getComponents,\n getComponentByIndex: this.getComponentByIndex,\n getComponentByUserId: this.getComponentByUserId,\n getComponentsByKey: this.getComponentsByKey\n });\n if (!cmp) {\n return;\n }\n array(cmp).forEach(c => {\n c.created();\n this._components.push(c);\n });\n });\n }\n\n initComponent() {\n this._components.forEach(c => c.init({ dataSet: this._dataSet }));\n }\n\n getAllComponents(): IComponent[] {\n return this._components;\n }\n\n getAllModels(): IModel[] {\n return [].concat(this.getAllSeries(), this.getAllComponents(), this.getAllRegions());\n }\n\n createLayout() {\n this._updateLayoutRect(this._option.viewBox);\n this._initLayoutFunc();\n }\n\n setLayout(layout: LayoutCallBack) {\n // 统一自定义 layout 到 option 中\n this._option.layout = layout;\n this._initLayoutFunc();\n }\n\n /** 可以通过设置 layout = null 来取消自定义布局。启用spec上的布局配置 */\n private _initLayoutFunc() {\n this._layoutFunc = this._option.layout;\n if (!this._layoutFunc) {\n // 判断是否使用3d的layout\n let use3dLayout = false;\n if (this._spec.zField) {\n use3dLayout = true;\n }\n const layout = new (Factory.getLayout(this._spec.layout?.type ?? (use3dLayout ? 'layout3d' : 'base')))(\n this._spec.layout\n );\n this._layoutFunc = layout.layoutItems.bind(layout);\n }\n }\n\n layout(params: ILayoutParams): void {\n this._option.performanceHook?.beforeLayoutWithSceneGraph?.();\n if (this.getLayoutTag()) {\n this._event.emit(ChartEvent.layoutStart, { chart: this });\n\n this.onLayoutStart(params);\n const elements = this.getLayoutElements();\n this._layoutFunc(this, elements, this._layoutRect, this._viewBox);\n this.setLayoutTag(false);\n this.onLayoutEnd(params);\n\n this._event.emit(ChartEvent.layoutEnd, { chart: this });\n }\n this._option.performanceHook?.afterLayoutWithSceneGraph?.();\n }\n\n // 通知所有需要通知的元素 onLayout 钩子\n onLayoutStart(option: IChartLayoutOption) {\n const elements = this.getLayoutElements();\n elements.forEach(element => element.onLayoutStart(this._layoutRect, this._viewRect, option));\n }\n\n // 通知所有需要通知的元素 onLayoutEnd 钩子\n onLayoutEnd(option: IChartLayoutOption) {\n const elements = this.getLayoutElements();\n elements.forEach(element => element.onLayoutEnd(option));\n }\n\n onEvaluateEnd(option: IChartEvaluateOption) {\n const elements = this.getLayoutElements();\n elements.forEach(element => element.onEvaluateEnd(option));\n }\n\n getLayoutElements() {\n return [...this._components, ...this._regions, ...this._series];\n }\n\n // 区域\n getRegionsInIndex = (index?: number[]): IRegion[] => {\n if (!index || index.length === 0) {\n return [this._regions[0]];\n }\n return this._regions.filter((_r, i) => index.includes(i));\n };\n\n getAllRegions = () => {\n return this._regions;\n };\n\n getRegionsInIds = (ids: number[]): IRegion[] => {\n if (!ids) {\n return [];\n }\n return this._regions.filter(r => ids.includes(r.id));\n };\n\n getRegionsInQuerier = (region?: MaybeArray<IRegionQuerier>) => {\n if (region) {\n return this._regions.filter((r, index) => {\n return array(region).some(\n regionFilter =>\n (isValid(regionFilter.regionId) && regionFilter.regionId === r.userId) || regionFilter.regionIndex === index\n );\n });\n }\n return this._regions;\n };\n\n getRegionsInUserId = (userId: StringOrNumber): IRegion | undefined => {\n if (!userId) {\n return undefined;\n }\n return this._regions.find(r => r.userId === userId);\n };\n\n getRegionsInUserIdOrIndex = (user_ids?: StringOrNumber[], index?: number[]): IRegion[] => {\n const regions = this.getAllRegions();\n return regions.filter(r => {\n if (user_ids?.length) {\n return r.userId && user_ids.includes(r.userId);\n } else if (index?.length) {\n return index.includes(r.getSpecIndex());\n }\n return true;\n });\n };\n\n // 模块\n getComponents = () => {\n return this._components;\n };\n\n // 区域\n getSeriesInIndex = (index?: number[]): ISeries[] => {\n if (!index || index.length === 0) {\n return [this._series[0]];\n }\n return this._series.filter((_r, i) => index.includes(i));\n };\n\n getSeriesInIds = (ids?: number[]): ISeries[] => {\n if (!ids) {\n return [];\n }\n return this._series.filter(r => ids.includes(r.id));\n };\n\n getSeriesInUserId = (userId: string): ISeries | undefined => {\n if (!userId) {\n return undefined;\n }\n return this._series.find(r => r.userId === userId);\n };\n\n getSeriesInUserIdOrIndex = (user_ids?: StringOrNumber[], index?: number[]): ISeries[] => {\n const series = this.getAllSeries();\n return series.filter(s => {\n if (user_ids?.length) {\n return s.userId && user_ids.includes(s.userId);\n } else if (index?.length) {\n return index.includes(s.getSpecIndex());\n }\n return true;\n });\n };\n\n getComponentByIndex = (key: string, index: number) => {\n const components = this._components.filter(c => c.specKey === key);\n if (!components || components.length === 0) {\n return undefined;\n }\n return components[index];\n };\n\n getComponentsByKey = (key: string) => {\n return this._components.filter(c => c.specKey === key);\n };\n\n getComponentByUserId = (userId: StringOrNumber) => {\n const component = this._components.find(s => s.userId === userId);\n if (component) {\n return component;\n }\n return undefined;\n };\n\n getModelById(id: number): IModel | undefined {\n const model = this._idMap.get(id);\n if (model && model instanceof BaseModel) {\n return model;\n }\n return undefined;\n }\n\n getModelByUserId(userId: StringOrNumber): IModel | undefined {\n // TODO: 考虑通过 map 结构优化获取方式 & 补充所有 model 的寻找方法\n const series = this._series.find(s => s.userId === userId);\n if (series) {\n return series;\n }\n const region = this._regions.find(s => s.userId === userId);\n if (region) {\n return region;\n }\n const component = this._components.find(s => s.userId === userId);\n if (component) {\n return component;\n }\n return undefined;\n }\n\n getAllMarks(): IMark[] {\n const items = Array.from(this._idMap.values());\n return items.filter(item => item && item instanceof BaseMark) as IMark[];\n }\n\n getMarkById(id: number): IMark | undefined {\n const mark = this._idMap.get(id);\n if (mark && mark instanceof BaseMark) {\n return mark;\n }\n return undefined;\n }\n\n updateParseData(id: string, data: Datum[], options?: IParserOptions) {\n const dv = this._dataSet.getDataView(id);\n if (dv) {\n dv.updateRawData(data);\n }\n }\n\n updateData(id: StringOrNumber, data: unknown, options?: IParserOptions) {\n const dv = this._dataSet.getDataView(id as string);\n if (dv) {\n dv.parseNewData(data);\n }\n this.getAllModels().forEach(model => model.onDataUpdate());\n }\n\n onRender(option: IChartRenderOption) {\n // do nothing\n }\n\n getCanvasRect(): Omit<IRect, 'x' | 'y'> {\n if (this._canvasRect) {\n return this._canvasRect;\n }\n\n const { width: userWidth, height: userHeight } = this._spec;\n if (isValid(userWidth) && isValid(userHeight)) {\n this._canvasRect = {\n width: userWidth,\n height: userHeight\n };\n } else {\n let width = DEFAULT_CHART_WIDTH;\n let height = DEFAULT_CHART_HEIGHT;\n const container = this._option.container;\n const canvas = this._option.canvas;\n if (container) {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n this._option.container,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n width = containerWidth;\n height = containerHeight;\n } else if (canvas && isTrueBrowser(this._option.mode)) {\n let canvasNode;\n if (isString(canvas)) {\n canvasNode = document?.getElementById(canvas);\n } else {\n canvasNode = canvas;\n }\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n canvasNode as HTMLCanvasElement,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n width = containerWidth;\n height = containerHeight;\n }\n\n width = userWidth ?? width;\n height = userHeight ?? height;\n\n this._canvasRect = {\n width,\n height\n };\n }\n\n return this._canvasRect;\n }\n\n getSeriesData(id: StringOrNumber | undefined, index: number | undefined): DataView | undefined {\n if (!this._spec.data) {\n // 没有数据,报错处理\n throw new Error('no data in spec!');\n }\n\n // dataId 优先\n if (typeof id === 'string') {\n const metchData = (this._spec.data as DataView[]).filter((data: any) => {\n return data.name === id;\n });\n\n if (metchData[0]) {\n return metchData[0];\n }\n\n // id不匹配,报错处理\n throw new Error(`no data matches dataId ${id}!`);\n }\n\n // 其次使用dataIndex\n if (typeof index === 'number') {\n if (this._spec.data[index]) {\n return this._spec.data[index];\n }\n // index不匹配,报错处理\n throw new Error(`no data matches dataIndex ${index}!`);\n }\n\n // 最后返回第一条数据\n return this._spec.data[0];\n }\n\n // 全局通道\n createGlobalScale() {\n const scales: IChartSpec['scales'] = this._spec.scales ?? [];\n let colorScaleSpec: IVisualSpecScale<any, any> = scales.find(s => s.id === 'color');\n if (!colorScaleSpec) {\n colorScaleSpec = {\n type: 'ordinal',\n id: 'color',\n domain: null,\n range: null\n };\n scales.push(colorScaleSpec);\n if (this._spec.color) {\n const colorSpec = this._spec.color as string[] | IVisual<string>;\n\n // range array\n if (isArray(colorSpec)) {\n colorScaleSpec.range = colorSpec.map(color => getActualColor(color, this._theme?.colorScheme));\n } else {\n colorScaleSpec.type = (colorSpec as IVisualSpecScale<any, any>).type;\n (colorSpec as IVisualSpecScale<any, any>).domain &&\n (colorScaleSpec.domain = (colorSpec as IVisualSpecScale<any, any>).domain);\n colorScaleSpec.range = (colorSpec as IVisualSpecScale<any, any>).range;\n }\n }\n }\n // 如果没有range设置\n // length === 0 就认为是没有配置,用户配置 color: [] 依然认为是无效配置,启用主题色板\n if (!colorScaleSpec.range?.length) {\n colorScaleSpec.range = getDataScheme(this._theme?.colorScheme);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n colorScaleSpec.rangeTheme = true;\n }\n this._globalScale = new GlobalScale(scales, this);\n this._modelOption.globalScale = this._globalScale;\n }\n\n initGlobalScale() {\n const domainSet = new Set();\n this._series.forEach(s => {\n const keys = s.getSeriesKeys();\n keys && keys.forEach(k => domainSet.add(k));\n });\n // domain\n const domain = Array.from(domainSet);\n // 如果 global scale 当前没有 domain 的话,就使用这个domain\n // 整理了目前会影响全局 scale 的逻辑,但是当前这个节点使用这个逻辑可行\n // 但是考虑到组件也可能会有修改 scale 的逻辑\n // 增加一个属性设置优先级也许是必须的?\n this._globalScale.updateScaleDomain(domain);\n }\n\n updateGlobalScaleTheme() {\n const colorSpec = this._globalScale.getScaleSpec('color');\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (colorSpec.rangeTheme) {\n colorSpec.range = getDataScheme(this._theme?.colorScheme);\n this._globalScale.getScale('color').range(colorSpec.range);\n }\n }\n\n updateSpec(spec: any, morphConfig?: IMorphConfig) {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n // 需要重新布局\n this.setLayoutTag(true, morphConfig);\n // 第一版简易逻辑如果配置项出现增删,直接重新创建chart\n // 如果出现类型不同,同上\n if (spec.type !== this.type) {\n result.reMake = true;\n return result;\n }\n // transform\n this.transformSpec(spec);\n // spec set & transformSpec\n // diff meta length;\n const currentKeys = Object.keys(this._spec);\n const nextKeys = Object.keys(spec);\n if (JSON.stringify(currentKeys) !== JSON.stringify(nextKeys)) {\n result.reMake = true;\n return result;\n }\n this._spec = spec;\n this.updateDataSpec(result);\n if (result.reMake) {\n return result;\n }\n // region 变化\n this.updateRegionSpec(result);\n if (result.reMake) {\n return result;\n }\n this.updateComponentSpec(result);\n if (result.reMake) {\n return result;\n }\n this.updateSeriesSpec(result);\n return result;\n }\n\n updateDataSpec(result: IUpdateSpecResult) {\n if (!this._spec.data) {\n return;\n }\n array(this._spec.data).forEach(d => {\n const dataView = this._dataSet.getDataView(d.id);\n if (dataView) {\n if (d.values) {\n dataView.updateRawData(d.values);\n } else if (!d.latestData) {\n dataView.updateRawData([]);\n }\n }\n });\n }\n\n updateRegionSpec(result: IUpdateSpecResult) {\n if (!this._spec?.region) {\n return;\n }\n // 长度不同,直接判定为 remake\n if (this._spec.region.length !== this._regions.length) {\n result.reMake = true;\n return;\n }\n this._regions.forEach(r => {\n this._mergeUpdateResult(result, r.updateSpec(this._spec.region[r.getSpecIndex()]));\n r.reInit();\n });\n }\n\n updateComponentSpec(result: IUpdateSpecResult) {\n // 用来检测组件是否有新增\n const componentCache: {\n [key in string]: {\n specCount: number;\n componentCount: number;\n };\n } = {};\n this._components.forEach(c => {\n // 每一个组件获取对应的speck\n const cmpSpec = this._spec[c.specKey] ?? {};\n if (isArray(cmpSpec)) {\n componentCache[c.specKey] = componentCache[c.specKey] || {\n specCount: cmpSpec.length,\n componentCount: 0\n };\n componentCache[c.specKey].componentCount++;\n this._mergeUpdateResult(result, c.updateSpec(cmpSpec[c.getSpecIndex()]));\n } else {\n this._mergeUpdateResult(result, c.updateSpec(cmpSpec));\n }\n c.reInit();\n });\n for (const key in componentCache) {\n if (Object.prototype.hasOwnProperty.call(componentCache, key)) {\n const element = componentCache[key];\n if (element.componentCount !== element.specCount) {\n result.reMake = true;\n }\n }\n }\n }\n\n updateSeriesSpec(result: IUpdateSpecResult) {\n // 长度不同,直接判定为 remake\n if (this._spec.series.length !== this._series.length) {\n result.reMake = true;\n return;\n }\n this._series.forEach(s => {\n this._mergeUpdateResult(result, s.updateSpec(this._spec.series[s.getSpecIndex()]));\n s.reInit();\n });\n }\n\n getCanvas() {\n return this.getCompiler()?.getCanvas() ?? null;\n }\n\n protected isValidSeries(seriesType: string): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(spec: any) {\n const series: any = {\n data: spec.data?.[0],\n dataKey: spec.dataKey,\n\n hover: spec.hover,\n select: spec.select,\n\n label: spec.label,\n\n seriesStyle: spec.seriesStyle,\n\n animation: spec.animation,\n animationAppear: spec.animationAppear,\n animationDisappear: spec.animationDisappear,\n animationEnter: spec.animationEnter,\n animationUpdate: spec.animationUpdate,\n animationExit: spec.animationExit,\n animationNormal: spec.animationNormal,\n\n extensionMark: spec.extensionMark\n };\n return series;\n }\n\n private _mergeUpdateResult(resultA: IUpdateSpecResult, resultB: IUpdateSpecResult) {\n resultA.change = resultA.change || resultB.change;\n resultA.reCompile = resultA.reCompile || resultB.reCompile;\n resultA.reMake = resultA.reMake || resultB.reMake;\n resultA.reRender = resultA.reRender || resultB.reRender;\n resultA.reSize = resultA.reSize || resultB.reSize;\n }\n\n private _updateLayoutRect(viewBox: IBoundsLike) {\n const canvasRect = this.getCanvasRect();\n let viewRect = canvasRect;\n if (viewBox) {\n this._viewBox = viewBox;\n const { x1 = 0, y1 = 0, x2, y2 } = viewBox;\n viewRect = {\n width: x2 - x1,\n height: y2 - y1\n };\n } else {\n this._viewBox = { x1: 0, y1: 0, x2: viewRect.width, y2: viewRect.height };\n }\n this._viewRect = viewRect;\n // resize 时 padding 也应该会发生变化 先计算\n this.padding = calcPadding(this._paddingSpec, viewRect, viewRect);\n this._layoutRect.width = viewRect.width - this.padding.left - this.padding.right;\n this._layoutRect.height = viewRect.height - this.padding.top - this.padding.bottom;\n this._layoutRect.x = this.padding.left;\n this._layoutRect.y = this.padding.top;\n }\n\n /** 获取当前全局主题 */\n getCurrentTheme() {\n return this._theme;\n }\n\n /** 设置当前全局主题 */\n setCurrentTheme(theme: ITheme) {\n this._theme = theme;\n\n // 需要重新布局\n this.setLayoutTag(true);\n\n // transform\n this.transformSpec(this._spec);\n // 设置色板,只设置 colorScale 的 range\n this.updateGlobalScaleTheme();\n\n this.setRegionTheme();\n this.setComponentTheme(theme);\n this.setSeriesTheme(theme);\n }\n\n protected setRegionTheme() {\n this._regions.forEach(r => {\n r.reInit();\n });\n }\n\n protected setComponentTheme(theme: ITheme) {\n this._components.forEach(c => {\n c.setCurrentTheme(theme.series[c.type], true);\n });\n }\n\n protected setSeriesTheme(theme: ITheme) {\n this._series.forEach(async s => {\n await s.setCurrentTheme(theme.series[s.type], true);\n });\n }\n\n compile() {\n this.compileLayout();\n this.compileRegions();\n this.compileSeries();\n this.compileComponents();\n }\n\n compileLayout() {\n const { width, height } = this.getCanvasRect();\n this.getCompiler().setSize(width, height);\n }\n\n compileRegions() {\n this._option.performanceHook?.beforeRegionCompile?.();\n this.getAllRegions().forEach(r => {\n r.compile();\n });\n this._option.performanceHook?.afterRegionCompile?.();\n }\n\n compileSeries() {\n this._option.performanceHook?.beforeSeriesCompile?.();\n this.getAllSeries().forEach(s => {\n s.compile();\n });\n this._option.performanceHook?.afterSeriesCompile?.();\n }\n\n compileComponents() {\n this._option.performanceHook?.beforeComponentCompile?.();\n this.getAllComponents().forEach(c => {\n c.compile();\n });\n this._option.performanceHook?.afterComponentCompile?.();\n }\n\n release() {\n super.release();\n\n [...this._components, ...this._regions, ...this._series].forEach(m => {\n m.release();\n });\n this._components = this._regions = this._series = [];\n this._spec = {};\n // FIXME: type lint\n this._dataSet = this._globalScale = this._layoutFunc = null as unknown as any;\n this._layoutTag = false;\n this._idMap.clear();\n }\n\n onLayout(srView: IView) {\n const root = srView.rootMark;\n this.checkUpdate(root, null, null);\n this.layout({ group: root, srView });\n }\n\n /**\n * 未下沉组件通过这里绑定场景元素,保持布局逻辑\n * TODO: 但是不应该通过getProduct吗?\n * @param mark\n * @param model\n * @param sceneRoot\n * @returns\n */\n checkUpdate(mark: IVGrammarMark, model: IModel, sceneRoot: IVGrammarMark) {\n if (mark.context?.model) {\n sceneRoot = mark;\n model = mark.context.model;\n }\n if (model && mark.isUpdated) {\n model.bindSceneNode?.(sceneRoot.elements[0]);\n model.setAttributeTag(true);\n return;\n }\n if (mark.markType === 'group') {\n (mark as IGroupMark).children.forEach(child => {\n this.checkUpdate(child, model, sceneRoot);\n });\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 const seriesArr = this.getAllSeries();\n for (const key in state) {\n if (isEmpty(state[key])) {\n continue;\n }\n const stateSpec = state[key];\n let stateInfo: IStateInfo = { stateValue: key };\n if (isFunction(stateSpec.filter)) {\n stateInfo = { filter: stateSpec.filter, ...stateInfo };\n } else {\n stateInfo = { ...stateSpec.filter, ...stateInfo };\n }\n if (stateSpec.level) {\n stateInfo.level = stateSpec.level;\n }\n seriesArr.forEach(series => {\n series.getMarks().forEach(m => {\n if (!m.stateStyle[key]) {\n return;\n }\n if (!filter || filter(series, m, key)) {\n m.state.changeStateInfo(stateInfo);\n m.updateMarkState(key);\n }\n });\n });\n }\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 this._setStateInDatum(STATE_VALUE_ENUM.STATE_SELECTED, true, 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 this._setStateInDatum(STATE_VALUE_ENUM.STATE_HOVER, true, datum, filter, region);\n }\n\n initEvent() {\n [ChartEvent.dataZoomChange, ChartEvent.scrollBarChange].forEach(event => {\n this._event.on(event, ({ value }) => {\n // 非数据筛选的方式,图元不存在增删,可以保持动画效果\n if (!value.filterData) {\n return;\n }\n this._disableMarkAnimation(['exit', 'update']);\n const enableMarkAnimate = () => {\n this._enableMarkAnimation(['exit', 'update']);\n this._event.off(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableMarkAnimate);\n };\n this._event.on(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableMarkAnimate);\n });\n });\n }\n\n protected _enableMarkAnimation(states: string | string[]) {\n const marks = this.getAllMarks();\n marks.forEach(mark => {\n const product = mark.getProduct();\n if (product && product.animate) {\n product.animate.enableAnimationState(states);\n }\n });\n }\n\n protected _disableMarkAnimation(states: string | string[]) {\n const marks = this.getAllMarks();\n marks.forEach(mark => {\n const product = mark.getProduct();\n if (product && product.animate) {\n product.animate.disableAnimationState(states);\n }\n });\n }\n\n protected _setStateInDatum(\n stateKey: string,\n checkReverse: boolean,\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ) {\n datum = datum ? array(datum) : null;\n const keys = !datum ? null : Object.keys(datum[0]);\n this.getRegionsInQuerier(region).forEach(r => {\n if (!datum) {\n r.interaction.clearEventElement(stateKey, true);\n return;\n }\n r.getSeries().forEach(s => {\n s.getMarks().forEach(m => {\n if (!m.getProduct()) {\n return;\n }\n if (!filter || (isFunction(filter) && filter(s, m))) {\n const isCollect = m.getProduct().isCollectionMark();\n const elements = m.getProduct().elements;\n let pickElements = elements;\n if (isCollect) {\n pickElements = elements.filter(e => {\n const elDatum = e.getDatum();\n // eslint-disable-next-line max-nested-callbacks, eqeqeq\n (datum as Datum[]).every((d, index) => keys.every(k => d[k] == elDatum[index][k]));\n });\n } else {\n if (datum.length > 1) {\n const datumTemp = [...(datum as Datum[])];\n pickElements = elements.filter(e => {\n if (datumTemp.length === 0) {\n return false;\n }\n const elDatum = e.getDatum();\n // eslint-disable-next-line max-nested-callbacks, eqeqeq\n const index = datumTemp.findIndex(d => keys.every(k => d[k] == elDatum[k]));\n if (index >= 0) {\n datumTemp.splice(index, 1);\n return true;\n }\n return false;\n });\n } else {\n // eslint-disable-next-line eqeqeq\n const el = elements.find(e => keys.every(k => datum[0][k] == e.getDatum()[k]));\n el && (pickElements = [el]);\n }\n }\n pickElements.forEach(element => {\n r.interaction.addEventElement(stateKey, element);\n });\n }\n });\n });\n if (checkReverse) {\n r.interaction.reverseEventElement(stateKey);\n }\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/boxplot/boxPlot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,OAAO,YAAa,SAAQ,cAAc;IAAhD;;QAGW,SAAI,GAAW,aAAa,CAAC,OAAO,CAAC;QACrC,eAAU,GAAW,cAAc,CAAC,OAAO,CAAC;IAgDvD,CAAC;IA9CW,qBAAqB,CAAC,IAAuB;;QACrD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpH,MAAM,UAAU,mCACX,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,mCAAI,SAAS,CAAC,QAAQ,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,aAAa,EAAE,IAAI,CAAC,aAAa,GAClC,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;QAErF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,IAAuB;;QACnC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG;gBACV;oBACE,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,MAAM,EAAE,MAAM;iBACf;aACF,CAAC;SACH;QAED,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;oBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvE;aACF;YACD,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;oBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACvE;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAlDe,iBAAI,GAAW,aAAa,CAAC,OAAO,CAAC;AACrC,iBAAI,GAAW,eAAe,CAAC","file":"boxPlot.js","sourcesContent":["import { SeriesTypeEnum } from '../../series/interface';\nimport { Direction } from '../../typings';\nimport { isNil } from '../../util';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport type { IBoxPlotChartSpec } from './interface';\n\nexport class BoxPlotChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.boxPlot;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.boxPlot;\n readonly seriesType: string = SeriesTypeEnum.boxPlot;\n\n protected _getDefaultSeriesSpec(spec: IBoxPlotChartSpec): any {\n const dataFields = [spec.maxField, spec.medianField, spec.q1Field, spec.q3Field, spec.minField, spec.outliersField];\n const seriesSpec = {\n ...super._getDefaultSeriesSpec(spec),\n boxPlot: spec.boxPlot,\n direction: spec.direction ?? Direction.vertical,\n minField: spec.minField,\n maxField: spec.maxField,\n q1Field: spec.q1Field,\n medianField: spec.medianField,\n q3Field: spec.q3Field,\n outliersField: spec.outliersField,\n outliersStyle: spec.outliersStyle\n };\n seriesSpec[spec.direction === Direction.vertical ? 'yField' : 'xField'] = dataFields;\n\n return seriesSpec;\n }\n\n transformSpec(spec: IBoxPlotChartSpec): void {\n super.transformSpec(spec);\n if (!spec.axes) {\n spec.axes = [\n {\n orient: 'bottom'\n },\n {\n orient: 'left'\n }\n ];\n }\n //补全轴类型\n (spec.axes ?? []).forEach(axis => {\n const { orient, type } = axis;\n if (orient === 'left') {\n if (isNil(type)) {\n axis.type = spec.direction === Direction.vertical ? 'linear' : 'band';\n }\n }\n if (orient === 'bottom') {\n if (isNil(type)) {\n axis.type = spec.direction === Direction.vertical ? 'band' : 'linear';\n }\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/boxplot/boxPlot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,OAAO,YAAa,SAAQ,cAAc;IAAhD;;QAGW,SAAI,GAAW,aAAa,CAAC,OAAO,CAAC;QACrC,eAAU,GAAW,cAAc,CAAC,OAAO,CAAC;IAgDvD,CAAC;IA9CW,qBAAqB,CAAC,IAAuB;;QACrD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpH,MAAM,UAAU,mCACX,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,mCAAI,SAAS,CAAC,QAAQ,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,aAAa,EAAE,IAAI,CAAC,aAAa,GAClC,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;QAErF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,IAAuB;;QACnC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG;gBACV;oBACE,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,MAAM,EAAE,MAAM;iBACf;aACF,CAAC;SACH;QAED,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;oBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvE;aACF;YACD,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;oBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACvE;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAlDe,iBAAI,GAAW,aAAa,CAAC,OAAO,CAAC;AACrC,iBAAI,GAAW,eAAe,CAAC","file":"boxPlot.js","sourcesContent":["import { SeriesTypeEnum } from '../../series/interface';\nimport { Direction } from '../../typings';\nimport { isNil } from '../../util';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport type { IBoxPlotChartSpec } from './interface';\n\nexport class BoxPlotChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.boxPlot;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.boxPlot;\n readonly seriesType: string = SeriesTypeEnum.boxPlot;\n\n protected _getDefaultSeriesSpec(spec: IBoxPlotChartSpec): any {\n const dataFields = [spec.maxField, spec.medianField, spec.q1Field, spec.q3Field, spec.minField, spec.outliersField];\n const seriesSpec = {\n ...super._getDefaultSeriesSpec(spec),\n boxPlot: spec.boxPlot,\n direction: spec.direction ?? Direction.vertical,\n minField: spec.minField,\n maxField: spec.maxField,\n q1Field: spec.q1Field,\n medianField: spec.medianField,\n q3Field: spec.q3Field,\n outliersField: spec.outliersField,\n outliersStyle: spec.outliersStyle\n };\n seriesSpec[spec.direction === Direction.vertical ? 'yField' : 'xField'] = dataFields;\n\n return seriesSpec;\n }\n\n transformSpec(spec: IBoxPlotChartSpec): void {\n super.transformSpec(spec);\n if (!spec.axes) {\n spec.axes = [\n {\n orient: 'bottom'\n },\n {\n orient: 'left'\n }\n ];\n }\n //补全轴类型\n (spec.axes ?? []).forEach(axis => {\n const { orient, type } = axis;\n if (orient === 'left') {\n if (isNil(type)) {\n axis.type = spec.direction === Direction.vertical ? 'linear' : 'band';\n }\n }\n if (orient === 'bottom') {\n if (isNil(type)) {\n axis.type = spec.direction === Direction.vertical ? 'band' : 'linear';\n }\n }\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/boxplot/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './boxPlot';\nexport * from './interface';\n"]}
1
+ {"version":3,"sources":["../src/chart/boxplot/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './boxPlot';\nexport * from './interface';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/boxplot/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoxPlotSeriesSpec } from '../../series/box-plot/interface';\nimport type { ICartesianChartSpec } from '../cartesian/interface';\nimport type { IChartExtendsSeriesSpec } from '../../typings/spec/common';\n\nexport interface IBoxPlotChartSpec extends ICartesianChartSpec, IChartExtendsSeriesSpec<IBoxPlotSeriesSpec> {\n type: 'boxPlot';\n /** 系列配置 */\n series?: IBoxPlotSeriesSpec[];\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/boxplot/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoxPlotSeriesSpec } from '../../series/box-plot/interface';\nimport type { ICartesianChartSpec } from '../cartesian/interface';\nimport type { IChartExtendsSeriesSpec } from '../../typings/spec/common';\n\nexport interface IBoxPlotChartSpec extends ICartesianChartSpec, IChartExtendsSeriesSpec<IBoxPlotSeriesSpec> {\n type: 'boxPlot';\n /** 系列配置 */\n series?: IBoxPlotSeriesSpec[];\n}\n"]}
@@ -11,6 +11,7 @@ export class CartesianChart extends BaseChart {
11
11
  const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), {
12
12
  xField: spec.xField,
13
13
  yField: spec.yField,
14
+ zField: spec.zField,
14
15
  seriesField: spec.seriesField,
15
16
  seriesStyle: spec.seriesStyle,
16
17
  direction: spec.direction,
@@ -25,15 +26,19 @@ export class CartesianChart extends BaseChart {
25
26
  super.transformSpec(spec), this.needAxes() && (spec.axes || (spec.axes = []), spec.region.forEach((r => {
26
27
  const haxAxes = {
27
28
  x: !1,
28
- y: !1
29
+ y: !1,
30
+ z: !1
29
31
  };
30
32
  spec.axes.forEach((axis => {
31
33
  const orient = axis.orient;
32
- "top" !== orient && "bottom" !== orient || (haxAxes.x = !0), "left" !== orient && "right" !== orient || (haxAxes.y = !0);
34
+ "top" !== orient && "bottom" !== orient || (haxAxes.x = !0), "left" !== orient && "right" !== orient || (haxAxes.y = !0),
35
+ "z" === orient && (haxAxes.z = !0);
33
36
  })), haxAxes.x || spec.axes.push({
34
37
  orient: "bottom"
35
38
  }), haxAxes.y || spec.axes.push({
36
39
  orient: "left"
40
+ }), spec.zField && !haxAxes.z && spec.axes.push({
41
+ orient: "z"
37
42
  });
38
43
  })));
39
44
  const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { IRegion } from '../../region/interface';\nimport { BaseChart } from '../base-chart';\nimport type { ISeries } from '../../series/interface';\nimport type { IAxis } from '../../component/axis/interface';\n\nexport class CartesianChart extends BaseChart {\n readonly seriesType: string;\n\n protected isValidSeries(type: string): boolean {\n return this.seriesType ? type === this.seriesType : true;\n }\n\n protected needAxes(): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n xField: spec.xField,\n yField: spec.yField,\n seriesField: spec.seriesField,\n seriesStyle: spec.seriesStyle,\n direction: spec.direction,\n stack: spec.stack, // 是否堆叠\n percent: spec.percent, // 是否百分比堆叠\n stackOffsetSilhouette: spec.stackOffsetSilhouette // 是否围绕中心轴偏移轮廓\n };\n const seriesType = this.seriesType;\n if (seriesType) {\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n }\n\n return series;\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n if (this.needAxes()) {\n if (!spec.axes) {\n spec.axes = [];\n }\n spec.region.forEach((r: IRegion) => {\n const haxAxes = { x: false, y: false };\n spec.axes.forEach((axis: IAxis) => {\n const orient = axis.orient;\n if (orient === 'top' || orient === 'bottom') {\n haxAxes.x = true;\n }\n if (orient === 'left' || orient === 'right') {\n haxAxes.y = true;\n }\n });\n if (!haxAxes.x) {\n spec.axes.push({\n orient: 'bottom'\n });\n }\n if (!haxAxes.y) {\n spec.axes.push({\n orient: 'left'\n });\n }\n });\n }\n\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach((s: ISeries) => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { IRegion } from '../../region/interface';\nimport { BaseChart } from '../base-chart';\nimport type { ISeries } from '../../series/interface';\nimport type { IAxis } from '../../component/axis/interface';\n\nexport class CartesianChart extends BaseChart {\n readonly seriesType: string;\n\n protected isValidSeries(type: string): boolean {\n return this.seriesType ? type === this.seriesType : true;\n }\n\n protected needAxes(): boolean {\n return true;\n }\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n xField: spec.xField,\n yField: spec.yField,\n zField: spec.zField,\n seriesField: spec.seriesField,\n seriesStyle: spec.seriesStyle,\n direction: spec.direction,\n stack: spec.stack, // 是否堆叠\n percent: spec.percent, // 是否百分比堆叠\n stackOffsetSilhouette: spec.stackOffsetSilhouette // 是否围绕中心轴偏移轮廓\n };\n const seriesType = this.seriesType;\n if (seriesType) {\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n }\n\n return series;\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n if (this.needAxes()) {\n if (!spec.axes) {\n spec.axes = [];\n }\n spec.region.forEach((r: IRegion) => {\n const haxAxes = { x: false, y: false, z: false };\n spec.axes.forEach((axis: IAxis) => {\n const orient = axis.orient;\n if (orient === 'top' || orient === 'bottom') {\n haxAxes.x = true;\n }\n if (orient === 'left' || orient === 'right') {\n haxAxes.y = true;\n }\n if (orient === 'z') {\n haxAxes.z = true;\n }\n });\n if (!haxAxes.x) {\n spec.axes.push({\n orient: 'bottom'\n });\n }\n if (!haxAxes.y) {\n spec.axes.push({\n orient: 'left'\n });\n }\n // 如果有zField字段,但是没有配置z轴,那么添加一个z轴\n if (spec.zField && !haxAxes.z) {\n spec.axes.push({\n orient: 'z'\n });\n }\n });\n }\n\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach((s: ISeries) => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/cartesian/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartSpec } from '../../typings/spec/common';\nimport type { ICartesianAxisSpec } from '../../component/axis/cartesian/interface';\nimport type { ICartesianCrosshairSpec } from '../../component/crosshair/interface';\nimport type { IMarkLineSpec } from '../../component/marker/mark-line/interface';\nimport type { IMarkAreaSpec } from '../../component/marker/mark-area/interface';\nimport type { IMarkPointSpec } from '../../component/marker/mark-point/interface';\nimport type { DirectionType } from '../../typings';\n\nexport interface ICartesianChartSpec extends IChartSpec {\n /**\n * 图表的方向配置。\n * - 'vertical' 垂直布局,即常见的直角坐标系布局,x 轴位于底部,y 轴位于左侧。\n * - 'horizontal' 水平布局,可理解为 x 轴和 y 轴位置互换。\n */\n direction?: DirectionType;\n /**\n * 笛卡尔坐标系的坐标轴配置\n */\n axes?: ICartesianAxisSpec[];\n /**\n * 十字辅助线配置\n */\n crosshair?: ICartesianCrosshairSpec | ICartesianCrosshairSpec[];\n /**\n * 参考线配置\n */\n markLine?: IMarkLineSpec;\n /**\n * 参考区域配置\n */\n markArea?: IMarkAreaSpec;\n /**\n * 参考点配置\n */\n markPoint?: IMarkPointSpec;\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/cartesian/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartSpec } from '../../typings/spec/common';\nimport type { ICartesianAxisSpec } from '../../component/axis/cartesian/interface';\nimport type { ICartesianCrosshairSpec } from '../../component/crosshair/interface';\nimport type { IMarkLineSpec } from '../../component/marker/mark-line/interface';\nimport type { IMarkAreaSpec } from '../../component/marker/mark-area/interface';\nimport type { IMarkPointSpec } from '../../component/marker/mark-point/interface';\nimport type { DirectionType } from '../../typings';\n\nexport interface ICartesianChartSpec extends IChartSpec {\n /**\n * 图表的方向配置。\n * - 'vertical' 垂直布局,即常见的直角坐标系布局,x 轴位于底部,y 轴位于左侧。\n * - 'horizontal' 水平布局,可理解为 x 轴和 y 轴位置互换。\n */\n direction?: DirectionType;\n /**\n * 笛卡尔坐标系的坐标轴配置\n */\n axes?: ICartesianAxisSpec[];\n /**\n * 十字辅助线配置\n */\n crosshair?: ICartesianCrosshairSpec | ICartesianCrosshairSpec[];\n /**\n * 参考线配置\n */\n markLine?: IMarkLineSpec;\n /**\n * 参考区域配置\n */\n markArea?: IMarkAreaSpec;\n /**\n * 参考点配置\n */\n markPoint?: IMarkPointSpec;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/circle-packing/circle-packing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAAjD;;QAGW,SAAI,GAAW,aAAa,CAAC,aAAa,CAAC;QAC3C,eAAU,GAAW,cAAc,CAAC,aAAa,CAAC;IA2C7D,CAAC;IAzCW,oBAAoB,CAAC,IAA6B;QAC1D,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAE7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,IAAI,CAAC,aAAa,EAEjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,GAC5B,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC;QAChD,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAA6B;QACzC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAG1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;AA7Ce,uBAAI,GAAW,aAAa,CAAC,aAAa,CAAC;AAC3C,uBAAI,GAAW,eAAe,CAAC","file":"circle-packing.js","sourcesContent":["import type { ICirclePackingSeriesSpec } from '../../series/circle-packing/interface';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\nimport type { ICirclePackingChartSpec } from './interface';\n\nexport class CirclePackingChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.circlePacking;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.circlePacking;\n readonly seriesType: string = SeriesTypeEnum.circlePacking;\n\n protected getDefaultSeriesSpec(spec: ICirclePackingChartSpec) {\n const series: ICirclePackingSeriesSpec = {\n ...super._getDefaultSeriesSpec(spec),\n categoryField: spec.categoryField,\n valueField: spec.valueField,\n seriesField: spec.seriesField,\n\n layoutPadding: spec.layoutPadding,\n label: spec.label,\n circlePacking: spec.circlePacking,\n\n drill: spec.drill,\n drillField: spec.drillField\n };\n const seriesType = SeriesTypeEnum.circlePacking;\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n\n return series;\n }\n\n transformSpec(spec: ICirclePackingChartSpec): void {\n super.transformSpec(spec);\n\n /* 处理 series 配置 */\n const defaultSeriesSpec = this.getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/circle-packing/circle-packing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAAjD;;QAGW,SAAI,GAAW,aAAa,CAAC,aAAa,CAAC;QAC3C,eAAU,GAAW,cAAc,CAAC,aAAa,CAAC;IA2C7D,CAAC;IAzCW,oBAAoB,CAAC,IAA6B;QAC1D,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAE7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,IAAI,CAAC,aAAa,EAEjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,GAC5B,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC;QAChD,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAA6B;QACzC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAG1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;AA7Ce,uBAAI,GAAW,aAAa,CAAC,aAAa,CAAC;AAC3C,uBAAI,GAAW,eAAe,CAAC","file":"circle-packing.js","sourcesContent":["import type { ICirclePackingSeriesSpec } from '../../series/circle-packing/interface';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\nimport type { ICirclePackingChartSpec } from './interface';\n\nexport class CirclePackingChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.circlePacking;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.circlePacking;\n readonly seriesType: string = SeriesTypeEnum.circlePacking;\n\n protected getDefaultSeriesSpec(spec: ICirclePackingChartSpec) {\n const series: ICirclePackingSeriesSpec = {\n ...super._getDefaultSeriesSpec(spec),\n categoryField: spec.categoryField,\n valueField: spec.valueField,\n seriesField: spec.seriesField,\n\n layoutPadding: spec.layoutPadding,\n label: spec.label,\n circlePacking: spec.circlePacking,\n\n drill: spec.drill,\n drillField: spec.drillField\n };\n const seriesType = SeriesTypeEnum.circlePacking;\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n\n return series;\n }\n\n transformSpec(spec: ICirclePackingChartSpec): void {\n super.transformSpec(spec);\n\n /* 处理 series 配置 */\n const defaultSeriesSpec = this.getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/circle-packing/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './circle-packing';\n"]}
1
+ {"version":3,"sources":["../src/chart/circle-packing/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './circle-packing';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/circle-packing/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICirclePackingSeriesSpec } from '../../series/circle-packing/interface';\nimport type { IChartExtendsSeriesSpec, IChartSpec } from '../../typings/spec/common';\n\nexport interface ICirclePackingChartSpec extends IChartSpec, IChartExtendsSeriesSpec<ICirclePackingSeriesSpec> {\n type: 'circlePacking';\n series?: ICirclePackingSeriesSpec[];\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/circle-packing/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICirclePackingSeriesSpec } from '../../series/circle-packing/interface';\nimport type { IChartExtendsSeriesSpec, IChartSpec } from '../../typings/spec/common';\n\nexport interface ICirclePackingChartSpec extends IChartSpec, IChartExtendsSeriesSpec<ICirclePackingSeriesSpec> {\n type: 'circlePacking';\n series?: ICirclePackingSeriesSpec[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/common/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,WAAY,SAAQ,SAAS;IAA1C;;QAGW,SAAI,GAAW,aAAa,CAAC,MAAM,CAAC;IAC/C,CAAC;;AAHiB,gBAAI,GAAW,aAAa,CAAC,MAAM,CAAC;AACpC,gBAAI,GAAW,eAAe,CAAC","file":"common.js","sourcesContent":["import { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\n\nexport class CommonChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.common;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.common;\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/common/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,WAAY,SAAQ,SAAS;IAA1C;;QAGW,SAAI,GAAW,aAAa,CAAC,MAAM,CAAC;IAC/C,CAAC;;AAHiB,gBAAI,GAAW,aAAa,CAAC,MAAM,CAAC;AACpC,gBAAI,GAAW,eAAe,CAAC","file":"common.js","sourcesContent":["import { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\n\nexport class CommonChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.common;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.common;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './common';\n"]}
1
+ {"version":3,"sources":["../src/chart/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './common';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/common/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ILineSeriesSpec } from '../../series/line/interface';\nimport type { IAreaSeriesSpec } from '../../series/area/interface';\nimport type { IChartSpec } from '../../typings/spec/common';\nimport type { IBar3dSeriesSpec, IBarSeriesSpec } from '../../series/bar/interface';\nimport type { IRangeColumnChartSpec } from '../range-column';\nimport type { IRangeAreaChartSpec } from '../range-area';\nimport type { IDotSeriesSpec } from '../../series/dot/interface';\nimport type { IMapSeriesSpec } from '../../series/map/interface';\nimport type { IPie3dSeriesSpec, IPieSeriesSpec } from '../../series/pie/interface';\nimport type { ILinkSeriesSpec } from '../../series/link/interface';\nimport type { IRadarSeriesSpec } from '../../series/radar/interface';\nimport type { IRoseSeriesSpec } from '../../series/rose/interface';\nimport type { IScatterSeriesSpec } from '../../series/scatter/interface';\nimport type { IWordCloud3dSeriesSpec, IWordCloudSeriesSpec } from '../../series/word-cloud/interface';\nimport type { IGaugePointerSeriesSpec, IGaugeSeriesSpec } from '../../series/gauge';\nimport type { IBoxPlotSeriesSpec } from '../../series/box-plot/interface';\nimport type { ICirclePackingSeriesSpec } from '../../series/circle-packing/interface';\nimport type { IFunnelSeriesSpec, IFunnel3dSeriesSpec } from '../../series/funnel/interface';\nimport type { IHeatmapSeriesSpec } from '../../series/heatmap/interface';\nimport type { ICircularProgressSeriesSpec } from '../../series/progress/circular/interface';\nimport type { ILinearProgressSeriesSpec } from '../../series/progress/linear/interface';\nimport type { ISankeySeriesSpec } from '../../series/sankey/interface';\nimport type { ISunburstSeriesSpec } from '../../series/sunburst/interface';\nimport type { ITreemapSeriesSpec } from '../../series/treemap/interface';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { ICartesianAxisSpec, IPolarAxisSpec } from '../../component';\nimport type { ICartesianCrosshairSpec, IPolarCrosshairSpec } from '../../component/crosshair/interface';\nimport type { IMarkLineSpec } from '../../component/marker/mark-line/interface';\nimport type { IMarkAreaSpec } from '../../component/marker/mark-area/interface';\nimport type { IMarkPointSpec } from '../../component/marker/mark-point/interface';\n\nexport interface ICommonChartSpec extends Omit<IChartSpec, 'series'> {\n type: 'common';\n /**\n * 分组字段\n */\n seriesField?: string;\n series?: (\n | IAreaSeriesSpec\n | ILineSeriesSpec\n | IBar3dSeriesSpec\n | IBarSeriesSpec\n | IRangeColumnChartSpec\n | IRangeAreaChartSpec\n | IDotSeriesSpec\n | IMapSeriesSpec\n | IPie3dSeriesSpec\n | IPieSeriesSpec\n | ILinkSeriesSpec\n | IRadarSeriesSpec\n | IRoseSeriesSpec\n | IScatterSeriesSpec\n | ICircularProgressSeriesSpec\n | ILinearProgressSeriesSpec\n | IWordCloudSeriesSpec\n | IWordCloud3dSeriesSpec\n | IFunnelSeriesSpec\n | IFunnel3dSeriesSpec\n | IBoxPlotSeriesSpec\n | IGaugeSeriesSpec\n | ISankeySeriesSpec\n | ITreemapSeriesSpec\n | ISunburstSeriesSpec\n | ICirclePackingSeriesSpec\n | IWaterfallSeriesSpec\n | IHeatmapSeriesSpec\n | IGaugePointerSeriesSpec\n )[];\n /**\n * 坐标轴配置\n */\n axes?: ICartesianAxisSpec[] | IPolarAxisSpec[];\n /**\n * 十字辅助线配置\n */\n crosshair?: ICartesianCrosshairSpec | ICartesianCrosshairSpec[] | IPolarCrosshairSpec | IPolarCrosshairSpec[];\n /**\n * **仅适用于笛卡尔坐标系**,参考线配置\n */\n markLine?: IMarkLineSpec;\n /**\n * **仅适用于笛卡尔坐标系**,参考区域配置\n */\n markArea?: IMarkAreaSpec;\n /**\n * **仅适用于笛卡尔坐标系**,参考点配置\n */\n markPoint?: IMarkPointSpec;\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/common/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ILineSeriesSpec } from '../../series/line/interface';\nimport type { IAreaSeriesSpec } from '../../series/area/interface';\nimport type { IChartSpec } from '../../typings/spec/common';\nimport type { IBar3dSeriesSpec, IBarSeriesSpec } from '../../series/bar/interface';\nimport type { IRangeColumnChartSpec } from '../range-column';\nimport type { IRangeAreaChartSpec } from '../range-area';\nimport type { IDotSeriesSpec } from '../../series/dot/interface';\nimport type { IMapSeriesSpec } from '../../series/map/interface';\nimport type { IPie3dSeriesSpec, IPieSeriesSpec } from '../../series/pie/interface';\nimport type { ILinkSeriesSpec } from '../../series/link/interface';\nimport type { IRadarSeriesSpec } from '../../series/radar/interface';\nimport type { IRoseSeriesSpec } from '../../series/rose/interface';\nimport type { IScatterSeriesSpec } from '../../series/scatter/interface';\nimport type { IWordCloud3dSeriesSpec, IWordCloudSeriesSpec } from '../../series/word-cloud/interface';\nimport type { IGaugePointerSeriesSpec, IGaugeSeriesSpec } from '../../series/gauge';\nimport type { IBoxPlotSeriesSpec } from '../../series/box-plot/interface';\nimport type { ICirclePackingSeriesSpec } from '../../series/circle-packing/interface';\nimport type { IFunnelSeriesSpec, IFunnel3dSeriesSpec } from '../../series/funnel/interface';\nimport type { IHeatmapSeriesSpec } from '../../series/heatmap/interface';\nimport type { ICircularProgressSeriesSpec } from '../../series/progress/circular/interface';\nimport type { ILinearProgressSeriesSpec } from '../../series/progress/linear/interface';\nimport type { ISankeySeriesSpec } from '../../series/sankey/interface';\nimport type { ISunburstSeriesSpec } from '../../series/sunburst/interface';\nimport type { ITreemapSeriesSpec } from '../../series/treemap/interface';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { ICartesianAxisSpec, IPolarAxisSpec } from '../../component';\nimport type { ICartesianCrosshairSpec, IPolarCrosshairSpec } from '../../component/crosshair/interface';\nimport type { IMarkLineSpec } from '../../component/marker/mark-line/interface';\nimport type { IMarkAreaSpec } from '../../component/marker/mark-area/interface';\nimport type { IMarkPointSpec } from '../../component/marker/mark-point/interface';\n\nexport interface ICommonChartSpec extends Omit<IChartSpec, 'series'> {\n type: 'common';\n /**\n * 分组字段\n */\n seriesField?: string;\n series?: (\n | IAreaSeriesSpec\n | ILineSeriesSpec\n | IBar3dSeriesSpec\n | IBarSeriesSpec\n | IRangeColumnChartSpec\n | IRangeAreaChartSpec\n | IDotSeriesSpec\n | IMapSeriesSpec\n | IPie3dSeriesSpec\n | IPieSeriesSpec\n | ILinkSeriesSpec\n | IRadarSeriesSpec\n | IRoseSeriesSpec\n | IScatterSeriesSpec\n | ICircularProgressSeriesSpec\n | ILinearProgressSeriesSpec\n | IWordCloudSeriesSpec\n | IWordCloud3dSeriesSpec\n | IFunnelSeriesSpec\n | IFunnel3dSeriesSpec\n | IBoxPlotSeriesSpec\n | IGaugeSeriesSpec\n | ISankeySeriesSpec\n | ITreemapSeriesSpec\n | ISunburstSeriesSpec\n | ICirclePackingSeriesSpec\n | IWaterfallSeriesSpec\n | IHeatmapSeriesSpec\n | IGaugePointerSeriesSpec\n )[];\n /**\n * 坐标轴配置\n */\n axes?: ICartesianAxisSpec[] | IPolarAxisSpec[];\n /**\n * 十字辅助线配置\n */\n crosshair?: ICartesianCrosshairSpec | ICartesianCrosshairSpec[] | IPolarCrosshairSpec | IPolarCrosshairSpec[];\n /**\n * **仅适用于笛卡尔坐标系**,参考线配置\n */\n markLine?: IMarkLineSpec;\n /**\n * **仅适用于笛卡尔坐标系**,参考区域配置\n */\n markArea?: IMarkAreaSpec;\n /**\n * **仅适用于笛卡尔坐标系**,参考点配置\n */\n markPoint?: IMarkPointSpec;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/funnel/funnel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,eAAgB,SAAQ,SAAS;IAG3B,QAAQ;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,qBAAqB,CAAC,IAAsB;QACpD,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAEpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAE7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAE/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,EAEnC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,GAClB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;SACvC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,aAAa,CAAC,IAAsB;QAClC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAc,EAAE,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,eAAe;IAAhD;;QAGW,SAAI,GAAW,aAAa,CAAC,MAAM,CAAC;QACpC,eAAU,GAAW,cAAc,CAAC,MAAM,CAAC;IACtD,CAAC;;AAJiB,gBAAI,GAAW,aAAa,CAAC,MAAM,CAAC;AACpC,gBAAI,GAAW,eAAe,CAAC;AAKjD,MAAM,OAAO,aAAc,SAAQ,eAAe;IAAlD;;QAGW,SAAI,GAAW,aAAa,CAAC,QAAQ,CAAC;QACtC,eAAU,GAAW,cAAc,CAAC,QAAQ,CAAC;IACxD,CAAC;;AAJiB,kBAAI,GAAW,aAAa,CAAC,QAAQ,CAAC;AACtC,kBAAI,GAAW,eAAe,CAAC","file":"funnel.js","sourcesContent":["import type { IFunnelSeriesSpec } from '../../series/funnel/interface';\nimport type { ISeriesSpec } from '../../typings/spec';\nimport type { IFunnelChartSpec } from './interface';\n\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\n\nclass BaseFunnelChart extends BaseChart {\n seriesType: string;\n\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: IFunnelChartSpec): IFunnelSeriesSpec {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n\n categoryField: spec.categoryField,\n valueField: spec.valueField,\n seriesField: spec.seriesField,\n\n funnelAlign: spec.funnelAlign,\n funnelOrient: spec.funnelOrient,\n\n shape: spec.shape,\n funnel: spec.funnel,\n transform: spec.transform,\n outerLabel: spec.outerLabel,\n transformLabel: spec.transformLabel,\n\n isTransform: spec.isTransform,\n maxSize: spec.maxSize,\n minSize: spec.minSize,\n gap: spec.gap,\n isCone: spec.isCone,\n range: spec.range\n };\n const seriesType = this.seriesType;\n if (seriesType) {\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n }\n\n return series;\n }\n transformSpec(spec: IFunnelChartSpec): void {\n super.transformSpec(spec);\n\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach((s: ISeriesSpec) => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n\nexport class FunnelChart extends BaseFunnelChart {\n static readonly type: string = ChartTypeEnum.funnel;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.funnel;\n readonly seriesType: string = SeriesTypeEnum.funnel;\n}\n\nexport class Funnel3dChart extends BaseFunnelChart {\n static readonly type: string = ChartTypeEnum.funnel3d;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.funnel3d;\n readonly seriesType: string = SeriesTypeEnum.funnel3d;\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/funnel/funnel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,eAAgB,SAAQ,SAAS;IAG3B,QAAQ;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,qBAAqB,CAAC,IAAsB;QACpD,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAEpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAE7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAE/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,EAEnC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,GAClB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;SACvC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,aAAa,CAAC,IAAsB;QAClC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAc,EAAE,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,eAAe;IAAhD;;QAGW,SAAI,GAAW,aAAa,CAAC,MAAM,CAAC;QACpC,eAAU,GAAW,cAAc,CAAC,MAAM,CAAC;IACtD,CAAC;;AAJiB,gBAAI,GAAW,aAAa,CAAC,MAAM,CAAC;AACpC,gBAAI,GAAW,eAAe,CAAC;AAKjD,MAAM,OAAO,aAAc,SAAQ,eAAe;IAAlD;;QAGW,SAAI,GAAW,aAAa,CAAC,QAAQ,CAAC;QACtC,eAAU,GAAW,cAAc,CAAC,QAAQ,CAAC;IACxD,CAAC;;AAJiB,kBAAI,GAAW,aAAa,CAAC,QAAQ,CAAC;AACtC,kBAAI,GAAW,eAAe,CAAC","file":"funnel.js","sourcesContent":["import type { IFunnelSeriesSpec } from '../../series/funnel/interface';\nimport type { ISeriesSpec } from '../../typings/spec';\nimport type { IFunnelChartSpec } from './interface';\n\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\n\nclass BaseFunnelChart extends BaseChart {\n seriesType: string;\n\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: IFunnelChartSpec): IFunnelSeriesSpec {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n\n categoryField: spec.categoryField,\n valueField: spec.valueField,\n seriesField: spec.seriesField,\n\n funnelAlign: spec.funnelAlign,\n funnelOrient: spec.funnelOrient,\n\n shape: spec.shape,\n funnel: spec.funnel,\n transform: spec.transform,\n outerLabel: spec.outerLabel,\n transformLabel: spec.transformLabel,\n\n isTransform: spec.isTransform,\n maxSize: spec.maxSize,\n minSize: spec.minSize,\n gap: spec.gap,\n isCone: spec.isCone,\n range: spec.range\n };\n const seriesType = this.seriesType;\n if (seriesType) {\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n }\n\n return series;\n }\n transformSpec(spec: IFunnelChartSpec): void {\n super.transformSpec(spec);\n\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach((s: ISeriesSpec) => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n\nexport class FunnelChart extends BaseFunnelChart {\n static readonly type: string = ChartTypeEnum.funnel;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.funnel;\n readonly seriesType: string = SeriesTypeEnum.funnel;\n}\n\nexport class Funnel3dChart extends BaseFunnelChart {\n static readonly type: string = ChartTypeEnum.funnel3d;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.funnel3d;\n readonly seriesType: string = SeriesTypeEnum.funnel3d;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/funnel/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './funnel';\nexport * from './interface';\n"]}
1
+ {"version":3,"sources":["../src/chart/funnel/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './funnel';\nexport * from './interface';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/funnel/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartExtendsSeriesSpec } from '../..';\nimport type { IFunnelSeriesSpec } from '../../series/funnel/interface';\nimport type { IChartSpec } from '../../typings/spec';\n\nexport interface IFunnelChartSpec extends IChartSpec, IChartExtendsSeriesSpec<IFunnelSeriesSpec> {\n type: 'funnel';\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/funnel/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartExtendsSeriesSpec } from '../..';\nimport type { IFunnelSeriesSpec } from '../../series/funnel/interface';\nimport type { IChartSpec } from '../../typings/spec';\n\nexport interface IFunnelChartSpec extends IChartSpec, IChartExtendsSeriesSpec<IFunnelSeriesSpec> {\n type: 'funnel';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarLinearAxisSpec } from '../../component/axis/polar/interface';\nimport type { IGaugeSeriesSpec } from '../../series/gauge';\nimport type { ISeries } from '../../series/interface';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport type { ICircularProgressSeriesSpec } from '../../series/progress/circular/interface';\nimport { ChartTypeEnum } from '../interface';\nimport { ProgressLikeChart } from '../polar/progress-like';\n\nexport class GaugeChart extends ProgressLikeChart {\n static readonly type: string = ChartTypeEnum.gauge;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.gauge;\n readonly seriesType: string = SeriesTypeEnum.gaugePointer;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series = super._getDefaultSeriesSpec(spec);\n return {\n ...series,\n radiusField: spec.radiusField,\n\n pin: spec.pin,\n pinBackground: spec.pinBackground,\n pointer: spec.pointer\n };\n }\n\n protected _getDefaultCircularProgressSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n type: SeriesTypeEnum.circularProgress\n };\n return series;\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n\n /** 充当仪表图非指针部分的系列 */\n let backgroundSeries: ICircularProgressSeriesSpec | IGaugeSeriesSpec = spec.series?.find(\n (series: ISeries) => series.type === SeriesTypeEnum.gauge || series.type === SeriesTypeEnum.circularProgress\n );\n if (isNil(backgroundSeries)) {\n backgroundSeries = spec.gauge ?? this._getDefaultCircularProgressSeriesSpec(spec);\n\n // 补充可能缺失的属性\n if (backgroundSeries.type === 'circularProgress') {\n if (isNil(backgroundSeries.radiusField) && isNil(backgroundSeries.categoryField)) {\n backgroundSeries.radiusField = spec.radiusField ?? spec.categoryField ?? spec.seriesField;\n }\n }\n\n if (spec.series.length === 1) {\n spec.series.push(backgroundSeries);\n } else {\n spec.series.forEach((s: ISeries) => {\n if (s.type !== backgroundSeries.type) {\n return;\n }\n Object.keys(backgroundSeries).forEach(k => {\n if (!(k in s)) {\n s[k] = backgroundSeries[k];\n }\n });\n });\n }\n }\n\n if (backgroundSeries.type === SeriesTypeEnum.circularProgress) {\n this._transformProgressAxisSpec(\n spec,\n {\n orient: 'angle',\n visible: true,\n domainLine: {\n visible: false\n },\n grid: {\n visible: false\n }\n },\n {\n orient: 'radius',\n visible: false\n }\n );\n } else {\n this._transformGaugeAxisSpec(spec);\n }\n }\n\n protected _transformGaugeAxisSpec(spec: any): void {\n if (!spec.axes) {\n spec.axes = [];\n }\n const axesPtr: {\n radius: IPolarLinearAxisSpec | null;\n angle: IPolarLinearAxisSpec | null;\n } = { radius: null, angle: null };\n (spec.axes ?? []).forEach((axis: IPolarAxisSpec) => {\n const { orient } = axis;\n if (orient === 'radius') {\n axesPtr.radius = axis;\n }\n if (orient === 'angle') {\n axesPtr.angle = axis;\n }\n });\n if (!axesPtr.angle) {\n axesPtr.angle = {\n orient: 'angle',\n visible: true\n };\n spec.axes.push(axesPtr.angle);\n }\n if (!axesPtr.radius) {\n axesPtr.radius = {\n orient: 'radius',\n visible: false\n };\n spec.axes.push(axesPtr.radius);\n }\n\n // 自动补充缺失的配置\n if (isNil(axesPtr.angle.type)) {\n axesPtr.angle.type = 'linear';\n }\n if (isNil(axesPtr.radius.type)) {\n axesPtr.radius.type = 'linear';\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarLinearAxisSpec } from '../../component/axis/polar/interface';\nimport type { IGaugeSeriesSpec } from '../../series/gauge';\nimport type { ISeries } from '../../series/interface';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport type { ICircularProgressSeriesSpec } from '../../series/progress/circular/interface';\nimport { ChartTypeEnum } from '../interface';\nimport { ProgressLikeChart } from '../polar/progress-like';\n\nexport class GaugeChart extends ProgressLikeChart {\n static readonly type: string = ChartTypeEnum.gauge;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.gauge;\n readonly seriesType: string = SeriesTypeEnum.gaugePointer;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series = super._getDefaultSeriesSpec(spec);\n return {\n ...series,\n radiusField: spec.radiusField,\n\n pin: spec.pin,\n pinBackground: spec.pinBackground,\n pointer: spec.pointer\n };\n }\n\n protected _getDefaultCircularProgressSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n type: SeriesTypeEnum.circularProgress\n };\n return series;\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n\n /** 充当仪表图非指针部分的系列 */\n let backgroundSeries: ICircularProgressSeriesSpec | IGaugeSeriesSpec = spec.series?.find(\n (series: ISeries) => series.type === SeriesTypeEnum.gauge || series.type === SeriesTypeEnum.circularProgress\n );\n if (isNil(backgroundSeries)) {\n backgroundSeries = spec.gauge ?? this._getDefaultCircularProgressSeriesSpec(spec);\n\n // 补充可能缺失的属性\n if (backgroundSeries.type === 'circularProgress') {\n if (isNil(backgroundSeries.radiusField) && isNil(backgroundSeries.categoryField)) {\n backgroundSeries.radiusField = spec.radiusField ?? spec.categoryField ?? spec.seriesField;\n }\n }\n\n if (spec.series.length === 1) {\n spec.series.push(backgroundSeries);\n } else {\n spec.series.forEach((s: ISeries) => {\n if (s.type !== backgroundSeries.type) {\n return;\n }\n Object.keys(backgroundSeries).forEach(k => {\n if (!(k in s)) {\n s[k] = backgroundSeries[k];\n }\n });\n });\n }\n }\n\n if (backgroundSeries.type === SeriesTypeEnum.circularProgress) {\n this._transformProgressAxisSpec(\n spec,\n {\n orient: 'angle',\n visible: true,\n domainLine: {\n visible: false\n },\n grid: {\n visible: false\n }\n },\n {\n orient: 'radius',\n visible: false\n }\n );\n } else {\n this._transformGaugeAxisSpec(spec);\n }\n }\n\n protected _transformGaugeAxisSpec(spec: any): void {\n if (!spec.axes) {\n spec.axes = [];\n }\n const axesPtr: {\n radius: IPolarLinearAxisSpec | null;\n angle: IPolarLinearAxisSpec | null;\n } = { radius: null, angle: null };\n (spec.axes ?? []).forEach((axis: IPolarAxisSpec) => {\n const { orient } = axis;\n if (orient === 'radius') {\n axesPtr.radius = axis;\n }\n if (orient === 'angle') {\n axesPtr.angle = axis;\n }\n });\n if (!axesPtr.angle) {\n axesPtr.angle = {\n orient: 'angle',\n visible: true\n };\n spec.axes.push(axesPtr.angle);\n }\n if (!axesPtr.radius) {\n axesPtr.radius = {\n orient: 'radius',\n visible: false\n };\n spec.axes.push(axesPtr.radius);\n }\n\n // 自动补充缺失的配置\n if (isNil(axesPtr.angle.type)) {\n axesPtr.angle.type = 'linear';\n }\n if (isNil(axesPtr.radius.type)) {\n axesPtr.radius.type = 'linear';\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chart/gauge/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './gauge';\n"]}
1
+ {"version":3,"sources":["../src/chart/gauge/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './gauge';\n"]}