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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (954) hide show
  1. package/README.md +82 -1
  2. package/build/index.js +2910 -2222
  3. package/build/index.min.js +2 -2
  4. package/cjs/animation/utils.d.ts +4 -2
  5. package/cjs/animation/utils.js +8 -3
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base-chart.js +2 -2
  8. package/cjs/chart/base-chart.js.map +1 -1
  9. package/cjs/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  10. package/cjs/chart/box-plot/box-plot.js.map +1 -0
  11. package/{esm/chart/boxplot → cjs/chart/box-plot}/index.d.ts +1 -1
  12. package/cjs/chart/{boxplot → box-plot}/index.js +1 -1
  13. package/cjs/chart/box-plot/index.js.map +1 -0
  14. package/cjs/chart/box-plot/interface.js.map +1 -0
  15. package/cjs/chart/index.d.ts +3 -1
  16. package/cjs/chart/index.js +2 -1
  17. package/cjs/chart/index.js.map +1 -1
  18. package/cjs/chart/treemap/treemap.js.map +1 -1
  19. package/cjs/compile/compiler.d.ts +4 -4
  20. package/cjs/compile/compiler.js +25 -26
  21. package/cjs/compile/compiler.js.map +1 -1
  22. package/cjs/compile/data/compilable-data.d.ts +1 -1
  23. package/cjs/compile/interface/compiler.d.ts +0 -5
  24. package/cjs/compile/interface/compiler.js.map +1 -1
  25. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  26. package/cjs/compile/mark/interface.js.map +1 -1
  27. package/cjs/compile/signal/state-manager.d.ts +1 -1
  28. package/cjs/component/axis/base-axis.d.ts +70 -1
  29. package/cjs/component/axis/base-axis.js +93 -4
  30. package/cjs/component/axis/base-axis.js.map +1 -1
  31. package/cjs/component/axis/cartesian/axis.d.ts +0 -1
  32. package/cjs/component/axis/cartesian/axis.js +3 -6
  33. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  34. package/cjs/component/axis/polar/axis.d.ts +0 -1
  35. package/cjs/component/axis/polar/axis.js +3 -6
  36. package/cjs/component/axis/polar/axis.js.map +1 -1
  37. package/cjs/component/axis/utils.d.ts +13 -70
  38. package/cjs/component/axis/utils.js +23 -109
  39. package/cjs/component/axis/utils.js.map +1 -1
  40. package/cjs/component/base/base-component.d.ts +0 -5
  41. package/cjs/component/base/base-component.js +8 -19
  42. package/cjs/component/base/base-component.js.map +1 -1
  43. package/cjs/component/base/util.d.ts +1 -1
  44. package/cjs/component/base/util.js +20 -9
  45. package/cjs/component/base/util.js.map +1 -1
  46. package/cjs/component/crosshair/base.d.ts +0 -1
  47. package/cjs/component/crosshair/base.js +1 -4
  48. package/cjs/component/crosshair/base.js.map +1 -1
  49. package/cjs/component/custom-mark/custom-mark.js +4 -1
  50. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  51. package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -2
  52. package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
  53. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  54. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  55. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
  56. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  57. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  58. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  59. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  60. package/cjs/component/interface/index.d.ts +1 -0
  61. package/cjs/component/interface/index.js +1 -1
  62. package/cjs/component/interface/index.js.map +1 -1
  63. package/cjs/component/interface/theme.d.ts +38 -0
  64. package/cjs/component/interface/theme.js +6 -0
  65. package/cjs/component/interface/theme.js.map +1 -0
  66. package/cjs/component/label/label.d.ts +0 -1
  67. package/cjs/component/label/label.js +12 -6
  68. package/cjs/component/label/label.js.map +1 -1
  69. package/cjs/component/legend/base-legend.js +5 -2
  70. package/cjs/component/legend/base-legend.js.map +1 -1
  71. package/cjs/component/legend/continuous/legend.d.ts +1 -1
  72. package/cjs/component/legend/continuous/legend.js +2 -2
  73. package/cjs/component/legend/continuous/legend.js.map +1 -1
  74. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  75. package/cjs/component/legend/discrete/legend.js +2 -2
  76. package/cjs/component/legend/discrete/legend.js.map +1 -1
  77. package/cjs/component/legend/util.d.ts +4 -4
  78. package/cjs/component/map-label/component.js +2 -2
  79. package/cjs/component/map-label/component.js.map +1 -1
  80. package/cjs/component/map-label/interface.d.ts +6 -4
  81. package/cjs/component/map-label/interface.js.map +1 -1
  82. package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -1
  83. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  84. package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -1
  85. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  86. package/cjs/component/marker/mark-point/interface/spec.d.ts +2 -1
  87. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  88. package/cjs/component/marker/utils.js +14 -9
  89. package/cjs/component/marker/utils.js.map +1 -1
  90. package/cjs/component/player/interface/theme.d.ts +2 -1
  91. package/cjs/component/player/interface/theme.js.map +1 -1
  92. package/cjs/component/player/player.d.ts +0 -1
  93. package/cjs/component/player/player.js +0 -3
  94. package/cjs/component/player/player.js.map +1 -1
  95. package/cjs/component/player/utils/transform.js.map +1 -1
  96. package/cjs/component/title/interface/theme.d.ts +4 -2
  97. package/cjs/component/title/interface/theme.js.map +1 -1
  98. package/cjs/component/title/title.d.ts +1 -1
  99. package/cjs/component/title/title.js +4 -6
  100. package/cjs/component/title/title.js.map +1 -1
  101. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  102. package/cjs/component/tooltip/handler/base.js +9 -8
  103. package/cjs/component/tooltip/handler/base.js.map +1 -1
  104. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  105. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -4
  106. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  107. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  108. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -2
  109. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  110. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  111. package/cjs/component/tooltip/tooltip.js +1 -1
  112. package/cjs/component/tooltip/tooltip.js.map +1 -1
  113. package/cjs/constant/base.d.ts +1 -1
  114. package/cjs/constant/base.js +1 -1
  115. package/cjs/constant/base.js.map +1 -1
  116. package/cjs/constant/box-plot.js +1 -2
  117. package/cjs/constant/label.js +2 -1
  118. package/cjs/core/factory.d.ts +1 -0
  119. package/cjs/core/factory.js +3 -0
  120. package/cjs/core/factory.js.map +1 -1
  121. package/cjs/core/instance-manager.d.ts +9 -0
  122. package/cjs/core/instance-manager.js +26 -0
  123. package/cjs/core/instance-manager.js.map +1 -0
  124. package/cjs/core/interface.js +1 -2
  125. package/cjs/core/vchart.d.ts +2 -6
  126. package/cjs/core/vchart.js +10 -24
  127. package/cjs/core/vchart.js.map +1 -1
  128. package/cjs/data/initialize.js +2 -1
  129. package/cjs/data/transforms/add-property.d.ts +5 -5
  130. package/cjs/data/transforms/add-property.js +3 -3
  131. package/cjs/data/transforms/add-property.js.map +1 -1
  132. package/cjs/data/transforms/data-key.d.ts +3 -3
  133. package/cjs/data/transforms/data-key.js.map +1 -1
  134. package/cjs/index.d.ts +1 -1
  135. package/cjs/index.js +1 -1
  136. package/cjs/index.js.map +1 -1
  137. package/cjs/mark/arc.d.ts +1 -1
  138. package/cjs/mark/arc.js +4 -3
  139. package/cjs/mark/arc.js.map +1 -1
  140. package/cjs/mark/area.d.ts +3 -2
  141. package/cjs/mark/area.js +8 -4
  142. package/cjs/mark/area.js.map +1 -1
  143. package/cjs/mark/base/base-mark.js +2 -1
  144. package/cjs/mark/base/base-mark.js.map +1 -1
  145. package/cjs/mark/base/index.d.ts +1 -2
  146. package/cjs/mark/base/index.js +1 -10
  147. package/cjs/mark/base/index.js.map +1 -1
  148. package/{esm/mark/boxPlot.d.ts → cjs/mark/box-plot.d.ts} +1 -1
  149. package/cjs/mark/{boxPlot.js → box-plot.js} +3 -3
  150. package/{esm/mark/boxPlot.js.map → cjs/mark/box-plot.js.map} +1 -1
  151. package/cjs/mark/component.d.ts +1 -1
  152. package/cjs/mark/component.js +2 -2
  153. package/cjs/mark/component.js.map +1 -1
  154. package/cjs/mark/group.js +1 -1
  155. package/cjs/mark/line.d.ts +1 -1
  156. package/cjs/mark/line.js +3 -3
  157. package/cjs/mark/line.js.map +1 -1
  158. package/cjs/mark/linkPath.d.ts +1 -1
  159. package/cjs/mark/linkPath.js +3 -3
  160. package/cjs/mark/linkPath.js.map +1 -1
  161. package/cjs/mark/mark-set/index.d.ts +6 -5
  162. package/cjs/mark/mark-set/index.js +15 -12
  163. package/cjs/mark/mark-set/index.js.map +1 -1
  164. package/cjs/mark/path.d.ts +1 -1
  165. package/cjs/mark/path.js +3 -3
  166. package/cjs/mark/path.js.map +1 -1
  167. package/cjs/mark/polygon.d.ts +1 -1
  168. package/cjs/mark/polygon.js +2 -2
  169. package/cjs/mark/polygon.js.map +1 -1
  170. package/cjs/mark/rect.d.ts +1 -1
  171. package/cjs/mark/rect.js +5 -4
  172. package/cjs/mark/rect.js.map +1 -1
  173. package/cjs/mark/rule.d.ts +1 -1
  174. package/cjs/mark/rule.js +2 -2
  175. package/cjs/mark/rule.js.map +1 -1
  176. package/cjs/mark/symbol.d.ts +1 -1
  177. package/cjs/mark/symbol.js +4 -3
  178. package/cjs/mark/symbol.js.map +1 -1
  179. package/cjs/mark/text.d.ts +1 -1
  180. package/cjs/mark/text.js +4 -3
  181. package/cjs/mark/text.js.map +1 -1
  182. package/cjs/model/base-model.d.ts +13 -6
  183. package/cjs/model/base-model.js +53 -30
  184. package/cjs/model/base-model.js.map +1 -1
  185. package/cjs/model/interface.d.ts +8 -2
  186. package/cjs/model/interface.js +1 -1
  187. package/cjs/model/interface.js.map +1 -1
  188. package/cjs/model/layout-item.js +22 -19
  189. package/cjs/model/layout-item.js.map +1 -1
  190. package/cjs/model/model-state-manager.js +1 -1
  191. package/cjs/model/tooltip-helper.js +1 -1
  192. package/cjs/region/region.d.ts +1 -4
  193. package/cjs/region/region.js +16 -13
  194. package/cjs/region/region.js.map +1 -1
  195. package/cjs/scale/color-ordinal-scale.d.ts +8 -0
  196. package/cjs/scale/color-ordinal-scale.js +24 -0
  197. package/cjs/scale/color-ordinal-scale.js.map +1 -0
  198. package/cjs/scale/global-scale.js +2 -1
  199. package/cjs/scale/global-scale.js.map +1 -1
  200. package/cjs/series/area/area.d.ts +2 -0
  201. package/cjs/series/area/area.js +15 -9
  202. package/cjs/series/area/area.js.map +1 -1
  203. package/cjs/series/area/interface.d.ts +5 -5
  204. package/cjs/series/area/interface.js.map +1 -1
  205. package/cjs/series/bar/bar.d.ts +6 -0
  206. package/cjs/series/bar/bar.js +25 -10
  207. package/cjs/series/bar/bar.js.map +1 -1
  208. package/cjs/series/bar/interface.d.ts +5 -4
  209. package/cjs/series/bar/interface.js.map +1 -1
  210. package/cjs/series/base/base-series.d.ts +12 -13
  211. package/cjs/series/base/base-series.js +56 -34
  212. package/cjs/series/base/base-series.js.map +1 -1
  213. package/{esm/series/box-plot/boxPlot.d.ts → cjs/series/box-plot/box-plot.d.ts} +2 -0
  214. package/cjs/series/box-plot/{boxPlot.js → box-plot.js} +18 -8
  215. package/cjs/series/box-plot/box-plot.js.map +1 -0
  216. package/cjs/series/box-plot/interface.d.ts +3 -2
  217. package/cjs/series/box-plot/interface.js.map +1 -1
  218. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  219. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  220. package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
  221. package/cjs/series/circle-packing/circle-packing.js +15 -10
  222. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  223. package/cjs/series/circle-packing/interface.d.ts +5 -4
  224. package/cjs/series/circle-packing/interface.js.map +1 -1
  225. package/cjs/series/dot/dot.d.ts +6 -8
  226. package/cjs/series/dot/dot.js +43 -17
  227. package/cjs/series/dot/dot.js.map +1 -1
  228. package/cjs/series/dot/interface.d.ts +10 -10
  229. package/cjs/series/dot/interface.js.map +1 -1
  230. package/cjs/series/funnel/funnel.d.ts +12 -2
  231. package/cjs/series/funnel/funnel.js +92 -31
  232. package/cjs/series/funnel/funnel.js.map +1 -1
  233. package/cjs/series/funnel/interface.d.ts +16 -15
  234. package/cjs/series/funnel/interface.js.map +1 -1
  235. package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
  236. package/cjs/series/gauge/gauge-pointer.js +22 -6
  237. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  238. package/cjs/series/gauge/gauge.d.ts +3 -2
  239. package/cjs/series/gauge/gauge.js +26 -17
  240. package/cjs/series/gauge/gauge.js.map +1 -1
  241. package/cjs/series/gauge/interface.d.ts +12 -11
  242. package/cjs/series/gauge/interface.js.map +1 -1
  243. package/cjs/series/heatmap/heatmap.d.ts +3 -1
  244. package/cjs/series/heatmap/heatmap.js +19 -11
  245. package/cjs/series/heatmap/heatmap.js.map +1 -1
  246. package/cjs/series/heatmap/interface.d.ts +6 -5
  247. package/cjs/series/heatmap/interface.js.map +1 -1
  248. package/cjs/series/interface/common.d.ts +56 -1
  249. package/cjs/series/interface/common.js +24 -1
  250. package/cjs/series/interface/common.js.map +1 -1
  251. package/cjs/series/interface/series.d.ts +2 -1
  252. package/cjs/series/interface/series.js.map +1 -1
  253. package/cjs/series/line/line.d.ts +2 -0
  254. package/cjs/series/line/line.js +7 -5
  255. package/cjs/series/line/line.js.map +1 -1
  256. package/cjs/series/link/interface.d.ts +4 -4
  257. package/cjs/series/link/interface.js.map +1 -1
  258. package/cjs/series/link/link.d.ts +4 -7
  259. package/cjs/series/link/link.js +20 -14
  260. package/cjs/series/link/link.js.map +1 -1
  261. package/cjs/series/map/map.d.ts +2 -0
  262. package/cjs/series/map/map.js +15 -8
  263. package/cjs/series/map/map.js.map +1 -1
  264. package/cjs/series/mixin/line-mixin.d.ts +4 -3
  265. package/cjs/series/mixin/line-mixin.js +16 -9
  266. package/cjs/series/mixin/line-mixin.js.map +1 -1
  267. package/cjs/series/pie/interface.d.ts +7 -6
  268. package/cjs/series/pie/interface.js.map +1 -1
  269. package/cjs/series/pie/pie.d.ts +8 -3
  270. package/cjs/series/pie/pie.js +67 -39
  271. package/cjs/series/pie/pie.js.map +1 -1
  272. package/cjs/series/progress/circular/circular.d.ts +2 -0
  273. package/cjs/series/progress/circular/circular.js +16 -9
  274. package/cjs/series/progress/circular/circular.js.map +1 -1
  275. package/cjs/series/progress/circular/interface.d.ts +5 -4
  276. package/cjs/series/progress/circular/interface.js.map +1 -1
  277. package/cjs/series/progress/linear/interface.d.ts +6 -5
  278. package/cjs/series/progress/linear/interface.js.map +1 -1
  279. package/cjs/series/progress/linear/linear.d.ts +2 -0
  280. package/cjs/series/progress/linear/linear.js +31 -21
  281. package/cjs/series/progress/linear/linear.js.map +1 -1
  282. package/cjs/series/radar/interface.d.ts +5 -4
  283. package/cjs/series/radar/interface.js.map +1 -1
  284. package/cjs/series/radar/radar.d.ts +2 -0
  285. package/cjs/series/radar/radar.js +9 -4
  286. package/cjs/series/radar/radar.js.map +1 -1
  287. package/cjs/series/range-area/range-area.d.ts +2 -0
  288. package/cjs/series/range-area/range-area.js +4 -3
  289. package/cjs/series/range-area/range-area.js.map +1 -1
  290. package/cjs/series/range-column/interface.d.ts +9 -8
  291. package/cjs/series/range-column/interface.js.map +1 -1
  292. package/cjs/series/range-column/rangeColumn.d.ts +2 -0
  293. package/cjs/series/range-column/rangeColumn.js +32 -23
  294. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  295. package/cjs/series/rose/interface.d.ts +3 -2
  296. package/cjs/series/rose/interface.js.map +1 -1
  297. package/cjs/series/rose/rose.d.ts +2 -0
  298. package/cjs/series/rose/rose.js +15 -15
  299. package/cjs/series/rose/rose.js.map +1 -1
  300. package/cjs/series/sankey/animation.js.map +1 -1
  301. package/cjs/series/sankey/interface.d.ts +7 -6
  302. package/cjs/series/sankey/interface.js.map +1 -1
  303. package/cjs/series/sankey/sankey.d.ts +2 -0
  304. package/cjs/series/sankey/sankey.js +29 -26
  305. package/cjs/series/sankey/sankey.js.map +1 -1
  306. package/cjs/series/scatter/interface.d.ts +6 -5
  307. package/cjs/series/scatter/interface.js.map +1 -1
  308. package/cjs/series/scatter/scatter.d.ts +2 -0
  309. package/cjs/series/scatter/scatter.js +16 -12
  310. package/cjs/series/scatter/scatter.js.map +1 -1
  311. package/cjs/series/sunburst/interface.d.ts +5 -4
  312. package/cjs/series/sunburst/interface.js.map +1 -1
  313. package/cjs/series/sunburst/sunburst.d.ts +3 -1
  314. package/cjs/series/sunburst/sunburst.js +11 -6
  315. package/cjs/series/sunburst/sunburst.js.map +1 -1
  316. package/cjs/series/treemap/interface.d.ts +9 -8
  317. package/cjs/series/treemap/interface.js.map +1 -1
  318. package/cjs/series/treemap/treemap.d.ts +2 -0
  319. package/cjs/series/treemap/treemap.js +21 -8
  320. package/cjs/series/treemap/treemap.js.map +1 -1
  321. package/cjs/series/waterfall/interface.d.ts +6 -5
  322. package/cjs/series/waterfall/interface.js.map +1 -1
  323. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  324. package/cjs/series/waterfall/waterfall.js +15 -5
  325. package/cjs/series/waterfall/waterfall.js.map +1 -1
  326. package/cjs/series/word-cloud/interface.d.ts +7 -6
  327. package/cjs/series/word-cloud/interface.js.map +1 -1
  328. package/cjs/series/word-cloud/word-cloud.d.ts +4 -3
  329. package/cjs/series/word-cloud/word-cloud.js +22 -11
  330. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  331. package/cjs/theme/buildin-theme/config.d.ts +1 -4
  332. package/cjs/theme/buildin-theme/config.js +2 -18
  333. package/cjs/theme/buildin-theme/config.js.map +1 -1
  334. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  335. package/cjs/theme/buildin-theme/light/color-scheme.js +14 -1
  336. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  337. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  338. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js +22 -0
  339. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  340. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  341. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  342. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  343. package/cjs/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  344. package/cjs/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  345. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  346. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  347. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js +22 -0
  348. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  349. package/cjs/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  350. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +25 -0
  351. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  352. package/cjs/theme/buildin-theme/light/component/crosshair.js +9 -5
  353. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  354. package/cjs/theme/buildin-theme/light/component/data-zoom.js +10 -10
  355. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  356. package/cjs/theme/buildin-theme/light/component/index.d.ts +2 -0
  357. package/cjs/theme/buildin-theme/light/component/index.js +32 -0
  358. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -0
  359. package/cjs/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  360. package/cjs/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +3 -3
  361. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  362. package/cjs/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  363. package/cjs/theme/buildin-theme/light/component/legend/continuous.js +60 -0
  364. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  365. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  366. package/cjs/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +17 -6
  367. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  368. package/cjs/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  369. package/cjs/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +3 -3
  370. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  371. package/cjs/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  372. package/cjs/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +8 -8
  373. package/cjs/theme/buildin-theme/light/component/map-label.js.map +1 -0
  374. package/cjs/theme/buildin-theme/light/component/player.js +20 -11
  375. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  376. package/cjs/theme/buildin-theme/light/component/title.js +19 -3
  377. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -1
  378. package/cjs/theme/buildin-theme/light/component/tooltip.js +7 -3
  379. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  380. package/cjs/theme/buildin-theme/light/constants.d.ts +2 -0
  381. package/cjs/theme/buildin-theme/light/constants.js +16 -0
  382. package/cjs/theme/buildin-theme/light/constants.js.map +1 -0
  383. package/cjs/theme/buildin-theme/light/index.js +5 -20
  384. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  385. package/cjs/theme/buildin-theme/light/mark.d.ts +3 -0
  386. package/cjs/theme/buildin-theme/light/mark.js +72 -0
  387. package/cjs/theme/buildin-theme/light/mark.js.map +1 -0
  388. package/cjs/theme/buildin-theme/light/series/area.js +2 -12
  389. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  390. package/cjs/theme/buildin-theme/light/series/bar.js +2 -2
  391. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  392. package/cjs/theme/buildin-theme/light/series/bar3d.js +2 -2
  393. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  394. package/cjs/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  395. package/cjs/theme/buildin-theme/light/series/box-plot.js +12 -0
  396. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  397. package/cjs/theme/buildin-theme/light/series/circular-progress.js +11 -1
  398. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  399. package/cjs/theme/buildin-theme/light/series/funnel.js +8 -5
  400. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  401. package/cjs/theme/buildin-theme/light/series/funnel3d.js +9 -6
  402. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  403. package/cjs/theme/buildin-theme/light/series/gauge.js +6 -1
  404. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  405. package/cjs/theme/buildin-theme/light/series/index.js +5 -2
  406. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  407. package/cjs/theme/buildin-theme/light/series/line.js +2 -7
  408. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  409. package/cjs/theme/buildin-theme/light/series/linear-progress.js +5 -0
  410. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  411. package/cjs/theme/buildin-theme/light/series/map.js +8 -4
  412. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  413. package/cjs/theme/buildin-theme/light/series/pie.js +9 -2
  414. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  415. package/cjs/theme/buildin-theme/light/series/pie3d.js +4 -3
  416. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  417. package/cjs/theme/buildin-theme/light/series/radar.js +2 -12
  418. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  419. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  420. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  421. package/cjs/theme/buildin-theme/light/series/rose.d.ts +2 -0
  422. package/cjs/theme/buildin-theme/light/series/rose.js +20 -0
  423. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -0
  424. package/cjs/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  425. package/cjs/theme/buildin-theme/light/series/sankey.js +14 -0
  426. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -0
  427. package/cjs/theme/buildin-theme/light/series/scatter.js +10 -4
  428. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  429. package/cjs/theme/buildin-theme/light/series/treemap.js +4 -4
  430. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  431. package/cjs/theme/buildin-theme/light/series/waterfall.js +3 -3
  432. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  433. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  434. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  435. package/cjs/theme/color-scheme/interface.d.ts +16 -8
  436. package/cjs/theme/color-scheme/interface.js.map +1 -1
  437. package/cjs/theme/color-scheme/util.d.ts +6 -3
  438. package/cjs/theme/color-scheme/util.js +39 -10
  439. package/cjs/theme/color-scheme/util.js.map +1 -1
  440. package/cjs/theme/interface.d.ts +22 -38
  441. package/cjs/theme/interface.js.map +1 -1
  442. package/cjs/theme/theme-manager.d.ts +1 -0
  443. package/cjs/theme/theme-manager.js +5 -2
  444. package/cjs/theme/theme-manager.js.map +1 -1
  445. package/cjs/typings/spec/chart.d.ts +1 -1
  446. package/cjs/typings/spec/chart.js.map +1 -1
  447. package/cjs/typings/visual.d.ts +13 -12
  448. package/cjs/typings/visual.js.map +1 -1
  449. package/cjs/util/color.d.ts +0 -3
  450. package/cjs/util/color.js +2 -12
  451. package/cjs/util/color.js.map +1 -1
  452. package/cjs/util/id.js +4 -4
  453. package/cjs/util/id.js.map +1 -1
  454. package/cjs/util/scale.d.ts +12 -1
  455. package/cjs/util/scale.js +4 -2
  456. package/cjs/util/scale.js.map +1 -1
  457. package/cjs/vchart-all.js +4 -4
  458. package/cjs/vchart-all.js.map +1 -1
  459. package/esm/animation/utils.d.ts +4 -2
  460. package/esm/animation/utils.js +4 -0
  461. package/esm/animation/utils.js.map +1 -1
  462. package/esm/chart/base-chart.js +3 -3
  463. package/esm/chart/base-chart.js.map +1 -1
  464. package/esm/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  465. package/esm/chart/box-plot/box-plot.js.map +1 -0
  466. package/{cjs/chart/boxplot → esm/chart/box-plot}/index.d.ts +1 -1
  467. package/esm/chart/{boxplot → box-plot}/index.js +1 -1
  468. package/esm/chart/box-plot/index.js.map +1 -0
  469. package/esm/chart/box-plot/interface.js.map +1 -0
  470. package/esm/chart/index.d.ts +3 -1
  471. package/esm/chart/index.js +5 -1
  472. package/esm/chart/index.js.map +1 -1
  473. package/esm/chart/treemap/treemap.js.map +1 -1
  474. package/esm/compile/compiler.d.ts +4 -4
  475. package/esm/compile/compiler.js +25 -26
  476. package/esm/compile/compiler.js.map +1 -1
  477. package/esm/compile/data/compilable-data.d.ts +1 -1
  478. package/esm/compile/interface/compiler.d.ts +0 -5
  479. package/esm/compile/interface/compiler.js.map +1 -1
  480. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  481. package/esm/compile/mark/interface.js.map +1 -1
  482. package/esm/compile/signal/state-manager.d.ts +1 -1
  483. package/esm/component/axis/base-axis.d.ts +70 -1
  484. package/esm/component/axis/base-axis.js +98 -4
  485. package/esm/component/axis/base-axis.js.map +1 -1
  486. package/esm/component/axis/cartesian/axis.d.ts +0 -1
  487. package/esm/component/axis/cartesian/axis.js +4 -7
  488. package/esm/component/axis/cartesian/axis.js.map +1 -1
  489. package/esm/component/axis/polar/axis.d.ts +0 -1
  490. package/esm/component/axis/polar/axis.js +4 -7
  491. package/esm/component/axis/polar/axis.js.map +1 -1
  492. package/esm/component/axis/utils.d.ts +13 -70
  493. package/esm/component/axis/utils.js +12 -99
  494. package/esm/component/axis/utils.js.map +1 -1
  495. package/esm/component/base/base-component.d.ts +0 -5
  496. package/esm/component/base/base-component.js +7 -20
  497. package/esm/component/base/base-component.js.map +1 -1
  498. package/esm/component/base/util.d.ts +1 -1
  499. package/esm/component/base/util.js +18 -9
  500. package/esm/component/base/util.js.map +1 -1
  501. package/esm/component/crosshair/base.d.ts +0 -1
  502. package/esm/component/crosshair/base.js +1 -4
  503. package/esm/component/crosshair/base.js.map +1 -1
  504. package/esm/component/custom-mark/custom-mark.js +4 -1
  505. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  506. package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -2
  507. package/esm/component/data-zoom/data-filter-base-component.js +2 -2
  508. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  509. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  510. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
  511. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  512. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  513. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  514. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  515. package/esm/component/interface/index.d.ts +1 -0
  516. package/esm/component/interface/index.js +2 -0
  517. package/esm/component/interface/index.js.map +1 -1
  518. package/esm/component/interface/theme.d.ts +38 -0
  519. package/esm/component/interface/theme.js +2 -0
  520. package/esm/component/interface/theme.js.map +1 -0
  521. package/esm/component/label/label.d.ts +0 -1
  522. package/esm/component/label/label.js +12 -6
  523. package/esm/component/label/label.js.map +1 -1
  524. package/esm/component/legend/base-legend.js +5 -2
  525. package/esm/component/legend/base-legend.js.map +1 -1
  526. package/esm/component/legend/continuous/legend.d.ts +1 -1
  527. package/esm/component/legend/continuous/legend.js +2 -2
  528. package/esm/component/legend/continuous/legend.js.map +1 -1
  529. package/esm/component/legend/discrete/legend.d.ts +1 -1
  530. package/esm/component/legend/discrete/legend.js +2 -2
  531. package/esm/component/legend/discrete/legend.js.map +1 -1
  532. package/esm/component/legend/util.d.ts +4 -4
  533. package/esm/component/map-label/component.js +1 -5
  534. package/esm/component/map-label/component.js.map +1 -1
  535. package/esm/component/map-label/interface.d.ts +6 -4
  536. package/esm/component/map-label/interface.js.map +1 -1
  537. package/esm/component/marker/mark-area/interface/spec.d.ts +2 -1
  538. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  539. package/esm/component/marker/mark-line/interface/spec.d.ts +2 -1
  540. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  541. package/esm/component/marker/mark-point/interface/spec.d.ts +2 -1
  542. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  543. package/esm/component/marker/utils.js +14 -9
  544. package/esm/component/marker/utils.js.map +1 -1
  545. package/esm/component/player/interface/theme.d.ts +2 -1
  546. package/esm/component/player/interface/theme.js.map +1 -1
  547. package/esm/component/player/player.d.ts +0 -1
  548. package/esm/component/player/player.js +0 -3
  549. package/esm/component/player/player.js.map +1 -1
  550. package/esm/component/player/utils/transform.js.map +1 -1
  551. package/esm/component/title/interface/theme.d.ts +4 -2
  552. package/esm/component/title/interface/theme.js.map +1 -1
  553. package/esm/component/title/title.d.ts +1 -1
  554. package/esm/component/title/title.js +3 -6
  555. package/esm/component/title/title.js.map +1 -1
  556. package/esm/component/tooltip/handler/base.d.ts +5 -3
  557. package/esm/component/tooltip/handler/base.js +9 -8
  558. package/esm/component/tooltip/handler/base.js.map +1 -1
  559. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  560. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +6 -6
  561. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  562. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  563. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -3
  564. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  565. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  566. package/esm/component/tooltip/tooltip.js +1 -1
  567. package/esm/component/tooltip/tooltip.js.map +1 -1
  568. package/esm/constant/base.d.ts +1 -1
  569. package/esm/constant/base.js +1 -1
  570. package/esm/constant/base.js.map +1 -1
  571. package/esm/constant/box-plot.js +1 -2
  572. package/esm/constant/label.js +2 -1
  573. package/esm/core/factory.d.ts +1 -0
  574. package/esm/core/factory.js +3 -0
  575. package/esm/core/factory.js.map +1 -1
  576. package/esm/core/instance-manager.d.ts +9 -0
  577. package/esm/core/instance-manager.js +20 -0
  578. package/esm/core/instance-manager.js.map +1 -0
  579. package/esm/core/interface.js +1 -2
  580. package/esm/core/vchart.d.ts +2 -6
  581. package/esm/core/vchart.js +11 -24
  582. package/esm/core/vchart.js.map +1 -1
  583. package/esm/data/initialize.js +2 -1
  584. package/esm/data/transforms/add-property.d.ts +5 -5
  585. package/esm/data/transforms/add-property.js +1 -1
  586. package/esm/data/transforms/add-property.js.map +1 -1
  587. package/esm/data/transforms/data-key.d.ts +3 -3
  588. package/esm/data/transforms/data-key.js.map +1 -1
  589. package/esm/index.d.ts +1 -1
  590. package/esm/index.js +1 -1
  591. package/esm/index.js.map +1 -1
  592. package/esm/mark/arc.d.ts +1 -1
  593. package/esm/mark/arc.js +3 -2
  594. package/esm/mark/arc.js.map +1 -1
  595. package/esm/mark/area.d.ts +3 -2
  596. package/esm/mark/area.js +7 -3
  597. package/esm/mark/area.js.map +1 -1
  598. package/esm/mark/base/base-mark.js +4 -3
  599. package/esm/mark/base/base-mark.js.map +1 -1
  600. package/esm/mark/base/index.d.ts +1 -2
  601. package/esm/mark/base/index.js +1 -3
  602. package/esm/mark/base/index.js.map +1 -1
  603. package/{cjs/mark/boxPlot.d.ts → esm/mark/box-plot.d.ts} +1 -1
  604. package/esm/mark/{boxPlot.js → box-plot.js} +2 -2
  605. package/esm/mark/box-plot.js.map +1 -0
  606. package/esm/mark/component.d.ts +1 -1
  607. package/esm/mark/component.js +1 -1
  608. package/esm/mark/component.js.map +1 -1
  609. package/esm/mark/group.js +1 -1
  610. package/esm/mark/line.d.ts +1 -1
  611. package/esm/mark/line.js +2 -2
  612. package/esm/mark/line.js.map +1 -1
  613. package/esm/mark/linkPath.d.ts +1 -1
  614. package/esm/mark/linkPath.js +2 -2
  615. package/esm/mark/linkPath.js.map +1 -1
  616. package/esm/mark/mark-set/index.d.ts +6 -5
  617. package/esm/mark/mark-set/index.js +16 -13
  618. package/esm/mark/mark-set/index.js.map +1 -1
  619. package/esm/mark/path.d.ts +1 -1
  620. package/esm/mark/path.js +2 -2
  621. package/esm/mark/path.js.map +1 -1
  622. package/esm/mark/polygon.d.ts +1 -1
  623. package/esm/mark/polygon.js +1 -1
  624. package/esm/mark/polygon.js.map +1 -1
  625. package/esm/mark/rect.d.ts +1 -1
  626. package/esm/mark/rect.js +3 -2
  627. package/esm/mark/rect.js.map +1 -1
  628. package/esm/mark/rule.d.ts +1 -1
  629. package/esm/mark/rule.js +1 -1
  630. package/esm/mark/rule.js.map +1 -1
  631. package/esm/mark/symbol.d.ts +1 -1
  632. package/esm/mark/symbol.js +3 -2
  633. package/esm/mark/symbol.js.map +1 -1
  634. package/esm/mark/text.d.ts +1 -1
  635. package/esm/mark/text.js +3 -2
  636. package/esm/mark/text.js.map +1 -1
  637. package/esm/model/base-model.d.ts +13 -6
  638. package/esm/model/base-model.js +51 -30
  639. package/esm/model/base-model.js.map +1 -1
  640. package/esm/model/interface.d.ts +8 -2
  641. package/esm/model/interface.js +1 -1
  642. package/esm/model/interface.js.map +1 -1
  643. package/esm/model/layout-item.js +21 -18
  644. package/esm/model/layout-item.js.map +1 -1
  645. package/esm/model/model-state-manager.js +1 -1
  646. package/esm/model/tooltip-helper.js +1 -1
  647. package/esm/region/region.d.ts +1 -4
  648. package/esm/region/region.js +15 -13
  649. package/esm/region/region.js.map +1 -1
  650. package/esm/scale/color-ordinal-scale.d.ts +8 -0
  651. package/esm/scale/color-ordinal-scale.js +18 -0
  652. package/esm/scale/color-ordinal-scale.js.map +1 -0
  653. package/esm/scale/global-scale.js +3 -2
  654. package/esm/scale/global-scale.js.map +1 -1
  655. package/esm/series/area/area.d.ts +2 -0
  656. package/esm/series/area/area.js +15 -6
  657. package/esm/series/area/area.js.map +1 -1
  658. package/esm/series/area/interface.d.ts +5 -5
  659. package/esm/series/area/interface.js.map +1 -1
  660. package/esm/series/bar/bar.d.ts +6 -0
  661. package/esm/series/bar/bar.js +27 -10
  662. package/esm/series/bar/bar.js.map +1 -1
  663. package/esm/series/bar/interface.d.ts +5 -4
  664. package/esm/series/bar/interface.js.map +1 -1
  665. package/esm/series/base/base-series.d.ts +12 -13
  666. package/esm/series/base/base-series.js +63 -34
  667. package/esm/series/base/base-series.js.map +1 -1
  668. package/{cjs/series/box-plot/boxPlot.d.ts → esm/series/box-plot/box-plot.d.ts} +2 -0
  669. package/esm/series/box-plot/{boxPlot.js → box-plot.js} +20 -9
  670. package/esm/series/box-plot/box-plot.js.map +1 -0
  671. package/esm/series/box-plot/interface.d.ts +3 -2
  672. package/esm/series/box-plot/interface.js.map +1 -1
  673. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  674. package/esm/series/cartesian/cartesian.d.ts +1 -1
  675. package/esm/series/circle-packing/circle-packing.d.ts +2 -0
  676. package/esm/series/circle-packing/circle-packing.js +15 -6
  677. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  678. package/esm/series/circle-packing/interface.d.ts +5 -4
  679. package/esm/series/circle-packing/interface.js.map +1 -1
  680. package/esm/series/dot/dot.d.ts +6 -8
  681. package/esm/series/dot/dot.js +47 -16
  682. package/esm/series/dot/dot.js.map +1 -1
  683. package/esm/series/dot/interface.d.ts +10 -10
  684. package/esm/series/dot/interface.js.map +1 -1
  685. package/esm/series/funnel/funnel.d.ts +12 -2
  686. package/esm/series/funnel/funnel.js +90 -31
  687. package/esm/series/funnel/funnel.js.map +1 -1
  688. package/esm/series/funnel/interface.d.ts +16 -15
  689. package/esm/series/funnel/interface.js.map +1 -1
  690. package/esm/series/gauge/gauge-pointer.d.ts +2 -0
  691. package/esm/series/gauge/gauge-pointer.js +23 -6
  692. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  693. package/esm/series/gauge/gauge.d.ts +3 -2
  694. package/esm/series/gauge/gauge.js +32 -18
  695. package/esm/series/gauge/gauge.js.map +1 -1
  696. package/esm/series/gauge/interface.d.ts +12 -11
  697. package/esm/series/gauge/interface.js.map +1 -1
  698. package/esm/series/heatmap/heatmap.d.ts +3 -1
  699. package/esm/series/heatmap/heatmap.js +21 -12
  700. package/esm/series/heatmap/heatmap.js.map +1 -1
  701. package/esm/series/heatmap/interface.d.ts +6 -5
  702. package/esm/series/heatmap/interface.js.map +1 -1
  703. package/esm/series/interface/common.d.ts +56 -1
  704. package/esm/series/interface/common.js +24 -1
  705. package/esm/series/interface/common.js.map +1 -1
  706. package/esm/series/interface/series.d.ts +2 -1
  707. package/esm/series/interface/series.js.map +1 -1
  708. package/esm/series/line/line.d.ts +2 -0
  709. package/esm/series/line/line.js +9 -4
  710. package/esm/series/line/line.js.map +1 -1
  711. package/esm/series/link/interface.d.ts +4 -4
  712. package/esm/series/link/interface.js.map +1 -1
  713. package/esm/series/link/link.d.ts +4 -7
  714. package/esm/series/link/link.js +22 -15
  715. package/esm/series/link/link.js.map +1 -1
  716. package/esm/series/map/map.d.ts +2 -0
  717. package/esm/series/map/map.js +16 -9
  718. package/esm/series/map/map.js.map +1 -1
  719. package/esm/series/mixin/line-mixin.d.ts +4 -3
  720. package/esm/series/mixin/line-mixin.js +19 -6
  721. package/esm/series/mixin/line-mixin.js.map +1 -1
  722. package/esm/series/pie/interface.d.ts +7 -6
  723. package/esm/series/pie/interface.js.map +1 -1
  724. package/esm/series/pie/pie.d.ts +8 -3
  725. package/esm/series/pie/pie.js +67 -35
  726. package/esm/series/pie/pie.js.map +1 -1
  727. package/esm/series/progress/circular/circular.d.ts +2 -0
  728. package/esm/series/progress/circular/circular.js +16 -6
  729. package/esm/series/progress/circular/circular.js.map +1 -1
  730. package/esm/series/progress/circular/interface.d.ts +5 -4
  731. package/esm/series/progress/circular/interface.js.map +1 -1
  732. package/esm/series/progress/linear/interface.d.ts +6 -5
  733. package/esm/series/progress/linear/interface.js.map +1 -1
  734. package/esm/series/progress/linear/linear.d.ts +2 -0
  735. package/esm/series/progress/linear/linear.js +31 -20
  736. package/esm/series/progress/linear/linear.js.map +1 -1
  737. package/esm/series/radar/interface.d.ts +5 -4
  738. package/esm/series/radar/interface.js.map +1 -1
  739. package/esm/series/radar/radar.d.ts +2 -0
  740. package/esm/series/radar/radar.js +12 -5
  741. package/esm/series/radar/radar.js.map +1 -1
  742. package/esm/series/range-area/range-area.d.ts +2 -0
  743. package/esm/series/range-area/range-area.js +2 -4
  744. package/esm/series/range-area/range-area.js.map +1 -1
  745. package/esm/series/range-column/interface.d.ts +9 -8
  746. package/esm/series/range-column/interface.js.map +1 -1
  747. package/esm/series/range-column/rangeColumn.d.ts +2 -0
  748. package/esm/series/range-column/rangeColumn.js +33 -25
  749. package/esm/series/range-column/rangeColumn.js.map +1 -1
  750. package/esm/series/rose/interface.d.ts +3 -2
  751. package/esm/series/rose/interface.js.map +1 -1
  752. package/esm/series/rose/rose.d.ts +2 -0
  753. package/esm/series/rose/rose.js +17 -16
  754. package/esm/series/rose/rose.js.map +1 -1
  755. package/esm/series/sankey/animation.js.map +1 -1
  756. package/esm/series/sankey/interface.d.ts +7 -6
  757. package/esm/series/sankey/interface.js.map +1 -1
  758. package/esm/series/sankey/sankey.d.ts +2 -0
  759. package/esm/series/sankey/sankey.js +31 -28
  760. package/esm/series/sankey/sankey.js.map +1 -1
  761. package/esm/series/scatter/interface.d.ts +6 -5
  762. package/esm/series/scatter/interface.js.map +1 -1
  763. package/esm/series/scatter/scatter.d.ts +2 -0
  764. package/esm/series/scatter/scatter.js +17 -12
  765. package/esm/series/scatter/scatter.js.map +1 -1
  766. package/esm/series/sunburst/interface.d.ts +5 -4
  767. package/esm/series/sunburst/interface.js.map +1 -1
  768. package/esm/series/sunburst/sunburst.d.ts +3 -1
  769. package/esm/series/sunburst/sunburst.js +14 -7
  770. package/esm/series/sunburst/sunburst.js.map +1 -1
  771. package/esm/series/treemap/interface.d.ts +9 -8
  772. package/esm/series/treemap/interface.js.map +1 -1
  773. package/esm/series/treemap/treemap.d.ts +2 -0
  774. package/esm/series/treemap/treemap.js +24 -9
  775. package/esm/series/treemap/treemap.js.map +1 -1
  776. package/esm/series/waterfall/interface.d.ts +6 -5
  777. package/esm/series/waterfall/interface.js.map +1 -1
  778. package/esm/series/waterfall/waterfall.d.ts +2 -0
  779. package/esm/series/waterfall/waterfall.js +15 -6
  780. package/esm/series/waterfall/waterfall.js.map +1 -1
  781. package/esm/series/word-cloud/interface.d.ts +7 -6
  782. package/esm/series/word-cloud/interface.js.map +1 -1
  783. package/esm/series/word-cloud/word-cloud.d.ts +4 -3
  784. package/esm/series/word-cloud/word-cloud.js +24 -11
  785. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  786. package/esm/theme/buildin-theme/config.d.ts +1 -4
  787. package/esm/theme/buildin-theme/config.js +1 -21
  788. package/esm/theme/buildin-theme/config.js.map +1 -1
  789. package/esm/theme/buildin-theme/dark.js.map +1 -1
  790. package/esm/theme/buildin-theme/light/color-scheme.js +14 -1
  791. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  792. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  793. package/esm/theme/buildin-theme/light/component/axis/band-axis.js +18 -0
  794. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  795. package/esm/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  796. package/esm/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  797. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  798. package/esm/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  799. package/esm/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  800. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  801. package/esm/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  802. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js +18 -0
  803. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  804. package/esm/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  805. package/esm/theme/buildin-theme/light/component/{polar-axis.js → axis/polar-axis.js} +11 -3
  806. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  807. package/esm/theme/buildin-theme/light/component/crosshair.js +8 -4
  808. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  809. package/esm/theme/buildin-theme/light/component/data-zoom.js +10 -10
  810. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  811. package/esm/theme/buildin-theme/light/component/index.d.ts +2 -0
  812. package/esm/theme/buildin-theme/light/component/index.js +62 -0
  813. package/esm/theme/buildin-theme/light/component/index.js.map +1 -0
  814. package/esm/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  815. package/esm/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +1 -1
  816. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  817. package/esm/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  818. package/esm/theme/buildin-theme/light/component/legend/continuous.js +54 -0
  819. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  820. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  821. package/esm/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +14 -5
  822. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  823. package/esm/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  824. package/esm/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +1 -1
  825. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  826. package/esm/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  827. package/esm/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +5 -3
  828. package/esm/theme/buildin-theme/light/component/map-label.js.map +1 -0
  829. package/esm/theme/buildin-theme/light/component/player.js +20 -11
  830. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  831. package/esm/theme/buildin-theme/light/component/title.js +16 -2
  832. package/esm/theme/buildin-theme/light/component/title.js.map +1 -1
  833. package/esm/theme/buildin-theme/light/component/tooltip.js +6 -2
  834. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  835. package/esm/theme/buildin-theme/light/constants.d.ts +2 -0
  836. package/esm/theme/buildin-theme/light/constants.js +10 -0
  837. package/esm/theme/buildin-theme/light/constants.js.map +1 -0
  838. package/esm/theme/buildin-theme/light/index.js +7 -50
  839. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  840. package/esm/theme/buildin-theme/light/mark.d.ts +3 -0
  841. package/esm/theme/buildin-theme/light/mark.js +68 -0
  842. package/esm/theme/buildin-theme/light/mark.js.map +1 -0
  843. package/esm/theme/buildin-theme/light/series/area.js +2 -12
  844. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  845. package/esm/theme/buildin-theme/light/series/bar.js +2 -2
  846. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  847. package/esm/theme/buildin-theme/light/series/bar3d.js +2 -2
  848. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  849. package/esm/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  850. package/esm/theme/buildin-theme/light/series/box-plot.js +8 -0
  851. package/esm/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  852. package/esm/theme/buildin-theme/light/series/circular-progress.js +11 -1
  853. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  854. package/esm/theme/buildin-theme/light/series/funnel.js +7 -2
  855. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  856. package/esm/theme/buildin-theme/light/series/funnel3d.js +8 -3
  857. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  858. package/esm/theme/buildin-theme/light/series/gauge.js +6 -1
  859. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  860. package/esm/theme/buildin-theme/light/series/index.js +10 -1
  861. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  862. package/esm/theme/buildin-theme/light/series/line.js +2 -7
  863. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  864. package/esm/theme/buildin-theme/light/series/linear-progress.js +5 -0
  865. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  866. package/esm/theme/buildin-theme/light/series/map.js +8 -4
  867. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  868. package/esm/theme/buildin-theme/light/series/pie.js +9 -2
  869. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  870. package/esm/theme/buildin-theme/light/series/pie3d.js +4 -3
  871. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  872. package/esm/theme/buildin-theme/light/series/radar.js +2 -12
  873. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  874. package/esm/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  875. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  876. package/esm/theme/buildin-theme/light/series/rose.d.ts +2 -0
  877. package/esm/theme/buildin-theme/light/series/rose.js +16 -0
  878. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -0
  879. package/esm/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  880. package/esm/theme/buildin-theme/light/series/sankey.js +10 -0
  881. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -0
  882. package/esm/theme/buildin-theme/light/series/scatter.js +10 -4
  883. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  884. package/esm/theme/buildin-theme/light/series/treemap.js +3 -1
  885. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  886. package/esm/theme/buildin-theme/light/series/waterfall.js +3 -1
  887. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  888. package/esm/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  889. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  890. package/esm/theme/color-scheme/interface.d.ts +16 -8
  891. package/esm/theme/color-scheme/interface.js.map +1 -1
  892. package/esm/theme/color-scheme/util.d.ts +6 -3
  893. package/esm/theme/color-scheme/util.js +31 -7
  894. package/esm/theme/color-scheme/util.js.map +1 -1
  895. package/esm/theme/interface.d.ts +22 -38
  896. package/esm/theme/interface.js.map +1 -1
  897. package/esm/theme/theme-manager.d.ts +1 -0
  898. package/esm/theme/theme-manager.js +6 -1
  899. package/esm/theme/theme-manager.js.map +1 -1
  900. package/esm/typings/spec/chart.d.ts +1 -1
  901. package/esm/typings/spec/chart.js.map +1 -1
  902. package/esm/typings/visual.d.ts +13 -12
  903. package/esm/typings/visual.js.map +1 -1
  904. package/esm/util/color.d.ts +0 -3
  905. package/esm/util/color.js +0 -10
  906. package/esm/util/color.js.map +1 -1
  907. package/esm/util/id.js +4 -4
  908. package/esm/util/id.js.map +1 -1
  909. package/esm/util/scale.d.ts +12 -1
  910. package/esm/util/scale.js +6 -2
  911. package/esm/util/scale.js.map +1 -1
  912. package/esm/vchart-all.js +5 -5
  913. package/esm/vchart-all.js.map +1 -1
  914. package/package.json +3 -3
  915. package/cjs/chart/boxplot/boxPlot.js.map +0 -1
  916. package/cjs/chart/boxplot/index.js.map +0 -1
  917. package/cjs/chart/boxplot/interface.js.map +0 -1
  918. package/cjs/component/map-label/config.d.ts +0 -2
  919. package/cjs/component/map-label/config.js.map +0 -1
  920. package/cjs/mark/boxPlot.js.map +0 -1
  921. package/cjs/series/box-plot/boxPlot.js.map +0 -1
  922. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  923. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  924. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  925. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  926. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  927. package/cjs/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  928. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  929. package/cjs/theme/buildin-theme/light/component/polar-axis.js +0 -19
  930. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  931. package/cjs/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  932. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  933. package/esm/chart/boxplot/boxPlot.js.map +0 -1
  934. package/esm/chart/boxplot/index.js.map +0 -1
  935. package/esm/chart/boxplot/interface.js.map +0 -1
  936. package/esm/component/map-label/config.d.ts +0 -2
  937. package/esm/component/map-label/config.js.map +0 -1
  938. package/esm/series/box-plot/boxPlot.js.map +0 -1
  939. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  940. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  941. package/esm/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  942. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  943. package/esm/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  944. package/esm/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  945. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  946. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  947. package/esm/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  948. package/esm/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  949. /package/cjs/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  950. /package/cjs/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  951. /package/cjs/chart/{boxplot → box-plot}/interface.js +0 -0
  952. /package/esm/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  953. /package/esm/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  954. /package/esm/chart/{boxplot → box-plot}/interface.js +0 -0
