@visactor/vchart 0.0.1-alpha.2 → 1.0.0-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 (896) hide show
  1. package/README.md +82 -1
  2. package/build/index.js +2680 -2068
  3. package/build/index.min.js +2 -2
  4. package/cjs/animation/utils.d.ts +2 -1
  5. package/cjs/animation/utils.js.map +1 -1
  6. package/cjs/chart/base-chart.js +2 -2
  7. package/cjs/chart/base-chart.js.map +1 -1
  8. package/cjs/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  9. package/cjs/chart/box-plot/box-plot.js.map +1 -0
  10. package/{esm/chart/boxplot → cjs/chart/box-plot}/index.d.ts +1 -1
  11. package/cjs/chart/{boxplot → box-plot}/index.js +1 -1
  12. package/cjs/chart/box-plot/index.js.map +1 -0
  13. package/cjs/chart/box-plot/interface.js.map +1 -0
  14. package/cjs/chart/index.d.ts +3 -1
  15. package/cjs/chart/index.js +2 -1
  16. package/cjs/chart/index.js.map +1 -1
  17. package/cjs/chart/treemap/treemap.js.map +1 -1
  18. package/cjs/compile/compilable-base.js +1 -1
  19. package/cjs/compile/compiler.d.ts +2 -2
  20. package/cjs/compile/compiler.js +24 -25
  21. package/cjs/compile/compiler.js.map +1 -1
  22. package/cjs/compile/grammar-item.js +1 -1
  23. package/cjs/compile/mark/interface.js.map +1 -1
  24. package/cjs/compile/util.js +1 -1
  25. package/cjs/component/axis/base-axis.d.ts +70 -1
  26. package/cjs/component/axis/base-axis.js +93 -4
  27. package/cjs/component/axis/base-axis.js.map +1 -1
  28. package/cjs/component/axis/cartesian/axis.d.ts +0 -1
  29. package/cjs/component/axis/cartesian/axis.js +3 -6
  30. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  31. package/cjs/component/axis/polar/axis.d.ts +0 -1
  32. package/cjs/component/axis/polar/axis.js +3 -6
  33. package/cjs/component/axis/polar/axis.js.map +1 -1
  34. package/cjs/component/axis/utils.d.ts +13 -70
  35. package/cjs/component/axis/utils.js +23 -109
  36. package/cjs/component/axis/utils.js.map +1 -1
  37. package/cjs/component/base/base-component.d.ts +0 -5
  38. package/cjs/component/base/base-component.js +8 -19
  39. package/cjs/component/base/base-component.js.map +1 -1
  40. package/cjs/component/base/util.d.ts +1 -1
  41. package/cjs/component/base/util.js +20 -9
  42. package/cjs/component/base/util.js.map +1 -1
  43. package/cjs/component/crosshair/base.d.ts +0 -1
  44. package/cjs/component/crosshair/base.js +1 -4
  45. package/cjs/component/crosshair/base.js.map +1 -1
  46. package/cjs/component/custom-mark/custom-mark.js +4 -1
  47. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  48. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
  49. package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
  50. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  51. package/cjs/component/index.js +1 -1
  52. package/cjs/component/interface/index.d.ts +1 -0
  53. package/cjs/component/interface/index.js +1 -1
  54. package/cjs/component/interface/index.js.map +1 -1
  55. package/cjs/component/interface/theme.d.ts +38 -0
  56. package/cjs/component/interface/theme.js +6 -0
  57. package/cjs/component/interface/theme.js.map +1 -0
  58. package/cjs/component/label/label.d.ts +0 -1
  59. package/cjs/component/label/label.js +12 -6
  60. package/cjs/component/label/label.js.map +1 -1
  61. package/cjs/component/legend/base-legend.js +5 -2
  62. package/cjs/component/legend/base-legend.js.map +1 -1
  63. package/cjs/component/legend/continuous/legend.d.ts +1 -1
  64. package/cjs/component/legend/continuous/legend.js +2 -2
  65. package/cjs/component/legend/continuous/legend.js.map +1 -1
  66. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  67. package/cjs/component/legend/discrete/legend.js +2 -2
  68. package/cjs/component/legend/discrete/legend.js.map +1 -1
  69. package/cjs/component/legend/util.d.ts +4 -4
  70. package/cjs/component/map-label/component.js +2 -2
  71. package/cjs/component/map-label/component.js.map +1 -1
  72. package/cjs/component/map-label/interface.d.ts +6 -4
  73. package/cjs/component/map-label/interface.js.map +1 -1
  74. package/cjs/component/marker/utils.js +14 -9
  75. package/cjs/component/marker/utils.js.map +1 -1
  76. package/cjs/component/player/interface/theme.d.ts +2 -1
  77. package/cjs/component/player/interface/theme.js.map +1 -1
  78. package/cjs/component/player/player.d.ts +0 -1
  79. package/cjs/component/player/player.js +0 -3
  80. package/cjs/component/player/player.js.map +1 -1
  81. package/cjs/component/player/utils/transform.js.map +1 -1
  82. package/cjs/component/title/interface/theme.d.ts +4 -2
  83. package/cjs/component/title/interface/theme.js.map +1 -1
  84. package/cjs/component/title/title.d.ts +1 -1
  85. package/cjs/component/title/title.js +4 -6
  86. package/cjs/component/title/title.js.map +1 -1
  87. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  88. package/cjs/component/tooltip/handler/base.js +9 -8
  89. package/cjs/component/tooltip/handler/base.js.map +1 -1
  90. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  91. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -4
  92. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  93. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  94. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -2
  95. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  96. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  97. package/cjs/component/tooltip/tooltip.js +1 -1
  98. package/cjs/component/tooltip/tooltip.js.map +1 -1
  99. package/cjs/constant/box-plot.js +1 -2
  100. package/cjs/constant/label.js +2 -1
  101. package/cjs/core/factory.d.ts +1 -0
  102. package/cjs/core/factory.js +3 -0
  103. package/cjs/core/factory.js.map +1 -1
  104. package/cjs/core/instance-manager.d.ts +9 -0
  105. package/cjs/core/instance-manager.js +26 -0
  106. package/cjs/core/instance-manager.js.map +1 -0
  107. package/cjs/core/interface.js +1 -2
  108. package/cjs/core/vchart.d.ts +2 -6
  109. package/cjs/core/vchart.js +10 -23
  110. package/cjs/core/vchart.js.map +1 -1
  111. package/cjs/event/event.js +2 -1
  112. package/cjs/index.d.ts +1 -1
  113. package/cjs/index.js +1 -1
  114. package/cjs/index.js.map +1 -1
  115. package/cjs/mark/arc.d.ts +1 -1
  116. package/cjs/mark/arc.js +4 -3
  117. package/cjs/mark/arc.js.map +1 -1
  118. package/cjs/mark/area.d.ts +3 -2
  119. package/cjs/mark/area.js +8 -4
  120. package/cjs/mark/area.js.map +1 -1
  121. package/cjs/mark/base/base-mark.js +2 -1
  122. package/cjs/mark/base/base-mark.js.map +1 -1
  123. package/cjs/mark/base/index.d.ts +1 -2
  124. package/cjs/mark/base/index.js +1 -10
  125. package/cjs/mark/base/index.js.map +1 -1
  126. package/{esm/mark/boxPlot.d.ts → cjs/mark/box-plot.d.ts} +1 -1
  127. package/cjs/mark/{boxPlot.js → box-plot.js} +3 -3
  128. package/{esm/mark/boxPlot.js.map → cjs/mark/box-plot.js.map} +1 -1
  129. package/cjs/mark/component.d.ts +1 -1
  130. package/cjs/mark/component.js +2 -2
  131. package/cjs/mark/component.js.map +1 -1
  132. package/cjs/mark/line.d.ts +1 -1
  133. package/cjs/mark/line.js +2 -2
  134. package/cjs/mark/line.js.map +1 -1
  135. package/cjs/mark/linkPath.d.ts +1 -1
  136. package/cjs/mark/linkPath.js +4 -3
  137. package/cjs/mark/linkPath.js.map +1 -1
  138. package/cjs/mark/mark-set/index.d.ts +6 -5
  139. package/cjs/mark/mark-set/index.js +15 -12
  140. package/cjs/mark/mark-set/index.js.map +1 -1
  141. package/cjs/mark/path.d.ts +1 -1
  142. package/cjs/mark/path.js +2 -2
  143. package/cjs/mark/path.js.map +1 -1
  144. package/cjs/mark/polygon.d.ts +1 -1
  145. package/cjs/mark/polygon.js +3 -3
  146. package/cjs/mark/polygon.js.map +1 -1
  147. package/cjs/mark/progress-arc.js +1 -1
  148. package/cjs/mark/rect.d.ts +1 -1
  149. package/cjs/mark/rect.js +6 -5
  150. package/cjs/mark/rect.js.map +1 -1
  151. package/cjs/mark/rule.d.ts +1 -1
  152. package/cjs/mark/rule.js +3 -3
  153. package/cjs/mark/rule.js.map +1 -1
  154. package/cjs/mark/symbol.d.ts +1 -1
  155. package/cjs/mark/symbol.js +5 -4
  156. package/cjs/mark/symbol.js.map +1 -1
  157. package/cjs/mark/text.d.ts +1 -1
  158. package/cjs/mark/text.js +5 -4
  159. package/cjs/mark/text.js.map +1 -1
  160. package/cjs/model/base-model.d.ts +12 -5
  161. package/cjs/model/base-model.js +52 -29
  162. package/cjs/model/base-model.js.map +1 -1
  163. package/cjs/model/interface.d.ts +8 -2
  164. package/cjs/model/interface.js.map +1 -1
  165. package/cjs/model/layout-item.js +20 -18
  166. package/cjs/model/layout-item.js.map +1 -1
  167. package/cjs/region/region.d.ts +1 -4
  168. package/cjs/region/region.js +16 -13
  169. package/cjs/region/region.js.map +1 -1
  170. package/cjs/scale/color-ordinal-scale.d.ts +8 -0
  171. package/cjs/scale/color-ordinal-scale.js +24 -0
  172. package/cjs/scale/color-ordinal-scale.js.map +1 -0
  173. package/cjs/scale/global-scale.js +2 -1
  174. package/cjs/scale/global-scale.js.map +1 -1
  175. package/cjs/series/area/area.d.ts +2 -0
  176. package/cjs/series/area/area.js +15 -9
  177. package/cjs/series/area/area.js.map +1 -1
  178. package/cjs/series/area/interface.d.ts +5 -5
  179. package/cjs/series/area/interface.js.map +1 -1
  180. package/cjs/series/bar/bar.d.ts +6 -0
  181. package/cjs/series/bar/bar.js +24 -8
  182. package/cjs/series/bar/bar.js.map +1 -1
  183. package/cjs/series/bar/interface.d.ts +5 -4
  184. package/cjs/series/bar/interface.js.map +1 -1
  185. package/cjs/series/base/base-series.d.ts +10 -11
  186. package/cjs/series/base/base-series.js +53 -31
  187. package/cjs/series/base/base-series.js.map +1 -1
  188. package/{esm/series/box-plot/boxPlot.d.ts → cjs/series/box-plot/box-plot.d.ts} +2 -0
  189. package/cjs/series/box-plot/{boxPlot.js → box-plot.js} +16 -6
  190. package/cjs/series/box-plot/box-plot.js.map +1 -0
  191. package/cjs/series/box-plot/interface.d.ts +3 -2
  192. package/cjs/series/box-plot/interface.js.map +1 -1
  193. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  194. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  195. package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
  196. package/cjs/series/circle-packing/circle-packing.js +13 -8
  197. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  198. package/cjs/series/circle-packing/interface.d.ts +5 -4
  199. package/cjs/series/circle-packing/interface.js.map +1 -1
  200. package/cjs/series/dot/dot.d.ts +6 -8
  201. package/cjs/series/dot/dot.js +43 -17
  202. package/cjs/series/dot/dot.js.map +1 -1
  203. package/cjs/series/dot/interface.d.ts +10 -10
  204. package/cjs/series/dot/interface.js.map +1 -1
  205. package/cjs/series/funnel/funnel.d.ts +12 -2
  206. package/cjs/series/funnel/funnel.js +84 -23
  207. package/cjs/series/funnel/funnel.js.map +1 -1
  208. package/cjs/series/funnel/interface.d.ts +16 -15
  209. package/cjs/series/funnel/interface.js.map +1 -1
  210. package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
  211. package/cjs/series/gauge/gauge-pointer.js +22 -6
  212. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  213. package/cjs/series/gauge/gauge.d.ts +3 -2
  214. package/cjs/series/gauge/gauge.js +26 -17
  215. package/cjs/series/gauge/gauge.js.map +1 -1
  216. package/cjs/series/gauge/interface.d.ts +12 -11
  217. package/cjs/series/gauge/interface.js.map +1 -1
  218. package/cjs/series/heatmap/heatmap.d.ts +3 -1
  219. package/cjs/series/heatmap/heatmap.js +18 -9
  220. package/cjs/series/heatmap/heatmap.js.map +1 -1
  221. package/cjs/series/heatmap/interface.d.ts +6 -5
  222. package/cjs/series/heatmap/interface.js.map +1 -1
  223. package/cjs/series/interface/common.d.ts +56 -1
  224. package/cjs/series/interface/common.js +24 -1
  225. package/cjs/series/interface/common.js.map +1 -1
  226. package/cjs/series/interface/series.d.ts +2 -1
  227. package/cjs/series/interface/series.js.map +1 -1
  228. package/cjs/series/line/line.d.ts +2 -0
  229. package/cjs/series/line/line.js +7 -5
  230. package/cjs/series/line/line.js.map +1 -1
  231. package/cjs/series/link/interface.d.ts +4 -4
  232. package/cjs/series/link/interface.js.map +1 -1
  233. package/cjs/series/link/link.d.ts +4 -7
  234. package/cjs/series/link/link.js +20 -14
  235. package/cjs/series/link/link.js.map +1 -1
  236. package/cjs/series/map/map.d.ts +2 -0
  237. package/cjs/series/map/map.js +13 -6
  238. package/cjs/series/map/map.js.map +1 -1
  239. package/cjs/series/mixin/line-mixin.d.ts +4 -3
  240. package/cjs/series/mixin/line-mixin.js +15 -7
  241. package/cjs/series/mixin/line-mixin.js.map +1 -1
  242. package/cjs/series/pie/interface.d.ts +7 -6
  243. package/cjs/series/pie/interface.js.map +1 -1
  244. package/cjs/series/pie/pie.d.ts +8 -3
  245. package/cjs/series/pie/pie.js +61 -33
  246. package/cjs/series/pie/pie.js.map +1 -1
  247. package/cjs/series/progress/circular/circular.d.ts +2 -0
  248. package/cjs/series/progress/circular/circular.js +16 -9
  249. package/cjs/series/progress/circular/circular.js.map +1 -1
  250. package/cjs/series/progress/circular/interface.d.ts +5 -4
  251. package/cjs/series/progress/circular/interface.js.map +1 -1
  252. package/cjs/series/progress/linear/interface.d.ts +6 -5
  253. package/cjs/series/progress/linear/interface.js.map +1 -1
  254. package/cjs/series/progress/linear/linear.d.ts +2 -0
  255. package/cjs/series/progress/linear/linear.js +31 -21
  256. package/cjs/series/progress/linear/linear.js.map +1 -1
  257. package/cjs/series/radar/interface.d.ts +5 -4
  258. package/cjs/series/radar/interface.js.map +1 -1
  259. package/cjs/series/radar/radar.d.ts +2 -0
  260. package/cjs/series/radar/radar.js +9 -4
  261. package/cjs/series/radar/radar.js.map +1 -1
  262. package/cjs/series/range-area/range-area.d.ts +2 -0
  263. package/cjs/series/range-area/range-area.js +4 -3
  264. package/cjs/series/range-area/range-area.js.map +1 -1
  265. package/cjs/series/range-column/interface.d.ts +9 -8
  266. package/cjs/series/range-column/interface.js.map +1 -1
  267. package/cjs/series/range-column/rangeColumn.d.ts +2 -0
  268. package/cjs/series/range-column/rangeColumn.js +28 -19
  269. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  270. package/cjs/series/rose/interface.d.ts +3 -2
  271. package/cjs/series/rose/interface.js.map +1 -1
  272. package/cjs/series/rose/rose.d.ts +2 -0
  273. package/cjs/series/rose/rose.js +14 -13
  274. package/cjs/series/rose/rose.js.map +1 -1
  275. package/cjs/series/sankey/animation.js.map +1 -1
  276. package/cjs/series/sankey/interface.d.ts +7 -6
  277. package/cjs/series/sankey/interface.js.map +1 -1
  278. package/cjs/series/sankey/sankey.d.ts +2 -0
  279. package/cjs/series/sankey/sankey.js +25 -22
  280. package/cjs/series/sankey/sankey.js.map +1 -1
  281. package/cjs/series/scatter/interface.d.ts +6 -5
  282. package/cjs/series/scatter/interface.js.map +1 -1
  283. package/cjs/series/scatter/scatter.d.ts +2 -0
  284. package/cjs/series/scatter/scatter.js +15 -10
  285. package/cjs/series/scatter/scatter.js.map +1 -1
  286. package/cjs/series/sunburst/interface.d.ts +5 -4
  287. package/cjs/series/sunburst/interface.js.map +1 -1
  288. package/cjs/series/sunburst/sunburst.d.ts +3 -1
  289. package/cjs/series/sunburst/sunburst.js +9 -4
  290. package/cjs/series/sunburst/sunburst.js.map +1 -1
  291. package/cjs/series/treemap/interface.d.ts +9 -8
  292. package/cjs/series/treemap/interface.js.map +1 -1
  293. package/cjs/series/treemap/treemap.d.ts +2 -0
  294. package/cjs/series/treemap/treemap.js +19 -6
  295. package/cjs/series/treemap/treemap.js.map +1 -1
  296. package/cjs/series/waterfall/interface.d.ts +6 -5
  297. package/cjs/series/waterfall/interface.js.map +1 -1
  298. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  299. package/cjs/series/waterfall/waterfall.js +15 -5
  300. package/cjs/series/waterfall/waterfall.js.map +1 -1
  301. package/cjs/series/word-cloud/interface.d.ts +7 -6
  302. package/cjs/series/word-cloud/interface.js.map +1 -1
  303. package/cjs/series/word-cloud/word-cloud.d.ts +4 -3
  304. package/cjs/series/word-cloud/word-cloud.js +22 -11
  305. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  306. package/cjs/theme/buildin-theme/config.d.ts +1 -4
  307. package/cjs/theme/buildin-theme/config.js +2 -18
  308. package/cjs/theme/buildin-theme/config.js.map +1 -1
  309. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  310. package/cjs/theme/buildin-theme/light/color-scheme.js +14 -1
  311. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  312. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  313. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js +22 -0
  314. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  315. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  316. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  317. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  318. package/cjs/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  319. package/cjs/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  320. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  321. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  322. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js +22 -0
  323. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  324. package/cjs/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  325. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +25 -0
  326. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  327. package/cjs/theme/buildin-theme/light/component/crosshair.js +9 -5
  328. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  329. package/cjs/theme/buildin-theme/light/component/index.d.ts +2 -0
  330. package/cjs/theme/buildin-theme/light/component/index.js +32 -0
  331. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -0
  332. package/cjs/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  333. package/cjs/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +3 -3
  334. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  335. package/cjs/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  336. package/cjs/theme/buildin-theme/light/component/legend/continuous.js +60 -0
  337. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  338. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  339. package/cjs/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +17 -6
  340. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  341. package/cjs/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  342. package/cjs/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +3 -3
  343. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  344. package/cjs/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  345. package/cjs/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +8 -8
  346. package/cjs/theme/buildin-theme/light/component/map-label.js.map +1 -0
  347. package/cjs/theme/buildin-theme/light/component/player.js +20 -11
  348. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  349. package/cjs/theme/buildin-theme/light/component/title.js +19 -3
  350. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -1
  351. package/cjs/theme/buildin-theme/light/component/tooltip.js +7 -3
  352. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  353. package/cjs/theme/buildin-theme/light/constants.d.ts +2 -0
  354. package/cjs/theme/buildin-theme/light/constants.js +16 -0
  355. package/cjs/theme/buildin-theme/light/constants.js.map +1 -0
  356. package/cjs/theme/buildin-theme/light/index.js +5 -20
  357. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  358. package/cjs/theme/buildin-theme/light/mark.d.ts +3 -0
  359. package/cjs/theme/buildin-theme/light/mark.js +72 -0
  360. package/cjs/theme/buildin-theme/light/mark.js.map +1 -0
  361. package/cjs/theme/buildin-theme/light/series/area.js +2 -12
  362. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  363. package/cjs/theme/buildin-theme/light/series/bar.js +2 -2
  364. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  365. package/cjs/theme/buildin-theme/light/series/bar3d.js +2 -2
  366. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  367. package/cjs/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  368. package/cjs/theme/buildin-theme/light/series/box-plot.js +12 -0
  369. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  370. package/cjs/theme/buildin-theme/light/series/circular-progress.js +11 -1
  371. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  372. package/cjs/theme/buildin-theme/light/series/funnel.js +8 -5
  373. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  374. package/cjs/theme/buildin-theme/light/series/funnel3d.js +9 -6
  375. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  376. package/cjs/theme/buildin-theme/light/series/gauge.js +6 -1
  377. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  378. package/cjs/theme/buildin-theme/light/series/index.js +5 -2
  379. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  380. package/cjs/theme/buildin-theme/light/series/line.js +2 -7
  381. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  382. package/cjs/theme/buildin-theme/light/series/linear-progress.js +5 -0
  383. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  384. package/cjs/theme/buildin-theme/light/series/map.js +8 -4
  385. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  386. package/cjs/theme/buildin-theme/light/series/pie.js +9 -2
  387. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  388. package/cjs/theme/buildin-theme/light/series/pie3d.js +4 -3
  389. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  390. package/cjs/theme/buildin-theme/light/series/radar.js +2 -12
  391. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  392. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  393. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  394. package/cjs/theme/buildin-theme/light/series/rose.d.ts +2 -0
  395. package/cjs/theme/buildin-theme/light/series/rose.js +20 -0
  396. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -0
  397. package/cjs/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  398. package/cjs/theme/buildin-theme/light/series/sankey.js +14 -0
  399. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -0
  400. package/cjs/theme/buildin-theme/light/series/scatter.js +10 -4
  401. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  402. package/cjs/theme/buildin-theme/light/series/treemap.js +4 -4
  403. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  404. package/cjs/theme/buildin-theme/light/series/waterfall.js +3 -3
  405. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  406. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  407. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  408. package/cjs/theme/color-scheme/interface.d.ts +16 -8
  409. package/cjs/theme/color-scheme/interface.js.map +1 -1
  410. package/cjs/theme/color-scheme/util.d.ts +6 -3
  411. package/cjs/theme/color-scheme/util.js +39 -10
  412. package/cjs/theme/color-scheme/util.js.map +1 -1
  413. package/cjs/theme/interface.d.ts +22 -38
  414. package/cjs/theme/interface.js.map +1 -1
  415. package/cjs/theme/theme-manager.d.ts +1 -0
  416. package/cjs/theme/theme-manager.js +5 -2
  417. package/cjs/theme/theme-manager.js.map +1 -1
  418. package/cjs/typings/spec/chart.d.ts +1 -1
  419. package/cjs/typings/spec/chart.js.map +1 -1
  420. package/cjs/typings/visual.d.ts +13 -12
  421. package/cjs/typings/visual.js.map +1 -1
  422. package/cjs/util/color.d.ts +0 -3
  423. package/cjs/util/color.js +2 -12
  424. package/cjs/util/color.js.map +1 -1
  425. package/cjs/util/scale.d.ts +12 -1
  426. package/cjs/util/scale.js +4 -2
  427. package/cjs/util/scale.js.map +1 -1
  428. package/cjs/vchart-all.js +4 -4
  429. package/cjs/vchart-all.js.map +1 -1
  430. package/esm/animation/utils.d.ts +2 -1
  431. package/esm/animation/utils.js.map +1 -1
  432. package/esm/chart/base-chart.js +3 -3
  433. package/esm/chart/base-chart.js.map +1 -1
  434. package/esm/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  435. package/esm/chart/box-plot/box-plot.js.map +1 -0
  436. package/{cjs/chart/boxplot → esm/chart/box-plot}/index.d.ts +1 -1
  437. package/esm/chart/{boxplot → box-plot}/index.js +1 -1
  438. package/esm/chart/box-plot/index.js.map +1 -0
  439. package/esm/chart/box-plot/interface.js.map +1 -0
  440. package/esm/chart/index.d.ts +3 -1
  441. package/esm/chart/index.js +5 -1
  442. package/esm/chart/index.js.map +1 -1
  443. package/esm/chart/treemap/treemap.js.map +1 -1
  444. package/esm/compile/compilable-base.js +1 -1
  445. package/esm/compile/compiler.d.ts +2 -2
  446. package/esm/compile/compiler.js +24 -25
  447. package/esm/compile/compiler.js.map +1 -1
  448. package/esm/compile/grammar-item.js +1 -1
  449. package/esm/compile/mark/interface.js.map +1 -1
  450. package/esm/compile/util.js +1 -1
  451. package/esm/component/axis/base-axis.d.ts +70 -1
  452. package/esm/component/axis/base-axis.js +98 -4
  453. package/esm/component/axis/base-axis.js.map +1 -1
  454. package/esm/component/axis/cartesian/axis.d.ts +0 -1
  455. package/esm/component/axis/cartesian/axis.js +4 -7
  456. package/esm/component/axis/cartesian/axis.js.map +1 -1
  457. package/esm/component/axis/polar/axis.d.ts +0 -1
  458. package/esm/component/axis/polar/axis.js +4 -7
  459. package/esm/component/axis/polar/axis.js.map +1 -1
  460. package/esm/component/axis/utils.d.ts +13 -70
  461. package/esm/component/axis/utils.js +12 -99
  462. package/esm/component/axis/utils.js.map +1 -1
  463. package/esm/component/base/base-component.d.ts +0 -5
  464. package/esm/component/base/base-component.js +7 -20
  465. package/esm/component/base/base-component.js.map +1 -1
  466. package/esm/component/base/util.d.ts +1 -1
  467. package/esm/component/base/util.js +18 -9
  468. package/esm/component/base/util.js.map +1 -1
  469. package/esm/component/crosshair/base.d.ts +0 -1
  470. package/esm/component/crosshair/base.js +1 -4
  471. package/esm/component/crosshair/base.js.map +1 -1
  472. package/esm/component/custom-mark/custom-mark.js +4 -1
  473. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  474. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
  475. package/esm/component/data-zoom/data-filter-base-component.js +2 -2
  476. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  477. package/esm/component/index.js +1 -1
  478. package/esm/component/interface/index.d.ts +1 -0
  479. package/esm/component/interface/index.js +2 -0
  480. package/esm/component/interface/index.js.map +1 -1
  481. package/esm/component/interface/theme.d.ts +38 -0
  482. package/esm/component/interface/theme.js +2 -0
  483. package/esm/component/interface/theme.js.map +1 -0
  484. package/esm/component/label/label.d.ts +0 -1
  485. package/esm/component/label/label.js +12 -6
  486. package/esm/component/label/label.js.map +1 -1
  487. package/esm/component/legend/base-legend.js +5 -2
  488. package/esm/component/legend/base-legend.js.map +1 -1
  489. package/esm/component/legend/continuous/legend.d.ts +1 -1
  490. package/esm/component/legend/continuous/legend.js +2 -2
  491. package/esm/component/legend/continuous/legend.js.map +1 -1
  492. package/esm/component/legend/discrete/legend.d.ts +1 -1
  493. package/esm/component/legend/discrete/legend.js +2 -2
  494. package/esm/component/legend/discrete/legend.js.map +1 -1
  495. package/esm/component/legend/util.d.ts +4 -4
  496. package/esm/component/map-label/component.js +1 -5
  497. package/esm/component/map-label/component.js.map +1 -1
  498. package/esm/component/map-label/interface.d.ts +6 -4
  499. package/esm/component/map-label/interface.js.map +1 -1
  500. package/esm/component/marker/utils.js +14 -9
  501. package/esm/component/marker/utils.js.map +1 -1
  502. package/esm/component/player/interface/theme.d.ts +2 -1
  503. package/esm/component/player/interface/theme.js.map +1 -1
  504. package/esm/component/player/player.d.ts +0 -1
  505. package/esm/component/player/player.js +0 -3
  506. package/esm/component/player/player.js.map +1 -1
  507. package/esm/component/player/utils/transform.js.map +1 -1
  508. package/esm/component/title/interface/theme.d.ts +4 -2
  509. package/esm/component/title/interface/theme.js.map +1 -1
  510. package/esm/component/title/title.d.ts +1 -1
  511. package/esm/component/title/title.js +3 -6
  512. package/esm/component/title/title.js.map +1 -1
  513. package/esm/component/tooltip/handler/base.d.ts +5 -3
  514. package/esm/component/tooltip/handler/base.js +9 -8
  515. package/esm/component/tooltip/handler/base.js.map +1 -1
  516. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  517. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +6 -6
  518. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  519. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  520. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -3
  521. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  522. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  523. package/esm/component/tooltip/tooltip.js +1 -1
  524. package/esm/component/tooltip/tooltip.js.map +1 -1
  525. package/esm/constant/box-plot.js +1 -2
  526. package/esm/constant/label.js +2 -1
  527. package/esm/core/factory.d.ts +1 -0
  528. package/esm/core/factory.js +3 -0
  529. package/esm/core/factory.js.map +1 -1
  530. package/esm/core/instance-manager.d.ts +9 -0
  531. package/esm/core/instance-manager.js +20 -0
  532. package/esm/core/instance-manager.js.map +1 -0
  533. package/esm/core/interface.js +1 -2
  534. package/esm/core/vchart.d.ts +2 -6
  535. package/esm/core/vchart.js +10 -22
  536. package/esm/core/vchart.js.map +1 -1
  537. package/esm/event/event.js +2 -1
  538. package/esm/index.d.ts +1 -1
  539. package/esm/index.js +1 -1
  540. package/esm/index.js.map +1 -1
  541. package/esm/mark/arc.d.ts +1 -1
  542. package/esm/mark/arc.js +3 -2
  543. package/esm/mark/arc.js.map +1 -1
  544. package/esm/mark/area.d.ts +3 -2
  545. package/esm/mark/area.js +7 -3
  546. package/esm/mark/area.js.map +1 -1
  547. package/esm/mark/base/base-mark.js +4 -3
  548. package/esm/mark/base/base-mark.js.map +1 -1
  549. package/esm/mark/base/index.d.ts +1 -2
  550. package/esm/mark/base/index.js +1 -3
  551. package/esm/mark/base/index.js.map +1 -1
  552. package/{cjs/mark/boxPlot.d.ts → esm/mark/box-plot.d.ts} +1 -1
  553. package/esm/mark/{boxPlot.js → box-plot.js} +2 -2
  554. package/esm/mark/box-plot.js.map +1 -0
  555. package/esm/mark/component.d.ts +1 -1
  556. package/esm/mark/component.js +1 -1
  557. package/esm/mark/component.js.map +1 -1
  558. package/esm/mark/line.d.ts +1 -1
  559. package/esm/mark/line.js +1 -1
  560. package/esm/mark/line.js.map +1 -1
  561. package/esm/mark/linkPath.d.ts +1 -1
  562. package/esm/mark/linkPath.js +3 -2
  563. package/esm/mark/linkPath.js.map +1 -1
  564. package/esm/mark/mark-set/index.d.ts +6 -5
  565. package/esm/mark/mark-set/index.js +16 -13
  566. package/esm/mark/mark-set/index.js.map +1 -1
  567. package/esm/mark/path.d.ts +1 -1
  568. package/esm/mark/path.js +1 -1
  569. package/esm/mark/path.js.map +1 -1
  570. package/esm/mark/polygon.d.ts +1 -1
  571. package/esm/mark/polygon.js +2 -2
  572. package/esm/mark/polygon.js.map +1 -1
  573. package/esm/mark/progress-arc.js +1 -1
  574. package/esm/mark/rect.d.ts +1 -1
  575. package/esm/mark/rect.js +4 -3
  576. package/esm/mark/rect.js.map +1 -1
  577. package/esm/mark/rule.d.ts +1 -1
  578. package/esm/mark/rule.js +2 -2
  579. package/esm/mark/rule.js.map +1 -1
  580. package/esm/mark/symbol.d.ts +1 -1
  581. package/esm/mark/symbol.js +4 -3
  582. package/esm/mark/symbol.js.map +1 -1
  583. package/esm/mark/text.d.ts +1 -1
  584. package/esm/mark/text.js +4 -3
  585. package/esm/mark/text.js.map +1 -1
  586. package/esm/model/base-model.d.ts +12 -5
  587. package/esm/model/base-model.js +50 -29
  588. package/esm/model/base-model.js.map +1 -1
  589. package/esm/model/interface.d.ts +8 -2
  590. package/esm/model/interface.js.map +1 -1
  591. package/esm/model/layout-item.js +19 -17
  592. package/esm/model/layout-item.js.map +1 -1
  593. package/esm/region/region.d.ts +1 -4
  594. package/esm/region/region.js +15 -13
  595. package/esm/region/region.js.map +1 -1
  596. package/esm/scale/color-ordinal-scale.d.ts +8 -0
  597. package/esm/scale/color-ordinal-scale.js +18 -0
  598. package/esm/scale/color-ordinal-scale.js.map +1 -0
  599. package/esm/scale/global-scale.js +3 -2
  600. package/esm/scale/global-scale.js.map +1 -1
  601. package/esm/series/area/area.d.ts +2 -0
  602. package/esm/series/area/area.js +15 -6
  603. package/esm/series/area/area.js.map +1 -1
  604. package/esm/series/area/interface.d.ts +5 -5
  605. package/esm/series/area/interface.js.map +1 -1
  606. package/esm/series/bar/bar.d.ts +6 -0
  607. package/esm/series/bar/bar.js +25 -7
  608. package/esm/series/bar/bar.js.map +1 -1
  609. package/esm/series/bar/interface.d.ts +5 -4
  610. package/esm/series/bar/interface.js.map +1 -1
  611. package/esm/series/base/base-series.d.ts +10 -11
  612. package/esm/series/base/base-series.js +59 -30
  613. package/esm/series/base/base-series.js.map +1 -1
  614. package/{cjs/series/box-plot/boxPlot.d.ts → esm/series/box-plot/box-plot.d.ts} +2 -0
  615. package/esm/series/box-plot/{boxPlot.js → box-plot.js} +17 -6
  616. package/esm/series/box-plot/box-plot.js.map +1 -0
  617. package/esm/series/box-plot/interface.d.ts +3 -2
  618. package/esm/series/box-plot/interface.js.map +1 -1
  619. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  620. package/esm/series/cartesian/cartesian.d.ts +1 -1
  621. package/esm/series/circle-packing/circle-packing.d.ts +2 -0
  622. package/esm/series/circle-packing/circle-packing.js +12 -3
  623. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  624. package/esm/series/circle-packing/interface.d.ts +5 -4
  625. package/esm/series/circle-packing/interface.js.map +1 -1
  626. package/esm/series/dot/dot.d.ts +6 -8
  627. package/esm/series/dot/dot.js +47 -16
  628. package/esm/series/dot/dot.js.map +1 -1
  629. package/esm/series/dot/interface.d.ts +10 -10
  630. package/esm/series/dot/interface.js.map +1 -1
  631. package/esm/series/funnel/funnel.d.ts +12 -2
  632. package/esm/series/funnel/funnel.js +81 -22
  633. package/esm/series/funnel/funnel.js.map +1 -1
  634. package/esm/series/funnel/interface.d.ts +16 -15
  635. package/esm/series/funnel/interface.js.map +1 -1
  636. package/esm/series/gauge/gauge-pointer.d.ts +2 -0
  637. package/esm/series/gauge/gauge-pointer.js +23 -6
  638. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  639. package/esm/series/gauge/gauge.d.ts +3 -2
  640. package/esm/series/gauge/gauge.js +32 -18
  641. package/esm/series/gauge/gauge.js.map +1 -1
  642. package/esm/series/gauge/interface.d.ts +12 -11
  643. package/esm/series/gauge/interface.js.map +1 -1
  644. package/esm/series/heatmap/heatmap.d.ts +3 -1
  645. package/esm/series/heatmap/heatmap.js +19 -9
  646. package/esm/series/heatmap/heatmap.js.map +1 -1
  647. package/esm/series/heatmap/interface.d.ts +6 -5
  648. package/esm/series/heatmap/interface.js.map +1 -1
  649. package/esm/series/interface/common.d.ts +56 -1
  650. package/esm/series/interface/common.js +24 -1
  651. package/esm/series/interface/common.js.map +1 -1
  652. package/esm/series/interface/series.d.ts +2 -1
  653. package/esm/series/interface/series.js.map +1 -1
  654. package/esm/series/line/line.d.ts +2 -0
  655. package/esm/series/line/line.js +9 -4
  656. package/esm/series/line/line.js.map +1 -1
  657. package/esm/series/link/interface.d.ts +4 -4
  658. package/esm/series/link/interface.js.map +1 -1
  659. package/esm/series/link/link.d.ts +4 -7
  660. package/esm/series/link/link.js +22 -15
  661. package/esm/series/link/link.js.map +1 -1
  662. package/esm/series/map/map.d.ts +2 -0
  663. package/esm/series/map/map.js +13 -6
  664. package/esm/series/map/map.js.map +1 -1
  665. package/esm/series/mixin/line-mixin.d.ts +4 -3
  666. package/esm/series/mixin/line-mixin.js +16 -4
  667. package/esm/series/mixin/line-mixin.js.map +1 -1
  668. package/esm/series/pie/interface.d.ts +7 -6
  669. package/esm/series/pie/interface.js.map +1 -1
  670. package/esm/series/pie/pie.d.ts +8 -3
  671. package/esm/series/pie/pie.js +60 -28
  672. package/esm/series/pie/pie.js.map +1 -1
  673. package/esm/series/progress/circular/circular.d.ts +2 -0
  674. package/esm/series/progress/circular/circular.js +16 -6
  675. package/esm/series/progress/circular/circular.js.map +1 -1
  676. package/esm/series/progress/circular/interface.d.ts +5 -4
  677. package/esm/series/progress/circular/interface.js.map +1 -1
  678. package/esm/series/progress/linear/interface.d.ts +6 -5
  679. package/esm/series/progress/linear/interface.js.map +1 -1
  680. package/esm/series/progress/linear/linear.d.ts +2 -0
  681. package/esm/series/progress/linear/linear.js +31 -20
  682. package/esm/series/progress/linear/linear.js.map +1 -1
  683. package/esm/series/radar/interface.d.ts +5 -4
  684. package/esm/series/radar/interface.js.map +1 -1
  685. package/esm/series/radar/radar.d.ts +2 -0
  686. package/esm/series/radar/radar.js +12 -5
  687. package/esm/series/radar/radar.js.map +1 -1
  688. package/esm/series/range-area/range-area.d.ts +2 -0
  689. package/esm/series/range-area/range-area.js +2 -4
  690. package/esm/series/range-area/range-area.js.map +1 -1
  691. package/esm/series/range-column/interface.d.ts +9 -8
  692. package/esm/series/range-column/interface.js.map +1 -1
  693. package/esm/series/range-column/rangeColumn.d.ts +2 -0
  694. package/esm/series/range-column/rangeColumn.js +28 -20
  695. package/esm/series/range-column/rangeColumn.js.map +1 -1
  696. package/esm/series/rose/interface.d.ts +3 -2
  697. package/esm/series/rose/interface.js.map +1 -1
  698. package/esm/series/rose/rose.d.ts +2 -0
  699. package/esm/series/rose/rose.js +16 -14
  700. package/esm/series/rose/rose.js.map +1 -1
  701. package/esm/series/sankey/animation.js.map +1 -1
  702. package/esm/series/sankey/interface.d.ts +7 -6
  703. package/esm/series/sankey/interface.js.map +1 -1
  704. package/esm/series/sankey/sankey.d.ts +2 -0
  705. package/esm/series/sankey/sankey.js +26 -23
  706. package/esm/series/sankey/sankey.js.map +1 -1
  707. package/esm/series/scatter/interface.d.ts +6 -5
  708. package/esm/series/scatter/interface.js.map +1 -1
  709. package/esm/series/scatter/scatter.d.ts +2 -0
  710. package/esm/series/scatter/scatter.js +15 -9
  711. package/esm/series/scatter/scatter.js.map +1 -1
  712. package/esm/series/sunburst/interface.d.ts +5 -4
  713. package/esm/series/sunburst/interface.js.map +1 -1
  714. package/esm/series/sunburst/sunburst.d.ts +3 -1
  715. package/esm/series/sunburst/sunburst.js +11 -4
  716. package/esm/series/sunburst/sunburst.js.map +1 -1
  717. package/esm/series/treemap/interface.d.ts +9 -8
  718. package/esm/series/treemap/interface.js.map +1 -1
  719. package/esm/series/treemap/treemap.d.ts +2 -0
  720. package/esm/series/treemap/treemap.js +21 -6
  721. package/esm/series/treemap/treemap.js.map +1 -1
  722. package/esm/series/waterfall/interface.d.ts +6 -5
  723. package/esm/series/waterfall/interface.js.map +1 -1
  724. package/esm/series/waterfall/waterfall.d.ts +2 -0
  725. package/esm/series/waterfall/waterfall.js +15 -6
  726. package/esm/series/waterfall/waterfall.js.map +1 -1
  727. package/esm/series/word-cloud/interface.d.ts +7 -6
  728. package/esm/series/word-cloud/interface.js.map +1 -1
  729. package/esm/series/word-cloud/word-cloud.d.ts +4 -3
  730. package/esm/series/word-cloud/word-cloud.js +24 -11
  731. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  732. package/esm/theme/buildin-theme/config.d.ts +1 -4
  733. package/esm/theme/buildin-theme/config.js +1 -21
  734. package/esm/theme/buildin-theme/config.js.map +1 -1
  735. package/esm/theme/buildin-theme/dark.js.map +1 -1
  736. package/esm/theme/buildin-theme/light/color-scheme.js +14 -1
  737. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  738. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  739. package/esm/theme/buildin-theme/light/component/axis/band-axis.js +18 -0
  740. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  741. package/esm/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  742. package/esm/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  743. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  744. package/esm/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  745. package/esm/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  746. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  747. package/esm/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  748. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js +18 -0
  749. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  750. package/esm/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  751. package/esm/theme/buildin-theme/light/component/{polar-axis.js → axis/polar-axis.js} +11 -3
  752. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  753. package/esm/theme/buildin-theme/light/component/crosshair.js +8 -4
  754. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  755. package/esm/theme/buildin-theme/light/component/index.d.ts +2 -0
  756. package/esm/theme/buildin-theme/light/component/index.js +62 -0
  757. package/esm/theme/buildin-theme/light/component/index.js.map +1 -0
  758. package/esm/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  759. package/esm/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +1 -1
  760. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  761. package/esm/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  762. package/esm/theme/buildin-theme/light/component/legend/continuous.js +54 -0
  763. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  764. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  765. package/esm/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +14 -5
  766. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  767. package/esm/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  768. package/esm/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +1 -1
  769. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  770. package/esm/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  771. package/esm/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +5 -3
  772. package/esm/theme/buildin-theme/light/component/map-label.js.map +1 -0
  773. package/esm/theme/buildin-theme/light/component/player.js +20 -11
  774. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  775. package/esm/theme/buildin-theme/light/component/title.js +16 -2
  776. package/esm/theme/buildin-theme/light/component/title.js.map +1 -1
  777. package/esm/theme/buildin-theme/light/component/tooltip.js +6 -2
  778. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  779. package/esm/theme/buildin-theme/light/constants.d.ts +2 -0
  780. package/esm/theme/buildin-theme/light/constants.js +10 -0
  781. package/esm/theme/buildin-theme/light/constants.js.map +1 -0
  782. package/esm/theme/buildin-theme/light/index.js +7 -50
  783. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  784. package/esm/theme/buildin-theme/light/mark.d.ts +3 -0
  785. package/esm/theme/buildin-theme/light/mark.js +68 -0
  786. package/esm/theme/buildin-theme/light/mark.js.map +1 -0
  787. package/esm/theme/buildin-theme/light/series/area.js +2 -12
  788. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  789. package/esm/theme/buildin-theme/light/series/bar.js +2 -2
  790. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  791. package/esm/theme/buildin-theme/light/series/bar3d.js +2 -2
  792. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  793. package/esm/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  794. package/esm/theme/buildin-theme/light/series/box-plot.js +8 -0
  795. package/esm/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  796. package/esm/theme/buildin-theme/light/series/circular-progress.js +11 -1
  797. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  798. package/esm/theme/buildin-theme/light/series/funnel.js +7 -2
  799. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  800. package/esm/theme/buildin-theme/light/series/funnel3d.js +8 -3
  801. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  802. package/esm/theme/buildin-theme/light/series/gauge.js +6 -1
  803. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  804. package/esm/theme/buildin-theme/light/series/index.js +10 -1
  805. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  806. package/esm/theme/buildin-theme/light/series/line.js +2 -7
  807. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  808. package/esm/theme/buildin-theme/light/series/linear-progress.js +5 -0
  809. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  810. package/esm/theme/buildin-theme/light/series/map.js +8 -4
  811. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  812. package/esm/theme/buildin-theme/light/series/pie.js +9 -2
  813. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  814. package/esm/theme/buildin-theme/light/series/pie3d.js +4 -3
  815. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  816. package/esm/theme/buildin-theme/light/series/radar.js +2 -12
  817. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  818. package/esm/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  819. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  820. package/esm/theme/buildin-theme/light/series/rose.d.ts +2 -0
  821. package/esm/theme/buildin-theme/light/series/rose.js +16 -0
  822. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -0
  823. package/esm/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  824. package/esm/theme/buildin-theme/light/series/sankey.js +10 -0
  825. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -0
  826. package/esm/theme/buildin-theme/light/series/scatter.js +10 -4
  827. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  828. package/esm/theme/buildin-theme/light/series/treemap.js +3 -1
  829. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  830. package/esm/theme/buildin-theme/light/series/waterfall.js +3 -1
  831. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  832. package/esm/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  833. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  834. package/esm/theme/color-scheme/interface.d.ts +16 -8
  835. package/esm/theme/color-scheme/interface.js.map +1 -1
  836. package/esm/theme/color-scheme/util.d.ts +6 -3
  837. package/esm/theme/color-scheme/util.js +31 -7
  838. package/esm/theme/color-scheme/util.js.map +1 -1
  839. package/esm/theme/interface.d.ts +22 -38
  840. package/esm/theme/interface.js.map +1 -1
  841. package/esm/theme/theme-manager.d.ts +1 -0
  842. package/esm/theme/theme-manager.js +6 -1
  843. package/esm/theme/theme-manager.js.map +1 -1
  844. package/esm/typings/spec/chart.d.ts +1 -1
  845. package/esm/typings/spec/chart.js.map +1 -1
  846. package/esm/typings/visual.d.ts +13 -12
  847. package/esm/typings/visual.js.map +1 -1
  848. package/esm/util/color.d.ts +0 -3
  849. package/esm/util/color.js +0 -10
  850. package/esm/util/color.js.map +1 -1
  851. package/esm/util/scale.d.ts +12 -1
  852. package/esm/util/scale.js +6 -2
  853. package/esm/util/scale.js.map +1 -1
  854. package/esm/vchart-all.js +5 -5
  855. package/esm/vchart-all.js.map +1 -1
  856. package/package.json +1 -1
  857. package/cjs/chart/boxplot/boxPlot.js.map +0 -1
  858. package/cjs/chart/boxplot/index.js.map +0 -1
  859. package/cjs/chart/boxplot/interface.js.map +0 -1
  860. package/cjs/component/map-label/config.d.ts +0 -2
  861. package/cjs/component/map-label/config.js.map +0 -1
  862. package/cjs/mark/boxPlot.js.map +0 -1
  863. package/cjs/series/box-plot/boxPlot.js.map +0 -1
  864. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  865. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  866. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  867. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  868. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  869. package/cjs/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  870. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  871. package/cjs/theme/buildin-theme/light/component/polar-axis.js +0 -19
  872. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  873. package/cjs/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  874. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  875. package/esm/chart/boxplot/boxPlot.js.map +0 -1
  876. package/esm/chart/boxplot/index.js.map +0 -1
  877. package/esm/chart/boxplot/interface.js.map +0 -1
  878. package/esm/component/map-label/config.d.ts +0 -2
  879. package/esm/component/map-label/config.js.map +0 -1
  880. package/esm/series/box-plot/boxPlot.js.map +0 -1
  881. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  882. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  883. package/esm/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  884. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  885. package/esm/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  886. package/esm/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  887. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  888. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  889. package/esm/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  890. package/esm/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  891. /package/cjs/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  892. /package/cjs/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  893. /package/cjs/chart/{boxplot → box-plot}/interface.js +0 -0
  894. /package/esm/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  895. /package/esm/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  896. /package/esm/chart/{boxplot → box-plot}/interface.js +0 -0
