@visactor/vchart 1.3.0-beta.1 → 1.3.0-beta.10

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 (781) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +17962 -16626
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/spec.d.ts +1 -1
  6. package/cjs/animation/spec.js.map +1 -1
  7. package/cjs/chart/area/area.js +4 -4
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +2 -2
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base-chart.d.ts +4 -2
  14. package/cjs/chart/base-chart.js +33 -30
  15. package/cjs/chart/base-chart.js.map +1 -1
  16. package/cjs/chart/box-plot/box-plot.js +2 -2
  17. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian.js +2 -1
  19. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  20. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  21. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  22. package/cjs/chart/funnel/funnel-3d.js +2 -2
  23. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  24. package/cjs/chart/funnel/funnel.js +2 -2
  25. package/cjs/chart/funnel/funnel.js.map +1 -1
  26. package/cjs/chart/gauge/gauge.js +2 -2
  27. package/cjs/chart/gauge/gauge.js.map +1 -1
  28. package/cjs/chart/heatmap/heatmap.js +2 -2
  29. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  30. package/cjs/chart/histogram/histogram-3d.js +2 -2
  31. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  32. package/cjs/chart/histogram/histogram.js +2 -2
  33. package/cjs/chart/histogram/histogram.js.map +1 -1
  34. package/cjs/chart/interface/chart.d.ts +4 -2
  35. package/cjs/chart/interface/chart.js.map +1 -1
  36. package/cjs/chart/line/line.js +4 -4
  37. package/cjs/chart/line/line.js.map +1 -1
  38. package/cjs/chart/map/map.js +2 -2
  39. package/cjs/chart/map/map.js.map +1 -1
  40. package/cjs/chart/pie/pie-3d.js +2 -2
  41. package/cjs/chart/pie/pie-3d.js.map +1 -1
  42. package/cjs/chart/pie/pie.js +2 -2
  43. package/cjs/chart/pie/pie.js.map +1 -1
  44. package/cjs/chart/progress/circular/circular.js +2 -2
  45. package/cjs/chart/progress/circular/circular.js.map +1 -1
  46. package/cjs/chart/progress/linear/linear.js +2 -2
  47. package/cjs/chart/progress/linear/linear.js.map +1 -1
  48. package/cjs/chart/radar/radar.js +4 -4
  49. package/cjs/chart/radar/radar.js.map +1 -1
  50. package/cjs/chart/range-area/range-area.js +2 -2
  51. package/cjs/chart/range-area/range-area.js.map +1 -1
  52. package/cjs/chart/range-column/range-column-3d.js +2 -2
  53. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  54. package/cjs/chart/range-column/range-column.js +2 -2
  55. package/cjs/chart/range-column/range-column.js.map +1 -1
  56. package/cjs/chart/rose/rose.js +2 -2
  57. package/cjs/chart/rose/rose.js.map +1 -1
  58. package/cjs/chart/sankey/sankey.js +2 -2
  59. package/cjs/chart/sankey/sankey.js.map +1 -1
  60. package/cjs/chart/scatter/scatter.js +2 -2
  61. package/cjs/chart/scatter/scatter.js.map +1 -1
  62. package/cjs/chart/sequence/sequence.js +2 -2
  63. package/cjs/chart/sequence/sequence.js.map +1 -1
  64. package/cjs/chart/stack.d.ts +1 -0
  65. package/cjs/chart/stack.js +14 -0
  66. package/cjs/chart/stack.js.map +1 -1
  67. package/cjs/chart/sunburst/sunburst.js +2 -2
  68. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  69. package/cjs/chart/treemap/treemap.js +2 -2
  70. package/cjs/chart/treemap/treemap.js.map +1 -1
  71. package/cjs/chart/util.d.ts +8 -0
  72. package/cjs/chart/util.js +32 -3
  73. package/cjs/chart/util.js.map +1 -1
  74. package/cjs/chart/waterfall/waterfall.js +2 -2
  75. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  76. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  77. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  78. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  79. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  80. package/cjs/compile/compiler.d.ts +2 -1
  81. package/cjs/compile/compiler.js +6 -1
  82. package/cjs/compile/compiler.js.map +1 -1
  83. package/cjs/compile/mark/compilable-mark.js +9 -10
  84. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  85. package/cjs/compile/mark/interface.d.ts +2 -1
  86. package/cjs/compile/mark/interface.js.map +1 -1
  87. package/cjs/compile/mark/util.d.ts +2 -1
  88. package/cjs/compile/mark/util.js +21 -5
  89. package/cjs/compile/mark/util.js.map +1 -1
  90. package/cjs/component/axis/base-axis.d.ts +1 -12
  91. package/cjs/component/axis/base-axis.js +7 -17
  92. package/cjs/component/axis/base-axis.js.map +1 -1
  93. package/cjs/component/axis/cartesian/axis.js +9 -4
  94. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  95. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  96. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  97. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  98. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  99. package/cjs/component/axis/cartesian/index.js +2 -1
  100. package/cjs/component/axis/cartesian/index.js.map +1 -1
  101. package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
  102. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  103. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  104. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  105. package/cjs/component/axis/cartesian/linear-axis.js +4 -3
  106. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  107. package/cjs/component/axis/cartesian/symlog-axis.d.ts +15 -0
  108. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  109. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  110. package/cjs/component/axis/interface.d.ts +1 -1
  111. package/cjs/component/axis/interface.js.map +1 -1
  112. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  113. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  114. package/cjs/component/axis/polar/axis.d.ts +1 -0
  115. package/cjs/component/axis/polar/axis.js +6 -4
  116. package/cjs/component/axis/polar/axis.js.map +1 -1
  117. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  118. package/cjs/component/base/base-component.d.ts +3 -2
  119. package/cjs/component/base/base-component.js +3 -3
  120. package/cjs/component/base/base-component.js.map +1 -1
  121. package/cjs/component/base/util.js +3 -0
  122. package/cjs/component/base/util.js.map +1 -1
  123. package/cjs/component/brush/brush.d.ts +11 -1
  124. package/cjs/component/brush/brush.js +61 -51
  125. package/cjs/component/brush/brush.js.map +1 -1
  126. package/cjs/component/crosshair/base.d.ts +1 -0
  127. package/cjs/component/crosshair/base.js +3 -2
  128. package/cjs/component/crosshair/base.js.map +1 -1
  129. package/cjs/component/crosshair/cartesian.js +1 -1
  130. package/cjs/component/crosshair/cartesian.js.map +1 -1
  131. package/cjs/component/crosshair/polar.js +3 -3
  132. package/cjs/component/crosshair/polar.js.map +1 -1
  133. package/cjs/component/custom-mark/custom-mark.d.ts +1 -0
  134. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
  135. package/cjs/component/geo/geo-coordinate.d.ts +7 -2
  136. package/cjs/component/geo/geo-coordinate.js +54 -14
  137. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  138. package/cjs/component/index.d.ts +3 -2
  139. package/cjs/component/index.js +15 -1
  140. package/cjs/component/index.js.map +1 -1
  141. package/cjs/component/indicator/indicator.js.map +1 -1
  142. package/cjs/component/interface/theme.d.ts +2 -0
  143. package/cjs/component/interface/theme.js.map +1 -1
  144. package/cjs/component/interface/type.d.ts +2 -0
  145. package/cjs/component/interface/type.js +13 -12
  146. package/cjs/component/interface/type.js.map +1 -1
  147. package/cjs/component/label/base-label.d.ts +40 -0
  148. package/cjs/component/label/base-label.js +44 -0
  149. package/cjs/component/label/base-label.js.map +1 -0
  150. package/cjs/component/label/interface.d.ts +7 -0
  151. package/cjs/component/label/interface.js.map +1 -1
  152. package/cjs/component/label/label.d.ts +5 -27
  153. package/cjs/component/label/label.js +31 -38
  154. package/cjs/component/label/label.js.map +1 -1
  155. package/cjs/component/label/pie.d.ts +5 -0
  156. package/cjs/component/label/pie.js +21 -0
  157. package/cjs/component/label/pie.js.map +1 -0
  158. package/cjs/component/label/totalLabel.d.ts +27 -0
  159. package/cjs/component/label/totalLabel.js +107 -0
  160. package/cjs/component/label/totalLabel.js.map +1 -0
  161. package/cjs/component/label/util.d.ts +3 -1
  162. package/cjs/component/label/util.js +5 -5
  163. package/cjs/component/label/util.js.map +1 -1
  164. package/cjs/component/legend/base-legend.d.ts +1 -0
  165. package/cjs/component/legend/continuous/legend.js +5 -2
  166. package/cjs/component/legend/continuous/legend.js.map +1 -1
  167. package/cjs/component/marker/base-marker.d.ts +6 -0
  168. package/cjs/component/marker/base-marker.js +14 -0
  169. package/cjs/component/marker/base-marker.js.map +1 -1
  170. package/cjs/component/marker/interface.d.ts +1 -0
  171. package/cjs/component/marker/interface.js.map +1 -1
  172. package/cjs/component/marker/mark-area/mark-area.js +17 -6
  173. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  174. package/cjs/component/marker/mark-line/mark-line.js +17 -6
  175. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  176. package/cjs/component/marker/mark-point/mark-point.js +18 -7
  177. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  178. package/cjs/component/title/title.d.ts +1 -0
  179. package/cjs/component/title/title.js +3 -2
  180. package/cjs/component/title/title.js.map +1 -1
  181. package/cjs/component/tooltip/handler/base.js +6 -3
  182. package/cjs/component/tooltip/handler/base.js.map +1 -1
  183. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  184. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  185. package/cjs/component/tooltip/handler/dom/interface.d.ts +9 -12
  186. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  187. package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  188. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +17 -15
  189. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  190. package/cjs/component/tooltip/handler/dom/model/title-model.js +3 -3
  191. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  192. package/cjs/component/tooltip/handler/dom/util.js +18 -11
  193. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  194. package/cjs/component/tooltip/handler/utils/attribute.js +25 -24
  195. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  196. package/cjs/component/tooltip/handler/utils/common.js +2 -2
  197. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  198. package/cjs/component/tooltip/handler/utils/compose.d.ts +2 -2
  199. package/cjs/component/tooltip/handler/utils/compose.js +13 -10
  200. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  201. package/cjs/component/tooltip/handler/utils/get-spec.js +72 -54
  202. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  203. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  204. package/cjs/component/tooltip/handler/utils/style.js +15 -10
  205. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  206. package/cjs/component/tooltip/interface/theme.d.ts +1 -0
  207. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  208. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  209. package/cjs/component/tooltip/tooltip.js +10 -7
  210. package/cjs/component/tooltip/tooltip.js.map +1 -1
  211. package/cjs/constant/index.d.ts +3 -0
  212. package/cjs/constant/index.js +4 -3
  213. package/cjs/constant/index.js.map +1 -1
  214. package/cjs/core/index.d.ts +1 -1
  215. package/cjs/core/index.js +1 -1
  216. package/cjs/core/index.js.map +1 -1
  217. package/cjs/core/interface.d.ts +3 -0
  218. package/cjs/core/interface.js.map +1 -1
  219. package/cjs/core/vchart.d.ts +7 -1
  220. package/cjs/core/vchart.js +63 -21
  221. package/cjs/core/vchart.js.map +1 -1
  222. package/cjs/data/initialize.js +9 -7
  223. package/cjs/data/initialize.js.map +1 -1
  224. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  225. package/cjs/data/transforms/dimension-statistics.js +34 -22
  226. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  227. package/cjs/data/transforms/invalid-travel.js +1 -2
  228. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  229. package/cjs/data/transforms/legend-data/continuous/continuous.js +1 -2
  230. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  231. package/cjs/event/event-dispatcher.js +4 -2
  232. package/cjs/event/event-dispatcher.js.map +1 -1
  233. package/cjs/event/events/dimension/dimension-click.d.ts +1 -3
  234. package/cjs/event/events/dimension/dimension-click.js +9 -10
  235. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  236. package/cjs/event/events/dimension/dimension-hover.d.ts +2 -3
  237. package/cjs/event/events/dimension/dimension-hover.js +26 -17
  238. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  239. package/cjs/event/interface.d.ts +3 -3
  240. package/cjs/event/interface.js.map +1 -1
  241. package/cjs/interaction/trigger.js +4 -0
  242. package/cjs/interaction/trigger.js.map +1 -1
  243. package/cjs/layout/label/arc-label.js.map +1 -1
  244. package/cjs/mark/base/base-mark.d.ts +1 -0
  245. package/cjs/mark/base/base-mark.js +20 -3
  246. package/cjs/mark/base/base-mark.js.map +1 -1
  247. package/cjs/mark/symbol.js +1 -1
  248. package/cjs/mark/symbol.js.map +1 -1
  249. package/cjs/model/base-model.d.ts +2 -0
  250. package/cjs/model/base-model.js +4 -1
  251. package/cjs/model/base-model.js.map +1 -1
  252. package/cjs/model/interface.d.ts +6 -1
  253. package/cjs/model/interface.js.map +1 -1
  254. package/cjs/model/layout-item.d.ts +4 -4
  255. package/cjs/model/layout-item.js.map +1 -1
  256. package/cjs/plugin/components/index.d.ts +0 -2
  257. package/cjs/plugin/components/index.js +1 -2
  258. package/cjs/plugin/components/index.js.map +1 -1
  259. package/cjs/region/region.d.ts +1 -0
  260. package/cjs/series/area/area.d.ts +6 -3
  261. package/cjs/series/area/area.js +36 -12
  262. package/cjs/series/area/area.js.map +1 -1
  263. package/cjs/series/area/interface.d.ts +1 -0
  264. package/cjs/series/area/interface.js.map +1 -1
  265. package/cjs/series/area/tooltip-helpter.d.ts +5 -0
  266. package/cjs/series/area/tooltip-helpter.js +24 -0
  267. package/cjs/series/area/tooltip-helpter.js.map +1 -0
  268. package/cjs/series/bar/bar.d.ts +1 -0
  269. package/cjs/series/bar/bar.js +1 -1
  270. package/cjs/series/bar/bar.js.map +1 -1
  271. package/cjs/series/base/base-series.d.ts +4 -0
  272. package/cjs/series/base/base-series.js +62 -16
  273. package/cjs/series/base/base-series.js.map +1 -1
  274. package/cjs/series/base/tooltip-helper.js +5 -2
  275. package/cjs/series/base/tooltip-helper.js.map +1 -1
  276. package/cjs/series/box-plot/box-plot.js +1 -1
  277. package/cjs/series/box-plot/box-plot.js.map +1 -1
  278. package/cjs/series/cartesian/cartesian.d.ts +7 -3
  279. package/cjs/series/cartesian/cartesian.js +27 -17
  280. package/cjs/series/cartesian/cartesian.js.map +1 -1
  281. package/cjs/series/dot/dot.d.ts +1 -0
  282. package/cjs/series/dot/dot.js +3 -0
  283. package/cjs/series/dot/dot.js.map +1 -1
  284. package/cjs/series/funnel/funnel.d.ts +1 -0
  285. package/cjs/series/geo/geo.d.ts +2 -0
  286. package/cjs/series/geo/geo.js +5 -1
  287. package/cjs/series/geo/geo.js.map +1 -1
  288. package/cjs/series/heatmap/heatmap.d.ts +1 -0
  289. package/cjs/series/interface/common.d.ts +1 -0
  290. package/cjs/series/interface/common.js.map +1 -1
  291. package/cjs/series/interface/series.d.ts +3 -2
  292. package/cjs/series/interface/series.js.map +1 -1
  293. package/cjs/series/line/interface.d.ts +1 -2
  294. package/cjs/series/line/interface.js.map +1 -1
  295. package/cjs/series/line/line.d.ts +1 -2
  296. package/cjs/series/line/line.js +3 -2
  297. package/cjs/series/line/line.js.map +1 -1
  298. package/cjs/series/link/link.js +1 -1
  299. package/cjs/series/link/link.js.map +1 -1
  300. package/cjs/series/map/interface.d.ts +1 -0
  301. package/cjs/series/map/interface.js.map +1 -1
  302. package/cjs/series/map/map.d.ts +1 -2
  303. package/cjs/series/map/map.js +9 -9
  304. package/cjs/series/map/map.js.map +1 -1
  305. package/cjs/series/mixin/line-mixin.d.ts +14 -3
  306. package/cjs/series/mixin/line-mixin.js +89 -26
  307. package/cjs/series/mixin/line-mixin.js.map +1 -1
  308. package/cjs/series/pie/interface.d.ts +4 -7
  309. package/cjs/series/pie/interface.js.map +1 -1
  310. package/cjs/series/pie/pie.d.ts +2 -0
  311. package/cjs/series/pie/pie.js +19 -56
  312. package/cjs/series/pie/pie.js.map +1 -1
  313. package/cjs/series/polar/polar.d.ts +1 -0
  314. package/cjs/series/polar/polar.js +2 -1
  315. package/cjs/series/polar/polar.js.map +1 -1
  316. package/cjs/series/radar/interface.d.ts +1 -0
  317. package/cjs/series/radar/interface.js.map +1 -1
  318. package/cjs/series/range-area/range-area.d.ts +2 -0
  319. package/cjs/series/range-area/range-area.js +8 -2
  320. package/cjs/series/range-area/range-area.js.map +1 -1
  321. package/cjs/series/range-column/range-column.js +1 -1
  322. package/cjs/series/range-column/range-column.js.map +1 -1
  323. package/cjs/series/rose/interface.d.ts +3 -0
  324. package/cjs/series/rose/interface.js.map +1 -1
  325. package/cjs/series/rose/rose.d.ts +1 -2
  326. package/cjs/series/rose/rose.js +17 -36
  327. package/cjs/series/rose/rose.js.map +1 -1
  328. package/cjs/series/sankey/interface.d.ts +3 -2
  329. package/cjs/series/sankey/interface.js.map +1 -1
  330. package/cjs/series/sankey/sankey.d.ts +2 -0
  331. package/cjs/series/sankey/sankey.js +198 -79
  332. package/cjs/series/sankey/sankey.js.map +1 -1
  333. package/cjs/series/scatter/interface.d.ts +1 -2
  334. package/cjs/series/scatter/interface.js.map +1 -1
  335. package/cjs/series/scatter/scatter.d.ts +2 -3
  336. package/cjs/series/scatter/scatter.js +19 -13
  337. package/cjs/series/scatter/scatter.js.map +1 -1
  338. package/cjs/series/word-cloud/base.d.ts +1 -0
  339. package/cjs/series/word-cloud/base.js +1 -1
  340. package/cjs/series/word-cloud/base.js.map +1 -1
  341. package/cjs/series/word-cloud/interface.d.ts +3 -3
  342. package/cjs/series/word-cloud/interface.js.map +1 -1
  343. package/cjs/series/word-cloud/word-cloud-3d.js +1 -1
  344. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  345. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  346. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js +22 -0
  347. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  348. package/cjs/theme/buildin-theme/light/component/index.js +3 -2
  349. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -1
  350. package/cjs/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  351. package/cjs/theme/buildin-theme/light/component/total-label.js +24 -0
  352. package/cjs/theme/buildin-theme/light/component/total-label.js.map +1 -0
  353. package/cjs/theme/buildin-theme/light/series/rose.js +0 -1
  354. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -1
  355. package/cjs/theme/buildin-theme/light/series/sankey.js +0 -1
  356. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -1
  357. package/cjs/typings/spec/common.d.ts +2 -0
  358. package/cjs/typings/spec/common.js.map +1 -1
  359. package/cjs/typings/tooltip/label.d.ts +10 -0
  360. package/cjs/typings/tooltip/label.js +6 -0
  361. package/cjs/typings/tooltip/label.js.map +1 -0
  362. package/cjs/typings/tooltip/line.d.ts +3 -3
  363. package/cjs/typings/tooltip/line.js.map +1 -1
  364. package/cjs/typings/tooltip/shape.d.ts +3 -0
  365. package/cjs/typings/tooltip/shape.js.map +1 -1
  366. package/cjs/typings/visual.d.ts +11 -21
  367. package/cjs/typings/visual.js.map +1 -1
  368. package/cjs/util/data.d.ts +0 -8
  369. package/cjs/util/data.js +2 -9
  370. package/cjs/util/data.js.map +1 -1
  371. package/cjs/util/object.d.ts +0 -2
  372. package/cjs/util/object.js +2 -13
  373. package/cjs/util/object.js.map +1 -1
  374. package/cjs/util/scale.d.ts +2 -6
  375. package/cjs/util/scale.js +1 -6
  376. package/cjs/util/scale.js.map +1 -1
  377. package/cjs/util/space.d.ts +3 -9
  378. package/cjs/util/space.js +14 -30
  379. package/cjs/util/space.js.map +1 -1
  380. package/cjs/util/spec.d.ts +1 -0
  381. package/cjs/util/spec.js +13 -5
  382. package/cjs/util/spec.js.map +1 -1
  383. package/cjs/util/text.d.ts +1 -2
  384. package/cjs/util/text.js +1 -11
  385. package/cjs/util/text.js.map +1 -1
  386. package/cjs/vchart-all.js +1 -1
  387. package/cjs/vchart-all.js.map +1 -1
  388. package/cjs/vchart-simple.js +3 -4
  389. package/cjs/vchart-simple.js.map +1 -1
  390. package/esm/animation/spec.d.ts +1 -1
  391. package/esm/animation/spec.js.map +1 -1
  392. package/esm/chart/area/area.js +5 -5
  393. package/esm/chart/area/area.js.map +1 -1
  394. package/esm/chart/bar/bar-3d.js +2 -2
  395. package/esm/chart/bar/bar-3d.js.map +1 -1
  396. package/esm/chart/bar/bar.js +2 -2
  397. package/esm/chart/bar/bar.js.map +1 -1
  398. package/esm/chart/base-chart.d.ts +4 -2
  399. package/esm/chart/base-chart.js +36 -31
  400. package/esm/chart/base-chart.js.map +1 -1
  401. package/esm/chart/box-plot/box-plot.js +1 -1
  402. package/esm/chart/box-plot/box-plot.js.map +1 -1
  403. package/esm/chart/cartesian/cartesian.js +2 -1
  404. package/esm/chart/cartesian/cartesian.js.map +1 -1
  405. package/esm/chart/circle-packing/circle-packing.js +1 -1
  406. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  407. package/esm/chart/funnel/funnel-3d.js +1 -1
  408. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  409. package/esm/chart/funnel/funnel.js +1 -1
  410. package/esm/chart/funnel/funnel.js.map +1 -1
  411. package/esm/chart/gauge/gauge.js +2 -2
  412. package/esm/chart/gauge/gauge.js.map +1 -1
  413. package/esm/chart/heatmap/heatmap.js +1 -1
  414. package/esm/chart/heatmap/heatmap.js.map +1 -1
  415. package/esm/chart/histogram/histogram-3d.js +2 -2
  416. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  417. package/esm/chart/histogram/histogram.js +2 -2
  418. package/esm/chart/histogram/histogram.js.map +1 -1
  419. package/esm/chart/interface/chart.d.ts +4 -2
  420. package/esm/chart/interface/chart.js.map +1 -1
  421. package/esm/chart/line/line.js +3 -3
  422. package/esm/chart/line/line.js.map +1 -1
  423. package/esm/chart/map/map.js +2 -2
  424. package/esm/chart/map/map.js.map +1 -1
  425. package/esm/chart/pie/pie-3d.js +2 -2
  426. package/esm/chart/pie/pie-3d.js.map +1 -1
  427. package/esm/chart/pie/pie.js +2 -2
  428. package/esm/chart/pie/pie.js.map +1 -1
  429. package/esm/chart/progress/circular/circular.js +1 -1
  430. package/esm/chart/progress/circular/circular.js.map +1 -1
  431. package/esm/chart/progress/linear/linear.js +1 -1
  432. package/esm/chart/progress/linear/linear.js.map +1 -1
  433. package/esm/chart/radar/radar.js +4 -4
  434. package/esm/chart/radar/radar.js.map +1 -1
  435. package/esm/chart/range-area/range-area.js +1 -1
  436. package/esm/chart/range-area/range-area.js.map +1 -1
  437. package/esm/chart/range-column/range-column-3d.js +1 -1
  438. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  439. package/esm/chart/range-column/range-column.js +1 -1
  440. package/esm/chart/range-column/range-column.js.map +1 -1
  441. package/esm/chart/rose/rose.js +2 -2
  442. package/esm/chart/rose/rose.js.map +1 -1
  443. package/esm/chart/sankey/sankey.js +1 -1
  444. package/esm/chart/sankey/sankey.js.map +1 -1
  445. package/esm/chart/scatter/scatter.js +2 -2
  446. package/esm/chart/scatter/scatter.js.map +1 -1
  447. package/esm/chart/sequence/sequence.js +4 -2
  448. package/esm/chart/sequence/sequence.js.map +1 -1
  449. package/esm/chart/stack.d.ts +1 -0
  450. package/esm/chart/stack.js +16 -2
  451. package/esm/chart/stack.js.map +1 -1
  452. package/esm/chart/sunburst/sunburst.js +1 -1
  453. package/esm/chart/sunburst/sunburst.js.map +1 -1
  454. package/esm/chart/treemap/treemap.js +1 -1
  455. package/esm/chart/treemap/treemap.js.map +1 -1
  456. package/esm/chart/util.d.ts +8 -0
  457. package/esm/chart/util.js +33 -1
  458. package/esm/chart/util.js.map +1 -1
  459. package/esm/chart/waterfall/waterfall.js +1 -1
  460. package/esm/chart/waterfall/waterfall.js.map +1 -1
  461. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  462. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  463. package/esm/chart/word-cloud/word-cloud.js +1 -1
  464. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  465. package/esm/compile/compiler.d.ts +2 -1
  466. package/esm/compile/compiler.js +6 -1
  467. package/esm/compile/compiler.js.map +1 -1
  468. package/esm/compile/mark/compilable-mark.js +9 -11
  469. package/esm/compile/mark/compilable-mark.js.map +1 -1
  470. package/esm/compile/mark/interface.d.ts +2 -1
  471. package/esm/compile/mark/interface.js.map +1 -1
  472. package/esm/compile/mark/util.d.ts +2 -1
  473. package/esm/compile/mark/util.js +19 -3
  474. package/esm/compile/mark/util.js.map +1 -1
  475. package/esm/component/axis/base-axis.d.ts +1 -12
  476. package/esm/component/axis/base-axis.js +8 -18
  477. package/esm/component/axis/base-axis.js.map +1 -1
  478. package/esm/component/axis/cartesian/axis.js +10 -5
  479. package/esm/component/axis/cartesian/axis.js.map +1 -1
  480. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  481. package/esm/component/axis/cartesian/band-axis.js +1 -0
  482. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  483. package/esm/component/axis/cartesian/index.d.ts +1 -0
  484. package/esm/component/axis/cartesian/index.js +2 -0
  485. package/esm/component/axis/cartesian/index.js.map +1 -1
  486. package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
  487. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  488. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  489. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  490. package/esm/component/axis/cartesian/linear-axis.js +3 -4
  491. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  492. package/esm/component/axis/cartesian/symlog-axis.d.ts +15 -0
  493. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  494. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  495. package/esm/component/axis/interface.d.ts +1 -1
  496. package/esm/component/axis/interface.js.map +1 -1
  497. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  498. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  499. package/esm/component/axis/polar/axis.d.ts +1 -0
  500. package/esm/component/axis/polar/axis.js +6 -4
  501. package/esm/component/axis/polar/axis.js.map +1 -1
  502. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  503. package/esm/component/base/base-component.d.ts +3 -2
  504. package/esm/component/base/base-component.js +3 -3
  505. package/esm/component/base/base-component.js.map +1 -1
  506. package/esm/component/base/util.js +3 -0
  507. package/esm/component/base/util.js.map +1 -1
  508. package/esm/component/brush/brush.d.ts +11 -1
  509. package/esm/component/brush/brush.js +60 -51
  510. package/esm/component/brush/brush.js.map +1 -1
  511. package/esm/component/crosshair/base.d.ts +1 -0
  512. package/esm/component/crosshair/base.js +3 -2
  513. package/esm/component/crosshair/base.js.map +1 -1
  514. package/esm/component/crosshair/cartesian.js +1 -1
  515. package/esm/component/crosshair/cartesian.js.map +1 -1
  516. package/esm/component/crosshair/polar.js +3 -3
  517. package/esm/component/crosshair/polar.js.map +1 -1
  518. package/esm/component/custom-mark/custom-mark.d.ts +1 -0
  519. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
  520. package/esm/component/geo/geo-coordinate.d.ts +7 -2
  521. package/esm/component/geo/geo-coordinate.js +56 -14
  522. package/esm/component/geo/geo-coordinate.js.map +1 -1
  523. package/esm/component/index.d.ts +3 -2
  524. package/esm/component/index.js +4 -2
  525. package/esm/component/index.js.map +1 -1
  526. package/esm/component/indicator/indicator.js.map +1 -1
  527. package/esm/component/interface/theme.d.ts +2 -0
  528. package/esm/component/interface/theme.js.map +1 -1
  529. package/esm/component/interface/type.d.ts +2 -0
  530. package/esm/component/interface/type.js +13 -12
  531. package/esm/component/interface/type.js.map +1 -1
  532. package/esm/component/label/base-label.d.ts +40 -0
  533. package/esm/component/label/base-label.js +42 -0
  534. package/esm/component/label/base-label.js.map +1 -0
  535. package/esm/component/label/interface.d.ts +7 -0
  536. package/esm/component/label/interface.js.map +1 -1
  537. package/esm/component/label/label.d.ts +5 -27
  538. package/esm/component/label/label.js +34 -40
  539. package/esm/component/label/label.js.map +1 -1
  540. package/esm/component/label/pie.d.ts +5 -0
  541. package/esm/component/label/pie.js +13 -0
  542. package/esm/component/label/pie.js.map +1 -0
  543. package/esm/component/label/totalLabel.d.ts +27 -0
  544. package/esm/component/label/totalLabel.js +110 -0
  545. package/esm/component/label/totalLabel.js.map +1 -0
  546. package/esm/component/label/util.d.ts +3 -1
  547. package/esm/component/label/util.js +6 -4
  548. package/esm/component/label/util.js.map +1 -1
  549. package/esm/component/legend/base-legend.d.ts +1 -0
  550. package/esm/component/legend/continuous/legend.js +5 -2
  551. package/esm/component/legend/continuous/legend.js.map +1 -1
  552. package/esm/component/marker/base-marker.d.ts +6 -0
  553. package/esm/component/marker/base-marker.js +14 -0
  554. package/esm/component/marker/base-marker.js.map +1 -1
  555. package/esm/component/marker/interface.d.ts +1 -0
  556. package/esm/component/marker/interface.js.map +1 -1
  557. package/esm/component/marker/mark-area/mark-area.js +17 -6
  558. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  559. package/esm/component/marker/mark-line/mark-line.js +17 -6
  560. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  561. package/esm/component/marker/mark-point/mark-point.js +18 -7
  562. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  563. package/esm/component/title/title.d.ts +1 -0
  564. package/esm/component/title/title.js +3 -2
  565. package/esm/component/title/title.js.map +1 -1
  566. package/esm/component/tooltip/handler/base.js +6 -3
  567. package/esm/component/tooltip/handler/base.js.map +1 -1
  568. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  569. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  570. package/esm/component/tooltip/handler/dom/interface.d.ts +9 -12
  571. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  572. package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  573. package/esm/component/tooltip/handler/dom/model/content-column-model.js +16 -14
  574. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  575. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  576. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  577. package/esm/component/tooltip/handler/dom/util.js +18 -11
  578. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  579. package/esm/component/tooltip/handler/utils/attribute.js +24 -24
  580. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  581. package/esm/component/tooltip/handler/utils/common.js +2 -2
  582. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  583. package/esm/component/tooltip/handler/utils/compose.d.ts +2 -2
  584. package/esm/component/tooltip/handler/utils/compose.js +11 -10
  585. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  586. package/esm/component/tooltip/handler/utils/get-spec.js +70 -50
  587. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  588. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  589. package/esm/component/tooltip/handler/utils/style.js +16 -9
  590. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  591. package/esm/component/tooltip/interface/theme.d.ts +1 -0
  592. package/esm/component/tooltip/interface/theme.js.map +1 -1
  593. package/esm/component/tooltip/tooltip.d.ts +1 -1
  594. package/esm/component/tooltip/tooltip.js +10 -7
  595. package/esm/component/tooltip/tooltip.js.map +1 -1
  596. package/esm/constant/index.d.ts +3 -0
  597. package/esm/constant/index.js +6 -0
  598. package/esm/constant/index.js.map +1 -1
  599. package/esm/core/index.d.ts +1 -1
  600. package/esm/core/index.js +1 -1
  601. package/esm/core/index.js.map +1 -1
  602. package/esm/core/interface.d.ts +3 -0
  603. package/esm/core/interface.js.map +1 -1
  604. package/esm/core/vchart.d.ts +7 -1
  605. package/esm/core/vchart.js +66 -21
  606. package/esm/core/vchart.js.map +1 -1
  607. package/esm/data/initialize.js +10 -7
  608. package/esm/data/initialize.js.map +1 -1
  609. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  610. package/esm/data/transforms/dimension-statistics.js +33 -22
  611. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  612. package/esm/data/transforms/invalid-travel.js +1 -2
  613. package/esm/data/transforms/invalid-travel.js.map +1 -1
  614. package/esm/data/transforms/legend-data/continuous/continuous.js +1 -1
  615. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  616. package/esm/event/event-dispatcher.js +3 -2
  617. package/esm/event/event-dispatcher.js.map +1 -1
  618. package/esm/event/events/dimension/dimension-click.d.ts +1 -3
  619. package/esm/event/events/dimension/dimension-click.js +9 -10
  620. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  621. package/esm/event/events/dimension/dimension-hover.d.ts +2 -3
  622. package/esm/event/events/dimension/dimension-hover.js +25 -16
  623. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  624. package/esm/event/interface.d.ts +3 -3
  625. package/esm/event/interface.js.map +1 -1
  626. package/esm/interaction/trigger.js +4 -0
  627. package/esm/interaction/trigger.js.map +1 -1
  628. package/esm/layout/label/arc-label.js.map +1 -1
  629. package/esm/mark/base/base-mark.d.ts +1 -0
  630. package/esm/mark/base/base-mark.js +20 -3
  631. package/esm/mark/base/base-mark.js.map +1 -1
  632. package/esm/mark/symbol.js +1 -1
  633. package/esm/mark/symbol.js.map +1 -1
  634. package/esm/model/base-model.d.ts +2 -0
  635. package/esm/model/base-model.js +4 -2
  636. package/esm/model/base-model.js.map +1 -1
  637. package/esm/model/interface.d.ts +6 -1
  638. package/esm/model/interface.js.map +1 -1
  639. package/esm/model/layout-item.d.ts +4 -4
  640. package/esm/model/layout-item.js.map +1 -1
  641. package/esm/plugin/components/index.d.ts +0 -2
  642. package/esm/plugin/components/index.js +0 -3
  643. package/esm/plugin/components/index.js.map +1 -1
  644. package/esm/region/region.d.ts +1 -0
  645. package/esm/series/area/area.d.ts +6 -3
  646. package/esm/series/area/area.js +39 -10
  647. package/esm/series/area/area.js.map +1 -1
  648. package/esm/series/area/interface.d.ts +1 -0
  649. package/esm/series/area/interface.js.map +1 -1
  650. package/esm/series/area/tooltip-helpter.d.ts +5 -0
  651. package/esm/series/area/tooltip-helpter.js +18 -0
  652. package/esm/series/area/tooltip-helpter.js.map +1 -0
  653. package/esm/series/bar/bar.d.ts +1 -0
  654. package/esm/series/bar/bar.js +1 -1
  655. package/esm/series/bar/bar.js.map +1 -1
  656. package/esm/series/base/base-series.d.ts +4 -0
  657. package/esm/series/base/base-series.js +62 -17
  658. package/esm/series/base/base-series.js.map +1 -1
  659. package/esm/series/base/tooltip-helper.js +5 -2
  660. package/esm/series/base/tooltip-helper.js.map +1 -1
  661. package/esm/series/box-plot/box-plot.js +1 -1
  662. package/esm/series/box-plot/box-plot.js.map +1 -1
  663. package/esm/series/cartesian/cartesian.d.ts +7 -3
  664. package/esm/series/cartesian/cartesian.js +26 -17
  665. package/esm/series/cartesian/cartesian.js.map +1 -1
  666. package/esm/series/dot/dot.d.ts +1 -0
  667. package/esm/series/dot/dot.js +3 -0
  668. package/esm/series/dot/dot.js.map +1 -1
  669. package/esm/series/funnel/funnel.d.ts +1 -0
  670. package/esm/series/geo/geo.d.ts +2 -0
  671. package/esm/series/geo/geo.js +4 -1
  672. package/esm/series/geo/geo.js.map +1 -1
  673. package/esm/series/heatmap/heatmap.d.ts +1 -0
  674. package/esm/series/interface/common.d.ts +1 -0
  675. package/esm/series/interface/common.js.map +1 -1
  676. package/esm/series/interface/series.d.ts +3 -2
  677. package/esm/series/interface/series.js.map +1 -1
  678. package/esm/series/line/interface.d.ts +1 -2
  679. package/esm/series/line/interface.js.map +1 -1
  680. package/esm/series/line/line.d.ts +1 -2
  681. package/esm/series/line/line.js +3 -2
  682. package/esm/series/line/line.js.map +1 -1
  683. package/esm/series/link/link.js +1 -1
  684. package/esm/series/link/link.js.map +1 -1
  685. package/esm/series/map/interface.d.ts +1 -0
  686. package/esm/series/map/interface.js.map +1 -1
  687. package/esm/series/map/map.d.ts +1 -2
  688. package/esm/series/map/map.js +10 -8
  689. package/esm/series/map/map.js.map +1 -1
  690. package/esm/series/mixin/line-mixin.d.ts +14 -3
  691. package/esm/series/mixin/line-mixin.js +99 -24
  692. package/esm/series/mixin/line-mixin.js.map +1 -1
  693. package/esm/series/pie/interface.d.ts +4 -7
  694. package/esm/series/pie/interface.js.map +1 -1
  695. package/esm/series/pie/pie.d.ts +2 -0
  696. package/esm/series/pie/pie.js +22 -54
  697. package/esm/series/pie/pie.js.map +1 -1
  698. package/esm/series/polar/polar.d.ts +1 -0
  699. package/esm/series/polar/polar.js +2 -1
  700. package/esm/series/polar/polar.js.map +1 -1
  701. package/esm/series/radar/interface.d.ts +1 -0
  702. package/esm/series/radar/interface.js.map +1 -1
  703. package/esm/series/range-area/range-area.d.ts +2 -0
  704. package/esm/series/range-area/range-area.js +7 -3
  705. package/esm/series/range-area/range-area.js.map +1 -1
  706. package/esm/series/range-column/range-column.js +1 -1
  707. package/esm/series/range-column/range-column.js.map +1 -1
  708. package/esm/series/rose/interface.d.ts +3 -0
  709. package/esm/series/rose/interface.js.map +1 -1
  710. package/esm/series/rose/rose.d.ts +1 -2
  711. package/esm/series/rose/rose.js +17 -37
  712. package/esm/series/rose/rose.js.map +1 -1
  713. package/esm/series/sankey/interface.d.ts +3 -2
  714. package/esm/series/sankey/interface.js.map +1 -1
  715. package/esm/series/sankey/sankey.d.ts +2 -0
  716. package/esm/series/sankey/sankey.js +198 -80
  717. package/esm/series/sankey/sankey.js.map +1 -1
  718. package/esm/series/scatter/interface.d.ts +1 -2
  719. package/esm/series/scatter/interface.js.map +1 -1
  720. package/esm/series/scatter/scatter.d.ts +2 -3
  721. package/esm/series/scatter/scatter.js +20 -14
  722. package/esm/series/scatter/scatter.js.map +1 -1
  723. package/esm/series/word-cloud/base.d.ts +1 -0
  724. package/esm/series/word-cloud/base.js +1 -1
  725. package/esm/series/word-cloud/base.js.map +1 -1
  726. package/esm/series/word-cloud/interface.d.ts +3 -3
  727. package/esm/series/word-cloud/interface.js.map +1 -1
  728. package/esm/series/word-cloud/word-cloud-3d.js +1 -1
  729. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  730. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  731. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js +18 -0
  732. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  733. package/esm/theme/buildin-theme/light/component/index.js +4 -1
  734. package/esm/theme/buildin-theme/light/component/index.js.map +1 -1
  735. package/esm/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  736. package/esm/theme/buildin-theme/light/component/total-label.js +20 -0
  737. package/esm/theme/buildin-theme/light/component/total-label.js.map +1 -0
  738. package/esm/theme/buildin-theme/light/series/rose.js +0 -1
  739. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -1
  740. package/esm/theme/buildin-theme/light/series/sankey.js +0 -1
  741. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -1
  742. package/esm/typings/spec/common.d.ts +2 -0
  743. package/esm/typings/spec/common.js.map +1 -1
  744. package/esm/typings/tooltip/label.d.ts +10 -0
  745. package/esm/typings/tooltip/label.js +2 -0
  746. package/esm/typings/tooltip/label.js.map +1 -0
  747. package/esm/typings/tooltip/line.d.ts +3 -3
  748. package/esm/typings/tooltip/line.js.map +1 -1
  749. package/esm/typings/tooltip/shape.d.ts +3 -0
  750. package/esm/typings/tooltip/shape.js.map +1 -1
  751. package/esm/typings/visual.d.ts +11 -21
  752. package/esm/typings/visual.js.map +1 -1
  753. package/esm/util/data.d.ts +0 -8
  754. package/esm/util/data.js +1 -7
  755. package/esm/util/data.js.map +1 -1
  756. package/esm/util/object.d.ts +0 -2
  757. package/esm/util/object.js +0 -11
  758. package/esm/util/object.js.map +1 -1
  759. package/esm/util/scale.d.ts +2 -6
  760. package/esm/util/scale.js +1 -5
  761. package/esm/util/scale.js.map +1 -1
  762. package/esm/util/space.d.ts +3 -9
  763. package/esm/util/space.js +8 -26
  764. package/esm/util/space.js.map +1 -1
  765. package/esm/util/spec.d.ts +1 -0
  766. package/esm/util/spec.js +11 -3
  767. package/esm/util/spec.js.map +1 -1
  768. package/esm/util/text.d.ts +1 -2
  769. package/esm/util/text.js +1 -9
  770. package/esm/util/text.js.map +1 -1
  771. package/esm/vchart-all.js +2 -2
  772. package/esm/vchart-all.js.map +1 -1
  773. package/esm/vchart-simple.js +18 -2
  774. package/esm/vchart-simple.js.map +1 -1
  775. package/package.json +25 -17
  776. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  777. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  778. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  779. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  780. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  781. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
