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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (954) hide show
  1. package/README.md +82 -1
  2. package/build/index.js +2910 -2222
  3. package/build/index.min.js +2 -2
  4. package/cjs/animation/utils.d.ts +4 -2
  5. package/cjs/animation/utils.js +8 -3
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base-chart.js +2 -2
  8. package/cjs/chart/base-chart.js.map +1 -1
  9. package/cjs/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  10. package/cjs/chart/box-plot/box-plot.js.map +1 -0
  11. package/{esm/chart/boxplot → cjs/chart/box-plot}/index.d.ts +1 -1
  12. package/cjs/chart/{boxplot → box-plot}/index.js +1 -1
  13. package/cjs/chart/box-plot/index.js.map +1 -0
  14. package/cjs/chart/box-plot/interface.js.map +1 -0
  15. package/cjs/chart/index.d.ts +3 -1
  16. package/cjs/chart/index.js +2 -1
  17. package/cjs/chart/index.js.map +1 -1
  18. package/cjs/chart/treemap/treemap.js.map +1 -1
  19. package/cjs/compile/compiler.d.ts +4 -4
  20. package/cjs/compile/compiler.js +25 -26
  21. package/cjs/compile/compiler.js.map +1 -1
  22. package/cjs/compile/data/compilable-data.d.ts +1 -1
  23. package/cjs/compile/interface/compiler.d.ts +0 -5
  24. package/cjs/compile/interface/compiler.js.map +1 -1
  25. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  26. package/cjs/compile/mark/interface.js.map +1 -1
  27. package/cjs/compile/signal/state-manager.d.ts +1 -1
  28. package/cjs/component/axis/base-axis.d.ts +70 -1
  29. package/cjs/component/axis/base-axis.js +93 -4
  30. package/cjs/component/axis/base-axis.js.map +1 -1
  31. package/cjs/component/axis/cartesian/axis.d.ts +0 -1
  32. package/cjs/component/axis/cartesian/axis.js +3 -6
  33. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  34. package/cjs/component/axis/polar/axis.d.ts +0 -1
  35. package/cjs/component/axis/polar/axis.js +3 -6
  36. package/cjs/component/axis/polar/axis.js.map +1 -1
  37. package/cjs/component/axis/utils.d.ts +13 -70
  38. package/cjs/component/axis/utils.js +23 -109
  39. package/cjs/component/axis/utils.js.map +1 -1
  40. package/cjs/component/base/base-component.d.ts +0 -5
  41. package/cjs/component/base/base-component.js +8 -19
  42. package/cjs/component/base/base-component.js.map +1 -1
  43. package/cjs/component/base/util.d.ts +1 -1
  44. package/cjs/component/base/util.js +20 -9
  45. package/cjs/component/base/util.js.map +1 -1
  46. package/cjs/component/crosshair/base.d.ts +0 -1
  47. package/cjs/component/crosshair/base.js +1 -4
  48. package/cjs/component/crosshair/base.js.map +1 -1
  49. package/cjs/component/custom-mark/custom-mark.js +4 -1
  50. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  51. package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -2
  52. package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
  53. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  54. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  55. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
  56. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  57. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  58. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  59. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  60. package/cjs/component/interface/index.d.ts +1 -0
  61. package/cjs/component/interface/index.js +1 -1
  62. package/cjs/component/interface/index.js.map +1 -1
  63. package/cjs/component/interface/theme.d.ts +38 -0
  64. package/cjs/component/interface/theme.js +6 -0
  65. package/cjs/component/interface/theme.js.map +1 -0
  66. package/cjs/component/label/label.d.ts +0 -1
  67. package/cjs/component/label/label.js +12 -6
  68. package/cjs/component/label/label.js.map +1 -1
  69. package/cjs/component/legend/base-legend.js +5 -2
  70. package/cjs/component/legend/base-legend.js.map +1 -1
  71. package/cjs/component/legend/continuous/legend.d.ts +1 -1
  72. package/cjs/component/legend/continuous/legend.js +2 -2
  73. package/cjs/component/legend/continuous/legend.js.map +1 -1
  74. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  75. package/cjs/component/legend/discrete/legend.js +2 -2
  76. package/cjs/component/legend/discrete/legend.js.map +1 -1
  77. package/cjs/component/legend/util.d.ts +4 -4
  78. package/cjs/component/map-label/component.js +2 -2
  79. package/cjs/component/map-label/component.js.map +1 -1
  80. package/cjs/component/map-label/interface.d.ts +6 -4
  81. package/cjs/component/map-label/interface.js.map +1 -1
  82. package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -1
  83. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  84. package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -1
  85. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  86. package/cjs/component/marker/mark-point/interface/spec.d.ts +2 -1
  87. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  88. package/cjs/component/marker/utils.js +14 -9
  89. package/cjs/component/marker/utils.js.map +1 -1
  90. package/cjs/component/player/interface/theme.d.ts +2 -1
  91. package/cjs/component/player/interface/theme.js.map +1 -1
  92. package/cjs/component/player/player.d.ts +0 -1
  93. package/cjs/component/player/player.js +0 -3
  94. package/cjs/component/player/player.js.map +1 -1
  95. package/cjs/component/player/utils/transform.js.map +1 -1
  96. package/cjs/component/title/interface/theme.d.ts +4 -2
  97. package/cjs/component/title/interface/theme.js.map +1 -1
  98. package/cjs/component/title/title.d.ts +1 -1
  99. package/cjs/component/title/title.js +4 -6
  100. package/cjs/component/title/title.js.map +1 -1
  101. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  102. package/cjs/component/tooltip/handler/base.js +9 -8
  103. package/cjs/component/tooltip/handler/base.js.map +1 -1
  104. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  105. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -4
  106. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  107. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  108. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -2
  109. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  110. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  111. package/cjs/component/tooltip/tooltip.js +1 -1
  112. package/cjs/component/tooltip/tooltip.js.map +1 -1
  113. package/cjs/constant/base.d.ts +1 -1
  114. package/cjs/constant/base.js +1 -1
  115. package/cjs/constant/base.js.map +1 -1
  116. package/cjs/constant/box-plot.js +1 -2
  117. package/cjs/constant/label.js +2 -1
  118. package/cjs/core/factory.d.ts +1 -0
  119. package/cjs/core/factory.js +3 -0
  120. package/cjs/core/factory.js.map +1 -1
  121. package/cjs/core/instance-manager.d.ts +9 -0
  122. package/cjs/core/instance-manager.js +26 -0
  123. package/cjs/core/instance-manager.js.map +1 -0
  124. package/cjs/core/interface.js +1 -2
  125. package/cjs/core/vchart.d.ts +2 -6
  126. package/cjs/core/vchart.js +10 -24
  127. package/cjs/core/vchart.js.map +1 -1
  128. package/cjs/data/initialize.js +2 -1
  129. package/cjs/data/transforms/add-property.d.ts +5 -5
  130. package/cjs/data/transforms/add-property.js +3 -3
  131. package/cjs/data/transforms/add-property.js.map +1 -1
  132. package/cjs/data/transforms/data-key.d.ts +3 -3
  133. package/cjs/data/transforms/data-key.js.map +1 -1
  134. package/cjs/index.d.ts +1 -1
  135. package/cjs/index.js +1 -1
  136. package/cjs/index.js.map +1 -1
  137. package/cjs/mark/arc.d.ts +1 -1
  138. package/cjs/mark/arc.js +4 -3
  139. package/cjs/mark/arc.js.map +1 -1
  140. package/cjs/mark/area.d.ts +3 -2
  141. package/cjs/mark/area.js +8 -4
  142. package/cjs/mark/area.js.map +1 -1
  143. package/cjs/mark/base/base-mark.js +2 -1
  144. package/cjs/mark/base/base-mark.js.map +1 -1
  145. package/cjs/mark/base/index.d.ts +1 -2
  146. package/cjs/mark/base/index.js +1 -10
  147. package/cjs/mark/base/index.js.map +1 -1
  148. package/{esm/mark/boxPlot.d.ts → cjs/mark/box-plot.d.ts} +1 -1
  149. package/cjs/mark/{boxPlot.js → box-plot.js} +3 -3
  150. package/{esm/mark/boxPlot.js.map → cjs/mark/box-plot.js.map} +1 -1
  151. package/cjs/mark/component.d.ts +1 -1
  152. package/cjs/mark/component.js +2 -2
  153. package/cjs/mark/component.js.map +1 -1
  154. package/cjs/mark/group.js +1 -1
  155. package/cjs/mark/line.d.ts +1 -1
  156. package/cjs/mark/line.js +3 -3
  157. package/cjs/mark/line.js.map +1 -1
  158. package/cjs/mark/linkPath.d.ts +1 -1
  159. package/cjs/mark/linkPath.js +3 -3
  160. package/cjs/mark/linkPath.js.map +1 -1
  161. package/cjs/mark/mark-set/index.d.ts +6 -5
  162. package/cjs/mark/mark-set/index.js +15 -12
  163. package/cjs/mark/mark-set/index.js.map +1 -1
  164. package/cjs/mark/path.d.ts +1 -1
  165. package/cjs/mark/path.js +3 -3
  166. package/cjs/mark/path.js.map +1 -1
  167. package/cjs/mark/polygon.d.ts +1 -1
  168. package/cjs/mark/polygon.js +2 -2
  169. package/cjs/mark/polygon.js.map +1 -1
  170. package/cjs/mark/rect.d.ts +1 -1
  171. package/cjs/mark/rect.js +5 -4
  172. package/cjs/mark/rect.js.map +1 -1
  173. package/cjs/mark/rule.d.ts +1 -1
  174. package/cjs/mark/rule.js +2 -2
  175. package/cjs/mark/rule.js.map +1 -1
  176. package/cjs/mark/symbol.d.ts +1 -1
  177. package/cjs/mark/symbol.js +4 -3
  178. package/cjs/mark/symbol.js.map +1 -1
  179. package/cjs/mark/text.d.ts +1 -1
  180. package/cjs/mark/text.js +4 -3
  181. package/cjs/mark/text.js.map +1 -1
  182. package/cjs/model/base-model.d.ts +13 -6
  183. package/cjs/model/base-model.js +53 -30
  184. package/cjs/model/base-model.js.map +1 -1
  185. package/cjs/model/interface.d.ts +8 -2
  186. package/cjs/model/interface.js +1 -1
  187. package/cjs/model/interface.js.map +1 -1
  188. package/cjs/model/layout-item.js +22 -19
  189. package/cjs/model/layout-item.js.map +1 -1
  190. package/cjs/model/model-state-manager.js +1 -1
  191. package/cjs/model/tooltip-helper.js +1 -1
  192. package/cjs/region/region.d.ts +1 -4
  193. package/cjs/region/region.js +16 -13
  194. package/cjs/region/region.js.map +1 -1
  195. package/cjs/scale/color-ordinal-scale.d.ts +8 -0
  196. package/cjs/scale/color-ordinal-scale.js +24 -0
  197. package/cjs/scale/color-ordinal-scale.js.map +1 -0
  198. package/cjs/scale/global-scale.js +2 -1
  199. package/cjs/scale/global-scale.js.map +1 -1
  200. package/cjs/series/area/area.d.ts +2 -0
  201. package/cjs/series/area/area.js +15 -9
  202. package/cjs/series/area/area.js.map +1 -1
  203. package/cjs/series/area/interface.d.ts +5 -5
  204. package/cjs/series/area/interface.js.map +1 -1
  205. package/cjs/series/bar/bar.d.ts +6 -0
  206. package/cjs/series/bar/bar.js +25 -10
  207. package/cjs/series/bar/bar.js.map +1 -1
  208. package/cjs/series/bar/interface.d.ts +5 -4
  209. package/cjs/series/bar/interface.js.map +1 -1
  210. package/cjs/series/base/base-series.d.ts +12 -13
  211. package/cjs/series/base/base-series.js +56 -34
  212. package/cjs/series/base/base-series.js.map +1 -1
  213. package/{esm/series/box-plot/boxPlot.d.ts → cjs/series/box-plot/box-plot.d.ts} +2 -0
  214. package/cjs/series/box-plot/{boxPlot.js → box-plot.js} +18 -8
  215. package/cjs/series/box-plot/box-plot.js.map +1 -0
  216. package/cjs/series/box-plot/interface.d.ts +3 -2
  217. package/cjs/series/box-plot/interface.js.map +1 -1
  218. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  219. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  220. package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
  221. package/cjs/series/circle-packing/circle-packing.js +15 -10
  222. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  223. package/cjs/series/circle-packing/interface.d.ts +5 -4
  224. package/cjs/series/circle-packing/interface.js.map +1 -1
  225. package/cjs/series/dot/dot.d.ts +6 -8
  226. package/cjs/series/dot/dot.js +43 -17
  227. package/cjs/series/dot/dot.js.map +1 -1
  228. package/cjs/series/dot/interface.d.ts +10 -10
  229. package/cjs/series/dot/interface.js.map +1 -1
  230. package/cjs/series/funnel/funnel.d.ts +12 -2
  231. package/cjs/series/funnel/funnel.js +92 -31
  232. package/cjs/series/funnel/funnel.js.map +1 -1
  233. package/cjs/series/funnel/interface.d.ts +16 -15
  234. package/cjs/series/funnel/interface.js.map +1 -1
  235. package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
  236. package/cjs/series/gauge/gauge-pointer.js +22 -6
  237. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  238. package/cjs/series/gauge/gauge.d.ts +3 -2
  239. package/cjs/series/gauge/gauge.js +26 -17
  240. package/cjs/series/gauge/gauge.js.map +1 -1
  241. package/cjs/series/gauge/interface.d.ts +12 -11
  242. package/cjs/series/gauge/interface.js.map +1 -1
  243. package/cjs/series/heatmap/heatmap.d.ts +3 -1
  244. package/cjs/series/heatmap/heatmap.js +19 -11
  245. package/cjs/series/heatmap/heatmap.js.map +1 -1
  246. package/cjs/series/heatmap/interface.d.ts +6 -5
  247. package/cjs/series/heatmap/interface.js.map +1 -1
  248. package/cjs/series/interface/common.d.ts +56 -1
  249. package/cjs/series/interface/common.js +24 -1
  250. package/cjs/series/interface/common.js.map +1 -1
  251. package/cjs/series/interface/series.d.ts +2 -1
  252. package/cjs/series/interface/series.js.map +1 -1
  253. package/cjs/series/line/line.d.ts +2 -0
  254. package/cjs/series/line/line.js +7 -5
  255. package/cjs/series/line/line.js.map +1 -1
  256. package/cjs/series/link/interface.d.ts +4 -4
  257. package/cjs/series/link/interface.js.map +1 -1
  258. package/cjs/series/link/link.d.ts +4 -7
  259. package/cjs/series/link/link.js +20 -14
  260. package/cjs/series/link/link.js.map +1 -1
  261. package/cjs/series/map/map.d.ts +2 -0
  262. package/cjs/series/map/map.js +15 -8
  263. package/cjs/series/map/map.js.map +1 -1
  264. package/cjs/series/mixin/line-mixin.d.ts +4 -3
  265. package/cjs/series/mixin/line-mixin.js +16 -9
  266. package/cjs/series/mixin/line-mixin.js.map +1 -1
  267. package/cjs/series/pie/interface.d.ts +7 -6
  268. package/cjs/series/pie/interface.js.map +1 -1
  269. package/cjs/series/pie/pie.d.ts +8 -3
  270. package/cjs/series/pie/pie.js +67 -39
  271. package/cjs/series/pie/pie.js.map +1 -1
  272. package/cjs/series/progress/circular/circular.d.ts +2 -0
  273. package/cjs/series/progress/circular/circular.js +16 -9
  274. package/cjs/series/progress/circular/circular.js.map +1 -1
  275. package/cjs/series/progress/circular/interface.d.ts +5 -4
  276. package/cjs/series/progress/circular/interface.js.map +1 -1
  277. package/cjs/series/progress/linear/interface.d.ts +6 -5
  278. package/cjs/series/progress/linear/interface.js.map +1 -1
  279. package/cjs/series/progress/linear/linear.d.ts +2 -0
  280. package/cjs/series/progress/linear/linear.js +31 -21
  281. package/cjs/series/progress/linear/linear.js.map +1 -1
  282. package/cjs/series/radar/interface.d.ts +5 -4
  283. package/cjs/series/radar/interface.js.map +1 -1
  284. package/cjs/series/radar/radar.d.ts +2 -0
  285. package/cjs/series/radar/radar.js +9 -4
  286. package/cjs/series/radar/radar.js.map +1 -1
  287. package/cjs/series/range-area/range-area.d.ts +2 -0
  288. package/cjs/series/range-area/range-area.js +4 -3
  289. package/cjs/series/range-area/range-area.js.map +1 -1
  290. package/cjs/series/range-column/interface.d.ts +9 -8
  291. package/cjs/series/range-column/interface.js.map +1 -1
  292. package/cjs/series/range-column/rangeColumn.d.ts +2 -0
  293. package/cjs/series/range-column/rangeColumn.js +32 -23
  294. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  295. package/cjs/series/rose/interface.d.ts +3 -2
  296. package/cjs/series/rose/interface.js.map +1 -1
  297. package/cjs/series/rose/rose.d.ts +2 -0
  298. package/cjs/series/rose/rose.js +15 -15
  299. package/cjs/series/rose/rose.js.map +1 -1
  300. package/cjs/series/sankey/animation.js.map +1 -1
  301. package/cjs/series/sankey/interface.d.ts +7 -6
  302. package/cjs/series/sankey/interface.js.map +1 -1
  303. package/cjs/series/sankey/sankey.d.ts +2 -0
  304. package/cjs/series/sankey/sankey.js +29 -26
  305. package/cjs/series/sankey/sankey.js.map +1 -1
  306. package/cjs/series/scatter/interface.d.ts +6 -5
  307. package/cjs/series/scatter/interface.js.map +1 -1
  308. package/cjs/series/scatter/scatter.d.ts +2 -0
  309. package/cjs/series/scatter/scatter.js +16 -12
  310. package/cjs/series/scatter/scatter.js.map +1 -1
  311. package/cjs/series/sunburst/interface.d.ts +5 -4
  312. package/cjs/series/sunburst/interface.js.map +1 -1
  313. package/cjs/series/sunburst/sunburst.d.ts +3 -1
  314. package/cjs/series/sunburst/sunburst.js +11 -6
  315. package/cjs/series/sunburst/sunburst.js.map +1 -1
  316. package/cjs/series/treemap/interface.d.ts +9 -8
  317. package/cjs/series/treemap/interface.js.map +1 -1
  318. package/cjs/series/treemap/treemap.d.ts +2 -0
  319. package/cjs/series/treemap/treemap.js +21 -8
  320. package/cjs/series/treemap/treemap.js.map +1 -1
  321. package/cjs/series/waterfall/interface.d.ts +6 -5
  322. package/cjs/series/waterfall/interface.js.map +1 -1
  323. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  324. package/cjs/series/waterfall/waterfall.js +15 -5
  325. package/cjs/series/waterfall/waterfall.js.map +1 -1
  326. package/cjs/series/word-cloud/interface.d.ts +7 -6
  327. package/cjs/series/word-cloud/interface.js.map +1 -1
  328. package/cjs/series/word-cloud/word-cloud.d.ts +4 -3
  329. package/cjs/series/word-cloud/word-cloud.js +22 -11
  330. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  331. package/cjs/theme/buildin-theme/config.d.ts +1 -4
  332. package/cjs/theme/buildin-theme/config.js +2 -18
  333. package/cjs/theme/buildin-theme/config.js.map +1 -1
  334. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  335. package/cjs/theme/buildin-theme/light/color-scheme.js +14 -1
  336. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  337. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  338. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js +22 -0
  339. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  340. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  341. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  342. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  343. package/cjs/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  344. package/cjs/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  345. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  346. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  347. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js +22 -0
  348. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  349. package/cjs/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  350. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +25 -0
  351. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  352. package/cjs/theme/buildin-theme/light/component/crosshair.js +9 -5
  353. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  354. package/cjs/theme/buildin-theme/light/component/data-zoom.js +10 -10
  355. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  356. package/cjs/theme/buildin-theme/light/component/index.d.ts +2 -0
  357. package/cjs/theme/buildin-theme/light/component/index.js +32 -0
  358. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -0
  359. package/cjs/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  360. package/cjs/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +3 -3
  361. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  362. package/cjs/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  363. package/cjs/theme/buildin-theme/light/component/legend/continuous.js +60 -0
  364. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  365. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  366. package/cjs/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +17 -6
  367. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  368. package/cjs/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  369. package/cjs/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +3 -3
  370. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  371. package/cjs/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  372. package/cjs/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +8 -8
  373. package/cjs/theme/buildin-theme/light/component/map-label.js.map +1 -0
  374. package/cjs/theme/buildin-theme/light/component/player.js +20 -11
  375. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  376. package/cjs/theme/buildin-theme/light/component/title.js +19 -3
  377. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -1
  378. package/cjs/theme/buildin-theme/light/component/tooltip.js +7 -3
  379. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  380. package/cjs/theme/buildin-theme/light/constants.d.ts +2 -0
  381. package/cjs/theme/buildin-theme/light/constants.js +16 -0
  382. package/cjs/theme/buildin-theme/light/constants.js.map +1 -0
  383. package/cjs/theme/buildin-theme/light/index.js +5 -20
  384. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  385. package/cjs/theme/buildin-theme/light/mark.d.ts +3 -0
  386. package/cjs/theme/buildin-theme/light/mark.js +72 -0
  387. package/cjs/theme/buildin-theme/light/mark.js.map +1 -0
  388. package/cjs/theme/buildin-theme/light/series/area.js +2 -12
  389. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  390. package/cjs/theme/buildin-theme/light/series/bar.js +2 -2
  391. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  392. package/cjs/theme/buildin-theme/light/series/bar3d.js +2 -2
  393. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  394. package/cjs/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  395. package/cjs/theme/buildin-theme/light/series/box-plot.js +12 -0
  396. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  397. package/cjs/theme/buildin-theme/light/series/circular-progress.js +11 -1
  398. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  399. package/cjs/theme/buildin-theme/light/series/funnel.js +8 -5
  400. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  401. package/cjs/theme/buildin-theme/light/series/funnel3d.js +9 -6
  402. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  403. package/cjs/theme/buildin-theme/light/series/gauge.js +6 -1
  404. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  405. package/cjs/theme/buildin-theme/light/series/index.js +5 -2
  406. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  407. package/cjs/theme/buildin-theme/light/series/line.js +2 -7
  408. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  409. package/cjs/theme/buildin-theme/light/series/linear-progress.js +5 -0
  410. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  411. package/cjs/theme/buildin-theme/light/series/map.js +8 -4
  412. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  413. package/cjs/theme/buildin-theme/light/series/pie.js +9 -2
  414. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  415. package/cjs/theme/buildin-theme/light/series/pie3d.js +4 -3
  416. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  417. package/cjs/theme/buildin-theme/light/series/radar.js +2 -12
  418. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  419. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  420. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  421. package/cjs/theme/buildin-theme/light/series/rose.d.ts +2 -0
  422. package/cjs/theme/buildin-theme/light/series/rose.js +20 -0
  423. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -0
  424. package/cjs/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  425. package/cjs/theme/buildin-theme/light/series/sankey.js +14 -0
  426. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -0
  427. package/cjs/theme/buildin-theme/light/series/scatter.js +10 -4
  428. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  429. package/cjs/theme/buildin-theme/light/series/treemap.js +4 -4
  430. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  431. package/cjs/theme/buildin-theme/light/series/waterfall.js +3 -3
  432. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  433. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  434. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  435. package/cjs/theme/color-scheme/interface.d.ts +16 -8
  436. package/cjs/theme/color-scheme/interface.js.map +1 -1
  437. package/cjs/theme/color-scheme/util.d.ts +6 -3
  438. package/cjs/theme/color-scheme/util.js +39 -10
  439. package/cjs/theme/color-scheme/util.js.map +1 -1
  440. package/cjs/theme/interface.d.ts +22 -38
  441. package/cjs/theme/interface.js.map +1 -1
  442. package/cjs/theme/theme-manager.d.ts +1 -0
  443. package/cjs/theme/theme-manager.js +5 -2
  444. package/cjs/theme/theme-manager.js.map +1 -1
  445. package/cjs/typings/spec/chart.d.ts +1 -1
  446. package/cjs/typings/spec/chart.js.map +1 -1
  447. package/cjs/typings/visual.d.ts +13 -12
  448. package/cjs/typings/visual.js.map +1 -1
  449. package/cjs/util/color.d.ts +0 -3
  450. package/cjs/util/color.js +2 -12
  451. package/cjs/util/color.js.map +1 -1
  452. package/cjs/util/id.js +4 -4
  453. package/cjs/util/id.js.map +1 -1
  454. package/cjs/util/scale.d.ts +12 -1
  455. package/cjs/util/scale.js +4 -2
  456. package/cjs/util/scale.js.map +1 -1
  457. package/cjs/vchart-all.js +4 -4
  458. package/cjs/vchart-all.js.map +1 -1
  459. package/esm/animation/utils.d.ts +4 -2
  460. package/esm/animation/utils.js +4 -0
  461. package/esm/animation/utils.js.map +1 -1
  462. package/esm/chart/base-chart.js +3 -3
  463. package/esm/chart/base-chart.js.map +1 -1
  464. package/esm/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  465. package/esm/chart/box-plot/box-plot.js.map +1 -0
  466. package/{cjs/chart/boxplot → esm/chart/box-plot}/index.d.ts +1 -1
  467. package/esm/chart/{boxplot → box-plot}/index.js +1 -1
  468. package/esm/chart/box-plot/index.js.map +1 -0
  469. package/esm/chart/box-plot/interface.js.map +1 -0
  470. package/esm/chart/index.d.ts +3 -1
  471. package/esm/chart/index.js +5 -1
  472. package/esm/chart/index.js.map +1 -1
  473. package/esm/chart/treemap/treemap.js.map +1 -1
  474. package/esm/compile/compiler.d.ts +4 -4
  475. package/esm/compile/compiler.js +25 -26
  476. package/esm/compile/compiler.js.map +1 -1
  477. package/esm/compile/data/compilable-data.d.ts +1 -1
  478. package/esm/compile/interface/compiler.d.ts +0 -5
  479. package/esm/compile/interface/compiler.js.map +1 -1
  480. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  481. package/esm/compile/mark/interface.js.map +1 -1
  482. package/esm/compile/signal/state-manager.d.ts +1 -1
  483. package/esm/component/axis/base-axis.d.ts +70 -1
  484. package/esm/component/axis/base-axis.js +98 -4
  485. package/esm/component/axis/base-axis.js.map +1 -1
  486. package/esm/component/axis/cartesian/axis.d.ts +0 -1
  487. package/esm/component/axis/cartesian/axis.js +4 -7
  488. package/esm/component/axis/cartesian/axis.js.map +1 -1
  489. package/esm/component/axis/polar/axis.d.ts +0 -1
  490. package/esm/component/axis/polar/axis.js +4 -7
  491. package/esm/component/axis/polar/axis.js.map +1 -1
  492. package/esm/component/axis/utils.d.ts +13 -70
  493. package/esm/component/axis/utils.js +12 -99
  494. package/esm/component/axis/utils.js.map +1 -1
  495. package/esm/component/base/base-component.d.ts +0 -5
  496. package/esm/component/base/base-component.js +7 -20
  497. package/esm/component/base/base-component.js.map +1 -1
  498. package/esm/component/base/util.d.ts +1 -1
  499. package/esm/component/base/util.js +18 -9
  500. package/esm/component/base/util.js.map +1 -1
  501. package/esm/component/crosshair/base.d.ts +0 -1
  502. package/esm/component/crosshair/base.js +1 -4
  503. package/esm/component/crosshair/base.js.map +1 -1
  504. package/esm/component/custom-mark/custom-mark.js +4 -1
  505. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  506. package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -2
  507. package/esm/component/data-zoom/data-filter-base-component.js +2 -2
  508. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  509. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  510. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
  511. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  512. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  513. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  514. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  515. package/esm/component/interface/index.d.ts +1 -0
  516. package/esm/component/interface/index.js +2 -0
  517. package/esm/component/interface/index.js.map +1 -1
  518. package/esm/component/interface/theme.d.ts +38 -0
  519. package/esm/component/interface/theme.js +2 -0
  520. package/esm/component/interface/theme.js.map +1 -0
  521. package/esm/component/label/label.d.ts +0 -1
  522. package/esm/component/label/label.js +12 -6
  523. package/esm/component/label/label.js.map +1 -1
  524. package/esm/component/legend/base-legend.js +5 -2
  525. package/esm/component/legend/base-legend.js.map +1 -1
  526. package/esm/component/legend/continuous/legend.d.ts +1 -1
  527. package/esm/component/legend/continuous/legend.js +2 -2
  528. package/esm/component/legend/continuous/legend.js.map +1 -1
  529. package/esm/component/legend/discrete/legend.d.ts +1 -1
  530. package/esm/component/legend/discrete/legend.js +2 -2
  531. package/esm/component/legend/discrete/legend.js.map +1 -1
  532. package/esm/component/legend/util.d.ts +4 -4
  533. package/esm/component/map-label/component.js +1 -5
  534. package/esm/component/map-label/component.js.map +1 -1
  535. package/esm/component/map-label/interface.d.ts +6 -4
  536. package/esm/component/map-label/interface.js.map +1 -1
  537. package/esm/component/marker/mark-area/interface/spec.d.ts +2 -1
  538. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  539. package/esm/component/marker/mark-line/interface/spec.d.ts +2 -1
  540. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  541. package/esm/component/marker/mark-point/interface/spec.d.ts +2 -1
  542. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  543. package/esm/component/marker/utils.js +14 -9
  544. package/esm/component/marker/utils.js.map +1 -1
  545. package/esm/component/player/interface/theme.d.ts +2 -1
  546. package/esm/component/player/interface/theme.js.map +1 -1
  547. package/esm/component/player/player.d.ts +0 -1
  548. package/esm/component/player/player.js +0 -3
  549. package/esm/component/player/player.js.map +1 -1
  550. package/esm/component/player/utils/transform.js.map +1 -1
  551. package/esm/component/title/interface/theme.d.ts +4 -2
  552. package/esm/component/title/interface/theme.js.map +1 -1
  553. package/esm/component/title/title.d.ts +1 -1
  554. package/esm/component/title/title.js +3 -6
  555. package/esm/component/title/title.js.map +1 -1
  556. package/esm/component/tooltip/handler/base.d.ts +5 -3
  557. package/esm/component/tooltip/handler/base.js +9 -8
  558. package/esm/component/tooltip/handler/base.js.map +1 -1
  559. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  560. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +6 -6
  561. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  562. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  563. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -3
  564. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  565. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  566. package/esm/component/tooltip/tooltip.js +1 -1
  567. package/esm/component/tooltip/tooltip.js.map +1 -1
  568. package/esm/constant/base.d.ts +1 -1
  569. package/esm/constant/base.js +1 -1
  570. package/esm/constant/base.js.map +1 -1
  571. package/esm/constant/box-plot.js +1 -2
  572. package/esm/constant/label.js +2 -1
  573. package/esm/core/factory.d.ts +1 -0
  574. package/esm/core/factory.js +3 -0
  575. package/esm/core/factory.js.map +1 -1
  576. package/esm/core/instance-manager.d.ts +9 -0
  577. package/esm/core/instance-manager.js +20 -0
  578. package/esm/core/instance-manager.js.map +1 -0
  579. package/esm/core/interface.js +1 -2
  580. package/esm/core/vchart.d.ts +2 -6
  581. package/esm/core/vchart.js +11 -24
  582. package/esm/core/vchart.js.map +1 -1
  583. package/esm/data/initialize.js +2 -1
  584. package/esm/data/transforms/add-property.d.ts +5 -5
  585. package/esm/data/transforms/add-property.js +1 -1
  586. package/esm/data/transforms/add-property.js.map +1 -1
  587. package/esm/data/transforms/data-key.d.ts +3 -3
  588. package/esm/data/transforms/data-key.js.map +1 -1
  589. package/esm/index.d.ts +1 -1
  590. package/esm/index.js +1 -1
  591. package/esm/index.js.map +1 -1
  592. package/esm/mark/arc.d.ts +1 -1
  593. package/esm/mark/arc.js +3 -2
  594. package/esm/mark/arc.js.map +1 -1
  595. package/esm/mark/area.d.ts +3 -2
  596. package/esm/mark/area.js +7 -3
  597. package/esm/mark/area.js.map +1 -1
  598. package/esm/mark/base/base-mark.js +4 -3
  599. package/esm/mark/base/base-mark.js.map +1 -1
  600. package/esm/mark/base/index.d.ts +1 -2
  601. package/esm/mark/base/index.js +1 -3
  602. package/esm/mark/base/index.js.map +1 -1
  603. package/{cjs/mark/boxPlot.d.ts → esm/mark/box-plot.d.ts} +1 -1
  604. package/esm/mark/{boxPlot.js → box-plot.js} +2 -2
  605. package/esm/mark/box-plot.js.map +1 -0
  606. package/esm/mark/component.d.ts +1 -1
  607. package/esm/mark/component.js +1 -1
  608. package/esm/mark/component.js.map +1 -1
  609. package/esm/mark/group.js +1 -1
  610. package/esm/mark/line.d.ts +1 -1
  611. package/esm/mark/line.js +2 -2
  612. package/esm/mark/line.js.map +1 -1
  613. package/esm/mark/linkPath.d.ts +1 -1
  614. package/esm/mark/linkPath.js +2 -2
  615. package/esm/mark/linkPath.js.map +1 -1
  616. package/esm/mark/mark-set/index.d.ts +6 -5
  617. package/esm/mark/mark-set/index.js +16 -13
  618. package/esm/mark/mark-set/index.js.map +1 -1
  619. package/esm/mark/path.d.ts +1 -1
  620. package/esm/mark/path.js +2 -2
  621. package/esm/mark/path.js.map +1 -1
  622. package/esm/mark/polygon.d.ts +1 -1
  623. package/esm/mark/polygon.js +1 -1
  624. package/esm/mark/polygon.js.map +1 -1
  625. package/esm/mark/rect.d.ts +1 -1
  626. package/esm/mark/rect.js +3 -2
  627. package/esm/mark/rect.js.map +1 -1
  628. package/esm/mark/rule.d.ts +1 -1
  629. package/esm/mark/rule.js +1 -1
  630. package/esm/mark/rule.js.map +1 -1
  631. package/esm/mark/symbol.d.ts +1 -1
  632. package/esm/mark/symbol.js +3 -2
  633. package/esm/mark/symbol.js.map +1 -1
  634. package/esm/mark/text.d.ts +1 -1
  635. package/esm/mark/text.js +3 -2
  636. package/esm/mark/text.js.map +1 -1
  637. package/esm/model/base-model.d.ts +13 -6
  638. package/esm/model/base-model.js +51 -30
  639. package/esm/model/base-model.js.map +1 -1
  640. package/esm/model/interface.d.ts +8 -2
  641. package/esm/model/interface.js +1 -1
  642. package/esm/model/interface.js.map +1 -1
  643. package/esm/model/layout-item.js +21 -18
  644. package/esm/model/layout-item.js.map +1 -1
  645. package/esm/model/model-state-manager.js +1 -1
  646. package/esm/model/tooltip-helper.js +1 -1
  647. package/esm/region/region.d.ts +1 -4
  648. package/esm/region/region.js +15 -13
  649. package/esm/region/region.js.map +1 -1
  650. package/esm/scale/color-ordinal-scale.d.ts +8 -0
  651. package/esm/scale/color-ordinal-scale.js +18 -0
  652. package/esm/scale/color-ordinal-scale.js.map +1 -0
  653. package/esm/scale/global-scale.js +3 -2
  654. package/esm/scale/global-scale.js.map +1 -1
  655. package/esm/series/area/area.d.ts +2 -0
  656. package/esm/series/area/area.js +15 -6
  657. package/esm/series/area/area.js.map +1 -1
  658. package/esm/series/area/interface.d.ts +5 -5
  659. package/esm/series/area/interface.js.map +1 -1
  660. package/esm/series/bar/bar.d.ts +6 -0
  661. package/esm/series/bar/bar.js +27 -10
  662. package/esm/series/bar/bar.js.map +1 -1
  663. package/esm/series/bar/interface.d.ts +5 -4
  664. package/esm/series/bar/interface.js.map +1 -1
  665. package/esm/series/base/base-series.d.ts +12 -13
  666. package/esm/series/base/base-series.js +63 -34
  667. package/esm/series/base/base-series.js.map +1 -1
  668. package/{cjs/series/box-plot/boxPlot.d.ts → esm/series/box-plot/box-plot.d.ts} +2 -0
  669. package/esm/series/box-plot/{boxPlot.js → box-plot.js} +20 -9
  670. package/esm/series/box-plot/box-plot.js.map +1 -0
  671. package/esm/series/box-plot/interface.d.ts +3 -2
  672. package/esm/series/box-plot/interface.js.map +1 -1
  673. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  674. package/esm/series/cartesian/cartesian.d.ts +1 -1
  675. package/esm/series/circle-packing/circle-packing.d.ts +2 -0
  676. package/esm/series/circle-packing/circle-packing.js +15 -6
  677. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  678. package/esm/series/circle-packing/interface.d.ts +5 -4
  679. package/esm/series/circle-packing/interface.js.map +1 -1
  680. package/esm/series/dot/dot.d.ts +6 -8
  681. package/esm/series/dot/dot.js +47 -16
  682. package/esm/series/dot/dot.js.map +1 -1
  683. package/esm/series/dot/interface.d.ts +10 -10
  684. package/esm/series/dot/interface.js.map +1 -1
  685. package/esm/series/funnel/funnel.d.ts +12 -2
  686. package/esm/series/funnel/funnel.js +90 -31
  687. package/esm/series/funnel/funnel.js.map +1 -1
  688. package/esm/series/funnel/interface.d.ts +16 -15
  689. package/esm/series/funnel/interface.js.map +1 -1
  690. package/esm/series/gauge/gauge-pointer.d.ts +2 -0
  691. package/esm/series/gauge/gauge-pointer.js +23 -6
  692. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  693. package/esm/series/gauge/gauge.d.ts +3 -2
  694. package/esm/series/gauge/gauge.js +32 -18
  695. package/esm/series/gauge/gauge.js.map +1 -1
  696. package/esm/series/gauge/interface.d.ts +12 -11
  697. package/esm/series/gauge/interface.js.map +1 -1
  698. package/esm/series/heatmap/heatmap.d.ts +3 -1
  699. package/esm/series/heatmap/heatmap.js +21 -12
  700. package/esm/series/heatmap/heatmap.js.map +1 -1
  701. package/esm/series/heatmap/interface.d.ts +6 -5
  702. package/esm/series/heatmap/interface.js.map +1 -1
  703. package/esm/series/interface/common.d.ts +56 -1
  704. package/esm/series/interface/common.js +24 -1
  705. package/esm/series/interface/common.js.map +1 -1
  706. package/esm/series/interface/series.d.ts +2 -1
  707. package/esm/series/interface/series.js.map +1 -1
  708. package/esm/series/line/line.d.ts +2 -0
  709. package/esm/series/line/line.js +9 -4
  710. package/esm/series/line/line.js.map +1 -1
  711. package/esm/series/link/interface.d.ts +4 -4
  712. package/esm/series/link/interface.js.map +1 -1
  713. package/esm/series/link/link.d.ts +4 -7
  714. package/esm/series/link/link.js +22 -15
  715. package/esm/series/link/link.js.map +1 -1
  716. package/esm/series/map/map.d.ts +2 -0
  717. package/esm/series/map/map.js +16 -9
  718. package/esm/series/map/map.js.map +1 -1
  719. package/esm/series/mixin/line-mixin.d.ts +4 -3
  720. package/esm/series/mixin/line-mixin.js +19 -6
  721. package/esm/series/mixin/line-mixin.js.map +1 -1
  722. package/esm/series/pie/interface.d.ts +7 -6
  723. package/esm/series/pie/interface.js.map +1 -1
  724. package/esm/series/pie/pie.d.ts +8 -3
  725. package/esm/series/pie/pie.js +67 -35
  726. package/esm/series/pie/pie.js.map +1 -1
  727. package/esm/series/progress/circular/circular.d.ts +2 -0
  728. package/esm/series/progress/circular/circular.js +16 -6
  729. package/esm/series/progress/circular/circular.js.map +1 -1
  730. package/esm/series/progress/circular/interface.d.ts +5 -4
  731. package/esm/series/progress/circular/interface.js.map +1 -1
  732. package/esm/series/progress/linear/interface.d.ts +6 -5
  733. package/esm/series/progress/linear/interface.js.map +1 -1
  734. package/esm/series/progress/linear/linear.d.ts +2 -0
  735. package/esm/series/progress/linear/linear.js +31 -20
  736. package/esm/series/progress/linear/linear.js.map +1 -1
  737. package/esm/series/radar/interface.d.ts +5 -4
  738. package/esm/series/radar/interface.js.map +1 -1
  739. package/esm/series/radar/radar.d.ts +2 -0
  740. package/esm/series/radar/radar.js +12 -5
  741. package/esm/series/radar/radar.js.map +1 -1
  742. package/esm/series/range-area/range-area.d.ts +2 -0
  743. package/esm/series/range-area/range-area.js +2 -4
  744. package/esm/series/range-area/range-area.js.map +1 -1
  745. package/esm/series/range-column/interface.d.ts +9 -8
  746. package/esm/series/range-column/interface.js.map +1 -1
  747. package/esm/series/range-column/rangeColumn.d.ts +2 -0
  748. package/esm/series/range-column/rangeColumn.js +33 -25
  749. package/esm/series/range-column/rangeColumn.js.map +1 -1
  750. package/esm/series/rose/interface.d.ts +3 -2
  751. package/esm/series/rose/interface.js.map +1 -1
  752. package/esm/series/rose/rose.d.ts +2 -0
  753. package/esm/series/rose/rose.js +17 -16
  754. package/esm/series/rose/rose.js.map +1 -1
  755. package/esm/series/sankey/animation.js.map +1 -1
  756. package/esm/series/sankey/interface.d.ts +7 -6
  757. package/esm/series/sankey/interface.js.map +1 -1
  758. package/esm/series/sankey/sankey.d.ts +2 -0
  759. package/esm/series/sankey/sankey.js +31 -28
  760. package/esm/series/sankey/sankey.js.map +1 -1
  761. package/esm/series/scatter/interface.d.ts +6 -5
  762. package/esm/series/scatter/interface.js.map +1 -1
  763. package/esm/series/scatter/scatter.d.ts +2 -0
  764. package/esm/series/scatter/scatter.js +17 -12
  765. package/esm/series/scatter/scatter.js.map +1 -1
  766. package/esm/series/sunburst/interface.d.ts +5 -4
  767. package/esm/series/sunburst/interface.js.map +1 -1
  768. package/esm/series/sunburst/sunburst.d.ts +3 -1
  769. package/esm/series/sunburst/sunburst.js +14 -7
  770. package/esm/series/sunburst/sunburst.js.map +1 -1
  771. package/esm/series/treemap/interface.d.ts +9 -8
  772. package/esm/series/treemap/interface.js.map +1 -1
  773. package/esm/series/treemap/treemap.d.ts +2 -0
  774. package/esm/series/treemap/treemap.js +24 -9
  775. package/esm/series/treemap/treemap.js.map +1 -1
  776. package/esm/series/waterfall/interface.d.ts +6 -5
  777. package/esm/series/waterfall/interface.js.map +1 -1
  778. package/esm/series/waterfall/waterfall.d.ts +2 -0
  779. package/esm/series/waterfall/waterfall.js +15 -6
  780. package/esm/series/waterfall/waterfall.js.map +1 -1
  781. package/esm/series/word-cloud/interface.d.ts +7 -6
  782. package/esm/series/word-cloud/interface.js.map +1 -1
  783. package/esm/series/word-cloud/word-cloud.d.ts +4 -3
  784. package/esm/series/word-cloud/word-cloud.js +24 -11
  785. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  786. package/esm/theme/buildin-theme/config.d.ts +1 -4
  787. package/esm/theme/buildin-theme/config.js +1 -21
  788. package/esm/theme/buildin-theme/config.js.map +1 -1
  789. package/esm/theme/buildin-theme/dark.js.map +1 -1
  790. package/esm/theme/buildin-theme/light/color-scheme.js +14 -1
  791. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  792. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  793. package/esm/theme/buildin-theme/light/component/axis/band-axis.js +18 -0
  794. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  795. package/esm/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  796. package/esm/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  797. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  798. package/esm/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  799. package/esm/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  800. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  801. package/esm/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  802. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js +18 -0
  803. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  804. package/esm/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  805. package/esm/theme/buildin-theme/light/component/{polar-axis.js → axis/polar-axis.js} +11 -3
  806. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  807. package/esm/theme/buildin-theme/light/component/crosshair.js +8 -4
  808. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  809. package/esm/theme/buildin-theme/light/component/data-zoom.js +10 -10
  810. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  811. package/esm/theme/buildin-theme/light/component/index.d.ts +2 -0
  812. package/esm/theme/buildin-theme/light/component/index.js +62 -0
  813. package/esm/theme/buildin-theme/light/component/index.js.map +1 -0
  814. package/esm/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  815. package/esm/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +1 -1
  816. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  817. package/esm/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  818. package/esm/theme/buildin-theme/light/component/legend/continuous.js +54 -0
  819. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  820. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  821. package/esm/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +14 -5
  822. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  823. package/esm/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  824. package/esm/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +1 -1
  825. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  826. package/esm/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  827. package/esm/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +5 -3
  828. package/esm/theme/buildin-theme/light/component/map-label.js.map +1 -0
  829. package/esm/theme/buildin-theme/light/component/player.js +20 -11
  830. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  831. package/esm/theme/buildin-theme/light/component/title.js +16 -2
  832. package/esm/theme/buildin-theme/light/component/title.js.map +1 -1
  833. package/esm/theme/buildin-theme/light/component/tooltip.js +6 -2
  834. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  835. package/esm/theme/buildin-theme/light/constants.d.ts +2 -0
  836. package/esm/theme/buildin-theme/light/constants.js +10 -0
  837. package/esm/theme/buildin-theme/light/constants.js.map +1 -0
  838. package/esm/theme/buildin-theme/light/index.js +7 -50
  839. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  840. package/esm/theme/buildin-theme/light/mark.d.ts +3 -0
  841. package/esm/theme/buildin-theme/light/mark.js +68 -0
  842. package/esm/theme/buildin-theme/light/mark.js.map +1 -0
  843. package/esm/theme/buildin-theme/light/series/area.js +2 -12
  844. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  845. package/esm/theme/buildin-theme/light/series/bar.js +2 -2
  846. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  847. package/esm/theme/buildin-theme/light/series/bar3d.js +2 -2
  848. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  849. package/esm/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  850. package/esm/theme/buildin-theme/light/series/box-plot.js +8 -0
  851. package/esm/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  852. package/esm/theme/buildin-theme/light/series/circular-progress.js +11 -1
  853. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  854. package/esm/theme/buildin-theme/light/series/funnel.js +7 -2
  855. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  856. package/esm/theme/buildin-theme/light/series/funnel3d.js +8 -3
  857. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  858. package/esm/theme/buildin-theme/light/series/gauge.js +6 -1
  859. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  860. package/esm/theme/buildin-theme/light/series/index.js +10 -1
  861. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  862. package/esm/theme/buildin-theme/light/series/line.js +2 -7
  863. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  864. package/esm/theme/buildin-theme/light/series/linear-progress.js +5 -0
  865. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  866. package/esm/theme/buildin-theme/light/series/map.js +8 -4
  867. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  868. package/esm/theme/buildin-theme/light/series/pie.js +9 -2
  869. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  870. package/esm/theme/buildin-theme/light/series/pie3d.js +4 -3
  871. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  872. package/esm/theme/buildin-theme/light/series/radar.js +2 -12
  873. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  874. package/esm/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  875. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  876. package/esm/theme/buildin-theme/light/series/rose.d.ts +2 -0
  877. package/esm/theme/buildin-theme/light/series/rose.js +16 -0
  878. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -0
  879. package/esm/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  880. package/esm/theme/buildin-theme/light/series/sankey.js +10 -0
  881. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -0
  882. package/esm/theme/buildin-theme/light/series/scatter.js +10 -4
  883. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  884. package/esm/theme/buildin-theme/light/series/treemap.js +3 -1
  885. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  886. package/esm/theme/buildin-theme/light/series/waterfall.js +3 -1
  887. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  888. package/esm/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  889. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  890. package/esm/theme/color-scheme/interface.d.ts +16 -8
  891. package/esm/theme/color-scheme/interface.js.map +1 -1
  892. package/esm/theme/color-scheme/util.d.ts +6 -3
  893. package/esm/theme/color-scheme/util.js +31 -7
  894. package/esm/theme/color-scheme/util.js.map +1 -1
  895. package/esm/theme/interface.d.ts +22 -38
  896. package/esm/theme/interface.js.map +1 -1
  897. package/esm/theme/theme-manager.d.ts +1 -0
  898. package/esm/theme/theme-manager.js +6 -1
  899. package/esm/theme/theme-manager.js.map +1 -1
  900. package/esm/typings/spec/chart.d.ts +1 -1
  901. package/esm/typings/spec/chart.js.map +1 -1
  902. package/esm/typings/visual.d.ts +13 -12
  903. package/esm/typings/visual.js.map +1 -1
  904. package/esm/util/color.d.ts +0 -3
  905. package/esm/util/color.js +0 -10
  906. package/esm/util/color.js.map +1 -1
  907. package/esm/util/id.js +4 -4
  908. package/esm/util/id.js.map +1 -1
  909. package/esm/util/scale.d.ts +12 -1
  910. package/esm/util/scale.js +6 -2
  911. package/esm/util/scale.js.map +1 -1
  912. package/esm/vchart-all.js +5 -5
  913. package/esm/vchart-all.js.map +1 -1
  914. package/package.json +3 -3
  915. package/cjs/chart/boxplot/boxPlot.js.map +0 -1
  916. package/cjs/chart/boxplot/index.js.map +0 -1
  917. package/cjs/chart/boxplot/interface.js.map +0 -1
  918. package/cjs/component/map-label/config.d.ts +0 -2
  919. package/cjs/component/map-label/config.js.map +0 -1
  920. package/cjs/mark/boxPlot.js.map +0 -1
  921. package/cjs/series/box-plot/boxPlot.js.map +0 -1
  922. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  923. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  924. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  925. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  926. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  927. package/cjs/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  928. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  929. package/cjs/theme/buildin-theme/light/component/polar-axis.js +0 -19
  930. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  931. package/cjs/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  932. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  933. package/esm/chart/boxplot/boxPlot.js.map +0 -1
  934. package/esm/chart/boxplot/index.js.map +0 -1
  935. package/esm/chart/boxplot/interface.js.map +0 -1
  936. package/esm/component/map-label/config.d.ts +0 -2
  937. package/esm/component/map-label/config.js.map +0 -1
  938. package/esm/series/box-plot/boxPlot.js.map +0 -1
  939. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  940. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  941. package/esm/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  942. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  943. package/esm/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  944. package/esm/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  945. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  946. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  947. package/esm/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  948. package/esm/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  949. /package/cjs/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  950. /package/cjs/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  951. /package/cjs/chart/{boxplot → box-plot}/interface.js +0 -0
  952. /package/esm/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  953. /package/esm/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  954. /package/esm/chart/{boxplot → box-plot}/interface.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/vchart.ts"],"names":[],"mappings":"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","file":"vchart.js","sourcesContent":["import type { ISeries } from '../series/interface/series';\nimport { arrayParser } from '../data/parser/array';\nimport type { ILayoutConstructor, LayoutCallBack } from '../layout/interface';\nimport type { IDataValues, IMarkStateSpec, IInitOption } from '../typings/spec/common';\n// eslint-disable-next-line no-duplicate-imports\nimport { RenderModeEnum } from '../typings/spec/common';\nimport type { ISeriesConstructor } from '../series/interface';\nimport type { IChart, IChartConstructor } from '../chart/interface';\nimport type { IComponentConstructor } from '../component/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../component/interface';\nimport type { EventCallback, EventParams, EventQuery, EventType, IEvent, IEventDispatcher } from '../event/interface';\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type { Transform } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataSet, dataViewParser, DataView } from '@visactor/vdataset';\nimport type { Stage } from '@visactor/vrender';\nimport {\n isMiniAppLikeMode,\n isString,\n isValid,\n isNil,\n array,\n merge,\n createID,\n debounce,\n isTrueBrowser,\n warn,\n error,\n specTransform\n} from '../util';\nimport { Factory } from './factory';\nimport { Event } from '../event/event';\nimport { EventDispatcher } from '../event/event-dispatcher';\nimport type { GeoSourceType } from '../typings/geo';\nimport type { GeoSourceOption } from '../series/map/geo-source';\n// eslint-disable-next-line no-duplicate-imports\nimport { clearMapSource, registerMapSource, getMapSource, unregisterMapSource } from '../series/map/geo-source';\nimport type { IMark, MarkConstructor } from '../mark/interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nimport { dataToDataView } from '../data/initialize';\nimport { stackSplit } from '../data/transforms/stack-split';\nimport { copyDataView } from '../data/transforms/copy-data-view';\nimport type { ITooltipHandler } from '../typings/tooltip';\nimport type { Tooltip } from '../component/tooltip';\nimport type { Datum, IRegionQuerier, IShowTooltipOption, ISpec, Maybe, MaybeArray, StringOrNumber } from '../typings';\nimport { AnimationStateEnum } from '../animation/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { ThemeManager } from '../theme/theme-manager';\nimport type { ITheme } from '../theme';\nimport type { IUpdateSpecResult } from '../model/interface';\nimport { Compiler } from '../compile/compiler';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { ILegend } from '../component/legend/interface';\nimport { getCanvasDataURL, URLToImage } from '../util/image';\nimport { ChartEvent, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH } from '../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { getContainerSize, isArray } from '@visactor/vutils';\nimport type { IVChart } from './interface';\n\nexport class VChart implements IVChart {\n readonly id = createID();\n\n /** 全局实例 map */\n static readonly instances: Map<number, VChart> = new Map();\n /** 注册实例 */\n private static _registerInstance(instance: VChart) {\n VChart.instances.set(instance.id, instance);\n }\n /** 注销实例 */\n private static _unregisterInstance(instance: VChart) {\n VChart.instances.delete(instance.id);\n }\n /**\n * 创建图表实例\n * @param spec spec 配置项\n * @param options 初始化参数\n * @returns VChart 实例\n */\n static createInstance(spec: ISpec, options: IInitOption): VChart {\n return new VChart(spec, options);\n }\n /**\n * 根据 vChart 实例的 id 获取 vChart 实例\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static getInstance(id: number): VChart | undefined {\n return VChart.instances.get(id);\n }\n /**\n * 根据图表 id 判断实例是否存在\n * @param id VChart 实例的 id,通过 vChart.id 获取\n * @returns\n */\n static instanceExist(id: number): boolean {\n return VChart.instances.has(id);\n }\n\n /**\n * 注册图表\n * @param charts 图表类\n */\n static useChart(charts: IChartConstructor[]) {\n charts.forEach(c => Factory.registerChart(c.type, c));\n }\n /**\n * 注册系列\n * @param series 系列类\n */\n static useSeries(series: ISeriesConstructor[]) {\n series.forEach(s => Factory.registerSeries(s.type, s));\n }\n /**\n * 注册组件\n * @param components 组件类\n */\n static useComponent(components: IComponentConstructor[]) {\n components.forEach(c => Factory.registerComponent(c.type, c));\n }\n /**\n * 注册 Mark\n * @param marks Mark 图元类\n */\n static useMark(marks: MarkConstructor[]) {\n marks.forEach(m => Factory.registerMark(m.constructorType ?? m.type, m));\n }\n /**\n * 注册布局\n * @param layouts 布局类\n */\n static useLayout(layouts: ILayoutConstructor[]) {\n layouts.forEach(l => Factory.registerLayout(l.type, l));\n }\n /**\n * 注册 DataSet 数据方法\n * @param name 数据 transform 方法名称\n * @param transform 具体的 Transform 执行方法\n */\n static registerDataSetTransform(name: string, transform: Transform) {\n Factory.registerTransform(name, transform);\n }\n\n /**\n * 注册地图数据\n * @param key 地图名称\n * @param source 地图数据\n * @param option 地图数据配置\n */\n static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption) {\n registerMapSource(key, source, option);\n }\n\n /**\n * 注销地图数据\n * @param key 地图名称\n */\n static unregisterMap(key: string) {\n unregisterMapSource(key);\n }\n\n /**\n * 根据地图名称获取地图数据\n * @param key 地图名称\n * @returns 地图数据\n */\n static getMap(key: string): GeoSourceType {\n return getMapSource(key);\n }\n\n /** 主题管理器 */\n static readonly ThemeManager = ThemeManager;\n\n protected _spec: any;\n\n private _viewBox: IBoundsLike;\n private _chart!: Maybe<IChart>;\n private _compiler: Compiler;\n private _event: Maybe<IEvent>;\n private _eventDispatcher: Maybe<IEventDispatcher>;\n private _dataSet!: Maybe<DataSet>;\n getDataSet() {\n return this._dataSet;\n }\n\n private _container?: HTMLElement;\n private _canvas?: HTMLCanvasElement | OffscreenCanvas | string;\n private _stage?: Stage;\n\n private _autoSize: boolean = true;\n private _option: IInitOption = {\n mode: RenderModeEnum['desktop-browser'],\n animation: true\n };\n\n private _curSize = { width: 0, height: 0 };\n private _observer: ResizeObserver = null;\n\n private _currentThemeName: string;\n private _currentTheme: ITheme;\n\n private _context: any = {}; // 存放用户在model初始化前通过实例方法传入的配置等\n\n constructor(spec: ISpec, options: IInitOption) {\n this._option = merge(this._option, options);\n\n const { dom, renderCanvas, mode, stage, ...restOptions } = this._option;\n\n if (dom) {\n this._container = isString(dom) ? document?.getElementById(dom) : dom;\n }\n if (renderCanvas) {\n this._canvas = renderCanvas;\n }\n if (stage) {\n this._stage = stage as unknown as Stage; // FIXME: 等待 vrender 解决类型和接口不匹配的问题 @zhouxinyu\n }\n\n if (mode !== 'node' && !this._container && !this._canvas && !this._stage) {\n error('please specify container or renderCanvas!');\n return;\n }\n\n this._viewBox = this._option.viewBox;\n this._setSpec(spec);\n this._updateCurrentTheme();\n\n this._compiler = new Compiler(\n {\n dom: this._container ?? 'none',\n canvas: renderCanvas\n },\n {\n mode: this._option.mode,\n pickMode: isMiniAppLikeMode(this._option.mode) ? 'geoPick' : 'native',\n stage,\n ...restOptions,\n background: spec.background || this._currentTheme.background || this._option.background // spec > spec.theme > initOptions.theme\n }\n );\n this._eventDispatcher = new EventDispatcher(this, this._compiler);\n this._event = new Event(this._eventDispatcher, mode);\n this._compiler.initSrView();\n // 设置全局字体\n // FIXME: vrender 目前有 BUG,待修复\n this.getStage()?.setTheme({\n text: { fontFamily: this._currentTheme.fontFamily }\n });\n this._initDataSet(this._option.dataSet);\n this._autoSize = isTrueBrowser(mode) ? spec.autoFit ?? this._option.autoFit ?? true : false;\n this._curSize = {\n width: spec.width || 0,\n height: spec.height || 0\n };\n this._bindResizeEvent();\n this._event.emit(ChartEvent.initialized, {});\n\n VChart._registerInstance(this);\n }\n\n private _setSpec(spec: any) {\n if (!spec) {\n return;\n }\n\n this._spec = specTransform(isString(spec) ? JSON.parse(spec) : spec);\n }\n\n private _initData() {\n if (isNil(this._dataSet)) {\n true && warn('dataSet is not initialized');\n return;\n }\n const specData: (DataView | IDataValues)[] = array(this._spec.data);\n\n const dataViewArr: DataView[] = [];\n for (let i = 0; i < specData.length; i++) {\n const curSpecData = specData[i];\n dataViewArr.push(dataToDataView(curSpecData, <DataSet>this._dataSet, dataViewArr));\n }\n\n this._spec.data = dataViewArr;\n }\n\n private _initChart(spec: any) {\n if (!this._compiler) {\n error('compiler is not initialized');\n return;\n }\n this._initData();\n // 放到这里而不是放到chart内的考虑\n // 用户spec更新,也许会有core上图表实例的内容存在\n // 如果要支持spec的类似Proxy监听,更新逻辑应当从这一层开始。如果在chart上做,就需要在再向上发送spec更新消息,不是很合理。\n // todo: 问题1 存不存在 chart 需要在这个阶段处理的特殊字段?目前没有,但是理论上可以有?\n const chart = Factory.createChart(spec.type, spec, {\n globalInstance: this,\n eventDispatcher: this._eventDispatcher!,\n dataSet: this._dataSet!,\n container: this._container,\n canvas: this._canvas,\n map: new Map(),\n mode: this._option.mode || RenderModeEnum['desktop-browser'],\n modeParams: this._option.modeParams,\n getCompiler: () => this._compiler,\n performanceHook: this._option.performanceHook,\n viewBox: this._viewBox,\n animation: this._option.animation,\n getTheme: () => this._currentTheme,\n layout: this._option.layout\n });\n if (!chart) {\n error('init chart fail');\n return;\n }\n this._chart = chart;\n this._chart.created();\n this._chart.init({});\n }\n\n private _releaseData() {\n if (this._dataSet) {\n this._dataSet.dataViewMap = {};\n this._dataSet = null;\n }\n }\n\n private _bindResizeEvent() {\n if (this._autoSize) {\n if (this._container) {\n const ResizeObserverWindow: any = window.ResizeObserver;\n this._observer = new ResizeObserverWindow(this._onResize);\n this._observer?.observe(this._container);\n }\n window.addEventListener('resize', this._onResize);\n }\n }\n\n private _unBindResizeEvent() {\n if (this._autoSize) {\n window.removeEventListener('resize', this._onResize);\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n }\n }\n\n private _onResize = debounce((...args: any[]) => {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n this._container!,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n const width = this._spec.width ?? containerWidth;\n const height = this._spec.height ?? containerHeight;\n if (this._curSize.width !== width || this._curSize.height !== height) {\n this.resize(width, height);\n this._curSize = { width, height };\n }\n }, 100);\n\n private _initDataSet(dataSet?: DataSet) {\n if (dataSet instanceof DataSet) {\n this._dataSet = dataSet;\n } else {\n this._dataSet = new DataSet();\n }\n registerDataSetInstanceParser(this._dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceParser(this._dataSet, 'array', arrayParser);\n registerDataSetInstanceTransform(this._dataSet, 'stackSplit', stackSplit);\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n // 注册 dataset transform\n for (const key in Factory.transforms) {\n registerDataSetInstanceTransform(this._dataSet, key, Factory.transforms[key]);\n }\n // 注册 dataview parser\n for (const key in Factory.dataParser) {\n registerDataSetInstanceParser(this._dataSet, key, Factory.dataParser[key]);\n }\n }\n\n async updateCustomConfigAndRerender(modifyConfig: () => IUpdateSpecResult | undefined, morphConfig?: IMorphConfig) {\n const result = modifyConfig(); // 执行回调\n if (!isValid(result)) {\n return this as unknown as IVChart;\n }\n\n if (result.reMake) {\n this._releaseData();\n this._initDataSet();\n // 释放图表等等\n this._chart.release();\n this._chart = null as unknown as IChart;\n this._compiler?.releaseGrammar();\n\n // chart 内部事件 模块自己必须删除\n // 外部事件不处理\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // VGrammar view 对象不需要释放,提供了reuse和morph能力之后,srView有上下文缓存\n } else {\n if (result.reCompile) {\n // FIXME: 暂时这么处理,还需要整体设计下组件的生命周期\n this.getComponents().forEach(c => c.clear());\n // TODO: 释放事件?\n // 重新绑定事件\n // TODO: 释放XX?\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // 先compile\n this._compiler?.compile({ chart: this._chart, vChart: this }, {});\n }\n }\n await this.renderAsync(morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * 同步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderSync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n this._compiler?.renderSync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 异步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n async renderAsync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n await this._compiler?.renderAsync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 销毁图表\n */\n release() {\n if ((this._onResize as any)?.cancel) {\n (this._onResize as any).cancel();\n }\n this._chart?.release();\n this._compiler?.release();\n this._eventDispatcher?.release();\n this._unBindResizeEvent();\n clearMapSource();\n // resetID(); // 为什么要重置ID呢?\n\n this._releaseData();\n\n this._chart = null;\n this._compiler = null;\n this._spec = null;\n // this._option = null;\n this._event = null;\n this._eventDispatcher = null;\n\n VChart._unregisterInstance(this);\n }\n\n /**\n * **异步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n async updateData(id: StringOrNumber, data: DataView | Datum[] | string, options?: IParserOptions): Promise<IVChart> {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n\n // after layout\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n this._spec.data = array(this._spec.data);\n const preDV = this._spec.data.find((dv: any) => dv.name === id || dv.id === id);\n if (preDV) {\n if (preDV.id === id) {\n preDV.values = data;\n } else if (preDV.name === id) {\n preDV.parse(data, options);\n }\n } else {\n if (isArray(data)) {\n this._spec.data.push({\n id,\n values: data\n });\n } else {\n this._spec.data.push(data);\n }\n }\n return this as unknown as IVChart;\n }\n\n /**\n * **异步**批量更新数据。\n * @param list 待更新的数据列表\n * @returns VChart 实例\n */\n async updateDataInBatches(\n list: { id: string; data: DataView | Datum[]; options?: IParserOptions }[]\n ): Promise<IVChart> {\n if (this._chart) {\n list.forEach(({ id, data, options }) => {\n this._chart.updateData(id, data, options);\n });\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n list.forEach(({ id, data, options }) => {\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n });\n return this as unknown as IVChart;\n }\n\n /**\n * **同步**更新数据\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateDataSync(id: StringOrNumber, data: DataView | Datum[], options?: IParserOptions) {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n // after layout\n this._compiler.renderSync();\n return this as unknown as IVChart;\n }\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id as string });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n return this as unknown as IVChart;\n }\n\n /**\n * spec 更新\n * @param spec\n * @param forceMerge\n * @returns\n */\n async updateSpec(spec: ISpec, forceMerge: boolean = false, morphConfig?: IMorphConfig) {\n if (!spec) {\n return this as unknown as IVChart;\n }\n if (isString(spec)) {\n spec = JSON.parse(spec);\n }\n\n // 没有配置变化 因为数据对象的原因,这里会报错\n // if (specString == JSON.stringify(this._spec)) {\n // return;\n // }\n\n if (forceMerge) {\n spec = merge({}, this._spec, spec);\n }\n\n await this.updateCustomConfigAndRerender(() => {\n spec = specTransform(spec) as any;\n this._spec = spec;\n this._updateCurrentTheme();\n this._compiler?.getVGrammarView()?.updateLayoutTag();\n return this._chart.updateSpec(spec, morphConfig);\n }, morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * **异步方法**,图表尺寸更新方法\n * @param width 宽度\n * @param height 高度\n * @returns VChart 当前实例\n */\n async resize(width: number, height: number) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 如果宽高未变化,不需要重新执行 resize,防止当图表初始化时会执行一次多余的 resize\n const chartCanvasRect = this._chart.getCanvasRect();\n if (chartCanvasRect && chartCanvasRect.width === width && chartCanvasRect.height === height) {\n return this as unknown as IVChart;\n }\n this._option.performanceHook?.beforeResizeWithUpdate?.();\n this._chart.onResize(width, height);\n this._option.performanceHook?.afterResizeWithUpdate?.();\n await this._compiler.resize?.(width, height);\n\n return this as unknown as IVChart;\n }\n\n /**\n * 更新绘制区域\n * @param viewBox 绘制区域\n * @param reRender 是否重新渲染,默认为 true\n * @returns\n */\n updateViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n this._viewBox = viewBox;\n // 更新 layout 参数\n this._chart.updateViewBox(viewBox);\n // 重新布局\n this._compiler.renderSync();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this._chart?.onEvaluateEnd();\n // 获取 compiler\n this._compiler.updateViewBox(viewBox, reRender);\n return this as unknown as IVChart;\n }\n\n // 事件相关方法\n on(eType: EventType, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery | EventCallback<EventParams>, handler?: EventCallback<EventParams>): void {\n this._event?.on(eType as any, query as any, handler as any);\n }\n off(eType: string, handler?: EventCallback<EventParams>): void {\n this._event?.off(eType, handler);\n }\n\n // 状态相关方法\n /**\n * 更新或设置图元状态\n * @param state 状态筛选器\n * @param filter 筛选器\n */\n updateState(\n state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>,\n filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean //series + mark 筛选\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.updateState(state, filter);\n }\n\n /**\n * 更新图元选中状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setSelected(\n datum: MaybeArray<any> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setSelected(datum, filter, region);\n }\n\n /**\n * 更新图元 hover 状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setHovered(\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setHovered(datum, filter, region);\n }\n\n // 主题相关方法\n /** 当 spec 或者 currentThemeName 有变化时需要调用此方法对 currentTheme 进行更新 */\n private _updateCurrentTheme() {\n this._currentTheme = merge({}, VChart.ThemeManager.getTheme(this._currentThemeName), this._spec?.theme ?? {});\n }\n\n /**\n * 获取当前主题,会返回完整的主题配置\n * */\n getCurrentTheme() {\n return this._currentTheme;\n }\n\n /**\n * 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n */\n getCurrentThemeName() {\n return this._currentThemeName;\n }\n\n /**\n * **异步方法**, 设置当前主题\n * @param name 主题名称\n * @returns\n */\n async setCurrentTheme(name: string) {\n if (!VChart.ThemeManager.themeExist(name)) {\n return this as unknown as IVChart;\n }\n\n await this.updateCustomConfigAndRerender(() => {\n this._currentThemeName = name;\n this._updateCurrentTheme();\n this._chart?.setCurrentTheme(this._currentTheme, true);\n return { change: true, reMake: false };\n });\n\n return this as unknown as IVChart;\n }\n\n // Tooltip 相关方法\n private _getTooltipComponent(): Tooltip | undefined {\n const tooltip = this._chart?.getAllComponents().find(c => c.type === ComponentTypeEnum.tooltip) as Tooltip;\n return tooltip;\n }\n\n /**\n * 自定义 TooltipHandler\n * @param tooltipHandler\n */\n setTooltipHandler(tooltipHandler: ITooltipHandler) {\n this._context.tooltipHandler = tooltipHandler;\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n tooltip.tooltipHandler?.release?.();\n tooltip.tooltipHandler = tooltipHandler;\n }\n }\n\n /**\n * 获取用户定义的 TooltipHandler\n * @returns ITooltipHandler\n */\n getTooltipHandlerByUser(): ITooltipHandler | undefined {\n return this._context?.tooltipHandler;\n }\n\n /**\n * 获取 TooltipHandler\n * @returns\n */\n getTooltipHandler(): ITooltipHandler | undefined {\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n return tooltip.tooltipHandler;\n }\n return this._context.tooltipHandler;\n }\n\n /**\n * 手动调用展示 tooltip\n * @param datum 原始数据\n * @param options\n * @returns\n */\n showTooltip(datum: Datum, options: IShowTooltipOption): boolean {\n const tooltip = this._getTooltipComponent();\n return (isValid(datum) && tooltip?.showTooltip(datum, options) !== 'none') ?? false;\n }\n\n /**\n * 手动调用,关闭 tooltip\n * @returns\n */\n hideTooltip(): boolean {\n const tooltip = this._getTooltipComponent();\n return tooltip?.hideTooltip() ?? false;\n }\n\n // 图例相关 api\n /**\n * 根据图例组件 id 获取图例数据\n * @param id 组件 id\n * @returns\n */\n getLegendDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getLegendData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取图例数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getLegendData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 获取当前图例的选中项\n * @param id 组件 id\n * @returns\n */\n getLegendSelectedDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getSelectedData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取当前图例的选中项\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendSelectedDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getSelectedData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 更新图例选中数据\n * @param id\n * @returns\n */\n setLegendSelectedDataById(id: string, selectedData: StringOrNumber[]) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n legendComponent.setSelectedData(selectedData);\n }\n }\n\n /**\n * 根据图例组件索引更新图例选中数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n setLegendSelectedDataByIndex(index: number = 0, selectedData: StringOrNumber[]) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n legends[index].setSelectedData(selectedData);\n }\n }\n\n // 保存图片相关的方法\n /**\n * **异步方法**返回一个包含图片展示的 data URI。\n * @returns data URI\n */\n async getDataURL() {\n const stage = this.getStage();\n if (this._chart && stage) {\n // 因为 vrender 是 autoRender 的,它不能确认第几帧才是完整的图表,所以这里调用一次 render 以保证获取到的是完整的画布\n stage.render();\n const canvas = this._chart.getCanvas();\n const url = await getCanvasDataURL(canvas);\n return url;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n /**\n * **异步方法** 导出图表图片,只支持浏览器端。\n * @param name 保存的图片名称\n * @returns\n */\n async exportImg(name?: string) {\n if (!isTrueBrowser(this._option.mode)) {\n console.error(new TypeError(`non-browser environment can not export img`));\n return;\n }\n\n const dataURL = await this.getDataURL();\n if (dataURL) {\n URLToImage(name, dataURL);\n } else {\n console.error(new ReferenceError(`render is not defined`));\n }\n }\n\n /**\n * 目前仅支持 node 环境,用于 node 端的图片导出\n * @returns\n */\n getImageBuffer() {\n if (this._option.mode !== 'node') {\n console.error(new TypeError('getImageBuffer() now only support node environment.'));\n return;\n }\n const stage = this.getStage();\n if (stage) {\n stage.render();\n const buffer = stage.window.getImageBuffer();\n return buffer;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n // 布局相关的方法\n /**\n * 设置自定义布局\n */\n setLayout(layout: LayoutCallBack) {\n this._option.layout = layout;\n this._chart?.setLayout(layout);\n }\n /**\n * 强制重新布局\n */\n reLayout() {\n this._chart?.setLayoutTag(true);\n }\n\n /**\n * 获取编译器实例\n * @returns\n */\n getCompiler() {\n return this._compiler;\n }\n\n /**\n * Get the chart instance\n * 获取 Chart 图表实例。\n * @returns Chart 实例\n */\n getChart() {\n return this._chart;\n }\n\n /**\n * Get the renderer instance.\n * 获取渲染引擎实例。\n * @returns the instance of VRender Stage\n */\n getStage(): Stage {\n return this._compiler.getStage();\n }\n\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas(): HTMLCanvasElement | undefined {\n return this._compiler?.getCanvas();\n }\n\n /**\n * 获取图表的 dom 容器\n * @returns\n */\n getContainer(): Maybe<HTMLElement> {\n // 用户传入 dom container\n if (isValid(this._container)) {\n return this._container;\n }\n\n // 用户传入 canvas\n let canvasNode: Maybe<HTMLCanvasElement>;\n if (isString(this._canvas)) {\n canvasNode = document?.getElementById(this._canvas) as HTMLCanvasElement;\n } else {\n canvasNode = this._canvas as HTMLCanvasElement;\n }\n if (isValid(canvasNode)) {\n return canvasNode.parentElement;\n }\n\n // 用户传入 stage\n return this.getCanvas()?.parentElement;\n }\n\n /**\n * 获取图表所有的组件实例\n * @returns 组件实例\n */\n getComponents() {\n return this._chart.getAllComponents();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/vchart.ts"],"names":[],"mappings":"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","file":"vchart.js","sourcesContent":["import type { ISeries } from '../series/interface/series';\nimport { arrayParser } from '../data/parser/array';\nimport type { ILayoutConstructor, LayoutCallBack } from '../layout/interface';\nimport type { IDataValues, IMarkStateSpec, IInitOption } from '../typings/spec/common';\n// eslint-disable-next-line no-duplicate-imports\nimport { RenderModeEnum } from '../typings/spec/common';\nimport type { ISeriesConstructor } from '../series/interface';\nimport type { IChart, IChartConstructor } from '../chart/interface';\nimport type { IComponentConstructor } from '../component/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../component/interface';\nimport type { EventCallback, EventParams, EventQuery, EventType, IEvent, IEventDispatcher } from '../event/interface';\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type { Transform } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataSet, dataViewParser, DataView } from '@visactor/vdataset';\nimport type { Stage } from '@visactor/vrender';\nimport {\n isString,\n isValid,\n isNil,\n array,\n merge,\n createID,\n debounce,\n isTrueBrowser,\n warn,\n error,\n specTransform\n} from '../util';\nimport { Factory } from './factory';\nimport { Event } from '../event/event';\nimport { EventDispatcher } from '../event/event-dispatcher';\nimport type { GeoSourceType } from '../typings/geo';\nimport type { GeoSourceOption } from '../series/map/geo-source';\n// eslint-disable-next-line no-duplicate-imports\nimport { clearMapSource, registerMapSource, getMapSource, unregisterMapSource } from '../series/map/geo-source';\nimport type { IMark, MarkConstructor } from '../mark/interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nimport { dataToDataView } from '../data/initialize';\nimport { stackSplit } from '../data/transforms/stack-split';\nimport { copyDataView } from '../data/transforms/copy-data-view';\nimport type { ITooltipHandler } from '../typings/tooltip';\nimport type { Tooltip } from '../component/tooltip';\nimport type { Datum, IRegionQuerier, IShowTooltipOption, ISpec, Maybe, MaybeArray, StringOrNumber } from '../typings';\nimport { AnimationStateEnum } from '../animation/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { ThemeManager } from '../theme/theme-manager';\nimport type { ITheme } from '../theme';\nimport type { IUpdateSpecResult } from '../model/interface';\nimport { Compiler } from '../compile/compiler';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { ILegend } from '../component/legend/interface';\nimport { getCanvasDataURL, URLToImage } from '../util/image';\nimport { ChartEvent, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH } from '../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { getContainerSize, isArray } from '@visactor/vutils';\nimport type { IVChart } from './interface';\nimport { InstanceManager } from './instance-manager';\n\nexport class VChart implements IVChart {\n readonly id = createID();\n\n /**\n * 注册图表\n * @param charts 图表类\n */\n static useChart(charts: IChartConstructor[]) {\n charts.forEach(c => Factory.registerChart(c.type, c));\n }\n /**\n * 注册系列\n * @param series 系列类\n */\n static useSeries(series: ISeriesConstructor[]) {\n series.forEach(s => Factory.registerSeries(s.type, s));\n }\n /**\n * 注册组件\n * @param components 组件类\n */\n static useComponent(components: IComponentConstructor[]) {\n components.forEach(c => Factory.registerComponent(c.type, c));\n }\n /**\n * 注册 Mark\n * @param marks Mark 图元类\n */\n static useMark(marks: MarkConstructor[]) {\n marks.forEach(m => Factory.registerMark(m.constructorType ?? m.type, m));\n }\n /**\n * 注册布局\n * @param layouts 布局类\n */\n static useLayout(layouts: ILayoutConstructor[]) {\n layouts.forEach(l => Factory.registerLayout(l.type, l));\n }\n /**\n * 注册 DataSet 数据方法\n * @param name 数据 transform 方法名称\n * @param transform 具体的 Transform 执行方法\n */\n static registerDataSetTransform(name: string, transform: Transform) {\n Factory.registerTransform(name, transform);\n }\n\n /**\n * 注册地图数据\n * @param key 地图名称\n * @param source 地图数据\n * @param option 地图数据配置\n */\n static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption) {\n registerMapSource(key, source, option);\n }\n\n /**\n * 注销地图数据\n * @param key 地图名称\n */\n static unregisterMap(key: string) {\n unregisterMapSource(key);\n }\n\n /**\n * 根据地图名称获取地图数据\n * @param key 地图名称\n * @returns 地图数据\n */\n static getMap(key: string): GeoSourceType {\n return getMapSource(key);\n }\n\n /** 图表实例管理器 */\n static readonly InstanceManager = InstanceManager;\n /** 主题管理器 */\n static readonly ThemeManager = ThemeManager;\n\n protected _spec: any;\n\n private _viewBox: IBoundsLike;\n private _chart!: Maybe<IChart>;\n private _compiler: Compiler;\n private _event: Maybe<IEvent>;\n private _eventDispatcher: Maybe<IEventDispatcher>;\n private _dataSet!: Maybe<DataSet>;\n getDataSet() {\n return this._dataSet;\n }\n\n private _container?: HTMLElement;\n private _canvas?: HTMLCanvasElement | OffscreenCanvas | string;\n private _stage?: Stage;\n\n private _autoSize: boolean = true;\n private _option: IInitOption = {\n mode: RenderModeEnum['desktop-browser'],\n animation: true\n };\n\n private _curSize = { width: 0, height: 0 };\n private _observer: ResizeObserver = null;\n\n private _currentThemeName: string;\n private _currentTheme: ITheme;\n\n private _context: any = {}; // 存放用户在model初始化前通过实例方法传入的配置等\n\n constructor(spec: ISpec, options: IInitOption) {\n this._option = merge(this._option, options);\n\n const { dom, renderCanvas, mode, stage, ...restOptions } = this._option;\n\n if (dom) {\n this._container = isString(dom) ? document?.getElementById(dom) : dom;\n }\n if (renderCanvas) {\n this._canvas = renderCanvas;\n }\n if (stage) {\n this._stage = stage as unknown as Stage; // FIXME: 等待 vrender 解决类型和接口不匹配的问题 @zhouxinyu\n }\n\n if (mode !== 'node' && !this._container && !this._canvas && !this._stage) {\n error('please specify container or renderCanvas!');\n return;\n }\n\n this._viewBox = this._option.viewBox;\n this._currentThemeName = ThemeManager.getCurrentThemeName();\n this._setSpec(spec);\n this._updateCurrentTheme();\n\n this._compiler = new Compiler(\n {\n dom: this._container ?? 'none',\n canvas: renderCanvas\n },\n {\n mode: this._option.mode,\n stage,\n ...restOptions,\n background: spec.background || this._currentTheme.background || this._option.background // spec > spec.theme > initOptions.theme\n }\n );\n this._eventDispatcher = new EventDispatcher(this, this._compiler);\n this._event = new Event(this._eventDispatcher, mode);\n this._compiler.initView();\n // 设置全局字体\n this.getStage()?.setTheme({\n text: { fontFamily: this._currentTheme.fontFamily }\n });\n this._initDataSet(this._option.dataSet);\n this._autoSize = isTrueBrowser(mode) ? spec.autoFit ?? this._option.autoFit ?? true : false;\n this._curSize = {\n width: spec.width || 0,\n height: spec.height || 0\n };\n this._bindResizeEvent();\n this._event.emit(ChartEvent.initialized, {});\n\n InstanceManager.registerInstance(this);\n }\n\n private _setSpec(spec: any) {\n if (!spec) {\n return;\n }\n\n this._spec = specTransform(isString(spec) ? JSON.parse(spec) : spec);\n }\n\n private _initData() {\n if (isNil(this._dataSet)) {\n true && warn('dataSet is not initialized');\n return;\n }\n const specData: (DataView | IDataValues)[] = array(this._spec.data);\n\n const dataViewArr: DataView[] = [];\n for (let i = 0; i < specData.length; i++) {\n const curSpecData = specData[i];\n dataViewArr.push(dataToDataView(curSpecData, <DataSet>this._dataSet, dataViewArr));\n }\n\n this._spec.data = dataViewArr;\n }\n\n private _initChart(spec: any) {\n if (!this._compiler) {\n error('compiler is not initialized');\n return;\n }\n this._initData();\n // 放到这里而不是放到chart内的考虑\n // 用户spec更新,也许会有core上图表实例的内容存在\n // 如果要支持spec的类似Proxy监听,更新逻辑应当从这一层开始。如果在chart上做,就需要在再向上发送spec更新消息,不是很合理。\n // todo: 问题1 存不存在 chart 需要在这个阶段处理的特殊字段?目前没有,但是理论上可以有?\n const chart = Factory.createChart(spec.type, spec, {\n globalInstance: this,\n eventDispatcher: this._eventDispatcher!,\n dataSet: this._dataSet!,\n container: this._container,\n canvas: this._canvas,\n map: new Map(),\n mode: this._option.mode || RenderModeEnum['desktop-browser'],\n modeParams: this._option.modeParams,\n getCompiler: () => this._compiler,\n performanceHook: this._option.performanceHook,\n viewBox: this._viewBox,\n animation: this._option.animation,\n getTheme: () => this._currentTheme,\n layout: this._option.layout\n });\n if (!chart) {\n error('init chart fail');\n return;\n }\n this._chart = chart;\n this._chart.created();\n this._chart.init({});\n }\n\n private _releaseData() {\n if (this._dataSet) {\n this._dataSet.dataViewMap = {};\n this._dataSet = null;\n }\n }\n\n private _bindResizeEvent() {\n if (this._autoSize) {\n if (this._container) {\n const ResizeObserverWindow: any = window.ResizeObserver;\n this._observer = new ResizeObserverWindow(this._onResize);\n this._observer?.observe(this._container);\n }\n window.addEventListener('resize', this._onResize);\n }\n }\n\n private _unBindResizeEvent() {\n if (this._autoSize) {\n window.removeEventListener('resize', this._onResize);\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n }\n }\n\n private _onResize = debounce((...args: any[]) => {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n this._container!,\n DEFAULT_CHART_WIDTH,\n DEFAULT_CHART_HEIGHT\n );\n const width = this._spec.width ?? containerWidth;\n const height = this._spec.height ?? containerHeight;\n if (this._curSize.width !== width || this._curSize.height !== height) {\n this.resize(width, height);\n this._curSize = { width, height };\n }\n }, 100);\n\n private _initDataSet(dataSet?: DataSet) {\n if (dataSet instanceof DataSet) {\n this._dataSet = dataSet;\n } else {\n this._dataSet = new DataSet();\n }\n registerDataSetInstanceParser(this._dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceParser(this._dataSet, 'array', arrayParser);\n registerDataSetInstanceTransform(this._dataSet, 'stackSplit', stackSplit);\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n // 注册 dataset transform\n for (const key in Factory.transforms) {\n registerDataSetInstanceTransform(this._dataSet, key, Factory.transforms[key]);\n }\n // 注册 dataview parser\n for (const key in Factory.dataParser) {\n registerDataSetInstanceParser(this._dataSet, key, Factory.dataParser[key]);\n }\n }\n\n async updateCustomConfigAndRerender(modifyConfig: () => IUpdateSpecResult | undefined, morphConfig?: IMorphConfig) {\n const result = modifyConfig(); // 执行回调\n if (!isValid(result)) {\n return this as unknown as IVChart;\n }\n\n if (result.reMake) {\n this._releaseData();\n this._initDataSet();\n // 释放图表等等\n this._chart.release();\n this._chart = null as unknown as IChart;\n this._compiler?.releaseGrammar();\n\n // chart 内部事件 模块自己必须删除\n // 外部事件不处理\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // VGrammar view 对象不需要释放,提供了reuse和morph能力之后,srView有上下文缓存\n } else {\n if (result.reCompile) {\n // FIXME: 暂时这么处理,还需要整体设计下组件的生命周期\n this.getComponents().forEach(c => c.clear());\n // TODO: 释放事件?\n // 重新绑定事件\n // TODO: 释放XX?\n // 释放 compiler compiler需要释放吗? 还是释放当前的内容就可以呢\n // 先compile\n this._compiler?.compile({ chart: this._chart, vChart: this }, {});\n }\n }\n await this.renderAsync(morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * 同步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderSync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n this._compiler?.renderSync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 异步方法,渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n async renderAsync(morphConfig?: IMorphConfig) {\n if (!this._chart) {\n this._option.performanceHook?.beforeInitializeChart?.();\n this._initChart(this._spec);\n this._option.performanceHook?.afterInitializeChart?.();\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 先compile\n this._option.performanceHook?.beforeCompileToVGrammar?.();\n this._compiler.compile({ chart: this._chart, vChart: this }, { performanceHook: this._option.performanceHook });\n this._option.performanceHook?.afterCompileToVGrammar?.();\n }\n // 最后填充数据绘图\n await this._compiler?.renderAsync(morphConfig);\n\n if (this._option.animation) {\n this._chart?.getAllRegions().forEach(region => {\n region.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n this._chart?.getAllComponents().forEach(component => {\n component.animate?.updateAnimateState(AnimationStateEnum.update, true);\n });\n }\n\n // TODO: 渲染结束与动画结束, 需要2个事件. 应该由底层抛出.\n this._event.emit(ChartEvent.rendered, {});\n return this as unknown as IVChart;\n }\n\n /**\n * 销毁图表\n */\n release() {\n if ((this._onResize as any)?.cancel) {\n (this._onResize as any).cancel();\n }\n this._chart?.release();\n this._compiler?.release();\n this._eventDispatcher?.release();\n this._unBindResizeEvent();\n clearMapSource();\n // resetID(); // 为什么要重置ID呢?\n\n this._releaseData();\n\n this._chart = null;\n this._compiler = null;\n this._spec = null;\n // this._option = null;\n this._event = null;\n this._eventDispatcher = null;\n\n InstanceManager.unregisterInstance(this);\n }\n\n /**\n * **异步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n async updateData(id: StringOrNumber, data: DataView | Datum[] | string, options?: IParserOptions): Promise<IVChart> {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n\n // after layout\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n this._spec.data = array(this._spec.data);\n const preDV = this._spec.data.find((dv: any) => dv.name === id || dv.id === id);\n if (preDV) {\n if (preDV.id === id) {\n preDV.values = data;\n } else if (preDV.name === id) {\n preDV.parse(data, options);\n }\n } else {\n if (isArray(data)) {\n this._spec.data.push({\n id,\n values: data\n });\n } else {\n this._spec.data.push(data);\n }\n }\n return this as unknown as IVChart;\n }\n\n /**\n * **异步**批量更新数据。\n * @param list 待更新的数据列表\n * @returns VChart 实例\n */\n async updateDataInBatches(\n list: { id: string; data: DataView | Datum[]; options?: IParserOptions }[]\n ): Promise<IVChart> {\n if (this._chart) {\n list.forEach(({ id, data, options }) => {\n this._chart.updateData(id, data, options);\n });\n await this._compiler.renderAsync();\n return this as unknown as IVChart;\n }\n list.forEach(({ id, data, options }) => {\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n });\n return this as unknown as IVChart;\n }\n\n /**\n * **同步**更新数据\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateDataSync(id: StringOrNumber, data: DataView | Datum[], options?: IParserOptions) {\n if (isNil(this._dataSet)) {\n return this as unknown as IVChart;\n }\n if (this._chart) {\n this._chart.updateData(id, data, options);\n // after layout\n this._compiler.renderSync();\n return this as unknown as IVChart;\n }\n const preDV = (this._spec.data as DataView[]).find(dv => dv.name === id);\n if (preDV) {\n preDV.parse(data, options);\n } else {\n const dataView = new DataView(this._dataSet, { name: id as string });\n dataView.parse(data, options);\n this._spec.data.push(dataView);\n }\n return this as unknown as IVChart;\n }\n\n /**\n * spec 更新\n * @param spec\n * @param forceMerge\n * @returns\n */\n async updateSpec(spec: ISpec, forceMerge: boolean = false, morphConfig?: IMorphConfig) {\n if (!spec) {\n return this as unknown as IVChart;\n }\n if (isString(spec)) {\n spec = JSON.parse(spec);\n }\n\n // 没有配置变化 因为数据对象的原因,这里会报错\n // if (specString == JSON.stringify(this._spec)) {\n // return;\n // }\n\n if (forceMerge) {\n spec = merge({}, this._spec, spec);\n }\n\n await this.updateCustomConfigAndRerender(() => {\n spec = specTransform(spec) as any;\n this._spec = spec;\n this._updateCurrentTheme();\n this._compiler?.getVGrammarView()?.updateLayoutTag();\n return this._chart.updateSpec(spec, morphConfig);\n }, morphConfig);\n return this as unknown as IVChart;\n }\n\n /**\n * **异步方法**,图表尺寸更新方法\n * @param width 宽度\n * @param height 高度\n * @returns VChart 当前实例\n */\n async resize(width: number, height: number) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n // 如果宽高未变化,不需要重新执行 resize,防止当图表初始化时会执行一次多余的 resize\n const chartCanvasRect = this._chart.getCanvasRect();\n if (chartCanvasRect && chartCanvasRect.width === width && chartCanvasRect.height === height) {\n return this as unknown as IVChart;\n }\n this._option.performanceHook?.beforeResizeWithUpdate?.();\n this._chart.onResize(width, height);\n this._option.performanceHook?.afterResizeWithUpdate?.();\n await this._compiler.resize?.(width, height);\n\n return this as unknown as IVChart;\n }\n\n /**\n * 更新绘制区域\n * @param viewBox 绘制区域\n * @param reRender 是否重新渲染,默认为 true\n * @returns\n */\n updateViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n if (!this._chart || !this._compiler) {\n return this as unknown as IVChart;\n }\n this._viewBox = viewBox;\n // 更新 layout 参数\n this._chart.updateViewBox(viewBox);\n // 重新布局\n this._compiler.renderSync();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this._chart?.onEvaluateEnd();\n // 获取 compiler\n this._compiler.updateViewBox(viewBox, reRender);\n return this as unknown as IVChart;\n }\n\n // 事件相关方法\n on(eType: EventType, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery, handler: EventCallback<EventParams>): void;\n on(eType: EventType, query: EventQuery | EventCallback<EventParams>, handler?: EventCallback<EventParams>): void {\n this._event?.on(eType as any, query as any, handler as any);\n }\n off(eType: string, handler?: EventCallback<EventParams>): void {\n this._event?.off(eType, handler);\n }\n\n // 状态相关方法\n /**\n * 更新或设置图元状态\n * @param state 状态筛选器\n * @param filter 筛选器\n */\n updateState(\n state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>,\n filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean //series + mark 筛选\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.updateState(state, filter);\n }\n\n /**\n * 更新图元选中状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setSelected(\n datum: MaybeArray<any> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setSelected(datum, filter, region);\n }\n\n /**\n * 更新图元 hover 状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setHovered(\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ): void {\n if (!this._chart) {\n return;\n }\n this._chart.setHovered(datum, filter, region);\n }\n\n // 主题相关方法\n /** 当 spec 或者 currentThemeName 有变化时需要调用此方法对 currentTheme 进行更新 */\n private _updateCurrentTheme() {\n this._currentTheme = merge({}, ThemeManager.getTheme(this._currentThemeName), this._spec?.theme ?? {});\n }\n\n /**\n * 获取当前主题,会返回完整的主题配置\n * */\n getCurrentTheme() {\n return this._currentTheme;\n }\n\n /**\n * 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n */\n getCurrentThemeName() {\n return this._currentThemeName;\n }\n\n /**\n * **异步方法**, 设置当前主题\n * @param name 主题名称\n * @returns\n */\n async setCurrentTheme(name: string) {\n if (!ThemeManager.themeExist(name)) {\n return this as unknown as IVChart;\n }\n\n await this.updateCustomConfigAndRerender(() => {\n this._currentThemeName = name;\n this._updateCurrentTheme();\n this._chart?.setCurrentTheme(this._currentTheme, true);\n return { change: true, reMake: false };\n });\n\n return this as unknown as IVChart;\n }\n\n // Tooltip 相关方法\n private _getTooltipComponent(): Tooltip | undefined {\n const tooltip = this._chart?.getAllComponents().find(c => c.type === ComponentTypeEnum.tooltip) as Tooltip;\n return tooltip;\n }\n\n /**\n * 自定义 TooltipHandler\n * @param tooltipHandler\n */\n setTooltipHandler(tooltipHandler: ITooltipHandler) {\n this._context.tooltipHandler = tooltipHandler;\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n tooltip.tooltipHandler?.release?.();\n tooltip.tooltipHandler = tooltipHandler;\n }\n }\n\n /**\n * 获取用户定义的 TooltipHandler\n * @returns ITooltipHandler\n */\n getTooltipHandlerByUser(): ITooltipHandler | undefined {\n return this._context?.tooltipHandler;\n }\n\n /**\n * 获取 TooltipHandler\n * @returns\n */\n getTooltipHandler(): ITooltipHandler | undefined {\n const tooltip = this._getTooltipComponent();\n if (tooltip) {\n return tooltip.tooltipHandler;\n }\n return this._context.tooltipHandler;\n }\n\n /**\n * 手动调用展示 tooltip\n * @param datum 原始数据\n * @param options\n * @returns\n */\n showTooltip(datum: Datum, options: IShowTooltipOption): boolean {\n const tooltip = this._getTooltipComponent();\n return (isValid(datum) && tooltip?.showTooltip(datum, options) !== 'none') ?? false;\n }\n\n /**\n * 手动调用,关闭 tooltip\n * @returns\n */\n hideTooltip(): boolean {\n const tooltip = this._getTooltipComponent();\n return tooltip?.hideTooltip() ?? false;\n }\n\n // 图例相关 api\n /**\n * 根据图例组件 id 获取图例数据\n * @param id 组件 id\n * @returns\n */\n getLegendDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getLegendData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取图例数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getLegendData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 获取当前图例的选中项\n * @param id 组件 id\n * @returns\n */\n getLegendSelectedDataById(id: string) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n return legendComponent.getSelectedData();\n }\n return [];\n }\n\n /**\n * 根据图例组件索引获取当前图例的选中项\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendSelectedDataByIndex(index: number = 0) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n return legends[index].getSelectedData();\n }\n\n return [];\n }\n\n /**\n * 根据图例组件 id 更新图例选中数据\n * @param id\n * @returns\n */\n setLegendSelectedDataById(id: string, selectedData: StringOrNumber[]) {\n const legendComponent = this._chart?.getComponentByUserId(id) as ILegend;\n if (legendComponent) {\n legendComponent.setSelectedData(selectedData);\n }\n }\n\n /**\n * 根据图例组件索引更新图例选中数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n setLegendSelectedDataByIndex(index: number = 0, selectedData: StringOrNumber[]) {\n const legends = this._chart\n ?.getAllComponents()\n .filter(c => c.type === ComponentTypeEnum.discreteLegend) as ILegend[];\n\n if (legends[index]) {\n legends[index].setSelectedData(selectedData);\n }\n }\n\n // 保存图片相关的方法\n /**\n * **异步方法**返回一个包含图片展示的 data URI。\n * @returns data URI\n */\n async getDataURL() {\n const stage = this.getStage();\n if (this._chart && stage) {\n // 因为 vrender 是 autoRender 的,它不能确认第几帧才是完整的图表,所以这里调用一次 render 以保证获取到的是完整的画布\n stage.render();\n const canvas = this._chart.getCanvas();\n const url = await getCanvasDataURL(canvas);\n return url;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n /**\n * **异步方法** 导出图表图片,只支持浏览器端。\n * @param name 保存的图片名称\n * @returns\n */\n async exportImg(name?: string) {\n if (!isTrueBrowser(this._option.mode)) {\n console.error(new TypeError(`non-browser environment can not export img`));\n return;\n }\n\n const dataURL = await this.getDataURL();\n if (dataURL) {\n URLToImage(name, dataURL);\n } else {\n console.error(new ReferenceError(`render is not defined`));\n }\n }\n\n /**\n * 目前仅支持 node 环境,用于 node 端的图片导出\n * @returns\n */\n getImageBuffer() {\n if (this._option.mode !== 'node') {\n console.error(new TypeError('getImageBuffer() now only support node environment.'));\n return;\n }\n const stage = this.getStage();\n if (stage) {\n stage.render();\n const buffer = stage.window.getImageBuffer();\n return buffer;\n }\n console.error(new ReferenceError(`render is not defined`));\n\n return null;\n }\n\n // 布局相关的方法\n /**\n * 设置自定义布局\n */\n setLayout(layout: LayoutCallBack) {\n this._option.layout = layout;\n this._chart?.setLayout(layout);\n }\n /**\n * 强制重新布局\n */\n reLayout() {\n this._chart?.setLayoutTag(true);\n }\n\n /**\n * 获取编译器实例\n * @returns\n */\n getCompiler() {\n return this._compiler;\n }\n\n /**\n * Get the chart instance\n * 获取 Chart 图表实例。\n * @returns Chart 实例\n */\n getChart() {\n return this._chart;\n }\n\n /**\n * Get the renderer instance.\n * 获取渲染引擎实例。\n * @returns the instance of VRender Stage\n */\n getStage(): Stage {\n return this._compiler.getStage();\n }\n\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas(): HTMLCanvasElement | undefined {\n return this._compiler?.getCanvas();\n }\n\n /**\n * 获取图表的 dom 容器\n * @returns\n */\n getContainer(): Maybe<HTMLElement> {\n // 用户传入 dom container\n if (isValid(this._container)) {\n return this._container;\n }\n\n // 用户传入 canvas\n let canvasNode: Maybe<HTMLCanvasElement>;\n if (isString(this._canvas)) {\n canvasNode = document?.getElementById(this._canvas) as HTMLCanvasElement;\n } else {\n canvasNode = this._canvas as HTMLCanvasElement;\n }\n if (isValid(canvasNode)) {\n return canvasNode.parentElement;\n }\n\n // 用户传入 stage\n return this.getCanvas()?.parentElement;\n }\n\n /**\n * 获取图表所有的组件实例\n * @returns 组件实例\n */\n getComponents() {\n return this._chart.getAllComponents();\n }\n}\n"]}