@@ -2,16 +2,20 @@ import { MarkTypeEnum } from "../../mark/interface";
2
2
 
3
3
  import { isValid, radians } from "../../util";
4
4
 
5
- import { SeriesTypeEnum } from "../interface";
5
+ import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface";
6
6
 
7
7
  import { ProgressLikeSeries } from "../polar/progress-like/progress-like";
8
8
 
9
- import { DataSet, DataView, dataViewParser } from "@visactor/vdataset";
10
-
11
- import { registerDataSetInstanceParser, registerDataSetInstanceTransform } from "../../data/register";
9
+ import { registerDataSetInstanceTransform } from "../../data/register";
12
10
 
13
11
  import { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from "../../constant";
14
12
 
13
+ import { animationConfig, userAnimationConfig } from "../../animation/utils";
14
+
15
+ import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
16
+
17
+ import { BaseSeries } from "../base/base-series";
18
+
15
19
  export class GaugeSeries extends ProgressLikeSeries {
16
20
  constructor() {
17
21
  super(...arguments), this.type = SeriesTypeEnum.gauge, this._segmentMark = null,
@@ -22,26 +26,21 @@ export class GaugeSeries extends ProgressLikeSeries {
22
26
  super.setAttrFromSpec(), this._padAngle = radians(null !== (_a = this._spec.padAngle) && void 0 !== _a ? _a : 0);
23
27
  }
24
28
  initData() {
29
+ var _a;
25
30
  super.initData();
26
- const dataSet = new DataSet;
27
- registerDataSetInstanceParser(dataSet, "dataview", dataViewParser), registerDataSetInstanceTransform(dataSet, "spiltSegment", ((data, op) => {
28
- const dataCollect = [ ...data[0].latestData ];
31
+ registerDataSetInstanceTransform(this._option.dataSet, "spiltSegment", ((data, op) => {
32
+ const dataCollect = [ ...data ];
29
33
  return dataCollect.sort(((a, b) => a[this._angleField[0]] - b[this._angleField[0]])),
30
34
  dataCollect.forEach(((datum, i) => {
31
35
  datum[SEGMENT_FIELD_END] = datum[this._angleField[0]], datum[SEGMENT_FIELD_START] = i > 0 ? dataCollect[i - 1][SEGMENT_FIELD_END] : void 0;
32
36
  })), dataCollect;
33
- }));
34
- const segmentDataView = new DataView(dataSet);
35
- segmentDataView.parse([ this.getViewData() ], {
36
- type: "dataview"
37
- }), segmentDataView.transform({
37
+ })), null === (_a = this.getViewDataFilter()) || void 0 === _a || _a.transform({
38
38
  type: "spiltSegment"
39
- }, !1), this._segmentData = segmentDataView;
39
+ }, !1);
40
40
  }
41
41
  initMark() {
42
- this._trackMark = this._createMark(MarkTypeEnum.progressArc, "track"), this._segmentMark = this._createMark(MarkTypeEnum.progressArc, "segment", {
43
- isSeriesMark: !0,
44
- dataView: this._segmentData
42
+ this._trackMark = this._createMark(GaugeSeries.mark.track), this._segmentMark = this._createMark(GaugeSeries.mark.segment, {
43
+ isSeriesMark: !0
45
44
  });
46
45
  }
47
46
  initMarkStyle() {
@@ -67,7 +66,6 @@ export class GaugeSeries extends ProgressLikeSeries {
67
66
  boundsMode: "imprecise",
68
67
  cornerRadius: this._spec.cornerRadius,
69
68
  fill: this.getColorAttribute(),
70
- fillOpacity: 1,
71
69
  zIndex: 200,
72
70
  forceShowCap: !0
73
71
  }), this._trigger.registerMark(segmentMark), null === (_b = this._tooltipHelper) || void 0 === _b || _b.activeTriggerSet.mark.add(segmentMark));
@@ -91,7 +89,23 @@ export class GaugeSeries extends ProgressLikeSeries {
91
89
  var _a;
92
90
  return this.angleAxisHelper.dataToPosition([ datum[SEGMENT_FIELD_END] ]) - (null !== (_a = this._spec.padAngle) && void 0 !== _a ? _a : 0) / 2;
93
91
  }
92
+ initAnimation() {
93
+ var _a, _b;
94
+ const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
95
+ this._segmentMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.circularProgress({
96
+ startAngle: this._startAngle
97
+ }, appearPreset), userAnimationConfig(SeriesMarkNameEnum.segment, this._spec)));
98
+ }
94
99
  }
95
100
 
96
- GaugeSeries.type = SeriesTypeEnum.gauge;
101
+ GaugeSeries.type = SeriesTypeEnum.gauge, GaugeSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
102
+ [SeriesMarkNameEnum.segment]: {
103
+ name: SeriesMarkNameEnum.segment,
104
+ type: MarkTypeEnum.progressArc
105
+ },
106
+ [SeriesMarkNameEnum.track]: {
107
+ name: SeriesMarkNameEnum.track,
108
+ type: MarkTypeEnum.progressArc
109
+ }
110
+ });
97
111
  //# sourceMappingURL=gauge.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/gauge/gauge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,MAAM,OAAO,WAAY,SAAQ,kBAAoC;IAArE;;QAEE,SAAI,GAAG,cAAc,CAAC,KAAK,CAAC;QAIpB,iBAAY,GAA4B,IAAI,CAAC;QAC7C,eAAU,GAA4B,IAAI,CAAC;QAEzC,WAAM,GAAY,KAAK,CAAC;QACxB,cAAS,GAAW,CAAC,CAAC;IAmHlC,CAAC;IA/GC,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QAKjB,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAE,EAAU,EAAE,EAAE;YAEzD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5C,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,WAAW,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,CAAC,EAAE,EAAE;gBACpC,KAAK,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,KAAK,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBACpE;qBAAM;oBACL,KAAK,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAGF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,6BAA6B,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACnE,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;YAC1C,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,eAAe,CAAC,SAAS,CACvB;YACE,IAAI,EAAE,cAAc;SACrB,EACD,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAqB,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE;YACxE,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,YAAY;SAC5B,CAAqB,CAAC;IACzB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,oBAAoB;;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;gBAC7B,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/C,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3C,WAAW,EAAE,GAAG,EAAE,WAAC,OAAA,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,CAAC,CAAC,CAAA,EAAA;gBAE9E,WAAW,EAAE,GAAG,EAAE,eAAC,OAAA,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,CAAC,CAAC,CAAA,EAAA;gBACnG,GAAG,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,KAAK;gBACjC,UAAU,EAAE,WAAW;gBACvB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;gBACrC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAC9B,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,GAAG;gBAIX,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACxC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC7D;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;gBAC3B,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;gBACrC,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAES,mBAAmB,CAAC,KAAY;;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrB,OAAO,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAES,iBAAiB,CAAC,KAAY;;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;;AA3He,gBAAI,GAAW,cAAc,CAAC,KAAK,CAAC","file":"gauge.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, radians } from '../../util';\nimport { SeriesTypeEnum } from '../interface';\nimport type { IGaugeSeriesSpec, IGaugeSeriesTheme } from './interface';\nimport { ProgressLikeSeries } from '../polar/progress-like/progress-like';\nimport type { IProgressArcMark } from '../../mark/progress-arc';\nimport { DataSet, DataView, dataViewParser } from '@visactor/vdataset';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from '../../constant';\nimport type { Datum } from '@visactor/vgrammar';\nimport type { Maybe } from '../../typings';\n\nexport class GaugeSeries extends ProgressLikeSeries<IGaugeSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.gauge;\n type = SeriesTypeEnum.gauge;\n\n protected declare _theme: Maybe<IGaugeSeriesTheme>;\n\n private _segmentMark: IProgressArcMark | null = null;\n private _trackMark: IProgressArcMark | null = null;\n\n protected _stack: boolean = false;\n protected _padAngle: number = 0;\n\n protected _segmentData: DataView;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this._padAngle = radians(this._spec.padAngle ?? 0);\n }\n\n initData(): void {\n super.initData();\n\n /**\n * @description 将数据排序并调整图元的起始点为上一个数据的终点,但是终点维持不变\n */\n const spiltSegment = (data: Array<DataView>, op: string) => {\n // 数据处理\n const dataCollect = [...data[0].latestData];\n dataCollect.sort((a, b) => a[this._angleField[0]] - b[this._angleField[0]]);\n dataCollect.forEach((datum: any, i) => {\n datum[SEGMENT_FIELD_END] = datum[this._angleField[0]];\n if (i > 0) {\n datum[SEGMENT_FIELD_START] = dataCollect[i - 1][SEGMENT_FIELD_END];\n } else {\n datum[SEGMENT_FIELD_START] = undefined;\n }\n });\n return dataCollect;\n };\n\n // data to dataview\n const dataSet = new DataSet();\n registerDataSetInstanceParser(dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceTransform(dataSet, 'spiltSegment', spiltSegment);\n const segmentDataView = new DataView(dataSet);\n segmentDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n segmentDataView.transform(\n {\n type: 'spiltSegment'\n },\n false\n );\n\n this._segmentData = segmentDataView;\n }\n\n initMark(): void {\n this._trackMark = this._createMark(MarkTypeEnum.progressArc, 'track') as IProgressArcMark;\n this._segmentMark = this._createMark(MarkTypeEnum.progressArc, 'segment', {\n isSeriesMark: true,\n dataView: this._segmentData\n }) as IProgressArcMark;\n }\n\n initMarkStyle(): void {\n this.initTrackMarkStyle();\n this.initSegmentMarkStyle();\n }\n\n private initSegmentMarkStyle() {\n const segmentMark = this._segmentMark;\n if (segmentMark) {\n this.setMarkStyle(segmentMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n // 需要优先兼容this._spec.radius\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1),\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n fillOpacity: 1,\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n this._trigger.registerMark(segmentMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(segmentMark);\n }\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n cornerRadius: this._spec.cornerRadius,\n zIndex: 100\n });\n this._trigger.registerMark(trackMark);\n }\n }\n\n protected _getAngleValueStart(datum: Datum) {\n const angle = isValid(datum[SEGMENT_FIELD_START])\n ? this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_START]])\n : this._startAngle;\n return angle + (this._spec.padAngle ?? 0) / 2;\n }\n\n protected _getAngleValueEnd(datum: Datum) {\n const angle = this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_END]]);\n return angle - (this._spec.padAngle ?? 0) / 2;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, radians } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IGaugeSeriesSpec, IGaugeSeriesTheme } from './interface';\nimport { ProgressLikeSeries } from '../polar/progress-like/progress-like';\nimport type { IProgressArcMark } from '../../mark/progress-arc';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from '../../constant';\nimport type { Datum } from '@visactor/vgrammar';\nimport type { Maybe } from '../../typings';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { BaseSeries } from '../base/base-series';\n\nexport class GaugeSeries extends ProgressLikeSeries<IGaugeSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.gauge;\n type = SeriesTypeEnum.gauge;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.segment]: { name: SeriesMarkNameEnum.segment, type: MarkTypeEnum.progressArc },\n [SeriesMarkNameEnum.track]: { name: SeriesMarkNameEnum.track, type: MarkTypeEnum.progressArc }\n };\n\n protected declare _theme: Maybe<IGaugeSeriesTheme>;\n\n private _segmentMark: IProgressArcMark | null = null;\n private _trackMark: IProgressArcMark | null = null;\n\n protected _stack: boolean = false;\n protected _padAngle: number = 0;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this._padAngle = radians(this._spec.padAngle ?? 0);\n }\n\n initData(): void {\n super.initData();\n\n /**\n * @description 将数据排序并调整图元的起始点为上一个数据的终点,但是终点维持不变\n */\n const spiltSegment = (data: Datum[], op: string) => {\n // 数据处理\n const dataCollect = [...data];\n dataCollect.sort((a, b) => a[this._angleField[0]] - b[this._angleField[0]]);\n dataCollect.forEach((datum: any, i) => {\n datum[SEGMENT_FIELD_END] = datum[this._angleField[0]];\n if (i > 0) {\n datum[SEGMENT_FIELD_START] = dataCollect[i - 1][SEGMENT_FIELD_END];\n } else {\n datum[SEGMENT_FIELD_START] = undefined;\n }\n });\n return dataCollect;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'spiltSegment', spiltSegment);\n this.getViewDataFilter()?.transform(\n {\n type: 'spiltSegment'\n },\n false\n );\n }\n\n initMark(): void {\n this._trackMark = this._createMark(GaugeSeries.mark.track) as IProgressArcMark;\n this._segmentMark = this._createMark(GaugeSeries.mark.segment, {\n isSeriesMark: true\n }) as IProgressArcMark;\n }\n\n initMarkStyle(): void {\n this.initTrackMarkStyle();\n this.initSegmentMarkStyle();\n }\n\n private initSegmentMarkStyle() {\n const segmentMark = this._segmentMark;\n if (segmentMark) {\n this.setMarkStyle(segmentMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n // 需要优先兼容this._spec.radius\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1),\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n this._trigger.registerMark(segmentMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(segmentMark);\n }\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n cornerRadius: this._spec.cornerRadius,\n zIndex: 100\n });\n this._trigger.registerMark(trackMark);\n }\n }\n\n protected _getAngleValueStart(datum: Datum) {\n const angle = isValid(datum[SEGMENT_FIELD_START])\n ? this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_START]])\n : this._startAngle;\n return angle + (this._spec.padAngle ?? 0) / 2;\n }\n\n protected _getAngleValueEnd(datum: Datum) {\n const angle = this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_END]]);\n return angle - (this._spec.padAngle ?? 0) / 2;\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._segmentMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.circularProgress(\n {\n startAngle: this._startAngle\n },\n appearPreset\n ),\n userAnimationConfig(SeriesMarkNameEnum.segment, this._spec)\n )\n );\n }\n}\n"]}