@@ -4,14 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.AreaSeries = void 0;
6
6
 
7
- const line_mixin_1 = require("../mixin/line-mixin"), space_1 = require("../../typings/space"), interface_1 = require("../../mark/interface"), cartesian_1 = require("../cartesian/cartesian"), constant_1 = require("../../constant"), util_1 = require("../../util"), interface_2 = require("../interface"), interface_3 = require("../interface"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), interpolate_1 = require("../../typings/interpolate"), base_series_1 = require("../base/base-series"), vchart_1 = require("../../core/vchart"), line_1 = require("../../mark/line"), area_1 = require("../../mark/area"), text_1 = require("../../mark/text"), symbol_1 = require("../../mark/symbol");
7
+ const vutils_1 = require("@visactor/vutils"), line_mixin_1 = require("../mixin/line-mixin"), space_1 = require("../../typings/space"), interface_1 = require("../../mark/interface"), cartesian_1 = require("../cartesian/cartesian"), constant_1 = require("../../constant"), util_1 = require("../../util"), interface_2 = require("../interface"), interface_3 = require("../interface"), vutils_2 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), interpolate_1 = require("../../typings/interpolate"), base_series_1 = require("../base/base-series"), vchart_1 = require("../../core/vchart"), line_1 = require("../../mark/line"), area_1 = require("../../mark/area"), text_1 = require("../../mark/text"), symbol_1 = require("../../mark/symbol"), tooltip_helpter_1 = require("./tooltip-helpter");
8
8
 