@@ -16,12 +16,7 @@ import { array, isValid, log } from "../util";
16
16
 
17
17
  import { AnimateManager } from "../animation/animate-manager";
18
18
 
19
- import { MarkSet } from "../mark/mark-set";
20
-
21
19
  export class Region extends BaseModel {
22
- getMarks() {
23
- return this._marks.getMarks();
24
- }
25
20
  getGroupMark() {
26
21
  return this._groupMark;
27
22
  }
@@ -29,7 +24,7 @@ export class Region extends BaseModel {
29
24
  var _a;
30
25
  super(spec, ctx), this.modelType = "region", this.type = Region.type, this._series = [],
31
26
  this.layoutType = "region", this.layoutZIndex = LayoutZIndex.Region, this.interaction = new Interaction,
32
- this._marks = new MarkSet, this.seriesDataFilterOver = () => {
27
+ this.seriesDataFilterOver = () => {
33
28
  this.event.emit(ChartEvent.regionSeriesDataFilterOver, {
34
29
  model: this
35
30
  }), this._series.forEach((s => s.reTransformViewData()));
@@ -45,8 +40,10 @@ export class Region extends BaseModel {
45
40
  }
46
41
  created() {
47
42
  var _a, _b, _c, _d, _e, _f;
48
- super.created(), this._groupMark = this._createMark(MarkTypeEnum.group, "regionGroup"),
49
- this._groupMark.setUserId(this.userId), this._groupMark.setZIndex(this.layoutZIndex);
43
+ super.created(), this._groupMark = this._createMark({
44
+ type: MarkTypeEnum.group,
45
+ name: "regionGroup"
46
+ }), this._groupMark.setUserId(this.userId), this._groupMark.setZIndex(this.layoutZIndex);
50
47
  const clip = null !== (_a = this._spec.clip) && void 0 !== _a ? _a : this._getClipDefaultValue();
51
48
  this.setMarkStyle(this._groupMark, {
52
49
  x: () => this.getLayoutStartPoint().x,
@@ -60,8 +57,13 @@ export class Region extends BaseModel {
60
57
  cornerRadiusTopRight: null === (_d = this._spec.style) || void 0 === _d ? void 0 : _d.cornerRadiusTopRight,
61
58
  cornerRadiusBottomLeft: null === (_e = this._spec.style) || void 0 === _e ? void 0 : _e.cornerRadiusBottomLeft,
62
59
  cornerRadiusBottomRight: null === (_f = this._spec.style) || void 0 === _f ? void 0 : _f.cornerRadiusBottomRight
63
- }, "normal", AttributeLevel.User_Mark), this._marks.addMark(this._groupMark), this._spec.style && (this._backgroundMark = this._createMark("rect", "regionBackground"),
64
- clip && (this._foregroundMark = this._createMark("rect", "regionForeground")), [ this._backgroundMark, this._foregroundMark ].forEach((mark => {
60
+ }, "normal", AttributeLevel.User_Mark), this._marks.addMark(this._groupMark), this._spec.style && (this._backgroundMark = this._createMark({
61
+ type: MarkTypeEnum.rect,
62
+ name: "regionBackground"
63
+ }), clip && (this._foregroundMark = this._createMark({
64
+ type: MarkTypeEnum.rect,
65
+ name: "regionForeground"
66
+ })), [ this._backgroundMark, this._foregroundMark ].forEach((mark => {
65
67
  mark && (mark.created(), this.setMarkStyle(mark, {
66
68
  width: () => this.getLayoutRect().width,
67
69
  height: () => this.getLayoutRect().height
@@ -94,8 +96,8 @@ export class Region extends BaseModel {
94
96
  return originalSpec.style && !(null == spec ? void 0 : spec.style) || !originalSpec.style && (null == spec ? void 0 : spec.style) ? (result.reMake = !0,
95
97
  result) : result;
96
98
  }
97
- reInit() {
98
- super.reInit(), this._initBackgroundMarkStyle(), this._initForegroundMarkStyle();
99
+ reInit(theme) {
100
+ super.reInit(theme), this._initBackgroundMarkStyle(), this._initForegroundMarkStyle();
99
101
  }
100
102
  addSeries(s) {
101
103
  s && (this._series.includes(s) || this._series.push(s));
@@ -147,7 +149,7 @@ export class Region extends BaseModel {
147
149
  this._option.dataSet.multipleDataViewAddListener(viewDataFilters, "change", this.seriesDataFilterOver);
148
150
  }
149
151
  release() {
150
- super.release(), this._series = [], this._marks.clear();
152
+ super.release(), this._series = [];
151
153
  }
152
154
  createTrigger() {
153
155
  const triggerOptions = Object.assign(Object.assign({}, this._option), {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty } from '@visactor/vutils';\nimport type { Element, IElement, IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface';\nimport { BaseModel } from '../model/base-model';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption, ILayoutItem } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport { array, isValid, log } from '../util';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport { MarkSet } from '../mark/mark-set';\nimport type { StringOrNumber } from '../typings';\nimport type { IDataZoomSpec, IScrollBarSpec } from '../component/data-zoom';\n\nexport class Region extends BaseModel implements IRegion {\n static type = 'region';\n readonly modelType: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutItem['layoutType'] = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n // scrollBar\n // scrollBar.scroll() => lineMark.x += offsetX\n // lineMark.x = lineMark.baseX + offsetX\n // scrollBar. regionGroup.clip = true;\n protected _marks: MarkSet = new MarkSet();\n getMarks() {\n return this._marks.getMarks();\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n protected declare _spec: IRegionSpec;\n\n constructor(spec: IRegionSpec, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n // 层级应当支持配置\n if (isValid(spec.zIndex)) {\n this.layoutZIndex = spec.zIndex;\n }\n\n if (true) {\n // TODO: remove me\n log('region created');\n }\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: IDataZoomSpec) => entry.filterMode === 'axis');\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: IScrollBarSpec) => entry.filterMode === 'axis');\n\n return hasDataZoom || hasScrollBar ? true : this.layoutClip;\n }\n\n created(): void {\n super.created();\n this._groupMark = this._createMark(MarkTypeEnum.group, 'regionGroup') as IGroupMark;\n this._groupMark.setUserId(this.userId);\n this._groupMark.setZIndex(this.layoutZIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n this._groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n this._groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius,\n cornerRadiusTopLeft: this._spec.style?.cornerRadiusTopLeft,\n cornerRadiusTopRight: this._spec.style?.cornerRadiusTopRight,\n cornerRadiusBottomLeft: this._spec.style?.cornerRadiusBottomLeft,\n cornerRadiusBottomRight: this._spec.style?.cornerRadiusBottomRight\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(this._groupMark);\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark('rect', 'regionBackground') as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark('rect', 'regionForeground') as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n init(option: any) {\n super.init(option);\n if (true) {\n // TODO: remove me\n log('region init');\n }\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if ((originalSpec.style && !spec?.style) || (!originalSpec.style && spec?.style)) {\n result.reMake = true;\n return result;\n }\n\n return result;\n }\n\n reInit() {\n super.reInit();\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId && s.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => s.reTransformViewData());\n };\n\n release() {\n super.release();\n this._series = [];\n this._marks.clear();\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compileSignal() {\n super.compileSignal();\n this.animate?.compile();\n }\n\n compile() {\n this.compileSignal();\n this.compileMarks();\n }\n\n bindSceneNode(node: IElement) {\n this._sceneNodeMap.set('default', node as Element);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty } from '@visactor/vutils';\nimport type { Element, IElement, IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface';\nimport { BaseModel } from '../model/base-model';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption, ILayoutItem } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport { array, isValid, log } from '../util';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { StringOrNumber } from '../typings';\nimport type { IDataZoomSpec, IScrollBarSpec } from '../component/data-zoom';\n\nexport class Region extends BaseModel implements IRegion {\n static type = 'region';\n readonly modelType: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutItem['layoutType'] = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n protected declare _spec: IRegionSpec;\n\n constructor(spec: IRegionSpec, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n // 层级应当支持配置\n if (isValid(spec.zIndex)) {\n this.layoutZIndex = spec.zIndex;\n }\n\n if (true) {\n // TODO: remove me\n log('region created');\n }\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: IDataZoomSpec) => entry.filterMode === 'axis');\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: IScrollBarSpec) => entry.filterMode === 'axis');\n\n return hasDataZoom || hasScrollBar ? true : this.layoutClip;\n }\n\n created(): void {\n super.created();\n this._groupMark = this._createMark({ type: MarkTypeEnum.group, name: 'regionGroup' }) as IGroupMark;\n this._groupMark.setUserId(this.userId);\n this._groupMark.setZIndex(this.layoutZIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n this._groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n this._groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius,\n cornerRadiusTopLeft: this._spec.style?.cornerRadiusTopLeft,\n cornerRadiusTopRight: this._spec.style?.cornerRadiusTopRight,\n cornerRadiusBottomLeft: this._spec.style?.cornerRadiusBottomLeft,\n cornerRadiusBottomRight: this._spec.style?.cornerRadiusBottomRight\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(this._groupMark);\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n init(option: any) {\n super.init(option);\n if (true) {\n // TODO: remove me\n log('region init');\n }\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if ((originalSpec.style && !spec?.style) || (!originalSpec.style && spec?.style)) {\n result.reMake = true;\n return result;\n }\n\n return result;\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId && s.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => s.reTransformViewData());\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compileSignal() {\n super.compileSignal();\n this.animate?.compile();\n }\n\n compile() {\n this.compileSignal();\n this.compileMarks();\n }\n\n bindSceneNode(node: IElement) {\n this._sceneNodeMap.set('default', node as Element);\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { OrdinalScale } from '@visactor/vscale';
2
+ import type { ColorSchemeItem, ProgressiveDataScheme } from '../theme/color-scheme/interface';
3
+ export declare class ColorOrdinalScale extends OrdinalScale {
4
+ protected _range: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>;
5
+ range(value?: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>): this | any;
6
+ domain(value?: any[]): this | any;
7
+ protected _resetRange(): void;
8
+ }
@@ -0,0 +1,18 @@
1
+ import { OrdinalScale } from "@visactor/vscale";
2
+
3
+ import { computeActualDataScheme, isProgressiveDataColorScheme } from "../theme/color-scheme/util";
4
+
5
+ export class ColorOrdinalScale extends OrdinalScale {
6
+ range(value) {
7
+ return value ? (this._range = value, this._resetRange(), this) : super.range();
8
+ }
9
+ domain(value) {
10
+ return value ? (super.domain(value), this._resetRange(), this) : super.domain();
11
+ }
12
+ _resetRange() {
13
+ if (!isProgressiveDataColorScheme(this._range)) return void super.range(this._range);
14
+ const range = computeActualDataScheme(this._range, this._domain);
15
+ super.range(range);
16
+ }
17
+ }
18
+ //# sourceMappingURL=color-ordinal-scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/scale/color-ordinal-scale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGnG,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAIjD,KAAK,CAAC,KAAuE;QAC3E,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;SACvB;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAGS,WAAW;QACnB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CACF","file":"color-ordinal-scale.js","sourcesContent":["import { OrdinalScale } from '@visactor/vscale';\nimport type { ColorSchemeItem, ProgressiveDataScheme } from '../theme/color-scheme/interface';\nimport { computeActualDataScheme, isProgressiveDataColorScheme } from '../theme/color-scheme/util';\n\n/** vchart 色板 ordinal scale 类型 */\nexport class ColorOrdinalScale extends OrdinalScale {\n /** range(可能为渐进式色板) */\n protected _range: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>;\n\n range(value?: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>): this | any {\n if (!value) {\n return super.range();\n }\n this._range = value;\n this._resetRange();\n return this;\n }\n\n /** domain */\n domain(value?: any[]): this | any {\n if (!value) {\n return super.domain();\n }\n super.domain(value);\n this._resetRange();\n return this;\n }\n\n /** 重新计算色板 */\n protected _resetRange() {\n if (!isProgressiveDataColorScheme(this._range)) {\n super.range(this._range);\n return;\n }\n const range = computeActualDataScheme(this._range, this._domain);\n super.range(range);\n }\n}\n"]}
@@ -33,8 +33,9 @@ export class GlobalScale {
33
33
  _createFromSpec(s) {
34
34
  if (!s.id) return null;
35
35
  let scale = this._scaleMap.get(s.id);
36
- return scale || (scale = createScale(s.type)), scale ? (isArray(s.range) && scale.range(s.range),
37
- isArray(s.domain) && (isDataDomainSpec(s.domain) || scale.domain(s.domain)), scale) : null;
36
+ return scale || (scale = "ordinal" === s.type && "color" === s.id ? createScale("colorOrdinal") : createScale(s.type)),
37
+ scale ? (isArray(s.range) && scale.range(s.range), isArray(s.domain) && (isDataDomainSpec(s.domain) || scale.domain(s.domain)),
38
+ scale) : null;
38
39
  }
39
40
  _setAttrFromSpec() {
40
41
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scale/global-scale.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIrE,MAAM,OAAO,WAAW;IAQtB,YAAY,IAA0B,EAAE,KAAa;QAP7C,kBAAa,GAAoD,IAAI,GAAG,EAAE,CAAC;QAC3E,cAAS,GAA4B,IAAI,GAAG,EAAE,CAAC;QAC/C,uBAAkB,GAAoD,IAAI,GAAG,EAAE,CAAC;QAChF,2BAAsB,GAC5B,IAAI,GAAG,EAAE,CAAC;QACJ,UAAK,GAAyB,IAAI,CAAC;QAC1B,WAAM,GAAW,IAAI,CAAC;QAqGvC,yBAAoB,GAAG,CACrB,MAAc,EAIZ,EAAE;YACJ,MAAM,MAAM,GAGN,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;wBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACxB,WAAW,CAAC,MAAM,EAAE;gCAClB;oCACE,GAAG;oCACH,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iCAC/D;6BACF,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;gBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACvC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;oBACtB,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,CAAC,EAAE,IAAI,MAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE;wBACjE,WAAW,CAAC,MAAM,EAAE;4BAClB;gCACE,GAAG,EAAE,IAAI,CAAC,KAAK;gCACf,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;6BACnE;yBACF,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QA5IA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,eAAe,CAAC,CAAqC;QAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC/B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aACxB;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,gBAAgB;;QACtB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,CAAA,EAAE;YACvB,OAAO;SACR;QACD,MAAM,WAAW,GAA4B,IAAI,GAAG,EAAE,CAAC;QACvD,MAAM,eAAe,GAAoD,IAAI,GAAG,EAAE,CAAC;QACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;aACR;YACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;aACR;YACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,IAA0B;QACnC,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,MAAM,CAAC;SACf;QACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,IAAwC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,MAA6D;QAC5E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBAChB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IA6CO,cAAc,CAAC,EAAU;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC9B,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAC;aACjC;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,aAAwB;QACxC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtD,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBAC7B;gBACD,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO;aACR;YACD,IAAI,MAA+B,CAAC;YACpC,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACvB;iBAAM;gBACL,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;aACpB;YACD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO;iBACR;gBACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACxB,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;wBAChC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BACpB,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;yBAC5C;6BAAM;4BACL,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjE;wBACD,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BACpB,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;yBAC5C;6BAAM;4BACL,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjE;qBACF;yBAAM;wBACL,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;4BACzD,MAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACjC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;YACD,KAAK,CAAC,MAAM,CAAC,MAAmB,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,EAAU,EAAE,KAAiB,EAAE,MAA2B;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;gBAC9D,OAAO;aACR;YACD,IACE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;gBACxB,IAAI,CAAC,YAAY,KAAK,MAAM;gBAC5B,CAAC,IAAI,CAAC,cAAc;gBACpB,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C;gBACA,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrG,OAAO;aACR;YAED,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;gBAClC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChF,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;iBACjF;qBAAM;oBACL,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;wBACzE,MAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC7B;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAe,CAAC,CAAC;gBACvC,OAAO;aACR;YACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;gBACnC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;wBACpB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG;wBAC9C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG;qBAC/C,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;iBAC1E;gBACD,OAAO;aACR;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,IAAkB,EAAE,cAAwB;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;YAC7G,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,iCACJ,IAAI,KACP,cAAc;YACd,SAAS,IACT,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;CACF","file":"global-scale.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGlobalScale } from './interface';\nimport { isArray, isEqual, isNil } from '@visactor/vutils';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\nimport type { IChart } from '../chart/interface';\nimport type { IChartSpec } from '../typings/spec';\nimport { createScale, isDataDomainSpec, mergeFields } from '../util';\nimport type { IVisualScale, IVisualSpecScale } from '../typings';\nimport type { StatisticOperations } from '../data/transforms/dimension-statistics';\n\nexport class GlobalScale implements IGlobalScale {\n private _scaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _scaleMap: Map<string, IBaseScale> = new Map();\n private _modelScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _markAttributeScaleMap: Map<string, (IVisualScale & { dataStatistics: DataView; markScale: IBaseScale })[]> =\n new Map();\n private _spec: IChartSpec['scales'] = null;\n private readonly _chart: IChart = null;\n constructor(spec: IChartSpec['scales'], chart: IChart) {\n this._spec = spec;\n this._chart = chart;\n this._setAttrFromSpec();\n }\n\n private _createFromSpec(s: IVisualSpecScale<unknown, unknown>): IBaseScale {\n if (!s.id) {\n return null;\n }\n let scale = this._scaleMap.get(s.id);\n if (!scale) {\n scale = createScale(s.type);\n }\n if (!scale) {\n return null;\n }\n if (isArray(s.range)) {\n scale.range(s.range);\n }\n if (isArray(s.domain)) {\n if (!isDataDomainSpec(s.domain)) {\n scale.domain(s.domain);\n }\n }\n return scale;\n }\n\n private _setAttrFromSpec() {\n if (!this._spec?.length) {\n return;\n }\n const newScaleMap: Map<string, IBaseScale> = new Map();\n const newScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n this._spec.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n this._modelScaleSpecMap.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n\n this._scaleSpecMap = newScaleSpecMap;\n this._scaleMap = newScaleMap;\n }\n\n updateSpec(spec: IChartSpec['scales']) {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n if (isEqual(spec, this._spec)) {\n return result;\n }\n result.change = true;\n this._spec = spec;\n this._setAttrFromSpec();\n return result;\n }\n\n registerModelScale(spec: IVisualSpecScale<unknown, unknown>) {\n const scale = this._createFromSpec(spec);\n if (!scale) {\n return;\n }\n this._modelScaleSpecMap.set(spec.id, spec);\n this._scaleSpecMap.set(spec.id, spec);\n this._scaleMap.set(spec.id, scale);\n }\n\n removeModelScale(filter: (spec: IVisualSpecScale<unknown, unknown>) => boolean) {\n this._modelScaleSpecMap.forEach(spec => {\n if (filter(spec)) {\n this._modelScaleSpecMap.delete(spec.id);\n this._scaleSpecMap.delete(spec.id);\n this._scaleMap.delete(spec.id);\n }\n });\n }\n\n getScale(user_id: string): IBaseScale | null {\n return this._scaleMap.get(user_id);\n }\n\n getScaleSpec(user_id: string): IVisualSpecScale<unknown, unknown> | null {\n return this._scaleSpecMap.get(user_id);\n }\n\n getStatisticalFields = (\n dataId: string\n ): {\n key: string;\n operations: StatisticOperations;\n }[] => {\n const result: {\n key: string;\n operations: StatisticOperations;\n }[] = [];\n this._scaleSpecMap.forEach((v, k) => {\n if (!isDataDomainSpec(v.domain)) {\n return;\n }\n v.domain.forEach(spec => {\n if (spec.dataId === dataId) {\n spec.fields.forEach(key => {\n mergeFields(result, [\n {\n key,\n operations: isContinuous(v.type) ? ['max', 'min'] : ['values']\n }\n ]);\n });\n }\n });\n });\n this._markAttributeScaleMap.forEach((specList, scaleName) => {\n const scale = this.getScale(scaleName);\n specList.forEach(spec => {\n if (spec.dataStatistics?.rawData[0].name === dataId && spec.field) {\n mergeFields(result, [\n {\n key: spec.field,\n operations: isContinuous(scale.type) ? ['max', 'min'] : ['values']\n }\n ]);\n }\n });\n });\n return result;\n };\n\n private _getStatistics(id: string) {\n const series = this._chart.getAllSeries();\n for (let i = 0; i < series.length; i++) {\n const s = series[i];\n if (s.getRawData().name === id) {\n return s.getRawDataStatistics();\n }\n }\n return null;\n }\n\n updateScaleDomain(defaultDomain: unknown[]) {\n this._scaleSpecMap.forEach((scaleSpec, id) => {\n const scale = this._scaleMap.get(id);\n if (!scale) {\n return;\n }\n if (!isDataDomainSpec(scaleSpec.domain)) {\n if (!scaleSpec.domain || scaleSpec.domain.length === 0) {\n scale.domain(defaultDomain);\n }\n this._updateMarkScale(id, scale, [...scale.domain()]);\n return;\n }\n let domain: unknown[] | Set<string>;\n if (isContinuous(scaleSpec.type)) {\n domain = [null, null];\n } else {\n domain = new Set();\n }\n scaleSpec.domain.forEach(spec => {\n const statistics = this._getStatistics(spec.dataId);\n if (!statistics) {\n return;\n }\n spec.fields.forEach(key => {\n if (isContinuous(scaleSpec.type)) {\n if (isNil(domain[0])) {\n domain[0] = statistics.latestData[key].min;\n } else {\n domain[0] = Math.min(statistics.latestData[key].min, domain[0]);\n }\n if (isNil(domain[1])) {\n domain[1] = statistics.latestData[key].max;\n } else {\n domain[1] = Math.max(statistics.latestData[key].max, domain[1]);\n }\n } else {\n statistics.latestData[key].values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n }\n });\n });\n\n const scaleDomain = domain;\n if (!isContinuous(scaleSpec.type)) {\n domain = Array.from(domain);\n }\n scale.domain(domain as unknown[]);\n this._updateMarkScale(id, scale, scaleDomain);\n });\n }\n\n private _updateMarkScale(id: string, scale: IBaseScale, domain: any[] | Set<string>) {\n const list = this._markAttributeScaleMap.get(id);\n if (!list || list.length === 0) {\n return;\n }\n list.forEach(info => {\n if (!info.field || !info.markScale || info.markScale === scale) {\n return;\n }\n if (\n isNil(info.changeDomain) ||\n info.changeDomain === 'none' ||\n !info.dataStatistics ||\n !info.dataStatistics.latestData[info.field]\n ) {\n isContinuous(scale.type) ? info.markScale.domain(domain as any[]) : scale.domain(Array.from(domain));\n return;\n }\n\n if (info.changeDomain === 'expand') {\n if (isContinuous(scale.type)) {\n domain[0] = Math.min(domain[0], info.dataStatistics.latestData[info.field].min);\n domain[1] = Math.max(domain[1], info.dataStatistics.latestData[info.field].max);\n } else {\n info.dataStatistics.latestData[info.field].values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n domain = Array.from(domain);\n }\n info.markScale.domain(domain as any[]);\n return;\n }\n if (info.changeDomain === 'replace') {\n if (isContinuous(scale.type)) {\n info.markScale.domain([\n info.dataStatistics.latestData[info.field].min,\n info.dataStatistics.latestData[info.field].max\n ]);\n } else {\n info.markScale.domain(info.dataStatistics.latestData[info.field].values);\n }\n return;\n }\n });\n }\n\n registerMarkAttributeScale(spec: IVisualScale, dataStatistics: DataView): IBaseScale {\n const scale = this._scaleMap.get(spec.scale);\n let list = this._markAttributeScaleMap.get(spec.scale);\n if (!list) {\n list = [];\n this._markAttributeScaleMap.set(spec.scale, list);\n }\n let markScale = scale;\n if (isNil(spec.field) || !(isNil(spec.changeDomain) || spec.changeDomain === 'none' || isNil(dataStatistics))) {\n markScale = scale.clone();\n }\n list.push({\n ...spec,\n dataStatistics,\n markScale\n });\n return markScale;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/scale/global-scale.ts"],"names":[],"mappings":"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","file":"global-scale.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGlobalScale } from './interface';\nimport { isArray, isEqual, isNil } from '@visactor/vutils';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\nimport type { IChart } from '../chart/interface';\nimport type { IChartSpec } from '../typings/spec';\nimport { createScale, isDataDomainSpec, mergeFields } from '../util';\nimport type { IVisualScale, IVisualSpecScale } from '../typings';\nimport type { StatisticOperations } from '../data/transforms/dimension-statistics';\n\nexport class GlobalScale implements IGlobalScale {\n private _scaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _scaleMap: Map<string, IBaseScale> = new Map();\n private _modelScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _markAttributeScaleMap: Map<string, (IVisualScale & { dataStatistics: DataView; markScale: IBaseScale })[]> =\n new Map();\n private _spec: IChartSpec['scales'] = null;\n private readonly _chart: IChart = null;\n constructor(spec: IChartSpec['scales'], chart: IChart) {\n this._spec = spec;\n this._chart = chart;\n this._setAttrFromSpec();\n }\n\n private _createFromSpec(s: IVisualSpecScale<unknown, unknown>): IBaseScale {\n if (!s.id) {\n return null;\n }\n let scale = this._scaleMap.get(s.id);\n if (!scale) {\n if (s.type === 'ordinal' && s.id === 'color') {\n scale = createScale('colorOrdinal'); // 全局颜色色板的特殊逻辑\n } else {\n scale = createScale(s.type);\n }\n }\n if (!scale) {\n return null;\n }\n if (isArray(s.range)) {\n scale.range(s.range);\n }\n if (isArray(s.domain)) {\n if (!isDataDomainSpec(s.domain)) {\n scale.domain(s.domain);\n }\n }\n return scale;\n }\n\n private _setAttrFromSpec() {\n if (!this._spec?.length) {\n return;\n }\n const newScaleMap: Map<string, IBaseScale> = new Map();\n const newScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n this._spec.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n this._modelScaleSpecMap.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n\n this._scaleSpecMap = newScaleSpecMap;\n this._scaleMap = newScaleMap;\n }\n\n updateSpec(spec: IChartSpec['scales']) {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n if (isEqual(spec, this._spec)) {\n return result;\n }\n result.change = true;\n this._spec = spec;\n this._setAttrFromSpec();\n return result;\n }\n\n registerModelScale(spec: IVisualSpecScale<unknown, unknown>) {\n const scale = this._createFromSpec(spec);\n if (!scale) {\n return;\n }\n this._modelScaleSpecMap.set(spec.id, spec);\n this._scaleSpecMap.set(spec.id, spec);\n this._scaleMap.set(spec.id, scale);\n }\n\n removeModelScale(filter: (spec: IVisualSpecScale<unknown, unknown>) => boolean) {\n this._modelScaleSpecMap.forEach(spec => {\n if (filter(spec)) {\n this._modelScaleSpecMap.delete(spec.id);\n this._scaleSpecMap.delete(spec.id);\n this._scaleMap.delete(spec.id);\n }\n });\n }\n\n getScale(user_id: string): IBaseScale | null {\n return this._scaleMap.get(user_id);\n }\n\n getScaleSpec(user_id: string): IVisualSpecScale<unknown, unknown> | null {\n return this._scaleSpecMap.get(user_id);\n }\n\n getStatisticalFields = (\n dataId: string\n ): {\n key: string;\n operations: StatisticOperations;\n }[] => {\n const result: {\n key: string;\n operations: StatisticOperations;\n }[] = [];\n this._scaleSpecMap.forEach((v, k) => {\n if (!isDataDomainSpec(v.domain)) {\n return;\n }\n v.domain.forEach(spec => {\n if (spec.dataId === dataId) {\n spec.fields.forEach(key => {\n mergeFields(result, [\n {\n key,\n operations: isContinuous(v.type) ? ['max', 'min'] : ['values']\n }\n ]);\n });\n }\n });\n });\n this._markAttributeScaleMap.forEach((specList, scaleName) => {\n const scale = this.getScale(scaleName);\n specList.forEach(spec => {\n if (spec.dataStatistics?.rawData[0].name === dataId && spec.field) {\n mergeFields(result, [\n {\n key: spec.field,\n operations: isContinuous(scale.type) ? ['max', 'min'] : ['values']\n }\n ]);\n }\n });\n });\n return result;\n };\n\n private _getStatistics(id: string) {\n const series = this._chart.getAllSeries();\n for (let i = 0; i < series.length; i++) {\n const s = series[i];\n if (s.getRawData().name === id) {\n return s.getRawDataStatistics();\n }\n }\n return null;\n }\n\n updateScaleDomain(defaultDomain: unknown[]) {\n this._scaleSpecMap.forEach((scaleSpec, id) => {\n const scale = this._scaleMap.get(id);\n if (!scale) {\n return;\n }\n if (!isDataDomainSpec(scaleSpec.domain)) {\n if (!scaleSpec.domain || scaleSpec.domain.length === 0) {\n scale.domain(defaultDomain);\n }\n this._updateMarkScale(id, scale, [...scale.domain()]);\n return;\n }\n let domain: unknown[] | Set<string>;\n if (isContinuous(scaleSpec.type)) {\n domain = [null, null];\n } else {\n domain = new Set();\n }\n scaleSpec.domain.forEach(spec => {\n const statistics = this._getStatistics(spec.dataId);\n if (!statistics) {\n return;\n }\n spec.fields.forEach(key => {\n if (isContinuous(scaleSpec.type)) {\n if (isNil(domain[0])) {\n domain[0] = statistics.latestData[key].min;\n } else {\n domain[0] = Math.min(statistics.latestData[key].min, domain[0]);\n }\n if (isNil(domain[1])) {\n domain[1] = statistics.latestData[key].max;\n } else {\n domain[1] = Math.max(statistics.latestData[key].max, domain[1]);\n }\n } else {\n statistics.latestData[key].values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n }\n });\n });\n\n const scaleDomain = domain;\n if (!isContinuous(scaleSpec.type)) {\n domain = Array.from(domain);\n }\n scale.domain(domain as unknown[]);\n this._updateMarkScale(id, scale, scaleDomain);\n });\n }\n\n private _updateMarkScale(id: string, scale: IBaseScale, domain: any[] | Set<string>) {\n const list = this._markAttributeScaleMap.get(id);\n if (!list || list.length === 0) {\n return;\n }\n list.forEach(info => {\n if (!info.field || !info.markScale || info.markScale === scale) {\n return;\n }\n if (\n isNil(info.changeDomain) ||\n info.changeDomain === 'none' ||\n !info.dataStatistics ||\n !info.dataStatistics.latestData[info.field]\n ) {\n isContinuous(scale.type) ? info.markScale.domain(domain as any[]) : scale.domain(Array.from(domain));\n return;\n }\n\n if (info.changeDomain === 'expand') {\n if (isContinuous(scale.type)) {\n domain[0] = Math.min(domain[0], info.dataStatistics.latestData[info.field].min);\n domain[1] = Math.max(domain[1], info.dataStatistics.latestData[info.field].max);\n } else {\n info.dataStatistics.latestData[info.field].values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n domain = Array.from(domain);\n }\n info.markScale.domain(domain as any[]);\n return;\n }\n if (info.changeDomain === 'replace') {\n if (isContinuous(scale.type)) {\n info.markScale.domain([\n info.dataStatistics.latestData[info.field].min,\n info.dataStatistics.latestData[info.field].max\n ]);\n } else {\n info.markScale.domain(info.dataStatistics.latestData[info.field].values);\n }\n return;\n }\n });\n }\n\n registerMarkAttributeScale(spec: IVisualScale, dataStatistics: DataView): IBaseScale {\n const scale = this._scaleMap.get(spec.scale);\n let list = this._markAttributeScaleMap.get(spec.scale);\n if (!list) {\n list = [];\n this._markAttributeScaleMap.set(spec.scale, list);\n }\n let markScale = scale;\n if (isNil(spec.field) || !(isNil(spec.changeDomain) || spec.changeDomain === 'none' || isNil(dataStatistics))) {\n markScale = scale.clone();\n }\n list.push({\n ...spec,\n dataStatistics,\n markScale\n });\n return markScale;\n }\n}\n"]}
@@ -2,6 +2,7 @@ import { LineLikeSeriesMixin } from '../mixin/line-mixin';
2
2
  import type { IAreaMark } from '../../mark/area';
3
3
  import { CartesianSeries } from '../cartesian/cartesian';
4
4
  import type { Maybe, IInvalidType } from '../../typings';
5
+ import type { SeriesMarkMap } from '../interface';
5
6
  import { SeriesTypeEnum } from '../interface';
6
7
  import type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';
7
8
  export interface AreaSeries extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | '_lineMark' | '_symbolMark'>, CartesianSeries<IAreaSeriesSpec> {
@@ -9,6 +10,7 @@ export interface AreaSeries extends Pick<LineLikeSeriesMixin, 'initLineMark' | '
9
10
  export declare class AreaSeries extends CartesianSeries<IAreaSeriesSpec> {
10
11
  static readonly type: string;
11
12
  type: SeriesTypeEnum;
13
+ static readonly mark: SeriesMarkMap;
12
14
  protected _theme: Maybe<IAreaSeriesTheme>;
13
15
  protected _areaMark: IAreaMark;
14
16
  protected _stack: boolean;
@@ -1,4 +1,4 @@
1
- import { LineLikeSeriesMixin } from "../mixin/line-mixin";
1
+ import { LineLikeSeriesMixin, lineLikeSeriesMarkMap } from "../mixin/line-mixin";
2
2
 
3
3
  import { Direction } from "../../typings/space";
4
4
 
@@ -10,6 +10,8 @@ import { AttributeLevel } from "../../constant";
10
10
 
11
11
  import { valueInScaleRange, couldBeValidNumber } from "../../util";
12
12
 
13
+ import { SeriesMarkNameEnum } from "../interface";
14
+
13
15
  import { SeriesTypeEnum } from "../interface";
14
16
 
15
17
  import { mixin } from "@visactor/vutils";
@@ -20,6 +22,8 @@ import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
20
22
 
21
23
  import { DEFAULT_SMOOTH_INTERPOLATE } from "../../typings/interpolate";
22
24
 
25
+ import { BaseSeries } from "../base/base-series";
26
+
23
27
  export class AreaSeries extends CartesianSeries {
24
28
  constructor() {
25
29
  super(...arguments), this.type = SeriesTypeEnum.area, this._stack = !0, this._invalidType = "break";
@@ -32,7 +36,7 @@ export class AreaSeries extends CartesianSeries {
32
36
  large: this._spec.large,
33
37
  largeThreshold: this._spec.largeThreshold
34
38
  }, isAreaVisible = !1 !== (null === (_a = this._spec.area) || void 0 === _a ? void 0 : _a.visible) && !1 !== (null === (_c = null === (_b = this._spec.area) || void 0 === _b ? void 0 : _b.style) || void 0 === _c ? void 0 : _c.visible);
35
- this._areaMark = this._createMark(MarkTypeEnum.area, "area", {
39
+ this._areaMark = this._createMark(AreaSeries.mark.area, {
36
40
  groupKey: this._seriesField,
37
41
  defaultMorphElementKey: this.getDimensionField()[0],
38
42
  progressive: progressive,
@@ -73,11 +77,16 @@ export class AreaSeries extends CartesianSeries {
73
77
  const animationParams = {
74
78
  direction: this.direction
75
79
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
76
- this._lineMark && this._lineMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset), userAnimationConfig(this._lineMark.name, this._spec))),
77
- this._areaMark && this._areaMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.area(animationParams, appearPreset), userAnimationConfig(this._areaMark.name, this._spec))),
78
- this._symbolMark && this._symbolMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(this._symbolMark.name, this._spec)));
80
+ this._lineMark && this._lineMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.line, this._spec))),
81
+ this._areaMark && this._areaMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.area(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.area, this._spec))),
82
+ this._symbolMark && this._symbolMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec)));
79
83
  }
80
84
  }
81
85
 
82
- AreaSeries.type = SeriesTypeEnum.area, mixin(AreaSeries, LineLikeSeriesMixin);
86
+ AreaSeries.type = SeriesTypeEnum.area, AreaSeries.mark = Object.assign(Object.assign(Object.assign({}, BaseSeries.mark), lineLikeSeriesMarkMap), {
87
+ [SeriesMarkNameEnum.area]: {
88
+ name: SeriesMarkNameEnum.area,
89
+ type: MarkTypeEnum.area
90
+ }
91
+ }), mixin(AreaSeries, LineLikeSeriesMixin);
83
92
  //# sourceMappingURL=area.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, IInvalidType } from '../../typings';\nimport { valueInScaleRange, couldBeValidNumber } from '../../util';\nimport { SeriesTypeEnum } from '../interface';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\n\nexport interface AreaSeries\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n >,\n CartesianSeries<IAreaSeriesSpec> {}\n\nexport class AreaSeries extends CartesianSeries<IAreaSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _stack: boolean = true;\n protected _invalidType: IInvalidType = 'break';\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 const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n // area\n this._areaMark = this._createMark(MarkTypeEnum.area, 'area', {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible\n }) as IAreaMark;\n\n this.initLineMark(progressive, !isAreaVisible);\n this.initSymbolMark(progressive);\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = this.getSpec().area?.style?.curveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this.dataToPositionZ.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this.dataToPositionZ.bind(this),\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n defined: (datum: Datum) => {\n if (this._invalidType === 'break') {\n return couldBeValidNumber(datum[this.getStackValueField()]);\n }\n return true;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n this._tooltipHelper.activeTriggerSet.dimension.add(areaMark);\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n this.initLabelMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IMarkAnimateSpec<string>)?.preset;\n\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset),\n userAnimationConfig(this._lineMark.name, this._spec)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.area(animationParams, appearPreset),\n userAnimationConfig(this._areaMark.name, this._spec)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(this._symbolMark.name, this._spec))\n );\n }\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n"]}
1
+ {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import { LineLikeSeriesMixin, lineLikeSeriesMarkMap } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, IInvalidType } from '../../typings';\nimport { valueInScaleRange, couldBeValidNumber } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesTypeEnum } from '../interface';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { BaseSeries } from '../base/base-series';\n\nexport interface AreaSeries\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n >,\n CartesianSeries<IAreaSeriesSpec> {}\n\nexport class AreaSeries extends CartesianSeries<IAreaSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n ...lineLikeSeriesMarkMap,\n [SeriesMarkNameEnum.area]: { name: SeriesMarkNameEnum.area, type: MarkTypeEnum.area }\n };\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _stack: boolean = true;\n protected _invalidType: IInvalidType = 'break';\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 const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible\n }) as IAreaMark;\n\n this.initLineMark(progressive, !isAreaVisible);\n this.initSymbolMark(progressive);\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = this.getSpec().area?.style?.curveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this.dataToPositionZ.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this.dataToPositionZ.bind(this),\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n defined: (datum: Datum) => {\n if (this._invalidType === 'break') {\n return couldBeValidNumber(datum[this.getStackValueField()]);\n }\n return true;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n this._tooltipHelper.activeTriggerSet.dimension.add(areaMark);\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n this.initLabelMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IMarkAnimateSpec<string>)?.preset;\n\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.area(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec))\n );\n }\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n"]}
@@ -1,17 +1,17 @@
1
1
  import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';
2
2
  import type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';
3
3
  import type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';
4
- import type { SeriesTypeEnum } from '../interface';
4
+ import type { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';
5
5
  import type { ILineLikeSeriesTheme } from '../mixin/line-mixin';
6
6
  import type { IAnimationSpec } from '../../animation/spec';
7
7
  import type { AreaAppearPreset } from './animation';
8
8
  import type { IMarkProgressiveConfig } from '../../mark/interface';
9
9
  export interface IAreaSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<string, AreaAppearPreset>, IMarkProgressiveConfig {
10
10
  type: SeriesTypeEnum.area;
11
- point?: IMarkSpec<ISymbolMarkSpec>;
12
- line?: IMarkSpec<ILineMarkSpec>;
13
- area?: IMarkSpec<IAreaMarkSpec>;
11
+ [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;
12
+ [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;
13
+ [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;
14
14
  }
15
15
  export interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {
16
- area?: Partial<IMarkTheme<IAreaMarkSpec>>;
16
+ [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/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 { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesTypeEnum } from '../interface';\nimport type { ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: SeriesTypeEnum.area;\n /**\n * 点图元配置\n */\n point?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 线图元配置\n */\n line?: IMarkSpec<ILineMarkSpec>;\n /**\n * 面积图元配置\n */\n area?: IMarkSpec<IAreaMarkSpec>;\n}\n\nexport interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {\n area?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/area/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 { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: SeriesTypeEnum.area;\n /**\n * 点图元配置\n */\n [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 线图元配置\n */\n [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;\n /**\n * 面积图元配置\n */\n [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;\n}\n\nexport interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
@@ -6,12 +6,16 @@ import type { IAxisHelper } from '../../component/axis/cartesian/interface';
6
6
  import type { IRectMark } from '../../mark/rect';
7
7
  import type { IModelInitOption } from '../../model/interface';
8
8
  import type { ITextMark } from '../../mark/text';
9
+ import type { SeriesMarkMap } from '../interface';
10
+ import { SeriesMarkNameEnum } from '../interface';
9
11
  import { SeriesTypeEnum } from '../interface';
10
12
  export declare const DefaultBandWidth = 6;
11
13
  export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extends CartesianSeries<T> {
12
14
  static readonly type: string;
13
15
  type: SeriesTypeEnum;
16
+ protected _barMarkName: SeriesMarkNameEnum;
14
17
  protected _barMarkType: MarkTypeEnum;
18
+ static readonly mark: SeriesMarkMap;
15
19
  protected _theme: Maybe<IBarSeriesTheme>;
16
20
  protected _stack: boolean;
17
21
  protected _bandPosition: number;
@@ -36,5 +40,7 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
36
40
  export declare class Bar3dSeries extends BarSeries {
37
41
  static readonly type: string;
38
42
  type: SeriesTypeEnum;
43
+ static readonly mark: SeriesMarkMap;
44
+ protected _barMarkName: SeriesMarkNameEnum;
39
45
  protected _barMarkType: MarkTypeEnum;
40
46
  }
@@ -12,29 +12,35 @@ import { getActualNumValue } from "../util/utils";
12
12
 
13
13
  import { merge, valueInScaleRange } from "../../util";
14
14
 
15
- import { animationConfig, userAnimationConfig } from "../../animation/utils";
15
+ import { animationConfig, shouldDoMorph, userAnimationConfig } from "../../animation/utils";
16
+
17
+ import { SeriesMarkNameEnum } from "../interface";
16
18
 
17
19
  import { SeriesTypeEnum } from "../interface";
18
20
 
19
21
  import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
20
22
 
23
+ import { BaseSeries } from "../base/base-series";
24
+
21
25
  export const DefaultBandWidth = 6;
22
26
 
23
27
  export class BarSeries extends CartesianSeries {
24
28
  constructor() {
25
- super(...arguments), this.type = SeriesTypeEnum.bar, this._barMarkType = MarkTypeEnum.rect,
26
- this._stack = !0, this._bandPosition = 0;
29
+ super(...arguments), this.type = SeriesTypeEnum.bar, this._barMarkName = SeriesMarkNameEnum.bar,
30
+ this._barMarkType = MarkTypeEnum.rect, this._stack = !0, this._bandPosition = 0;
27
31
  }
28
32
  initMark() {
29
- var _a, _b;
30
33
  const progressive = {
31
34
  progressiveStep: this._spec.progressiveStep,
32
35
  progressiveThreshold: this._spec.progressiveThreshold,
33
36
  large: this._spec.large,
34
37
  largeThreshold: this._spec.largeThreshold
35
38
  };
36
- this._rectMark = this._createMark(this._barMarkType, this.type, {
37
- morph: null === (_b = null === (_a = this._spec.morph) || void 0 === _a ? void 0 : _a.enable) || void 0 === _b || _b,
39
+ this._rectMark = this._createMark(Object.assign(Object.assign({}, BarSeries.mark.bar), {
40
+ name: this._barMarkName,
41
+ type: this._barMarkType
42
+ }), {
43
+ morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig(this.type, this._spec)),
38
44
  defaultMorphElementKey: this.getDimensionField()[0],
39
45
  groupKey: this._seriesField,
40
46
  isSeriesMark: !0,
@@ -106,7 +112,7 @@ export class BarSeries extends CartesianSeries {
106
112
  return "horizontal" === this.direction ? null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale(0).scale(0) : null === (_b = this._yAxisHelper) || void 0 === _b ? void 0 : _b.getScale(0).scale(0);
107
113
  }
108
114
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
109
- this._rectMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.bar(animationParams, appearPreset), userAnimationConfig(this.type, this._spec), {
115
+ this._rectMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.bar(animationParams, appearPreset), userAnimationConfig(this._barMarkName, this._spec), {
110
116
  dataIndex: datum => {
111
117
  var _a, _b, _c;
112
118
  const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
@@ -134,13 +140,24 @@ export class BarSeries extends CartesianSeries {
134
140
  }
135
141
  }
136
142
 
137
- BarSeries.type = SeriesTypeEnum.bar;
143
+ BarSeries.type = SeriesTypeEnum.bar, BarSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
144
+ [SeriesMarkNameEnum.bar]: {
145
+ name: SeriesMarkNameEnum.bar,
146
+ type: MarkTypeEnum.rect
147
+ }
148
+ });
138
149
 
139
150
  export class Bar3dSeries extends BarSeries {
140
151
  constructor() {
141
- super(...arguments), this.type = SeriesTypeEnum.bar3d, this._barMarkType = MarkTypeEnum.rect3d;
152
+ super(...arguments), this.type = SeriesTypeEnum.bar3d, this._barMarkName = SeriesMarkNameEnum.bar3d,
153
+ this._barMarkType = MarkTypeEnum.rect3d;
142
154
  }
143
155
  }
144
156
 
145
- Bar3dSeries.type = SeriesTypeEnum.bar3d;
157
+ Bar3dSeries.type = SeriesTypeEnum.bar3d, Bar3dSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
158
+ [SeriesMarkNameEnum.bar3d]: {
159
+ name: SeriesMarkNameEnum.bar3d,
160
+ type: MarkTypeEnum.rect3d
161
+ }
162
+ });
146
163
  //# sourceMappingURL=bar.js.map