@@ -3,14 +3,15 @@ import type { IArcMarkSpec, IPathMarkSpec, IProgressArcMarkSpec, IRectMarkSpec }
3
3
  import type { IProgressLikeSeriesSpec, IProgressLikeSeriesTheme } from '../polar/progress-like/interface';
4
4
  import type { IAnimationSpec } from '../../animation/spec';
5
5
  import type { ProgressLikeAppearPreset } from '../polar/progress-like';
6
+ import type { SeriesMarkNameEnum } from '../interface';
6
7
  export type GaugePointerMarks = 'pointer' | 'pin' | 'pinBackground';
7
8
  export interface IGaugePointerSeriesSpec extends IProgressLikeSeriesSpec, IAnimationSpec<GaugePointerMarks, ProgressLikeAppearPreset> {
8
9
  type: 'gaugePointer';
9
10
  valueField: string | string[];
10
11
  radiusField: string;
11
- pin?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
12
- pinBackground?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
13
- pointer?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;
12
+ [SeriesMarkNameEnum.pin]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
13
+ [SeriesMarkNameEnum.pinBackground]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
14
+ [SeriesMarkNameEnum.pointer]?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;
14
15
  }
15
16
  export type PointerMarkSpec = {
16
17
  type: 'path' | 'rect';
@@ -25,19 +26,19 @@ export type PinMarkSpec = {
25
26
  height?: number;
26
27
  };
27
28
  export interface IGaugePointerSeriesTheme extends IProgressLikeSeriesTheme {
28
- pin?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
29
- pinBackground?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
30
- pointer?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;
29
+ [SeriesMarkNameEnum.pin]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
30
+ [SeriesMarkNameEnum.pinBackground]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
31
+ [SeriesMarkNameEnum.pointer]?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;
31
32
  }
32
33
  export type GaugeMarks = 'segment' | 'track';
33
- export interface IGaugeSeriesSpec extends IProgressLikeSeriesSpec {
34
+ export interface IGaugeSeriesSpec extends IProgressLikeSeriesSpec, IAnimationSpec<GaugeMarks, ProgressLikeAppearPreset> {
34
35
  type: 'gauge';
35
36
  padAngle?: number;
36
- segment?: IMarkSpec<IProgressArcMarkSpec>;
37
- track?: IMarkSpec<IArcMarkSpec>;
37
+ [SeriesMarkNameEnum.segment]?: IMarkSpec<IProgressArcMarkSpec>;
38
+ [SeriesMarkNameEnum.track]?: IMarkSpec<IArcMarkSpec>;
38
39
  }
39
40
  export interface IGaugeSeriesTheme extends IProgressLikeSeriesTheme {
40
41
  padAngle?: number;
41
- segment?: Partial<IMarkTheme<IProgressArcMarkSpec>>;
42
- track?: Partial<IMarkTheme<IArcMarkSpec>>;
42
+ [SeriesMarkNameEnum.segment]?: Partial<IMarkTheme<IProgressArcMarkSpec>>;
43
+ [SeriesMarkNameEnum.track]?: Partial<IMarkTheme<IArcMarkSpec>>;
43
44
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/gauge/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec, IMarkTheme } from '../../typings/spec';\nimport type { IArcMarkSpec, IPathMarkSpec, IProgressArcMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IProgressLikeSeriesSpec, IProgressLikeSeriesTheme } from '../polar/progress-like/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { ProgressLikeAppearPreset } from '../polar/progress-like';\n\nexport type GaugePointerMarks = 'pointer' | 'pin' | 'pinBackground';\n\nexport interface IGaugePointerSeriesSpec\n extends IProgressLikeSeriesSpec,\n IAnimationSpec<GaugePointerMarks, ProgressLikeAppearPreset> {\n type: 'gaugePointer';\n\n /** 数值字段(可影响指针角度) */\n valueField: string | string[];\n\n /** 半径字段(可影响指针长度,GaugePointerSeries 没有 categoryField) */\n radiusField: string;\n\n /** 图钉前景样式 */\n pin?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 图钉背景样式 */\n pinBackground?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 指针样式 */\n pointer?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;\n}\n\nexport type PointerMarkSpec = {\n type: 'path' | 'rect';\n\n /** 指针宽度比例(0~1) */\n width?: number;\n /** 指针长度比例(0~1)(为空则挂载 radius) */\n height?: number;\n /** 指针靠近圆心的一端离圆心的距离 */\n innerPadding?: number;\n /** 指针靠近边缘的一端离边缘的距离 */\n outerPadding?: number;\n\n /** 中心点坐标(0~1) */\n center?: [number, number];\n};\n\nexport type PinMarkSpec = {\n /** 宽度 */\n width?: number;\n /** 高度 */\n height?: number;\n};\n\nexport interface IGaugePointerSeriesTheme extends IProgressLikeSeriesTheme {\n /** 图钉前景样式 */\n pin?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 图钉背景样式 */\n pinBackground?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 指针样式 */\n pointer?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;\n}\n\nexport type GaugeMarks = 'segment' | 'track';\n\nexport interface IGaugeSeriesSpec extends IProgressLikeSeriesSpec {\n type: 'gauge';\n\n /** 扇区间隔角度 */\n padAngle?: number;\n\n /** 扇区样式 */\n segment?: IMarkSpec<IProgressArcMarkSpec>;\n /** 背景样式 */\n track?: IMarkSpec<IArcMarkSpec>;\n}\n\nexport interface IGaugeSeriesTheme extends IProgressLikeSeriesTheme {\n /** 扇区间隔角度 */\n padAngle?: number;\n\n /** 扇区样式 */\n segment?: Partial<IMarkTheme<IProgressArcMarkSpec>>;\n /** 背景样式 */\n track?: Partial<IMarkTheme<IArcMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/gauge/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec, IMarkTheme } from '../../typings/spec';\nimport type { IArcMarkSpec, IPathMarkSpec, IProgressArcMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IProgressLikeSeriesSpec, IProgressLikeSeriesTheme } from '../polar/progress-like/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { ProgressLikeAppearPreset } from '../polar/progress-like';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport type GaugePointerMarks = 'pointer' | 'pin' | 'pinBackground';\n\nexport interface IGaugePointerSeriesSpec\n extends IProgressLikeSeriesSpec,\n IAnimationSpec<GaugePointerMarks, ProgressLikeAppearPreset> {\n type: 'gaugePointer';\n\n /** 数值字段(可影响指针角度) */\n valueField: string | string[];\n\n /** 半径字段(可影响指针长度,GaugePointerSeries 没有 categoryField) */\n radiusField: string;\n\n /** 图钉前景样式 */\n [SeriesMarkNameEnum.pin]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 图钉背景样式 */\n [SeriesMarkNameEnum.pinBackground]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 指针样式 */\n [SeriesMarkNameEnum.pointer]?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;\n}\n\nexport type PointerMarkSpec = {\n type: 'path' | 'rect';\n\n /** 指针宽度比例(0~1) */\n width?: number;\n /** 指针长度比例(0~1)(为空则挂载 radius) */\n height?: number;\n /** 指针靠近圆心的一端离圆心的距离 */\n innerPadding?: number;\n /** 指针靠近边缘的一端离边缘的距离 */\n outerPadding?: number;\n\n /** 中心点坐标(0~1) */\n center?: [number, number];\n};\n\nexport type PinMarkSpec = {\n /** 宽度 */\n width?: number;\n /** 高度 */\n height?: number;\n};\n\nexport interface IGaugePointerSeriesTheme extends IProgressLikeSeriesTheme {\n /** 图钉前景样式 */\n [SeriesMarkNameEnum.pin]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 图钉背景样式 */\n [SeriesMarkNameEnum.pinBackground]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 指针样式 */\n [SeriesMarkNameEnum.pointer]?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;\n}\n\nexport type GaugeMarks = 'segment' | 'track';\n\nexport interface IGaugeSeriesSpec\n extends IProgressLikeSeriesSpec,\n IAnimationSpec<GaugeMarks, ProgressLikeAppearPreset> {\n type: 'gauge';\n\n /** 扇区间隔角度 */\n padAngle?: number;\n\n /** 扇区样式 */\n [SeriesMarkNameEnum.segment]?: IMarkSpec<IProgressArcMarkSpec>;\n /** 背景样式 */\n [SeriesMarkNameEnum.track]?: IMarkSpec<IArcMarkSpec>;\n}\n\nexport interface IGaugeSeriesTheme extends IProgressLikeSeriesTheme {\n /** 扇区间隔角度 */\n padAngle?: number;\n\n /** 扇区样式 */\n [SeriesMarkNameEnum.segment]?: Partial<IMarkTheme<IProgressArcMarkSpec>>;\n /** 背景样式 */\n [SeriesMarkNameEnum.track]?: Partial<IMarkTheme<IArcMarkSpec>>;\n}\n"]}
@@ -3,12 +3,14 @@ import type { Maybe } from '../../typings';
3
3
  import type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';
4
4
  import type { IAxisHelper } from '../../component/axis/cartesian/interface';
5
5
  import type { ITextMark } from '../../mark/text';
6
+ import type { SeriesMarkMap } from '../interface';
6
7
  import { SeriesTypeEnum } from '../interface';
7
8
  import type { ICellMark } from '../../mark/cell';
8
9
  export declare const DefaultBandWidth = 6;
9
10
  export declare class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {
10
11
  static readonly type: string;
11
12
  type: SeriesTypeEnum;
13
+ static readonly mark: SeriesMarkMap;
12
14
  protected _theme: Maybe<IHeatmapSeriesTheme>;
13
15
  protected _cellMark: ICellMark;
14
16
  protected _backgroundMark: ICellMark;
@@ -22,7 +24,7 @@ export declare class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {
22
24
  initCellMarkStyle(): void;
23
25
  initCellBackgroundMarkStyle(): void;
24
26
  getColorAttribute(): {
25
- scale: import("@visactor/vscale").IBaseScale | import("@visactor/vscale").OrdinalScale;
27
+ scale: any;
26
28
  field: any;
27
29
  };
28
30
  initAnimation(): void;
@@ -8,7 +8,7 @@ import { array, merge } from "../../util";
8
8
 
9
9
  import { animationConfig, shouldDoMorph, userAnimationConfig } from "../../animation/utils";
10
10
 
11
- import { SeriesTypeEnum } from "../interface";
11
+ import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface";
12
12
 
13
13
  import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
14
14
 
@@ -16,6 +16,8 @@ import { normalizePadding } from "@visactor/vutils";
16
16
 
17
17
  import { HeatmapSeriesTooltipHelper } from "./tooltip-helper";
18
18
 
19
+ import { BaseSeries } from "../base/base-series";
20
+
19
21
  export const DefaultBandWidth = 6;
20
22
 
21
23
  export class HeatmapSeries extends CartesianSeries {
@@ -38,7 +40,7 @@ export class HeatmapSeries extends CartesianSeries {
38
40
  large: this._spec.large,
39
41
  largeThreshold: this._spec.largeThreshold
40
42
  };
41
- this._cellMark = this._createMark(MarkTypeEnum.cell, "cell", {
43
+ this._cellMark = this._createMark(HeatmapSeries.mark.cell, {
42
44
  morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig("cell", this._spec)),
43
45
  defaultMorphElementKey: this.getDimensionField()[0],
44
46
  isSeriesMark: !0,
@@ -46,7 +48,7 @@ export class HeatmapSeries extends CartesianSeries {
46
48
  animation: this._spec.animation
47
49
  }, this._spec.label),
48
50
  progressive: progressive
49
- }), this._backgroundMark = this._createMark(MarkTypeEnum.cell, "cellBackground", {
51
+ }), this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground, {
50
52
  progressive: progressive
51
53
  });
52
54
  }
@@ -60,15 +62,14 @@ export class HeatmapSeries extends CartesianSeries {
60
62
  });
61
63
  }
62
64
  initCellMarkStyle() {
63
- var _a, _b, _c, _d;
65
+ var _a;
64
66
  this.setMarkStyle(this._cellMark, {
65
67
  x: datum => this.dataToPositionX(datum),
66
68
  y: datum => this.dataToPositionY(datum),
67
69
  size: () => [ this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper) ],
68
- fill: this.getColorAttribute(),
69
- fillOpacity: null !== (_c = null === (_b = null === (_a = this._theme.cell) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fillOpacity) && void 0 !== _c ? _c : 1
70
+ fill: this.getColorAttribute()
70
71
  }, "normal", AttributeLevel.Series), this._trigger.registerMark(this._cellMark),
71
- null === (_d = this._tooltipHelper) || void 0 === _d || _d.activeTriggerSet.mark.add(this._cellMark);
72
+ null === (_a = this._tooltipHelper) || void 0 === _a || _a.activeTriggerSet.mark.add(this._cellMark);
72
73
  }
73
74
  initCellBackgroundMarkStyle() {
74
75
  var _a, _b, _c;
@@ -96,7 +97,7 @@ export class HeatmapSeries extends CartesianSeries {
96
97
  initAnimation() {
97
98
  var _a, _b;
98
99
  const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
99
- this._cellMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.heatmap(appearPreset), userAnimationConfig("cell", this._spec), {
100
+ this._cellMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.heatmap(appearPreset), userAnimationConfig(SeriesMarkNameEnum.cell, this._spec), {
100
101
  dataIndex: datum => {
101
102
  var _a, _b, _c;
102
103
  const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
@@ -127,5 +128,14 @@ export class HeatmapSeries extends CartesianSeries {
127
128
  }
128
129
  }
129
130
 
130
- HeatmapSeries.type = SeriesTypeEnum.heatmap;
131
+ HeatmapSeries.type = SeriesTypeEnum.heatmap, HeatmapSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
132
+ [SeriesMarkNameEnum.cell]: {
133
+ name: SeriesMarkNameEnum.cell,
134
+ type: MarkTypeEnum.cell
135
+ },
136
+ [SeriesMarkNameEnum.cellBackground]: {
137
+ name: SeriesMarkNameEnum.cellBackground,
138
+ type: MarkTypeEnum.cell
139
+ }
140
+ });
131
141
  //# sourceMappingURL=heatmap.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"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","file":"heatmap.js","sourcesContent":["import { CartesianSeries } from '../cartesian/cartesian';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum } from '../../typings';\nimport { array, merge } from '../../util';\nimport type { HeatmapAppearPreset } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { ITextMark } from '../../mark/text';\nimport { SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ICellMark } from '../../mark/cell';\nimport { normalizePadding } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n protected declare _theme: Maybe<IHeatmapSeriesTheme>;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(MarkTypeEnum.cell, 'cell', {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('cell', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label),\n progressive\n }) as ICellMark;\n\n this._backgroundMark = this._createMark(MarkTypeEnum.cell, 'cellBackground', {\n progressive\n }) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute(),\n fillOpacity: this._theme.cell?.style?.fillOpacity ?? 1\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._cellMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(this._cellMark);\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._cellMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.heatmap(appearPreset), userAnimationConfig('cell', this._spec), {\n dataIndex\n })\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n /**\n * spec 更新\n * @param spec\n * @returns\n */\n updateSpec(spec: IHeatmapSeriesSpec) {\n // super updateSpec 会执行 setAttrFromSpec 所以先缓存比对值\n const { direction } = this._spec;\n const result = super.updateSpec(spec);\n if (spec.direction !== direction) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,eAAmC;IAAtE;;QAEE,SAAI,GAAG,cAAc,CAAC,OAAO,CAAC;IAsLhC,CAAC;IAxKC,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,CAAoB;QAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;YACzD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrG,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnE,WAAW;SACZ,CAAc,CAAC;QAEhB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE;YACzE,WAAW;SACZ,CAAc,CAAC;IAClB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,QAAmB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;gBACrB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;;QACf,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC;YACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,2BAA2B;;QACzB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,0CAAE,KAAK,0CAAE,OAAO,mCAAI,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAGD,iBAAiB;;QACf,OAAO;YAEL,KAAK,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAI,IAAI,CAAC,oBAAoB,EAAE;YAChF,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,aAAa;;QACX,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAA0D,0CAAE,MAAM,CAAC;QAErG,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;;YAC/B,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAE,0CAAE,UAAU,0CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnG,OAAO,MAAM,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,eAAe,CACb,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,EAC5C,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EACxD;YACE,SAAS;SACV,CACF,CACF,CAAC;IACJ,CAAC;IAES,WAAW,CAAC,UAAuB;;QAC3C,OAAO,MAAA,MAAA,UAAU,CAAC,YAAY,2DAAG,CAAC,CAAC,mCAAI,gBAAgB,CAAC;IAC1D,CAAC;IAOD,UAAU,CAAC,IAAwB;QAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;;AAtLe,kBAAI,GAAW,cAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,mCACf,UAAU,CAAC,IAAI,KAClB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EACrF,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IACzG","file":"heatmap.js","sourcesContent":["import { CartesianSeries } from '../cartesian/cartesian';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum } from '../../typings';\nimport { array, merge } from '../../util';\nimport type { HeatmapAppearPreset } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ICellMark } from '../../mark/cell';\nimport { normalizePadding } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\nimport { BaseSeries } from '../base/base-series';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.cell]: { name: SeriesMarkNameEnum.cell, type: MarkTypeEnum.cell },\n [SeriesMarkNameEnum.cellBackground]: { name: SeriesMarkNameEnum.cellBackground, type: MarkTypeEnum.cell }\n };\n\n protected declare _theme: Maybe<IHeatmapSeriesTheme>;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(HeatmapSeries.mark.cell, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('cell', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label),\n progressive\n }) as ICellMark;\n\n this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground, {\n progressive\n }) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._cellMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(this._cellMark);\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._cellMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.heatmap(appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.cell, this._spec),\n {\n dataIndex\n }\n )\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n /**\n * spec 更新\n * @param spec\n * @returns\n */\n updateSpec(spec: IHeatmapSeriesSpec) {\n // super updateSpec 会执行 setAttrFromSpec 所以先缓存比对值\n const { direction } = this._spec;\n const result = super.updateSpec(spec);\n if (spec.direction !== direction) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n}\n"]}
@@ -5,18 +5,19 @@ import type { IAnimationSpec } from '../../animation/spec';
5
5
  import type { HeatmapAppearPreset } from './animation';
6
6
  import type { ILabelSpec } from '../../component/label';
7
7
  import type { IMarkProgressiveConfig } from '../../mark/interface';
8
+ import type { SeriesMarkNameEnum } from '../interface';
8
9
  type HeatmapMarks = 'cell' | 'background' | 'label';
9
10
  export interface IHeatmapSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<HeatmapMarks, HeatmapAppearPreset>, IMarkProgressiveConfig {
10
11
  type: 'heatmap';
11
12
  valueField?: string;
12
- cell?: IMarkSpec<IRectMarkSpec>;
13
- cellBackground?: IMarkSpec<IRectMarkSpec>;
14
- label?: ILabelSpec & {
13
+ [SeriesMarkNameEnum.cell]?: IMarkSpec<IRectMarkSpec>;
14
+ [SeriesMarkNameEnum.cellBackground]?: IMarkSpec<IRectMarkSpec>;
15
+ [SeriesMarkNameEnum.label]?: ILabelSpec & {
15
16
  position?: 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';
16
17
  };
17
18
  }
18
19
  export interface IHeatmapSeriesTheme extends ICartesianSeriesTheme {
19
- cell?: Partial<IMarkTheme<IRectMarkSpec>>;
20
- cellBackground?: Partial<IMarkTheme<IRectMarkSpec>>;
20
+ [SeriesMarkNameEnum.cell]?: Partial<IMarkTheme<IRectMarkSpec>>;
21
+ [SeriesMarkNameEnum.cellBackground]?: Partial<IMarkTheme<IRectMarkSpec>>;
21
22
  }
22
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/heatmap/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { HeatmapAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\ntype HeatmapMarks = 'cell' | 'background' | 'label';\n\nexport interface IHeatmapSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<HeatmapMarks, HeatmapAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'heatmap';\n\n /** 值 field */\n valueField?: string;\n\n /** 图元配置 */\n cell?: IMarkSpec<IRectMarkSpec>;\n\n /** 图元背景配置 */\n cellBackground?: IMarkSpec<IRectMarkSpec>;\n\n /** 标签配置*/\n label?: ILabelSpec & {\n /** 标签位置 */\n position?: 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';\n };\n}\n\nexport interface IHeatmapSeriesTheme extends ICartesianSeriesTheme {\n cell?: Partial<IMarkTheme<IRectMarkSpec>>;\n cellBackground?: Partial<IMarkTheme<IRectMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/heatmap/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { HeatmapAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface';\n\ntype HeatmapMarks = 'cell' | 'background' | 'label';\n\nexport interface IHeatmapSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<HeatmapMarks, HeatmapAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'heatmap';\n\n /** 值 field */\n valueField?: string;\n\n /** 图元配置 */\n [SeriesMarkNameEnum.cell]?: IMarkSpec<IRectMarkSpec>;\n\n /** 图元背景配置 */\n [SeriesMarkNameEnum.cellBackground]?: IMarkSpec<IRectMarkSpec>;\n\n /** 标签配置*/\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 标签位置 */\n position?: 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';\n };\n}\n\nexport interface IHeatmapSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.cell]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [SeriesMarkNameEnum.cellBackground]?: Partial<IMarkTheme<IRectMarkSpec>>;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { DataView } from '@visactor/vdataset';
2
2
  import type { IGrammarItem } from '../../compile/interface';
3
3
  import type { IGroupMark } from '../../mark/group';
4
- import type { IModelOption } from '../../model/interface';
4
+ import type { IModelMarkInfo, IModelOption } from '../../model/interface';
5
5
  import type { IRegion } from '../../region/interface';
6
6
  import type { RenderMode } from '../../typings/spec/common';
7
7
  import type { ISeries } from './series';
@@ -21,6 +21,7 @@ export interface ISeriesOption extends IModelOption {
21
21
  }
22
22
  export interface ISeriesConstructor {
23
23
  type: string;
24
+ mark?: SeriesMarkMap;
24
25
  new (spec: any, options: ISeriesOption): ISeries;
25
26
  }
26
27
  export interface ISeriesInitOption {
@@ -63,3 +64,57 @@ export interface ISeriesMarkInitOption {
63
64
  label?: ILabelSpec;
64
65
  support3d?: boolean;
65
66
  }
67
+ export interface ISeriesMarkInfo extends IModelMarkInfo {
68
+ name: SeriesMarkNameEnum | string;
69
+ }
70
+ export declare enum SeriesMarkNameEnum {
71
+ label = "label",
72
+ point = "point",
73
+ line = "line",
74
+ area = "area",
75
+ bar = "bar",
76
+ bar3d = "bar3d",
77
+ boxPlot = "boxPlot",
78
+ outlier = "outlier",
79
+ circlePacking = "circlePacking",
80
+ group = "group",
81
+ gridBackground = "gridBackground",
82
+ grid = "grid",
83
+ dot = "dot",
84
+ title = "title",
85
+ subTitle = "subTitle",
86
+ symbol = "symbol",
87
+ funnel = "funnel",
88
+ funnel3d = "funnel3d",
89
+ transform = "transform",
90
+ transform3d = "transform3d",
91
+ transformLabel = "transformLabel",
92
+ outerLabel = "outerLabel",
93
+ outerLabelLine = "outerLabelLine",
94
+ pin = "pin",
95
+ pinBackground = "pinBackground",
96
+ pointer = "pointer",
97
+ segment = "segment",
98
+ track = "track",
99
+ cell = "cell",
100
+ cellBackground = "cellBackground",
101
+ link = "link",
102
+ arrow = "arrow",
103
+ pie = "pie",
104
+ pie3d = "pie3d",
105
+ labelLine = "labelLine",
106
+ progress = "progress",
107
+ minLabel = "minLabel",
108
+ maxLabel = "maxLabel",
109
+ rose = "rose",
110
+ node = "node",
111
+ sunburst = "sunburst",
112
+ nonLeaf = "nonLeaf",
113
+ leaf = "leaf",
114
+ nonLeafLabel = "nonLeafLabel",
115
+ leaderLine = "leaderLine",
116
+ stackLabel = "stackLabel",
117
+ word = "word",
118
+ fillingWord = "fillingWord"
119
+ }
120
+ export type SeriesMarkMap = Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>>;
@@ -1,2 +1,25 @@
1
- export { };
1
+ export var SeriesMarkNameEnum;
2
+
3
+ !function(SeriesMarkNameEnum) {
4
+ SeriesMarkNameEnum.label = "label", SeriesMarkNameEnum.point = "point", SeriesMarkNameEnum.line = "line",
5
+ SeriesMarkNameEnum.area = "area", SeriesMarkNameEnum.bar = "bar", SeriesMarkNameEnum.bar3d = "bar3d",
6
+ SeriesMarkNameEnum.boxPlot = "boxPlot", SeriesMarkNameEnum.outlier = "outlier",
7
+ SeriesMarkNameEnum.circlePacking = "circlePacking", SeriesMarkNameEnum.group = "group",
8
+ SeriesMarkNameEnum.gridBackground = "gridBackground", SeriesMarkNameEnum.grid = "grid",
9
+ SeriesMarkNameEnum.dot = "dot", SeriesMarkNameEnum.title = "title", SeriesMarkNameEnum.subTitle = "subTitle",
10
+ SeriesMarkNameEnum.symbol = "symbol", SeriesMarkNameEnum.funnel = "funnel", SeriesMarkNameEnum.funnel3d = "funnel3d",
11
+ SeriesMarkNameEnum.transform = "transform", SeriesMarkNameEnum.transform3d = "transform3d",
12
+ SeriesMarkNameEnum.transformLabel = "transformLabel", SeriesMarkNameEnum.outerLabel = "outerLabel",
13
+ SeriesMarkNameEnum.outerLabelLine = "outerLabelLine", SeriesMarkNameEnum.pin = "pin",
14
+ SeriesMarkNameEnum.pinBackground = "pinBackground", SeriesMarkNameEnum.pointer = "pointer",
15
+ SeriesMarkNameEnum.segment = "segment", SeriesMarkNameEnum.track = "track", SeriesMarkNameEnum.cell = "cell",
16
+ SeriesMarkNameEnum.cellBackground = "cellBackground", SeriesMarkNameEnum.link = "link",
17
+ SeriesMarkNameEnum.arrow = "arrow", SeriesMarkNameEnum.pie = "pie", SeriesMarkNameEnum.pie3d = "pie3d",
18
+ SeriesMarkNameEnum.labelLine = "labelLine", SeriesMarkNameEnum.progress = "progress",
19
+ SeriesMarkNameEnum.minLabel = "minLabel", SeriesMarkNameEnum.maxLabel = "maxLabel",
20
+ SeriesMarkNameEnum.rose = "rose", SeriesMarkNameEnum.node = "node", SeriesMarkNameEnum.sunburst = "sunburst",
21
+ SeriesMarkNameEnum.nonLeaf = "nonLeaf", SeriesMarkNameEnum.leaf = "leaf", SeriesMarkNameEnum.nonLeafLabel = "nonLeafLabel",
22
+ SeriesMarkNameEnum.leaderLine = "leaderLine", SeriesMarkNameEnum.stackLabel = "stackLabel",
23
+ SeriesMarkNameEnum.word = "word", SeriesMarkNameEnum.fillingWord = "fillingWord";
24
+ }(SeriesMarkNameEnum || (SeriesMarkNameEnum = {}));
2
25
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGrammarItem } from '../../compile/interface';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { RenderMode } from '../../typings/spec/common';\nimport type { ISeries } from './series';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { StringOrNumber } from '../../typings';\nimport type { ILabelSpec } from '../../component/label';\n\n// export type SeriesStyle = 'color' | 'size' | 'shape';\n\nexport interface ISeriesSeriesInfo {\n key: string;\n index?: number;\n // 样式的值类型可能是 StringOrNumber | number[] | xxxx\n style: (attribute: string) => any;\n /** series 对应的缩略图类型 */\n shapeType: string;\n}\n\nexport interface ISeriesOption extends IModelOption {\n mode: RenderMode;\n region: IRegion;\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n}\n\nexport interface ISeriesConstructor {\n type: string;\n new (spec: any, options: ISeriesOption): ISeries;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesInitOption {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesUpdateDataOption {}\n\nexport interface ISeriesStackDataNode {\n nodes: {\n [key: string]: ISeriesStackDataMeta;\n };\n}\nexport interface ISeriesStackDataLeaf {\n values: any[];\n}\n\nexport type ISeriesStackDataMeta = ISeriesStackDataNode | ISeriesStackDataLeaf;\nexport type ISeriesStackData = ISeriesStackDataNode;\n\nexport type ISeriesStyle = ISeriesStyleItem[];\nexport type ISeriesStyleItem = {\n name: string;\n} & {\n [markName: string]: {\n style?: any;\n };\n};\n\nexport interface ISeriesMarkInitOption {\n /** theme spec */\n themeSpec?: any;\n\n /** mark spec */\n markSpec?: any;\n\n /** 是否在编译时更新实际数据 */\n skipBeforeLayouted?: boolean;\n\n /** 父级 mark(如果是 undefined 则默认是系列的 root mark,如果是 false 则不配置父级 mark) */\n parent?: IGroupMark | false;\n\n /** 是否是 series field 所作用的 mark(用于 tooltip shape 取色等) */\n isSeriesMark?: boolean;\n\n /** 该 mark 依赖于哪些语法元素 */\n depend?: IGrammarItem | IGrammarItem[];\n\n /** 数据 key 值 */\n key?: string;\n\n /** 分组 key 值 */\n groupKey?: string;\n\n /** morph 配置开关 */\n morph?: boolean;\n\n /** morph元素的唯一key */\n defaultMorphElementKey?: string;\n\n /** 绑定系列数据(如果是 undefined 则默认是系列的 data,如果是 false 则不配置数据) */\n dataView?: DataView | false;\n /** 系列数据编译产物的名称 */\n dataProductId?: string;\n /** mark scale 如果需要使用统计信息设置domain的话,使用的统计数据 */\n dataStatistics?: DataView;\n\n /** 渐进渲染相关配置 */\n progressive?: IMarkProgressiveConfig;\n\n /** 标签spec */\n label?: ILabelSpec;\n\n /** 是否支持 3d */\n support3d?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/interface/common.ts"],"names":[],"mappings":"AAiHA,MAAM,CAAN,IAAY,kBAiDX;AAjDD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;AAC7B,CAAC,EAjDW,kBAAkB,KAAlB,kBAAkB,QAiD7B","file":"common.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGrammarItem } from '../../compile/interface';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelMarkInfo, IModelOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { RenderMode } from '../../typings/spec/common';\nimport type { ISeries } from './series';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { StringOrNumber } from '../../typings';\nimport type { ILabelSpec } from '../../component/label';\n\n// export type SeriesStyle = 'color' | 'size' | 'shape';\n\nexport interface ISeriesSeriesInfo {\n key: string;\n index?: number;\n // 样式的值类型可能是 StringOrNumber | number[] | xxxx\n style: (attribute: string) => any;\n /** series 对应的缩略图类型 */\n shapeType: string;\n}\n\nexport interface ISeriesOption extends IModelOption {\n mode: RenderMode;\n region: IRegion;\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n}\n\nexport interface ISeriesConstructor {\n type: string;\n mark?: SeriesMarkMap;\n new (spec: any, options: ISeriesOption): ISeries;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesInitOption {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesUpdateDataOption {}\n\nexport interface ISeriesStackDataNode {\n nodes: {\n [key: string]: ISeriesStackDataMeta;\n };\n}\nexport interface ISeriesStackDataLeaf {\n values: any[];\n}\n\nexport type ISeriesStackDataMeta = ISeriesStackDataNode | ISeriesStackDataLeaf;\nexport type ISeriesStackData = ISeriesStackDataNode;\n\nexport type ISeriesStyle = ISeriesStyleItem[];\nexport type ISeriesStyleItem = {\n name: string;\n} & {\n [markName: string]: {\n style?: any;\n };\n};\n\nexport interface ISeriesMarkInitOption {\n /** theme spec */\n themeSpec?: any;\n\n /** mark spec */\n markSpec?: any;\n\n /** 是否在编译时更新实际数据 */\n skipBeforeLayouted?: boolean;\n\n /** 父级 mark(如果是 undefined 则默认是系列的 root mark,如果是 false 则不配置父级 mark) */\n parent?: IGroupMark | false;\n\n /** 是否是 series field 所作用的 mark(用于 tooltip shape 取色等) */\n isSeriesMark?: boolean;\n\n /** 该 mark 依赖于哪些语法元素 */\n depend?: IGrammarItem | IGrammarItem[];\n\n /** 数据 key 值 */\n key?: string;\n\n /** 分组 key 值 */\n groupKey?: string;\n\n /** morph 配置开关 */\n morph?: boolean;\n\n /** morph元素的唯一key */\n defaultMorphElementKey?: string;\n\n /** 绑定系列数据(如果是 undefined 则默认是系列的 data,如果是 false 则不配置数据) */\n dataView?: DataView | false;\n /** 系列数据编译产物的名称 */\n dataProductId?: string;\n /** mark scale 如果需要使用统计信息设置domain的话,使用的统计数据 */\n dataStatistics?: DataView;\n\n /** 渐进渲染相关配置 */\n progressive?: IMarkProgressiveConfig;\n\n /** 标签spec */\n label?: ILabelSpec;\n\n /** 是否支持 3d */\n support3d?: boolean;\n}\n\nexport interface ISeriesMarkInfo extends IModelMarkInfo {\n /** mark 名称 */\n name: SeriesMarkNameEnum | string;\n}\n\nexport enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord'\n}\n\nexport type SeriesMarkMap = Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>>;\n"]}
@@ -44,7 +44,7 @@ export interface ISeries extends IModel, ILayoutItem {
44
44
  initMark: () => void;
45
45
  getMarks: () => IMark[];
46
46
  getMarksWithoutRoot: () => IMark[];
47
- getMarkMap: () => Record<string, IMark>;
47
+ getMarkNameMap: () => Record<string, IMark>;
48
48
  getMarksInType: (type: string | string[]) => IMark[];
49
49
  getMarkInName: (name: string) => IMark | undefined;
50
50
  getMarkInId: (id: number) => IMark | undefined;
@@ -79,6 +79,7 @@ export interface ISeries extends IModel, ILayoutItem {
79
79
  scale: IBaseScale;
80
80
  field: string;
81
81
  };
82
+ getDefaultColorDomain: () => any[];
82
83
  getInvalidType: () => IInvalidType;
83
84
  getTrigger: () => ITrigger;
84
85
  getDefaultShapeType: () => string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ITrigger } from '../../interaction/interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, ILayoutItem } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { Group } from '../base/group';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesStackData, ISeriesUpdateDataOption } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType } from '../../typings';\nimport type { StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { ITextMark } from '../../mark/text';\nimport type { IArcLabelSpec } from '../pie/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel, ILayoutItem {\n readonly type: string;\n readonly name?: string;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatistics?: () => DataView | undefined;\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any, opt: ISeriesUpdateDataOption) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => Group | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: any) => IPoint | null;\n dataToPositionX: (xValue: any) => number | null;\n dataToPositionY: (yValue: any) => number | null;\n dataToPositionZ?: (yValue: any) => number | null;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n getTrigger: () => ITrigger;\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (textMark: ITextMark) => void;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n\n dataToPosition: (datum: any) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n center: (() => IPoint) | IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n getLabelConfig: () => IArcLabelSpec;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries {\n getPoints: (datum: any) => IPoint[];\n}\n"]}
1
+ {"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ITrigger } from '../../interaction/interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, ILayoutItem } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { Group } from '../base/group';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesStackData, ISeriesUpdateDataOption } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType } from '../../typings';\nimport type { StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { ITextMark } from '../../mark/text';\nimport type { IArcLabelSpec } from '../pie/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel, ILayoutItem {\n readonly type: string;\n readonly name?: string;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatistics?: () => DataView | undefined;\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any, opt: ISeriesUpdateDataOption) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => Group | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: any) => IPoint | null;\n dataToPositionX: (xValue: any) => number | null;\n dataToPositionY: (yValue: any) => number | null;\n dataToPositionZ?: (yValue: any) => number | null;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n getTrigger: () => ITrigger;\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (textMark: ITextMark) => void;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n\n dataToPosition: (datum: any) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n center: (() => IPoint) | IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n getLabelConfig: () => IArcLabelSpec;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries {\n getPoints: (datum: any) => IPoint[];\n}\n"]}