9
9
  vchart_1.VChart.useMark([ line_1.LineMark, area_1.AreaMark, text_1.TextMark, symbol_1.SymbolMark ]);
10
10
 
11
11
  class AreaSeries extends cartesian_1.CartesianSeries {
12
12
  constructor() {
13
- super(...arguments), this.type = interface_3.SeriesTypeEnum.area, this._stack = !0,
14
- this._invalidType = "break";
13
+ super(...arguments), this.type = interface_3.SeriesTypeEnum.area, this._stack = !0;
14
+ }
15
+ setAttrFromSpec() {
16
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
17
+ super.setAttrFromSpec();
18
+ const 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), isLineVisible = !1 !== (null === (_d = this._spec.line) || void 0 === _d ? void 0 : _d.visible) && !1 !== (null === (_f = null === (_e = this._spec.line) || void 0 === _e ? void 0 : _e.style) || void 0 === _f ? void 0 : _f.visible), areaSpec = null !== (_g = this._spec.area) && void 0 !== _g ? _g : {}, lineSpec = null !== (_h = this._spec.line) && void 0 !== _h ? _h : {};
19
+ areaSpec.interactive = areaSpec.interactive || lineSpec.interactive, areaSpec.support3d = areaSpec.support3d || lineSpec.support3d,
20
+ areaSpec.zIndex = (0, vutils_1.isValid)(areaSpec.zIndex) || (0, vutils_1.isValid)(lineSpec.zIndex) ? Math.max(null !== (_j = areaSpec.zIndex) && void 0 !== _j ? _j : 0, null !== (_k = lineSpec.zIndex) && void 0 !== _k ? _k : 0) : void 0,
21
+ areaSpec.style && delete areaSpec.style.stroke, areaSpec.state && Object.keys(areaSpec.state).forEach((state => {
22
+ "style" in areaSpec.state[state] ? delete areaSpec.state[state].style.stroke : delete areaSpec.state[state].stroke;
23
+ }));
24
+ let mainSpec = areaSpec, subSpec = lineSpec;
25
+ ("line" === (null !== (_l = this._spec.seriesMark) && void 0 !== _l ? _l : "area") || isLineVisible && !isAreaVisible) && (mainSpec = lineSpec,
26
+ subSpec = areaSpec), areaSpec.style = (0, vutils_1.merge)({}, subSpec.style, mainSpec.style),
27
+ areaSpec.state = (0, vutils_1.merge)({}, subSpec.state, mainSpec.state), isAreaVisible || (areaSpec.style.fill = !1),
28
+ isLineVisible || (areaSpec.style.stroke = !1), areaSpec.visible = !(!isAreaVisible && !isLineVisible);
15
29
  }