@@ -64,4 +64,5 @@ function dataToDataView(data, dataSet, sourceDataViews = []) {
64
64
 
65
65
  exports.initializeData = initializeData, exports.initCSVData = initCSVData, exports.initData = initData,
66
66
  exports.initFoldData = initFoldData, exports.dataViewFromDataView = dataViewFromDataView,
67
- exports.dataToDataView = dataToDataView;
67
+ exports.dataToDataView = dataToDataView;
68
+ //# sourceMappingURL=initialize.js.map
@@ -1,8 +1,8 @@
1
- export type AddChartSpacePropertyContext = {
1
+ export type AddVChartPropertyContext = {
2
2
  keyMap: Map<string, number>;
3
3
  };
4
- export interface IAddChartSpacePropertyOpt {
5
- beforeCall: () => AddChartSpacePropertyContext;
6
- call: (d: any, i: number, context: AddChartSpacePropertyContext) => void;
4
+ export interface IAddVChartPropertyOpt {
5
+ beforeCall: () => AddVChartPropertyContext;
6
+ call: (d: any, i: number, context: AddVChartPropertyContext) => void;
7
7
  }
8
- export declare const addChartSpaceProperty: (data: Array<any>, op: IAddChartSpacePropertyOpt) => any[];
8
+ export declare const addVChartProperty: (data: Array<any>, op: IAddVChartPropertyOpt) => any[];
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.addChartSpaceProperty = void 0;
5
+ }), exports.addVChartProperty = void 0;
6
6
 
7
- const addChartSpaceProperty = (data, op) => {
7
+ const addVChartProperty = (data, op) => {
8
8
  const context = op.beforeCall();
9
9
  return data.forEach(((d, i) => op.call(d, i, context))), context.keyMap && (context.keyMap.clear(),
10
10
  context.keyMap = null), data;
11
11
  };
12
12
 
13
- exports.addChartSpaceProperty = addChartSpaceProperty;
13
+ exports.addVChartProperty = addVChartProperty;
14
14
  //# sourceMappingURL=add-property.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data/transforms/add-property.ts"],"names":[],"mappings":";;;AAMO,MAAM,qBAAqB,GAAG,CAAC,IAAgB,EAAE,EAA6B,EAAE,EAAE;IACvF,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC","file":"add-property.js","sourcesContent":["export type AddChartSpacePropertyContext = { keyMap: Map<string, number> };\nexport interface IAddChartSpacePropertyOpt {\n beforeCall: () => AddChartSpacePropertyContext;\n call: (d: any, i: number, context: AddChartSpacePropertyContext) => void;\n}\n\nexport const addChartSpaceProperty = (data: Array<any>, op: IAddChartSpacePropertyOpt) => {\n const context = op.beforeCall();\n data.forEach((d, i) => op.call(d, i, context));\n\n if (context.keyMap) {\n context.keyMap.clear();\n context.keyMap = null;\n }\n\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/add-property.ts"],"names":[],"mappings":";;;AAMO,MAAM,iBAAiB,GAAG,CAAC,IAAgB,EAAE,EAAyB,EAAE,EAAE;IAC/E,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B","file":"add-property.js","sourcesContent":["export type AddVChartPropertyContext = { keyMap: Map<string, number> };\nexport interface IAddVChartPropertyOpt {\n beforeCall: () => AddVChartPropertyContext;\n call: (d: any, i: number, context: AddVChartPropertyContext) => void;\n}\n\nexport const addVChartProperty = (data: Array<any>, op: IAddVChartPropertyOpt) => {\n const context = op.beforeCall();\n data.forEach((d, i) => op.call(d, i, context));\n\n if (context.keyMap) {\n context.keyMap.clear();\n context.keyMap = null;\n }\n\n return data;\n};\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { BaseSeries } from '../../series/base/base-series';
2
2
  import type { TreeMapSeries } from '../../series/treemap/treemap';
3
- import type { AddChartSpacePropertyContext } from './add-property';
3
+ import type { AddVChartPropertyContext } from './add-property';
4
4
  import type { SunburstSeries } from '../../series/sunburst/sunburst';
5
5
  import type { CirclePackingSeries } from '../../series/circle-packing/circle-packing';
6
6
  export declare const initKeyMap: () => {
7
7
  keyMap: Map<any, any>;
8
8
  };
9
- export declare function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddChartSpacePropertyContext): void;
10
- export declare function addHierarchyDataKey(this: TreeMapSeries | SunburstSeries | CirclePackingSeries, d: any, i: number, context: AddChartSpacePropertyContext, depth?: number, root?: string, rootIndex?: number): void;
9
+ export declare function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddVChartPropertyContext): void;
10
+ export declare function addHierarchyDataKey(this: TreeMapSeries | SunburstSeries | CirclePackingSeries, d: any, i: number, context: AddVChartPropertyContext, depth?: number, root?: string, rootIndex?: number): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data/transforms/data-key.ts"],"names":[],"mappings":";;;AAAA,6CAAiG;AAIjG,wDAIkC;AAI3B,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF,SAAgB,UAAU,CAAwB,CAAM,EAAE,CAAS,EAAE,OAAqC;IACxG,IAAI,CAAC,CAAC,EAAE;QACN,OAAO;KACR;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QACtB,CAAC,CAAC,oCAAyB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;KACxD;IACD,CAAC,CAAC,6BAAkB,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,2BAAgB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AATD,gCASC;AAED,SAAgB,mBAAmB,CAEjC,CAAM,EACN,CAAS,EACT,OAAqC,EACrC,QAAgB,CAAC,EACjB,IAAa,EACb,SAAkB;IAElB,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,SAAS,GAAG,CAAC,CAAC;KACf;IACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,mCAAuB,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC,CAAC,kCAAsB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,wCAA4B,CAAC,GAAG,SAAS,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAU,EAAE,EAAE,CACzC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,EAAE,EACF,EAAE,EACF,OAAO,EACP,CAAC,CAAC,mCAAuB,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,kCAAsB,CAAC,EACzB,SAAS,CACV,CACF,CAAC;KACH;AACH,CAAC;AA5BD,kDA4BC","file":"data-key.js","sourcesContent":["import { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport type { BaseSeries } from '../../series/base/base-series';\nimport type { TreeMapSeries } from '../../series/treemap/treemap';\nimport type { AddChartSpacePropertyContext } from './add-property';\nimport {\n DEFAULT_HIERARCHY_DEPTH,\n DEFAULT_HIERARCHY_ROOT,\n DEFAULT_HIERARCHY_ROOT_INDEX\n} from '../../constant/hierarchy';\nimport type { SunburstSeries } from '../../series/sunburst/sunburst';\nimport type { CirclePackingSeries } from '../../series/circle-packing/circle-packing';\n\nexport const initKeyMap = () => {\n return { keyMap: new Map() };\n};\n\nexport function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddChartSpacePropertyContext) {\n if (!d) {\n return;\n }\n if (!this._seriesField) {\n d[DEFAULT_DATA_SERIES_FIELD] = this.getSeriesKeys()[0];\n }\n d[DEFAULT_DATA_INDEX] = i;\n d[DEFAULT_DATA_KEY] = this.generateDefaultDataKey(this._spec.dataKey, d, i, context);\n}\n\nexport function addHierarchyDataKey(\n this: TreeMapSeries | SunburstSeries | CirclePackingSeries,\n d: any,\n i: number,\n context: AddChartSpacePropertyContext,\n depth: number = 0,\n root?: string,\n rootIndex?: number\n) {\n if (rootIndex === undefined) {\n rootIndex = i;\n }\n addDataKey.bind(this)(d, i, context);\n d[DEFAULT_HIERARCHY_DEPTH] = depth;\n d[DEFAULT_HIERARCHY_ROOT] = root || d[this.getCategoryField()];\n d[DEFAULT_HIERARCHY_ROOT_INDEX] = rootIndex;\n if (d.children && d.children.length) {\n d.children.forEach((_d: any, _i: number) =>\n addHierarchyDataKey.bind(this)(\n _d,\n _i,\n context,\n d[DEFAULT_HIERARCHY_DEPTH] + 1,\n d[DEFAULT_HIERARCHY_ROOT],\n rootIndex\n )\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/data-key.ts"],"names":[],"mappings":";;;AAAA,6CAAiG;AAIjG,wDAIkC;AAI3B,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF,SAAgB,UAAU,CAAwB,CAAM,EAAE,CAAS,EAAE,OAAiC;IACpG,IAAI,CAAC,CAAC,EAAE;QACN,OAAO;KACR;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QACtB,CAAC,CAAC,oCAAyB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;KACxD;IACD,CAAC,CAAC,6BAAkB,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,2BAAgB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AATD,gCASC;AAED,SAAgB,mBAAmB,CAEjC,CAAM,EACN,CAAS,EACT,OAAiC,EACjC,QAAgB,CAAC,EACjB,IAAa,EACb,SAAkB;IAElB,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,SAAS,GAAG,CAAC,CAAC;KACf;IACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,mCAAuB,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC,CAAC,kCAAsB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,wCAA4B,CAAC,GAAG,SAAS,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAU,EAAE,EAAE,CACzC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,EAAE,EACF,EAAE,EACF,OAAO,EACP,CAAC,CAAC,mCAAuB,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,kCAAsB,CAAC,EACzB,SAAS,CACV,CACF,CAAC;KACH;AACH,CAAC;AA5BD,kDA4BC","file":"data-key.js","sourcesContent":["import { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport type { BaseSeries } from '../../series/base/base-series';\nimport type { TreeMapSeries } from '../../series/treemap/treemap';\nimport type { AddVChartPropertyContext } from './add-property';\nimport {\n DEFAULT_HIERARCHY_DEPTH,\n DEFAULT_HIERARCHY_ROOT,\n DEFAULT_HIERARCHY_ROOT_INDEX\n} from '../../constant/hierarchy';\nimport type { SunburstSeries } from '../../series/sunburst/sunburst';\nimport type { CirclePackingSeries } from '../../series/circle-packing/circle-packing';\n\nexport const initKeyMap = () => {\n return { keyMap: new Map() };\n};\n\nexport function addDataKey(this: BaseSeries<any>, d: any, i: number, context: AddVChartPropertyContext) {\n if (!d) {\n return;\n }\n if (!this._seriesField) {\n d[DEFAULT_DATA_SERIES_FIELD] = this.getSeriesKeys()[0];\n }\n d[DEFAULT_DATA_INDEX] = i;\n d[DEFAULT_DATA_KEY] = this.generateDefaultDataKey(this._spec.dataKey, d, i, context);\n}\n\nexport function addHierarchyDataKey(\n this: TreeMapSeries | SunburstSeries | CirclePackingSeries,\n d: any,\n i: number,\n context: AddVChartPropertyContext,\n depth: number = 0,\n root?: string,\n rootIndex?: number\n) {\n if (rootIndex === undefined) {\n rootIndex = i;\n }\n addDataKey.bind(this)(d, i, context);\n d[DEFAULT_HIERARCHY_DEPTH] = depth;\n d[DEFAULT_HIERARCHY_ROOT] = root || d[this.getCategoryField()];\n d[DEFAULT_HIERARCHY_ROOT_INDEX] = rootIndex;\n if (d.children && d.children.length) {\n d.children.forEach((_d: any, _i: number) =>\n addHierarchyDataKey.bind(this)(\n _d,\n _i,\n context,\n d[DEFAULT_HIERARCHY_DEPTH] + 1,\n d[DEFAULT_HIERARCHY_ROOT],\n rootIndex\n )\n );\n }\n}\n"]}
package/cjs/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VChart } from './vchart-all';
2
2
  export default VChart;
3
- export declare const version = "0.0.1-alpha.0";
3
+ export declare const version = "0.2.0";
4
4
  export type { IVChart } from './core/interface';
5
5
  export * from './event/interface';
6
6
  export * from './chart';
package/cjs/index.js CHANGED
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "__esModule", {
21
21
 
22
22
  const vchart_all_1 = require("./vchart-all");
23
23
 
24
- exports.default = vchart_all_1.VChart, exports.version = "0.0.1-alpha.0", __exportStar(require("./event/interface"), exports),
24
+ exports.default = vchart_all_1.VChart, exports.version = "0.2.0", __exportStar(require("./event/interface"), exports),
25
25
  __exportStar(require("./chart"), exports);
26
26
 
27
27
  var line_1 = require("./series/line/line");
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAsC;AACtC,kBAAe,mBAAM,CAAC;AAET,QAAA,OAAO,GAAG,eAAe,CAAC;AAGvC,oDAAkC;AAKlC,0CAAwB;AAMxB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,wCAA6C;AAApC,gGAAA,SAAS,OAAA;AAClB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,oDAAyD;AAAhD,wGAAA,aAAa,OAAA;AACtB,wCAA6C;AAApC,gGAAA,SAAS,OAAA;AAClB,8CAAmD;AAA1C,oGAAA,WAAW,OAAA;AACpB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,wCAA6C;AAApC,gGAAA,SAAS,OAAA;AAClB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,uDAAoE;AAA3D,kHAAA,sBAAsB,OAAA;AAC/B,mDAAgE;AAAvD,8GAAA,oBAAoB,OAAA;AAC7B,iDAAsD;AAA7C,sGAAA,YAAY,OAAA;AACrB,iEAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAC1B,6DAAiE;AAAxD,6GAAA,eAAe,OAAA;AACxB,iDAAsD;AAA7C,sGAAA,YAAY,OAAA;AACrB,oDAAyD;AAAhD,wGAAA,aAAa,OAAA;AAMtB,mEAAiD;AAEjD,+DAA6C;AAE7C,8DAA4C;AAK5C,iDAA+B;AAC/B,mEAAiD;AAKjD,uDAAqC;AAGrC,uCAA6C;AAApC,qGAAA,YAAY,OAAA","file":"index.js","sourcesContent":["import { VChart } from './vchart-all';\nexport default VChart;\n// 导出版本号\nexport const version = \"0.0.1-alpha.0\";\n\nexport type { IVChart } from './core/interface';\nexport * from './event/interface';\n\n/*\n * chart\n */\nexport * from './chart';\n\n/*\n * series\n */\nexport type { ISeries } from './series/interface';\nexport { LineSeries } from './series/line/line';\nexport { BarSeries } from './series/bar/bar';\nexport { AreaSeries } from './series/area/area';\nexport { ScatterSeries } from './series/scatter/scatter';\nexport { PieSeries } from './series/pie/pie';\nexport { RadarSeries } from './series/radar/radar';\nexport { RoseSeries } from './series/rose/rose';\nexport { DotSeries } from './series/dot/dot';\nexport { LinkSeries } from './series/link/link';\nexport { CircularProgressSeries } from './series/progress/circular';\nexport { LinearProgressSeries } from './series/progress/linear';\nexport { FunnelSeries } from './series/funnel/funnel';\nexport { RangeColumnSeries } from './series/range-column/rangeColumn';\nexport { RangeAreaSeries } from './series/range-area/range-area';\nexport { SankeySeries } from './series/sankey/sankey';\nexport { HeatmapSeries } from './series/heatmap/heatmap';\n\n/*\n * component\n */\n// cartesian\nexport * from './component/axis/cartesian/index';\n// polar\nexport * from './component/axis/polar/index';\n// map label\nexport * from './component/map-label/index';\n\n/**\n * layout\n */\nexport * from './layout/index';\nexport * from './layout/grid-layout/grid-layout';\n\n/**\n * spec\n */\nexport * from './typings/spec/index';\n\n// theme\nexport { ThemeManager } from './theme/index';\n\n// const\n// export * from './const/index';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAsC;AACtC,kBAAe,mBAAM,CAAC;AAET,QAAA,OAAO,GAAG,OAAO,CAAC;AAG/B,oDAAkC;AAKlC,0CAAwB;AAMxB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,wCAA6C;AAApC,gGAAA,SAAS,OAAA;AAClB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,oDAAyD;AAAhD,wGAAA,aAAa,OAAA;AACtB,wCAA6C;AAApC,gGAAA,SAAS,OAAA;AAClB,8CAAmD;AAA1C,oGAAA,WAAW,OAAA;AACpB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,wCAA6C;AAApC,gGAAA,SAAS,OAAA;AAClB,2CAAgD;AAAvC,kGAAA,UAAU,OAAA;AACnB,uDAAoE;AAA3D,kHAAA,sBAAsB,OAAA;AAC/B,mDAAgE;AAAvD,8GAAA,oBAAoB,OAAA;AAC7B,iDAAsD;AAA7C,sGAAA,YAAY,OAAA;AACrB,iEAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAC1B,6DAAiE;AAAxD,6GAAA,eAAe,OAAA;AACxB,iDAAsD;AAA7C,sGAAA,YAAY,OAAA;AACrB,oDAAyD;AAAhD,wGAAA,aAAa,OAAA;AAMtB,mEAAiD;AAEjD,+DAA6C;AAE7C,8DAA4C;AAK5C,iDAA+B;AAC/B,mEAAiD;AAKjD,uDAAqC;AAGrC,uCAA6C;AAApC,qGAAA,YAAY,OAAA","file":"index.js","sourcesContent":["import { VChart } from './vchart-all';\nexport default VChart;\n// 导出版本号\nexport const version = \"0.2.0\";\n\nexport type { IVChart } from './core/interface';\nexport * from './event/interface';\n\n/*\n * chart\n */\nexport * from './chart';\n\n/*\n * series\n */\nexport type { ISeries } from './series/interface';\nexport { LineSeries } from './series/line/line';\nexport { BarSeries } from './series/bar/bar';\nexport { AreaSeries } from './series/area/area';\nexport { ScatterSeries } from './series/scatter/scatter';\nexport { PieSeries } from './series/pie/pie';\nexport { RadarSeries } from './series/radar/radar';\nexport { RoseSeries } from './series/rose/rose';\nexport { DotSeries } from './series/dot/dot';\nexport { LinkSeries } from './series/link/link';\nexport { CircularProgressSeries } from './series/progress/circular';\nexport { LinearProgressSeries } from './series/progress/linear';\nexport { FunnelSeries } from './series/funnel/funnel';\nexport { RangeColumnSeries } from './series/range-column/rangeColumn';\nexport { RangeAreaSeries } from './series/range-area/range-area';\nexport { SankeySeries } from './series/sankey/sankey';\nexport { HeatmapSeries } from './series/heatmap/heatmap';\n\n/*\n * component\n */\n// cartesian\nexport * from './component/axis/cartesian/index';\n// polar\nexport * from './component/axis/polar/index';\n// map label\nexport * from './component/map-label/index';\n\n/**\n * layout\n */\nexport * from './layout/index';\nexport * from './layout/grid-layout/grid-layout';\n\n/**\n * spec\n */\nexport * from './typings/spec/index';\n\n// theme\nexport { ThemeManager } from './theme/index';\n\n// const\n// export * from './const/index';\n"]}
package/cjs/mark/arc.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { IArcMarkSpec, VisualType, Datum, StateValueType, IArc3dMarkSpec } from '../typings';
2
- import { BaseMark } from './base';
2
+ import { BaseMark } from './base/base-mark';
3
3
  import type { IMarkRaw, IMarkStyle, StyleConvert } from './interface';
4
4
  import { MarkTypeEnum } from './interface';
5
5
  export type IArcMark = IMarkRaw<IArcMarkSpec>;
package/cjs/mark/arc.js CHANGED
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.Arc3dMark = exports.ArcMark = exports.BaseArcMark = void 0;
6
6
 
7
- const constant_1 = require("../constant"), math_1 = require("../util/math"), base_1 = require("./base"), interface_1 = require("./interface");
7
+ const constant_1 = require("../constant"), math_1 = require("../util/math"), base_mark_1 = require("./base/base-mark"), interface_1 = require("./interface");
8
8
 
9
- class BaseArcMark extends base_1.BaseMark {
9
+ class BaseArcMark extends base_mark_1.BaseMark {
10
10
  constructor() {
11
11
  super(...arguments), this.type = ArcMark.type, this._unCompileChannel = {
12
12
  centerOffset: !0
@@ -22,7 +22,8 @@ class BaseArcMark extends base_1.BaseMark {
22
22
  endAngle: 0,
23
23
  outerRadius: 0,
24
24
  innerRadius: 0,
25
- cornerRadius: 0
25
+ cornerRadius: 0,
26
+ lineWidth: 0
26
27
  });
27
28
  }
28
29
  setAttribute(attr, style, state = "normal", level = 0, stateStyle = this.stateStyle) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAE/C,uCAAgD;AAChD,iCAAkC;AAGlC,2CAA2C;AAK3C,MAAa,WAAoC,SAAQ,eAAW;IAApE;;QACW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;QAE3C,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA0CjC,kBAAa,GAAG,CACxB,GAAc,EACd,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,MAAc,EACd,EAAE;YACF,MAAM,MAAM,GAAG,IAAA,uBAAgB,EAAC;gBAC9B,KAAK,EAAE,KAAK,CAAC,2BAAgB,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;aACnE,CAAC,CAAC;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IArDW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,GAChB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,CACV,IAAO,EACP,KAA4C,EAC5C,QAAwB,QAAQ,EAChC,QAAgB,CAAC,EACjB,UAAU,GAAG,IAAI,CAAC,UAAU;QAE5B,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,KAAK,QAAQ,EAAE;YACjD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACrC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3C;YACD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACrC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAES,iBAAiB,CAAoB,GAAM,EAAE,KAAY,EAAE,QAAwB,QAAQ,EAAE,GAAQ;QAC7G,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE;YAC5D,OAAO,UAAU,CAAC;SACnB;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;CAeF;AA1DD,kCA0DC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,GAAG,wBAAY,CAAC,GAAG,CAAC;AAI1C,MAAa,SAAU,SAAQ,WAA2B;IAA1D;;QAEW,SAAI,GAAiB,SAAS,CAAC,IAAI,CAAC;IAC/C,CAAC;;AAHD,8BAGC;AAFiB,cAAI,GAAG,wBAAY,CAAC,KAAK,CAAC","file":"arc.js","sourcesContent":["import { ARC_MIDDLE_ANGLE } from '../constant';\nimport type { IArcMarkSpec, VisualType, Datum, StateValueType, IArc3dMarkSpec } from '../typings';\nimport { polarToCartesian } from '../util/math';\nimport { BaseMark } from './base';\nimport type { IMarkRaw, IMarkStyle, StyleConvert } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\nexport type IArc3dMark = IMarkRaw<IArc3dMarkSpec>;\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: MarkTypeEnum = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true };\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0\n };\n return defaultStyle;\n }\n\n setAttribute<U extends keyof T>(\n attr: U,\n style: StyleConvert<T[U]> | VisualType<T[U]>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ) {\n super.setAttribute(attr, style, state, level, stateStyle);\n // centerOffset 在图表侧实现,如果只设置了centerOffset 则自动补充一个与normal一样的 xy\n if (attr === 'centerOffset' && state !== 'normal') {\n if (stateStyle[state].x === undefined) {\n stateStyle[state].x = stateStyle.normal.x;\n }\n if (stateStyle[state].y === undefined) {\n stateStyle[state].y = stateStyle.normal.y;\n }\n }\n }\n\n protected _computeAttribute<U extends keyof T>(key: U, datum: Datum, state: StateValueType = 'normal', opt: any) {\n const superValue = super._computeAttribute(key, datum, state, opt);\n if (superValue === undefined || (key !== 'x' && key !== 'y')) {\n return superValue;\n }\n // 额外的offset计算\n return this.computeCenter(key, datum, state, opt, superValue);\n }\n\n protected computeCenter = (\n key: 'x' | 'y',\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n center: number\n ) => {\n const offset = polarToCartesian({\n angle: datum[ARC_MIDDLE_ANGLE],\n radius: this._computeAttribute('centerOffset', datum, states, opt)\n });\n return center + offset[key];\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport class Arc3dMark extends BaseArcMark<IArc3dMarkSpec> implements IArc3dMark {\n static readonly type = MarkTypeEnum.arc3d;\n readonly type: MarkTypeEnum = Arc3dMark.type;\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAE/C,uCAAgD;AAChD,gDAA4C;AAG5C,2CAA2C;AAK3C,MAAa,WAAoC,SAAQ,oBAAW;IAApE;;QACW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;QAE3C,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA2CjC,kBAAa,GAAG,CACxB,GAAc,EACd,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,MAAc,EACd,EAAE;YACF,MAAM,MAAM,GAAG,IAAA,uBAAgB,EAAC;gBAC9B,KAAK,EAAE,KAAK,CAAC,2BAAgB,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;aACnE,CAAC,CAAC;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IAtDW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,CACV,IAAO,EACP,KAA4C,EAC5C,QAAwB,QAAQ,EAChC,QAAgB,CAAC,EACjB,UAAU,GAAG,IAAI,CAAC,UAAU;QAE5B,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,KAAK,QAAQ,EAAE;YACjD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACrC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3C;YACD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACrC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAES,iBAAiB,CAAoB,GAAM,EAAE,KAAY,EAAE,QAAwB,QAAQ,EAAE,GAAQ;QAC7G,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE;YAC5D,OAAO,UAAU,CAAC;SACnB;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;CAeF;AA3DD,kCA2DC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,GAAG,wBAAY,CAAC,GAAG,CAAC;AAI1C,MAAa,SAAU,SAAQ,WAA2B;IAA1D;;QAEW,SAAI,GAAiB,SAAS,CAAC,IAAI,CAAC;IAC/C,CAAC;;AAHD,8BAGC;AAFiB,cAAI,GAAG,wBAAY,CAAC,KAAK,CAAC","file":"arc.js","sourcesContent":["import { ARC_MIDDLE_ANGLE } from '../constant';\nimport type { IArcMarkSpec, VisualType, Datum, StateValueType, IArc3dMarkSpec } from '../typings';\nimport { polarToCartesian } from '../util/math';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkRaw, IMarkStyle, StyleConvert } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\nexport type IArc3dMark = IMarkRaw<IArc3dMarkSpec>;\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: MarkTypeEnum = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true };\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n setAttribute<U extends keyof T>(\n attr: U,\n style: StyleConvert<T[U]> | VisualType<T[U]>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ) {\n super.setAttribute(attr, style, state, level, stateStyle);\n // centerOffset 在图表侧实现,如果只设置了centerOffset 则自动补充一个与normal一样的 xy\n if (attr === 'centerOffset' && state !== 'normal') {\n if (stateStyle[state].x === undefined) {\n stateStyle[state].x = stateStyle.normal.x;\n }\n if (stateStyle[state].y === undefined) {\n stateStyle[state].y = stateStyle.normal.y;\n }\n }\n }\n\n protected _computeAttribute<U extends keyof T>(key: U, datum: Datum, state: StateValueType = 'normal', opt: any) {\n const superValue = super._computeAttribute(key, datum, state, opt);\n if (superValue === undefined || (key !== 'x' && key !== 'y')) {\n return superValue;\n }\n // 额外的offset计算\n return this.computeCenter(key, datum, state, opt, superValue);\n }\n\n protected computeCenter = (\n key: 'x' | 'y',\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n center: number\n ) => {\n const offset = polarToCartesian({\n angle: datum[ARC_MIDDLE_ANGLE],\n radius: this._computeAttribute('centerOffset', datum, states, opt)\n });\n return center + offset[key];\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport class Arc3dMark extends BaseArcMark<IArc3dMarkSpec> implements IArc3dMark {\n static readonly type = MarkTypeEnum.arc3d;\n readonly type: MarkTypeEnum = Arc3dMark.type;\n}\n"]}
@@ -1,10 +1,11 @@
1
1
  import type { IAreaMarkSpec } from '../typings/visual';
2
- import { BaseLineMark } from './base';
3
- import type { IMarkRaw } from './interface';
2
+ import { BaseLineMark } from './base/base-line';
3
+ import type { IMarkRaw, IMarkStyle } from './interface';
4
4
  import { MarkTypeEnum } from './interface';
5
5
  export type IAreaMark = IMarkRaw<IAreaMarkSpec>;
6
6
  export declare class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {
7
7
  static readonly type = MarkTypeEnum.area;
8
8
  readonly type = MarkTypeEnum.area;
9
+ protected _getDefaultStyle(): IMarkStyle<IAreaMarkSpec>;
9
10
  protected _getIgnoreAttributes(): string[];
10
11
  }
package/cjs/mark/area.js CHANGED
@@ -4,16 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.AreaMark = void 0;
6
6
 
7
- const base_1 = require("./base"), interface_1 = require("./interface");
7
+ const base_line_1 = require("./base/base-line"), interface_1 = require("./interface");
8
8
 
9
- class AreaMark extends base_1.BaseLineMark {
9
+ class AreaMark extends base_line_1.BaseLineMark {
10
10
  constructor() {
11
11
  super(...arguments), this.type = AreaMark.type;
12
12
  }
13
+ _getDefaultStyle() {
14
+ return Object.assign(Object.assign({}, super._getDefaultStyle()), {
15
+ lineWidth: 0
16
+ });
17
+ }
13
18
  _getIgnoreAttributes() {
14
19
  return [];
15
20
  }
16
21
  }
17
22
 
18
- exports.AreaMark = AreaMark, AreaMark.type = interface_1.MarkTypeEnum.area;
19
- //# sourceMappingURL=area.js.map
23
+ exports.AreaMark = AreaMark, AreaMark.type = interface_1.MarkTypeEnum.area;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAGtC,2CAA2C;AAI3C,MAAa,QAAS,SAAQ,mBAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAKhC,CAAC;IAHW,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AANH,4BAOC;AANiB,aAAI,GAAG,wBAAY,CAAC,IAAI,CAAC","file":"area.js","sourcesContent":["import type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base';\nimport type { IMarkRaw } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\n\nexport type IAreaMark = IMarkRaw<IAreaMarkSpec>;\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":";;;AACA,gDAAgD;AAGhD,2CAA2C;AAI3C,MAAa,QAAS,SAAQ,wBAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAahC,CAAC;IAXW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAdH,4BAeC;AAdiB,aAAI,GAAG,wBAAY,CAAC,IAAI,CAAC","file":"area.js","sourcesContent":["import type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base/base-line';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\n\nexport type IAreaMark = IMarkRaw<IAreaMarkSpec>;\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n}\n"]}
@@ -148,13 +148,14 @@ class BaseMark extends compilable_mark_1.CompilableMark {
148
148
  }));
149
149
  }
150
150
  _computeGradientAttr(gradientStyle, data, opt) {
151
+ var _a, _b;
151
152
  const {gradient: gradient, scale: scale, field: field} = gradientStyle, rest = __rest(gradientStyle, [ "gradient", "scale", "field" ]), markData = this.getDataView();
152
153
  let colorScale = scale, colorField = field;
153
154
  if (!(scale && field || "series" !== this.model.modelType)) {
154
155
  const {scale: globalColorScale, field: globalField} = this.model.getColorAttribute();
155
156
  scale || (colorScale = globalColorScale), colorField || (colorField = globalField);
156
157
  }
157
- const themeColor = (0, util_2.getDataScheme)((0, util_1.get)(this.model, "_option.theme.colorScheme"), "series" === this.model.modelType ? this.model.type : void 0), computeStyle = {}, mergedStyle = Object.assign(Object.assign({}, constant_1.DEFAULT_GRADIENT_CONFIG[gradient]), rest);
158
+ const themeColor = (0, util_2.computeActualDataScheme)((0, util_2.getDataScheme)(null === (_b = null === (_a = this.model.getOption()) || void 0 === _a ? void 0 : _a.getTheme()) || void 0 === _b ? void 0 : _b.colorScheme, "series" === this.model.modelType ? this.model.type : void 0), this.model.getDefaultColorDomain()), computeStyle = {}, mergedStyle = Object.assign(Object.assign({}, constant_1.DEFAULT_GRADIENT_CONFIG[gradient]), rest);
158
159
  return Object.keys(mergedStyle).forEach((key => {
159
160
  const value = mergedStyle[key];
160
161
  "stops" === key ? computeStyle.stops = value.map((stop => {