16
30
  initMark() {
17
31
  var _a, _b, _c, _d;
@@ -25,9 +39,8 @@ class AreaSeries extends cartesian_1.CartesianSeries {
25
39
  groupKey: this._seriesField,
26
40
  defaultMorphElementKey: this.getDimensionField()[0],
27
41
  progressive: progressive,
28
- isSeriesMark: isAreaVisible && "area" === seriesMark
29
- }), this.initLineMark(progressive, "line" === seriesMark || "area" === seriesMark && !isAreaVisible),
30
- this.initSymbolMark(progressive, "point" === seriesMark);
42
+ isSeriesMark: isAreaVisible && "point" !== seriesMark
43
+ }), this.initSymbolMark(progressive, "point" === seriesMark);
31
44
  }
32
45
  initMarkStyle() {
33
46
  var _a, _b, _c, _d, _e;
@@ -39,7 +52,7 @@ class AreaSeries extends cartesian_1.CartesianSeries {
39
52
  return (0, util_1.valueInScaleRange)(this.dataToPositionY1(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
40
53
  },
41
54
  y: this.dataToPositionY.bind(this),
42
- z: this.dataToPositionZ.bind(this)
55
+ z: this._fieldZ ? this.dataToPositionZ.bind(this) : null
43
56
  }, "normal", constant_1.AttributeLevel.Series) : this.setMarkStyle(this._areaMark, {
44
57
  x: this.dataToPositionX.bind(this),
45
58
  x1: datum => {
@@ -47,16 +60,21 @@ class AreaSeries extends cartesian_1.CartesianSeries {
47
60
  return (0, util_1.valueInScaleRange)(this.dataToPositionX1(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
48
61
  },
49
62
  y: this.dataToPositionY.bind(this),
50
- z: this.dataToPositionZ.bind(this),
63
+ z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,
51
64
  orient: this._direction
52
65
  }, "normal", constant_1.AttributeLevel.Series), this.setMarkStyle(areaMark, {
53
66
  fill: this.getColorAttribute(),
54
- defined: datum => "break" !== this._invalidType || (0, util_1.couldBeValidNumber)(datum[this.getStackValueField()])
67
+ stroke: this.getColorAttribute()
68
+ }, "normal", constant_1.AttributeLevel.Series), "zero" !== this._invalidType && this.setMarkStyle(areaMark, {
69
+ defined: this._getInvalidDefined,
70
+ connectedType: this._getInvalidConnectType()
55
71
  }, "normal", constant_1.AttributeLevel.Series), this.setMarkStyle(areaMark, {
56
72
  curveType: curveType
57
73
  }, "normal", constant_1.AttributeLevel.Built_In), this._trigger.registerMark(areaMark),
58
- this._tooltipHelper.activeTriggerSet.dimension.add(areaMark)), this.initLineMarkStyle(this._direction, userCurveType),
59
- this.initSymbolMarkStyle(), this.initLabelMarkStyle();
74
+ this._tooltipHelper.activeTriggerSet.dimension.add(areaMark), Object.keys(areaMark.stateStyle).forEach((state => {
75
+ areaMark.stateStyle[state].stroke && areaMark.setPostProcess("stroke", (result => [ result, !1, !1, !1 ]), state);
76
+ }))), this.initLineMarkStyle(this._direction, userCurveType), this.initSymbolMarkStyle(),
77
+ this.initLabelMarkStyle();
60
78
  }
61
79
  initAnimation() {
62
80
  var _a, _b;
@@ -70,6 +88,12 @@ class AreaSeries extends cartesian_1.CartesianSeries {
70
88
  this._symbolMark && this._symbolMark.setAnimationConfig((0, utils_1.animationConfig)(config_1.DEFAULT_MARK_ANIMATION.symbol(), (0,
71
89
  utils_1.userAnimationConfig)(interface_2.SeriesMarkNameEnum.point, this._spec)));
72
90
  }
91
+ initTooltip() {
92
+ this._tooltipHelper = new tooltip_helpter_1.AreaSeriesTooltipHelper(this);
93
+ }
94
+ viewDataStatisticsUpdate(d) {
95
+ super.viewDataStatisticsUpdate(d), this.encodeDefined(this._areaMark, "defined");
96
+ }
73
97
  }
74
98
 
75
99
  exports.AreaSeries = AreaSeries, AreaSeries.type = interface_3.SeriesTypeEnum.area,
@@ -78,5 +102,5 @@ AreaSeries.mark = Object.assign(Object.assign(Object.assign({}, base_series_1.Ba
78
102
  name: interface_2.SeriesMarkNameEnum.area,
79
103
  type: interface_1.MarkTypeEnum.area
80
104
  }
81
- }), (0, vutils_1.mixin)(AreaSeries, line_mixin_1.LineLikeSeriesMixin);
105
+ }), (0, vutils_2.mixin)(AreaSeries, line_mixin_1.LineLikeSeriesMixin);
82
106
  //# 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":["/* eslint-disable no-duplicate-imports */\nimport { 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';\nimport { SeriesMarkNameEnum } from '../interface';\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\nimport { VChart } from '../../core/vchart';\nimport { LineMark } from '../../mark/line';\nimport { AreaMark } from '../../mark/area';\nimport { TextMark } from '../../mark/text';\nimport { SymbolMark } from '../../mark/symbol';\nVChart.useMark([LineMark, AreaMark, TextMark, SymbolMark]);\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 const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark === 'area'\n }) as IAreaMark;\n\n this.initLineMark(progressive, seriesMark === 'line' || (seriesMark === 'area' && !isAreaVisible));\n this.initSymbolMark(progressive, seriesMark === 'point');\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
+ {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, merge } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { 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, ConvertToMarkStyleSpec, IAreaMarkSpec } from '../../typings';\nimport { valueInScaleRange, couldBeValidNumber } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\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\nimport { VChart } from '../../core/vchart';\nimport { LineMark } from '../../mark/line';\nimport { AreaMark } from '../../mark/area';\nimport { TextMark } from '../../mark/text';\nimport { SymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nVChart.useMark([LineMark, AreaMark, TextMark, SymbolMark]);\n\nexport interface AreaSeries\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\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\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const isLineVisible = this._spec.line?.visible !== false && this._spec.line?.style?.visible !== false;\n // merge line to area\n const areaSpec = this._spec.area ?? {};\n const lineSpec = this._spec.line ?? {};\n areaSpec.interactive = areaSpec.interactive || lineSpec.interactive;\n areaSpec.support3d = areaSpec.support3d || lineSpec.support3d;\n areaSpec.zIndex =\n isValid(areaSpec.zIndex) || isValid(lineSpec.zIndex)\n ? Math.max(areaSpec.zIndex ?? 0, lineSpec.zIndex ?? 0)\n : undefined;\n\n // remove area stroke\n if (areaSpec.style) {\n delete areaSpec.style.stroke;\n }\n if (areaSpec.state) {\n Object.keys(areaSpec.state).forEach(state => {\n if ('style' in areaSpec.state[state]) {\n delete areaSpec.state[state].style.stroke;\n } else {\n delete (<ConvertToMarkStyleSpec<IAreaMarkSpec>>areaSpec.state[state]).stroke;\n }\n });\n }\n // check which one is main\n let mainSpec = areaSpec;\n let subSpec = lineSpec;\n const seriesMark = this._spec.seriesMark ?? 'area';\n if (seriesMark === 'line' || (isLineVisible && !isAreaVisible)) {\n mainSpec = lineSpec;\n subSpec = areaSpec;\n }\n areaSpec.style = merge({}, subSpec.style, mainSpec.style);\n areaSpec.state = merge({}, subSpec.state, mainSpec.state);\n if (!isAreaVisible) {\n areaSpec.style.fill = false;\n }\n if (!isLineVisible) {\n areaSpec.style.stroke = false;\n }\n areaSpec.visible = !(!isAreaVisible && !isLineVisible);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point'\n }) as IAreaMark;\n\n this.initSymbolMark(progressive, seriesMark === 'point');\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._fieldZ ? this.dataToPositionZ.bind(this) : null\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._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\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 // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\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 protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n"]}
@@ -12,6 +12,7 @@ export interface IAreaSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<st
12
12
  [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;
13
13
  [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;
14
14
  seriesMark?: 'point' | 'line' | 'area';
15
+ activePoint?: boolean;
15
16
  }
16
17
  export interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {
17
18
  [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;
@@ -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 { SeriesMarkNameEnum } 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: '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 * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n}\n\nexport interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.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 } 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: '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 * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { ISeriesTooltipHelper } from '../interface';
2
+ import { BaseSeriesTooltipHelper } from '../base/tooltip-helper';
3
+ export declare class AreaSeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {
4
+ protected _getSeriesStyle: (datum: any, styleKey: string | string[], defaultValue?: any) => any;
5
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.AreaSeriesTooltipHelper = void 0;
6
+
7
+ const tooltip_helper_1 = require("../base/tooltip-helper"), util_1 = require("../../util");
8
+
9
+ class AreaSeriesTooltipHelper extends tooltip_helper_1.BaseSeriesTooltipHelper {
10
+ constructor() {
11
+ super(...arguments), this._getSeriesStyle = (datum, styleKey, defaultValue) => {
12
+ var _a, _b, _c, _d;
13
+ for (const key of (0, util_1.array)(styleKey)) {
14
+ let value = null === (_a = this.series.getSeriesStyle(datum)) || void 0 === _a ? void 0 : _a(key);
15
+ if (!1 !== value || "fill" !== key && "stroke" !== key || (value = "fill" === key ? null === (_c = null === (_b = this.series.getSeriesStyle(datum)) || void 0 === _b ? void 0 : _b("stroke")) || void 0 === _c ? void 0 : _c[0] : null === (_d = this.series.getSeriesStyle(datum)) || void 0 === _d ? void 0 : _d("fill")),
16
+ (0, util_1.isValid)(value)) return value;
17
+ }
18
+ return defaultValue;
19
+ };
20
+ }
21
+ }
22
+
23
+ exports.AreaSeriesTooltipHelper = AreaSeriesTooltipHelper;
24
+ //# sourceMappingURL=tooltip-helpter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/series/area/tooltip-helpter.ts"],"names":[],"mappings":";;;AACA,2DAAiE;AACjE,qCAA4C;AAE5C,MAAa,uBAAwB,SAAQ,wCAAuB;IAApE;;QACY,oBAAe,GAAG,CAAC,KAAU,EAAE,QAA2B,EAAE,YAAkB,EAAE,EAAE;;YAC1F,KAAK,MAAM,GAAG,IAAI,IAAA,YAAK,EAAC,QAAQ,CAAC,EAAE;gBACjC,IAAI,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,0CAAG,GAAG,CAAC,CAAC;gBAGrD,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,CAAC,EAAE;oBAC3D,IAAI,GAAG,KAAK,MAAM,EAAE;wBAClB,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,0CAAG,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAC;qBAC5D;yBAAM;wBACL,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,0CAAG,MAAM,CAAC,CAAC;qBACrD;iBACF;gBACD,IAAI,IAAA,cAAO,EAAC,KAAK,CAAC,EAAE;oBAClB,OAAO,KAAK,CAAC;iBACd;aACF;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;CAAA;AAnBD,0DAmBC","file":"tooltip-helpter.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport { array, isValid } from '../../util';\n\nexport class AreaSeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n protected _getSeriesStyle = (datum: any, styleKey: string | string[], defaultValue?: any) => {\n for (const key of array(styleKey)) {\n let value = this.series.getSeriesStyle(datum)?.(key);\n // because of line mark merge into area mark\n // TODO: if tooltip symbol use mark fill & stroke ,remove this code\n if (value === false && (key === 'fill' || key === 'stroke')) {\n if (key === 'fill') {\n value = this.series.getSeriesStyle(datum)?.('stroke')?.[0];\n } else {\n value = this.series.getSeriesStyle(datum)?.('fill');\n }\n }\n if (isValid(value)) {\n return value;\n }\n }\n return defaultValue;\n };\n}\n"]}
@@ -32,6 +32,7 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
32
32
  updateSpec(spec: IBarSeriesSpec): {
33
33
  change: boolean;
34
34
  reMake: boolean;
35
+ reMakeData: boolean;
35
36
  reRender: boolean;
36
37
  reSize: boolean;
37
38
  reCompile: boolean;
@@ -46,7 +46,7 @@ class BarSeries extends cartesian_1.CartesianSeries {
46
46
  textMark && this.setMarkStyle(textMark, {
47
47
  fill: this.getColorAttribute(),
48
48
  text: datum => datum[this.getStackValueField()],
49
- z: this.dataToPositionZ.bind(this)
49
+ z: this._fieldZ ? this.dataToPositionZ.bind(this) : null
50
50
  });
51
51
  }
52
52
  init(option) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/bar/bar.ts"],"names":[],"mappings":"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","file":"bar.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isContinuous } from '@visactor/vscale';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport { getActualNumValue } from '../util/utils';\nimport type { Maybe, Datum, DirectionType } from '../../typings';\nimport { merge, valueInScaleRange } from '../../util';\nimport type { BarAppearPreset, IBarAnimationParams } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { IModelInitOption } from '../../model/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { RectMark } from '../../mark/rect';\nimport { TextMark } from '../../mark/text';\nimport { array, isValid, last } from '@visactor/vutils';\n\nVChart.useMark([RectMark, TextMark]);\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.bar;\n type = SeriesTypeEnum.bar;\n protected _barMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.bar;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.bar]: { name: SeriesMarkNameEnum.bar, type: MarkTypeEnum.rect }\n };\n\n protected declare _theme: Maybe<IBarSeriesTheme>;\n\n protected _stack: boolean = true;\n protected _bandPosition = 0;\n protected _rectMark!: IRectMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._rectMark = this._createMark(\n {\n ...BarSeries.mark.bar,\n name: this._barMarkName,\n type: this._barMarkType\n },\n {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig(this.type, this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label),\n progressive\n }\n ) as IRectMark;\n }\n\n initMarkStyle(): void {\n const rectMark = this._rectMark;\n if (rectMark) {\n this.setMarkStyle(\n rectMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(rectMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(rectMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this.dataToPositionZ.bind(this)\n });\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n if (this.direction === 'vertical') {\n this._xAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n } else {\n this._yAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n }\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n // TODO: 这里要考虑更多 条件因素\n // TODO: 这里要补充堆积\n // guess the direction which the user want\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), xScale),\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX1(datum), xScale),\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), yScale),\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY1(datum), yScale),\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initLinearRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), xScale),\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX1(datum), xScale),\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), yScale),\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY1(datum), yScale)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this._fieldY[0],\n xField: this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<BarAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.bar(animationParams, appearPreset),\n userAnimationConfig(this._barMarkName, this._spec),\n { dataIndex }\n )\n );\n }\n\n protected _getBarWidth(axisHelper: IAxisHelper) {\n const hasBarWidth = this._spec.barWidth !== undefined;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n\n if (hasBarWidth) {\n return getActualNumValue(this._spec.barWidth, bandWidth);\n }\n const hasBarMinWidth = this._spec.barMinWidth !== undefined;\n const hasBarMaxWidth = this._spec.barMaxWidth !== undefined;\n let width = bandWidth;\n if (hasBarMinWidth) {\n width = Math.max(width, getActualNumValue(this._spec.barMinWidth, bandWidth));\n }\n if (hasBarMaxWidth) {\n width = Math.min(width, getActualNumValue(this._spec.barMaxWidth, bandWidth));\n }\n return width;\n }\n\n protected _getPosition(direction: DirectionType, datum: Datum) {\n let axisHelper;\n let sizeAttribute;\n let dataToPosition;\n if (direction === Direction.horizontal) {\n axisHelper = this.getYAxisHelper();\n sizeAttribute = 'height';\n dataToPosition = this.dataToPositionY.bind(this);\n } else {\n axisHelper = this.getXAxisHelper();\n sizeAttribute = 'width';\n dataToPosition = this.dataToPositionX.bind(this);\n }\n const scale = axisHelper.getScale(0);\n const size = this._rectMark.getAttribute(sizeAttribute, datum) as number;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n if (this._groups?.fields?.length > 1 && isValid(this._spec.barGapInGroup)) {\n // 自里向外计算,沿着第一层分组的中心点进行位置调整\n const groupFields = this._groups.fields;\n const barInGroup = array(this._spec.barGapInGroup);\n let totalWidth: number = 0;\n let offSet: number = 0;\n\n for (let index = groupFields.length - 1; index >= 1; index--) {\n const groupField = groupFields[index];\n const groupValues = this.getViewDataStatistics()?.latestData?.[groupField]?.values ?? [];\n const groupCount = groupValues.length;\n const gap = getActualNumValue(barInGroup[index - 1] ?? last(barInGroup), bandWidth);\n const i = groupValues.indexOf(datum[groupField]);\n if (index === groupFields.length - 1) {\n totalWidth += groupCount * size + (groupCount - 1) * gap;\n offSet += i * (size + gap);\n } else {\n offSet += i * (totalWidth + gap);\n totalWidth += totalWidth + (groupCount - 1) * gap;\n }\n }\n\n const center = scale.scale(datum[groupFields[0]]) + axisHelper.getBandwidth(0) / 2;\n return center - totalWidth / 2 + offSet;\n }\n\n const continuous = isContinuous(scale.type || 'band');\n const pos = dataToPosition(datum);\n return pos + (bandWidth - size) * 0.5 + (continuous ? -bandWidth / 2 : 0);\n }\n\n /**\n * spec 更新\n * @param spec\n * @returns\n */\n updateSpec(spec: IBarSeriesSpec) {\n // super updateSpec 会执行 setAttrFromSpec 所以先缓存比对值\n const { direction } = this._spec;\n const result = super.updateSpec(spec);\n if (spec.direction !== direction) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/bar/bar.ts"],"names":[],"mappings":";;;AACA,6CAAgD;AAChD,+CAAgD;AAChD,sDAAyD;AACzD,oDAAoD;AACpD,6CAAgD;AAChD,yCAAkD;AAElD,qCAAsD;AAEtD,iDAA4F;AAO5F,4CAAkD;AAClD,4CAA8C;AAC9C,mDAAgE;AAEhE,qDAAiD;AACjD,8CAA2C;AAC3C,0CAA2C;AAC3C,0CAA2C;AAC3C,6CAAwD;AAExD,eAAM,CAAC,OAAO,CAAC,CAAC,eAAQ,EAAE,eAAQ,CAAC,CAAC,CAAC;AAExB,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAa,SAAqD,SAAQ,2BAAkB;IAA5F;;QAEE,SAAI,GAAG,0BAAc,CAAC,GAAG,CAAC;QAChB,iBAAY,GAAuB,8BAAkB,CAAC,GAAG,CAAC;QAC1D,iBAAY,GAAiB,wBAAY,CAAC,IAAI,CAAC;QAS/C,WAAM,GAAY,IAAI,CAAC;QACvB,kBAAa,GAAG,CAAC,CAAC;IA0O9B,CAAC;IAvOC,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,iCAE1B,SAAS,CAAC,IAAI,CAAC,GAAG,KACrB,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,IAAI,EAAE,IAAI,CAAC,YAAY,KAEzB;YACE,KAAK,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxG,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAA,YAAK,EAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnE,WAAW;SACZ,CACW,CAAC;IACjB,CAAC;IAED,aAAa;;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;aAC/B,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,kBAAkB,CAAC,QAAmB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;gBACrB,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACzD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAwB;;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;YACjC,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,MAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChH;aAAM;YACL,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,MAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChH;IACH,CAAC;IAED,qBAAqB;;QACnB,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;QAIhD,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,EAAE;YAC3C,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;gBACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAC3E,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAC7E,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC7D,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;aACnD,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;gBACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC7D,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAC3E,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAC7E,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC;aACF,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;IACH,CAAC;IAED,uBAAuB;;QACrB,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAC3E,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAC7E,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAC3E,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;SAC9E,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAED,aAAa;;QAGX,MAAM,eAAe,GAAwB;YAC3C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,GAAG,EAAE;;gBACb,OAAA,IAAI,CAAC,SAAS,KAAK,YAAY;oBAC7B,CAAC,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;aAAA;SAC9C,CAAC;QACF,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAAsD,0CAAE,MAAM,CAAC;QAEjG,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;;YAC/B,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAE,0CAAE,UAAU,0CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnG,OAAO,MAAM,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,IAAA,uBAAe,EACb,+BAAsB,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,EACzD,IAAA,2BAAmB,EAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,EAClD,EAAE,SAAS,EAAE,CACd,CACF,CAAC;IACJ,CAAC;IAES,YAAY,CAAC,UAAuB;;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,MAAA,MAAA,UAAU,CAAC,YAAY,2DAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,wBAAgB,CAAC;QAEnH,IAAI,WAAW,EAAE;YACf,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC1D;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;QAC5D,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,cAAc,EAAE;YAClB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,cAAc,EAAE;YAClB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;SAC/E;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,YAAY,CAAC,SAAwB,EAAE,KAAY;;QAC3D,IAAI,UAAU,CAAC;QACf,IAAI,aAAa,CAAC;QAClB,IAAI,cAAc,CAAC;QACnB,IAAI,SAAS,KAAK,iBAAS,CAAC,UAAU,EAAE;YACtC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,aAAa,GAAG,QAAQ,CAAC;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClD;aAAM;YACL,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,aAAa,GAAG,OAAO,CAAC;YACxB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClD;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAW,CAAC;QACzE,MAAM,SAAS,GAAG,MAAA,MAAA,UAAU,CAAC,YAAY,2DAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,wBAAgB,CAAC;QACnH,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAEzE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,MAAM,UAAU,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,UAAU,GAAW,CAAC,CAAC;YAC3B,IAAI,MAAM,GAAW,CAAC,CAAC;YAEvB,KAAK,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAE,0CAAE,UAAU,0CAAG,UAAU,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC;gBACzF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAA,yBAAiB,EAAC,MAAA,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,mCAAI,IAAA,aAAI,EAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;gBACpF,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjD,IAAI,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpC,UAAU,IAAI,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;oBACzD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;iBAC5B;qBAAM;oBACL,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;oBACjC,UAAU,IAAI,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;iBACnD;aACF;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnF,OAAO,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC;SACzC;QAED,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAOD,UAAU,CAAC,IAAoB;QAE7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAvPH,8BAwPC;AAvPiB,cAAI,GAAW,0BAAc,CAAC,GAAG,CAAC;AAKlC,cAAI,mCACf,wBAAU,CAAC,IAAI,KAClB,CAAC,8BAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,IACnF","file":"bar.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isContinuous } from '@visactor/vscale';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport { getActualNumValue } from '../util/utils';\nimport type { Maybe, Datum, DirectionType } from '../../typings';\nimport { merge, valueInScaleRange } from '../../util';\nimport type { BarAppearPreset, IBarAnimationParams } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { IModelInitOption } from '../../model/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { RectMark } from '../../mark/rect';\nimport { TextMark } from '../../mark/text';\nimport { array, isValid, last } from '@visactor/vutils';\n\nVChart.useMark([RectMark, TextMark]);\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.bar;\n type = SeriesTypeEnum.bar;\n protected _barMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.bar;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.bar]: { name: SeriesMarkNameEnum.bar, type: MarkTypeEnum.rect }\n };\n\n protected declare _theme: Maybe<IBarSeriesTheme>;\n\n protected _stack: boolean = true;\n protected _bandPosition = 0;\n protected _rectMark!: IRectMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._rectMark = this._createMark(\n {\n ...BarSeries.mark.bar,\n name: this._barMarkName,\n type: this._barMarkType\n },\n {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig(this.type, this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label),\n progressive\n }\n ) as IRectMark;\n }\n\n initMarkStyle(): void {\n const rectMark = this._rectMark;\n if (rectMark) {\n this.setMarkStyle(\n rectMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(rectMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(rectMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n if (this.direction === 'vertical') {\n this._xAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n } else {\n this._yAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n }\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n // TODO: 这里要考虑更多 条件因素\n // TODO: 这里要补充堆积\n // guess the direction which the user want\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), xScale),\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX1(datum), xScale),\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), yScale),\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY1(datum), yScale),\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initLinearRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), xScale),\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX1(datum), xScale),\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), yScale),\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY1(datum), yScale)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this._fieldY[0],\n xField: this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<BarAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.bar(animationParams, appearPreset),\n userAnimationConfig(this._barMarkName, this._spec),\n { dataIndex }\n )\n );\n }\n\n protected _getBarWidth(axisHelper: IAxisHelper) {\n const hasBarWidth = this._spec.barWidth !== undefined;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n\n if (hasBarWidth) {\n return getActualNumValue(this._spec.barWidth, bandWidth);\n }\n const hasBarMinWidth = this._spec.barMinWidth !== undefined;\n const hasBarMaxWidth = this._spec.barMaxWidth !== undefined;\n let width = bandWidth;\n if (hasBarMinWidth) {\n width = Math.max(width, getActualNumValue(this._spec.barMinWidth, bandWidth));\n }\n if (hasBarMaxWidth) {\n width = Math.min(width, getActualNumValue(this._spec.barMaxWidth, bandWidth));\n }\n return width;\n }\n\n protected _getPosition(direction: DirectionType, datum: Datum) {\n let axisHelper;\n let sizeAttribute;\n let dataToPosition;\n if (direction === Direction.horizontal) {\n axisHelper = this.getYAxisHelper();\n sizeAttribute = 'height';\n dataToPosition = this.dataToPositionY.bind(this);\n } else {\n axisHelper = this.getXAxisHelper();\n sizeAttribute = 'width';\n dataToPosition = this.dataToPositionX.bind(this);\n }\n const scale = axisHelper.getScale(0);\n const size = this._rectMark.getAttribute(sizeAttribute, datum) as number;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n if (this._groups?.fields?.length > 1 && isValid(this._spec.barGapInGroup)) {\n // 自里向外计算,沿着第一层分组的中心点进行位置调整\n const groupFields = this._groups.fields;\n const barInGroup = array(this._spec.barGapInGroup);\n let totalWidth: number = 0;\n let offSet: number = 0;\n\n for (let index = groupFields.length - 1; index >= 1; index--) {\n const groupField = groupFields[index];\n const groupValues = this.getViewDataStatistics()?.latestData?.[groupField]?.values ?? [];\n const groupCount = groupValues.length;\n const gap = getActualNumValue(barInGroup[index - 1] ?? last(barInGroup), bandWidth);\n const i = groupValues.indexOf(datum[groupField]);\n if (index === groupFields.length - 1) {\n totalWidth += groupCount * size + (groupCount - 1) * gap;\n offSet += i * (size + gap);\n } else {\n offSet += i * (totalWidth + gap);\n totalWidth += totalWidth + (groupCount - 1) * gap;\n }\n }\n\n const center = scale.scale(datum[groupFields[0]]) + axisHelper.getBandwidth(0) / 2;\n return center - totalWidth / 2 + offSet;\n }\n\n const continuous = isContinuous(scale.type || 'band');\n const pos = dataToPosition(datum);\n return pos + (bandWidth - size) * 0.5 + (continuous ? -bandWidth / 2 : 0);\n }\n\n /**\n * spec 更新\n * @param spec\n * @returns\n */\n updateSpec(spec: IBarSeriesSpec) {\n // super updateSpec 会执行 setAttrFromSpec 所以先缓存比对值\n const { direction } = this._spec;\n const result = super.updateSpec(spec);\n if (spec.direction !== direction) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n"]}
@@ -87,6 +87,7 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
87
87
  viewDataFilterOver(d: DataView): void;
88
88
  viewDataUpdate(d: DataView): void;
89
89
  viewDataStatisticsUpdate(d: DataView): void;
90
+ getDatumPositionValue(datum: Datum, field: string): any;
90
91
  getDatumPositionValues(datum: Datum, fields: string | string[]): any[];
91
92
  abstract getStatisticFields(): {
92
93
  key: string;
@@ -123,6 +124,7 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
123
124
  updateSpec(spec: any): {
124
125
  change: boolean;
125
126
  reMake: boolean;
127
+ reMakeData: boolean;
126
128
  reRender: boolean;
127
129
  reSize: boolean;
128
130
  reCompile: boolean;
@@ -174,4 +176,6 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
174
176
  getDefaultShapeType(): string;
175
177
  getFieldAlias(field: string): any;
176
178
  getMarkInfoList(): import("../../model/interface").IModelMarkInfo[];
179
+ protected _getInvalidConnectType(): "none" | "zero" | "connect";
180
+ protected _getInvalidDefined: (datum: Datum) => boolean;
177
181
  }
@@ -69,7 +69,7 @@ class BaseSeries extends base_model_1.BaseModel {
69
69
  return this._seriesField;
70
70
  }
71
71
  setSeriesField(field) {
72
- (0, util_1.isValid)(field) && (this._seriesField = field, this.getMarksInType([ interface_2.MarkTypeEnum.line, interface_2.MarkTypeEnum.area ]).forEach((m => {
72
+ (0, util_1.isValid)(field) && (this._seriesField = field, this.getMarks().filter((m => m.getDataView() === this.getViewData())).forEach((m => {
73
73
  m.setFacet(this._seriesField);
74
74
  })));
75
75
  }
@@ -101,6 +101,7 @@ class BaseSeries extends base_model_1.BaseModel {
101
101
  this.modelType = "series", this.name = void 0, this.coordinate = "none", this._region = null,
102
102
  this._rootMark = null, this._seriesMark = null, this._viewDataMap = new Map, this._viewDataFilter = null,
103
103
  this._data = null, this._stack = !1, this._percent = !1, this._stackOffsetSilhouette = !1,
104
+ this._invalidType = "break", this._getInvalidDefined = datum => (0, util_1.couldBeValidNumber)(datum[this.getStackValueField()]),
104
105
  this._region = options.region, this._dataSet = options.dataSet, (null === (_a = this._spec) || void 0 === _a ? void 0 : _a.name) && (this.name = this._spec.name);
105
106
  }
106
107
  created() {
@@ -124,19 +125,20 @@ class BaseSeries extends base_model_1.BaseModel {
124
125
  var _a;
125
126
  return (0, util_1.isNil)(seriesValue) && (seriesValue = this.getSeriesKeys()[0]),
126
127
  null === (_a = this._option.globalScale.getScale("color")) || void 0 === _a ? void 0 : _a.scale(seriesValue);
127
- }
128
+ },
129
+ getRegion: () => this._region
128
130
  };
129
131
  }
130
132
  setAttrFromSpec() {
131
133
  var _a;
132
134
  super.setAttrFromSpec(), this.setSeriesField(this._spec.seriesField), (0, util_1.isBoolean)(this._spec.stack) && (this._stack = this._spec.stack),
133
135
  (0, util_1.isBoolean)(this._spec.percent) && (this._percent = this._spec.percent,
134
- this._stack = this._spec.stack || this._spec.percent), (0, util_1.isBoolean)(this._spec.stackOffsetSilhouette) && (this._stackOffsetSilhouette = this._spec.stackOffsetSilhouette,
135
- this._stack = this._spec.stack || this._spec.stackOffsetSilhouette), (0, util_1.isValid)(this._spec.invalidType) && (this._invalidType = this._spec.invalidType),
136
+ this._stack = this._spec.percent || this._stack), (0, util_1.isBoolean)(this._spec.stackOffsetSilhouette) && (this._stackOffsetSilhouette = this._spec.stackOffsetSilhouette,
137
+ this._stack = this._spec.stackOffsetSilhouette || this._stack), (0, util_1.isValid)(this._spec.invalidType) && (this._invalidType = this._spec.invalidType),
136
138
  null === (_a = this._tooltipHelper) || void 0 === _a || _a.updateTooltipSpec();
137
139
  }
138
140
  initData() {
139
- var _a, _b;
141
+ var _a, _b, _c;
140
142
  if (this._rawData = this._spec.data, null === (_a = this._rawData) || void 0 === _a || _a.target.addListener("change", this.rawDataUpdate.bind(this)),
141
143
  this._addDataIndexAndKey(), this._rawData) {
142
144
  this._viewDataFilter = (0, initialize_1.dataViewFromDataView)(this._rawData, this._dataSet, {
@@ -147,8 +149,9 @@ class BaseSeries extends base_model_1.BaseModel {
147
149
  });
148
150
  this._data = new series_data_1.SeriesData(this._option, viewData), this._viewDataFilter.target.removeListener("change", viewData.reRunAllTransform);
149
151
  }
150
- "link" !== this._invalidType && "zero" !== this._invalidType || ((0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, "invalidTravel", invalid_travel_1.invalidTravel),
151
- null === (_b = this.getViewData()) || void 0 === _b || _b.transform({
152
+ "zero" === this._invalidType && (null === (_b = this._rawData) || void 0 === _b ? void 0 : _b.dataSet) && ((0,
153
+ register_1.registerDataSetInstanceTransform)(this._rawData.dataSet, "invalidTravel", invalid_travel_1.invalidTravel),
154
+ null === (_c = this._rawData) || void 0 === _c || _c.transform({
152
155
  type: "invalidTravel",
153
156
  options: {
154
157
  config: () => ({
@@ -167,14 +170,50 @@ class BaseSeries extends base_model_1.BaseModel {
167
170
  this._rawData && this._statisticRawData(), this._data && this._statisticViewData();
168
171
  }
169
172
  _statisticRawData() {
170
- const rawDataName = `${index_1.PREFIX}_series_${this.id}_rawDataStatic`;
171
- this._rawDataStatistics = this.createStatisticalData(rawDataName, this._rawData, this._option.globalScale.getStatisticalFields),
172
- this._rawData.target.removeListener("change", this._rawDataStatistics.reRunAllTransform);
173
+ (0, register_1.registerDataSetInstanceTransform)(this._dataSet, "dimensionStatistics", dimension_statistics_1.dimensionStatistics);
174
+ const rawDataStatisticsName = `${index_1.PREFIX}_series_${this.id}_rawDataStatic`;
175
+ this._rawDataStatistics = new vdataset_1.DataView(this._dataSet, {
176
+ name: rawDataStatisticsName
177
+ }), this._rawDataStatistics.parse([ this._rawData ], {
178
+ type: "dataview"
179
+ }), this._rawDataStatistics.transform({
180
+ type: "dimensionStatistics",
181
+ options: {
182
+ operations: [ "max", "min", "values" ],
183
+ fields: () => {
184
+ var _a;
185
+ const fields = (0, util_1.mergeFields)(this.getStatisticFields(), null !== (_a = this._option.globalScale.getStatisticalFields(this._rawData.name)) && void 0 !== _a ? _a : []);
186
+ return this._seriesField && (0, util_1.mergeFields)(fields, [ {
187
+ key: this._seriesField,
188
+ operations: [ "values" ]
189
+ } ]), fields.filter((f => f.key !== index_1.STACK_FIELD_START_PERCENT && f.key !== index_1.STACK_FIELD_END_PERCENT && f.key !== index_1.STACK_FIELD_END && f.key !== index_1.STACK_FIELD_START));
190
+ },
191
+ target: "latest"
192
+ }
193
+ }, !1), this._rawData.target.removeListener("change", this._rawDataStatistics.reRunAllTransform);
173
194
  }
174
195
  _statisticViewData() {
175
- const viewDataName = `${index_1.PREFIX}_series_${this.id}_viewDataStatic`;
176
- this._viewDataStatistics = this.createStatisticalData(viewDataName, this._data.getDataView()),
177
- this._data.getDataView().target.removeListener("change", this._viewDataStatistics.reRunAllTransform),
196
+ (0, register_1.registerDataSetInstanceTransform)(this._dataSet, "dimensionStatistics", dimension_statistics_1.dimensionStatistics);
197
+ const viewDataStatisticsName = `${index_1.PREFIX}_series_${this.id}_viewDataStatic`;
198
+ this._viewDataStatistics = new vdataset_1.DataView(this._dataSet, {
199
+ name: viewDataStatisticsName
200
+ }), this._viewDataStatistics.parse([ this._data.getDataView() ], {
201
+ type: "dataview"
202
+ }), this._viewDataStatistics.transform({
203
+ type: "dimensionStatistics",
204
+ options: {
205
+ fieldFollowSource: key => this._viewDataFilter.transformsArr.length <= 1,
206
+ sourceStatistics: () => this._rawDataStatistics.latestData,
207
+ fields: () => {
208
+ const fields = this.getStatisticFields();
209
+ return this._seriesField && (0, util_1.mergeFields)(fields, [ {
210
+ key: this._seriesField,
211
+ operations: [ "values" ]
212
+ } ]), fields;
213
+ },
214
+ target: "latest"
215
+ }
216
+ }, !1), this._data.getDataView().target.removeListener("change", this._viewDataStatistics.reRunAllTransform),
178
217
  (this._stack || this._stackValue) && this.createdStackData();
179
218
  }
180
219
  createStatisticalData(dataName, rawData, staticFields) {
@@ -269,6 +308,9 @@ class BaseSeries extends base_model_1.BaseModel {
269
308
  model: this
270
309
  });
271
310
  }
311
+ getDatumPositionValue(datum, field) {
312
+ return !datum || (0, util_1.isNil)(field) ? null : datum[field];
313
+ }
272
314
  getDatumPositionValues(datum, fields) {
273
315
  return !datum || (0, util_1.isNil)(fields) ? [] : (0, util_1.isString)(fields) ? [ datum[fields] ] : fields.map((f => datum[f]));
274
316
  }
@@ -399,8 +441,8 @@ class BaseSeries extends base_model_1.BaseModel {
399
441
  const result = super.updateSpec(spec);
400
442
  spec.type !== this.type && (result.reMake = !0);
401
443
  const {invalidType: invalidType} = this._originalSpec;
402
- return spec.invalidType !== invalidType && (result.change = !0, result.reRender = !0),
403
- result;
444
+ return spec.invalidType !== invalidType && (result.change = !0, result.reRender = !0,
445
+ result.reMake = !0), result;
404
446
  }
405
447
  reInit(theme) {
406
448
  super.reInit(theme), this.initMarkStyle(), this.getMarksWithoutRoot().forEach((mark => {
@@ -531,7 +573,8 @@ class BaseSeries extends base_model_1.BaseModel {
531
573
  key;
532
574
  }
533
575
  addViewDataFilter(option) {
534
- this._viewDataFilter.transform(option, !1);
576
+ var _a;
577
+ null === (_a = this._viewDataFilter) || void 0 === _a || _a.transform(option, !1);
535
578
  }
536
579
  reFilterViewData() {
537
580
  var _a;
@@ -565,6 +608,9 @@ class BaseSeries extends base_model_1.BaseModel {
565
608
  }
566
609
  return list;
567
610
  }
611
+ _getInvalidConnectType() {
612
+ return "zero" === this._invalidType ? "zero" : "link" === this._invalidType ? "connect" : "none";
613
+ }
568
614
  }
569
615
 
570
616
  exports.BaseSeries = BaseSeries, BaseSeries.mark = {