@visactor/vchart 1.10.0-alpha.1 → 1.10.0-alpha.4

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 (648) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +4415 -3072
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/bar/bar-transformer.d.ts +1 -0
  6. package/cjs/chart/bar/bar-transformer.js +19 -2
  7. package/cjs/chart/bar/bar-transformer.js.map +1 -1
  8. package/cjs/chart/bar/interface.d.ts +3 -0
  9. package/cjs/chart/bar/interface.js.map +1 -1
  10. package/cjs/chart/base/base-chart-transformer.js +3 -3
  11. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  12. package/cjs/chart/base/base-chart.d.ts +1 -1
  13. package/cjs/chart/base/base-chart.js +4 -2
  14. package/cjs/chart/base/base-chart.js.map +1 -1
  15. package/cjs/chart/base/util.d.ts +1 -1
  16. package/cjs/chart/base/util.js +20 -10
  17. package/cjs/chart/base/util.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian-transformer.d.ts +1 -0
  19. package/cjs/chart/cartesian/cartesian-transformer.js +10 -7
  20. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  21. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  22. package/cjs/compile/compiler.js +5 -1
  23. package/cjs/compile/compiler.js.map +1 -1
  24. package/cjs/compile/mark/compilable-mark.d.ts +4 -1
  25. package/cjs/compile/mark/compilable-mark.js +9 -1
  26. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  27. package/cjs/compile/mark/interface.d.ts +4 -1
  28. package/cjs/compile/mark/interface.js.map +1 -1
  29. package/cjs/component/axis/base-axis.d.ts +1 -53
  30. package/cjs/component/axis/base-axis.js +76 -83
  31. package/cjs/component/axis/base-axis.js.map +1 -1
  32. package/cjs/component/axis/cartesian/band-axis.d.ts +5 -0
  33. package/cjs/component/axis/cartesian/band-axis.js +27 -5
  34. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  35. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -0
  36. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  37. package/cjs/component/axis/cartesian/log-axis.js +2 -1
  38. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  39. package/cjs/component/axis/interface/spec.d.ts +5 -6
  40. package/cjs/component/axis/interface/spec.js.map +1 -1
  41. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  42. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  43. package/cjs/component/base/base-component.d.ts +1 -1
  44. package/cjs/component/base/base-component.js +2 -2
  45. package/cjs/component/base/base-component.js.map +1 -1
  46. package/cjs/component/brush/brush.d.ts +0 -3
  47. package/cjs/component/brush/brush.js +5 -33
  48. package/cjs/component/brush/brush.js.map +1 -1
  49. package/cjs/component/brush/interface.d.ts +0 -3
  50. package/cjs/component/brush/interface.js.map +1 -1
  51. package/cjs/component/custom-mark/custom-mark.d.ts +1 -2
  52. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  53. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -6
  54. package/cjs/component/data-zoom/data-filter-base-component.js +11 -21
  55. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  56. package/cjs/component/data-zoom/data-zoom/data-zoom.js +5 -6
  57. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  58. package/cjs/component/data-zoom/data-zoom/interface.d.ts +0 -2
  59. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  60. package/cjs/component/data-zoom/util.js +1 -5
  61. package/cjs/component/data-zoom/util.js.map +1 -1
  62. package/cjs/component/indicator/indicator.js.map +1 -1
  63. package/cjs/component/indicator/interface.d.ts +5 -5
  64. package/cjs/component/indicator/interface.js.map +1 -1
  65. package/cjs/component/label/base-label.d.ts +4 -4
  66. package/cjs/component/label/interface.d.ts +8 -9
  67. package/cjs/component/label/interface.js.map +1 -1
  68. package/cjs/component/label/label.js +1 -1
  69. package/cjs/component/label/label.js.map +1 -1
  70. package/cjs/component/label/total-label.js +14 -1
  71. package/cjs/component/label/total-label.js.map +1 -1
  72. package/cjs/component/label/util.d.ts +1 -1
  73. package/cjs/component/label/util.js +1 -8
  74. package/cjs/component/label/util.js.map +1 -1
  75. package/cjs/component/legend/discrete/interface.d.ts +3 -2
  76. package/cjs/component/legend/discrete/interface.js.map +1 -1
  77. package/cjs/component/legend/util.d.ts +1 -1
  78. package/cjs/component/marker/interface.d.ts +6 -6
  79. package/cjs/component/marker/interface.js.map +1 -1
  80. package/cjs/component/marker/mark-area/interface/theme.d.ts +1 -1
  81. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  82. package/cjs/component/marker/mark-area/mark-area.js +1 -1
  83. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  84. package/cjs/component/marker/mark-line/interface/theme.d.ts +1 -1
  85. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  86. package/cjs/component/marker/mark-line/mark-line.js +1 -1
  87. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  88. package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
  89. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  90. package/cjs/component/marker/mark-point/mark-point.js +5 -2
  91. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  92. package/cjs/component/poptip/interface.d.ts +5 -2
  93. package/cjs/component/poptip/interface.js.map +1 -1
  94. package/cjs/component/title/interface/spec.d.ts +18 -7
  95. package/cjs/component/title/interface/spec.js.map +1 -1
  96. package/cjs/component/title/interface/theme.d.ts +2 -1
  97. package/cjs/component/title/interface/theme.js.map +1 -1
  98. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  99. package/cjs/component/tooltip/interface/common.js.map +1 -1
  100. package/cjs/component/tooltip/interface/theme.d.ts +3 -2
  101. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  102. package/cjs/component/tooltip/processor/base.js +2 -2
  103. package/cjs/component/tooltip/processor/base.js.map +1 -1
  104. package/cjs/component/tooltip/tooltip.js +6 -6
  105. package/cjs/component/tooltip/tooltip.js.map +1 -1
  106. package/cjs/constant/index.d.ts +1 -0
  107. package/cjs/constant/index.js +5 -4
  108. package/cjs/constant/index.js.map +1 -1
  109. package/cjs/core/index.d.ts +1 -1
  110. package/cjs/core/index.js +1 -1
  111. package/cjs/core/index.js.map +1 -1
  112. package/cjs/core/vchart.js +4 -3
  113. package/cjs/core/vchart.js.map +1 -1
  114. package/cjs/data/transforms/dimension-statistics.d.ts +2 -0
  115. package/cjs/data/transforms/dimension-statistics.js +1 -1
  116. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  117. package/cjs/data/transforms/funnel.d.ts +1 -1
  118. package/cjs/data/transforms/waterfall.js +104 -29
  119. package/cjs/data/transforms/waterfall.js.map +1 -1
  120. package/cjs/event/event-dispatcher.js +1 -1
  121. package/cjs/event/event-dispatcher.js.map +1 -1
  122. package/cjs/event/events/dimension/util/common.js +45 -48
  123. package/cjs/event/events/dimension/util/common.js.map +1 -1
  124. package/cjs/event/interface.d.ts +2 -1
  125. package/cjs/event/interface.js.map +1 -1
  126. package/cjs/interaction/dimension-trigger.js +3 -1
  127. package/cjs/interaction/dimension-trigger.js.map +1 -1
  128. package/cjs/interaction/interaction.d.ts +5 -0
  129. package/cjs/interaction/interaction.js +17 -1
  130. package/cjs/interaction/interaction.js.map +1 -1
  131. package/cjs/interaction/interface.d.ts +4 -1
  132. package/cjs/interaction/interface.js.map +1 -1
  133. package/cjs/mark/label.d.ts +2 -2
  134. package/cjs/mark/label.js.map +1 -1
  135. package/cjs/mark/text.d.ts +16 -7
  136. package/cjs/mark/text.js +12 -6
  137. package/cjs/mark/text.js.map +1 -1
  138. package/cjs/plugin/components/tooltip-handler/base.js +15 -15
  139. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  140. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +3 -4
  141. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  142. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +2 -2
  143. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  144. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  145. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +2 -2
  146. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  147. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +1 -1
  148. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  149. package/cjs/series/area/interface.d.ts +2 -1
  150. package/cjs/series/area/interface.js.map +1 -1
  151. package/cjs/series/bar/bar-3d.js.map +1 -1
  152. package/cjs/series/bar/bar.d.ts +11 -1
  153. package/cjs/series/bar/bar.js +102 -72
  154. package/cjs/series/bar/bar.js.map +1 -1
  155. package/cjs/series/bar/interface.d.ts +4 -3
  156. package/cjs/series/bar/interface.js.map +1 -1
  157. package/cjs/series/base/base-series-transformer.d.ts +4 -0
  158. package/cjs/series/base/base-series-transformer.js +33 -10
  159. package/cjs/series/base/base-series-transformer.js.map +1 -1
  160. package/cjs/series/base/base-series.d.ts +4 -1
  161. package/cjs/series/base/base-series.js +10 -2
  162. package/cjs/series/base/base-series.js.map +1 -1
  163. package/cjs/series/cartesian/cartesian.d.ts +1 -2
  164. package/cjs/series/cartesian/cartesian.js +28 -24
  165. package/cjs/series/cartesian/cartesian.js.map +1 -1
  166. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  167. package/cjs/series/correlation/interface.d.ts +3 -3
  168. package/cjs/series/correlation/interface.js.map +1 -1
  169. package/cjs/series/dot/interface.d.ts +2 -2
  170. package/cjs/series/dot/interface.js.map +1 -1
  171. package/cjs/series/funnel/funnel.js.map +1 -1
  172. package/cjs/series/funnel/interface.d.ts +5 -4
  173. package/cjs/series/funnel/interface.js.map +1 -1
  174. package/cjs/series/interface/common.d.ts +2 -0
  175. package/cjs/series/interface/common.js.map +1 -1
  176. package/cjs/series/line/interface.d.ts +3 -2
  177. package/cjs/series/line/interface.js.map +1 -1
  178. package/cjs/series/map/interface.d.ts +2 -5
  179. package/cjs/series/map/interface.js.map +1 -1
  180. package/cjs/series/mixin/line-mixin.js +1 -1
  181. package/cjs/series/mixin/line-mixin.js.map +1 -1
  182. package/cjs/series/pie/3d/pie-3d.d.ts +1 -1
  183. package/cjs/series/pie/3d/pie-3d.js +2 -4
  184. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  185. package/cjs/series/pie/interface.d.ts +5 -4
  186. package/cjs/series/pie/interface.js.map +1 -1
  187. package/cjs/series/pie/pie-transformer.js +5 -4
  188. package/cjs/series/pie/pie-transformer.js.map +1 -1
  189. package/cjs/series/pie/pie.js +1 -4
  190. package/cjs/series/pie/pie.js.map +1 -1
  191. package/cjs/series/radar/interface.d.ts +2 -1
  192. package/cjs/series/radar/interface.js.map +1 -1
  193. package/cjs/series/range-column/interface.d.ts +5 -5
  194. package/cjs/series/range-column/interface.js.map +1 -1
  195. package/cjs/series/rose/interface.d.ts +2 -1
  196. package/cjs/series/rose/interface.js.map +1 -1
  197. package/cjs/series/rose/rose.js +1 -5
  198. package/cjs/series/rose/rose.js.map +1 -1
  199. package/cjs/series/sankey/interface.d.ts +2 -2
  200. package/cjs/series/sankey/interface.js.map +1 -1
  201. package/cjs/series/sankey/sankey.js.map +1 -1
  202. package/cjs/series/scatter/interface.d.ts +2 -1
  203. package/cjs/series/scatter/interface.js.map +1 -1
  204. package/cjs/series/sunburst/sunburst.js.map +1 -1
  205. package/cjs/series/treemap/interface.d.ts +3 -2
  206. package/cjs/series/treemap/interface.js.map +1 -1
  207. package/cjs/series/treemap/treemap.d.ts +2 -0
  208. package/cjs/series/treemap/treemap.js +45 -45
  209. package/cjs/series/treemap/treemap.js.map +1 -1
  210. package/cjs/series/util/utils.js +1 -1
  211. package/cjs/series/util/utils.js.map +1 -1
  212. package/cjs/series/word-cloud/base.js.map +1 -1
  213. package/cjs/series/word-cloud/interface.d.ts +2 -6
  214. package/cjs/series/word-cloud/interface.js.map +1 -1
  215. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +9 -7
  216. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  217. package/cjs/theme/builtin/common/component/axis/common-axis.js +15 -10
  218. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  219. package/cjs/theme/builtin/common/component/crosshair.js +121 -6
  220. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  221. package/cjs/theme/builtin/common/component/data-zoom.js +17 -5
  222. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  223. package/cjs/theme/builtin/common/component/indicator.js +9 -7
  224. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  225. package/cjs/theme/builtin/common/component/legend/continuous.js +33 -13
  226. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  227. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +17 -9
  228. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  229. package/cjs/theme/builtin/common/component/map-label.js +9 -7
  230. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  231. package/cjs/theme/builtin/common/component/mark-area.js +5 -6
  232. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  233. package/cjs/theme/builtin/common/component/mark-line.js +5 -6
  234. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  235. package/cjs/theme/builtin/common/component/poptip.js +9 -7
  236. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  237. package/cjs/theme/builtin/common/component/title.js +17 -9
  238. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  239. package/cjs/theme/builtin/common/component/tooltip.js +25 -11
  240. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  241. package/cjs/theme/builtin/common/component/total-label.js +5 -6
  242. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  243. package/cjs/theme/builtin/common/mark.js +10 -8
  244. package/cjs/theme/builtin/common/mark.js.map +1 -1
  245. package/cjs/theme/builtin/common/series/circle-packing.js +9 -7
  246. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  247. package/cjs/theme/builtin/common/series/dot.js +17 -9
  248. package/cjs/theme/builtin/common/series/dot.js.map +1 -1
  249. package/cjs/theme/builtin/common/series/funnel.js +9 -7
  250. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  251. package/cjs/theme/builtin/common/series/funnel3d.js +9 -7
  252. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  253. package/cjs/theme/builtin/common/series/map.js +9 -7
  254. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  255. package/cjs/theme/builtin/common/series/sunburst.js +9 -3
  256. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  257. package/cjs/theme/builtin/common/series/treemap.js +18 -10
  258. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  259. package/cjs/theme/builtin/common/series/waterfall.js +5 -6
  260. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  261. package/cjs/theme/builtin/index.js +3 -3
  262. package/cjs/theme/builtin/index.js.map +1 -1
  263. package/cjs/theme/builtin/light/index.js +6 -2
  264. package/cjs/theme/builtin/light/index.js.map +1 -1
  265. package/cjs/theme/interface.d.ts +3 -19
  266. package/cjs/theme/interface.js.map +1 -1
  267. package/cjs/theme/theme-manager.d.ts +1 -1
  268. package/cjs/theme/theme-manager.js +2 -2
  269. package/cjs/theme/theme-manager.js.map +1 -1
  270. package/cjs/theme/token/builtin/default.d.ts +2 -0
  271. package/cjs/theme/{builtin/common/constants.js → token/builtin/default.js} +3 -5
  272. package/cjs/theme/token/builtin/default.js.map +1 -0
  273. package/cjs/theme/token/builtin/index.d.ts +2 -0
  274. package/cjs/theme/token/builtin/index.js +21 -0
  275. package/cjs/theme/token/builtin/index.js.map +1 -0
  276. package/cjs/theme/token/builtin/interface.d.ts +17 -0
  277. package/cjs/theme/token/builtin/interface.js +6 -0
  278. package/cjs/theme/token/builtin/interface.js.map +1 -0
  279. package/cjs/theme/token/index.d.ts +3 -0
  280. package/cjs/theme/token/index.js +22 -0
  281. package/cjs/theme/token/index.js.map +1 -0
  282. package/cjs/theme/token/interface.d.ts +6 -0
  283. package/cjs/theme/token/interface.js +6 -0
  284. package/cjs/theme/token/interface.js.map +1 -0
  285. package/cjs/theme/token/util.d.ts +3 -0
  286. package/cjs/theme/token/util.js +15 -0
  287. package/cjs/theme/token/util.js.map +1 -0
  288. package/cjs/typings/spec/common.d.ts +31 -22
  289. package/cjs/typings/spec/common.js.map +1 -1
  290. package/cjs/typings/tooltip/line.js.map +1 -1
  291. package/cjs/typings/tooltip/position.d.ts +2 -19
  292. package/cjs/typings/tooltip/position.js +1 -12
  293. package/cjs/typings/tooltip/position.js.map +1 -1
  294. package/cjs/typings/visual.d.ts +13 -7
  295. package/cjs/typings/visual.js.map +1 -1
  296. package/cjs/util/data.d.ts +2 -1
  297. package/cjs/util/data.js +12 -7
  298. package/cjs/util/data.js.map +1 -1
  299. package/cjs/util/spec/common.d.ts +0 -2
  300. package/cjs/util/spec/common.js +3 -8
  301. package/cjs/util/spec/common.js.map +1 -1
  302. package/cjs/util/spec/index.d.ts +2 -2
  303. package/cjs/util/spec/index.js +1 -1
  304. package/cjs/util/spec/index.js.map +1 -1
  305. package/cjs/util/text.js +3 -3
  306. package/cjs/util/text.js.map +1 -1
  307. package/cjs/util/theme/common.d.ts +2 -0
  308. package/cjs/util/theme/common.js +15 -0
  309. package/cjs/util/theme/common.js.map +1 -0
  310. package/cjs/util/theme/index.d.ts +3 -0
  311. package/cjs/util/theme/index.js +22 -0
  312. package/cjs/util/theme/index.js.map +1 -0
  313. package/cjs/util/{spec → theme}/merge-theme.js +3 -1
  314. package/cjs/util/theme/merge-theme.js.map +1 -0
  315. package/cjs/util/{spec → theme}/preprocess.d.ts +2 -1
  316. package/cjs/util/{spec → theme}/preprocess.js +5 -3
  317. package/cjs/util/theme/preprocess.js.map +1 -0
  318. package/esm/chart/bar/bar-transformer.d.ts +1 -0
  319. package/esm/chart/bar/bar-transformer.js +19 -1
  320. package/esm/chart/bar/bar-transformer.js.map +1 -1
  321. package/esm/chart/bar/interface.d.ts +3 -0
  322. package/esm/chart/bar/interface.js.map +1 -1
  323. package/esm/chart/base/base-chart-transformer.js +3 -3
  324. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  325. package/esm/chart/base/base-chart.d.ts +1 -1
  326. package/esm/chart/base/base-chart.js +4 -2
  327. package/esm/chart/base/base-chart.js.map +1 -1
  328. package/esm/chart/base/util.d.ts +1 -1
  329. package/esm/chart/base/util.js +21 -9
  330. package/esm/chart/base/util.js.map +1 -1
  331. package/esm/chart/cartesian/cartesian-transformer.d.ts +1 -0
  332. package/esm/chart/cartesian/cartesian-transformer.js +10 -7
  333. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  334. package/esm/chart/polar/polar-transformer.js.map +1 -1
  335. package/esm/compile/compiler.js +5 -1
  336. package/esm/compile/compiler.js.map +1 -1
  337. package/esm/compile/mark/compilable-mark.d.ts +4 -1
  338. package/esm/compile/mark/compilable-mark.js +9 -1
  339. package/esm/compile/mark/compilable-mark.js.map +1 -1
  340. package/esm/compile/mark/interface.d.ts +4 -1
  341. package/esm/compile/mark/interface.js.map +1 -1
  342. package/esm/component/axis/base-axis.d.ts +1 -53
  343. package/esm/component/axis/base-axis.js +74 -82
  344. package/esm/component/axis/base-axis.js.map +1 -1
  345. package/esm/component/axis/cartesian/band-axis.d.ts +5 -0
  346. package/esm/component/axis/cartesian/band-axis.js +27 -6
  347. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  348. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -0
  349. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  350. package/esm/component/axis/cartesian/log-axis.js +2 -1
  351. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  352. package/esm/component/axis/interface/spec.d.ts +5 -6
  353. package/esm/component/axis/interface/spec.js.map +1 -1
  354. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  355. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  356. package/esm/component/base/base-component.d.ts +1 -1
  357. package/esm/component/base/base-component.js +3 -1
  358. package/esm/component/base/base-component.js.map +1 -1
  359. package/esm/component/brush/brush.d.ts +0 -3
  360. package/esm/component/brush/brush.js +5 -31
  361. package/esm/component/brush/brush.js.map +1 -1
  362. package/esm/component/brush/interface.d.ts +0 -3
  363. package/esm/component/brush/interface.js.map +1 -1
  364. package/esm/component/custom-mark/custom-mark.d.ts +1 -2
  365. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  366. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -6
  367. package/esm/component/data-zoom/data-filter-base-component.js +12 -20
  368. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  369. package/esm/component/data-zoom/data-zoom/data-zoom.js +6 -7
  370. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  371. package/esm/component/data-zoom/data-zoom/interface.d.ts +0 -2
  372. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  373. package/esm/component/data-zoom/util.js +1 -5
  374. package/esm/component/data-zoom/util.js.map +1 -1
  375. package/esm/component/indicator/indicator.js.map +1 -1
  376. package/esm/component/indicator/interface.d.ts +5 -5
  377. package/esm/component/indicator/interface.js.map +1 -1
  378. package/esm/component/label/base-label.d.ts +4 -4
  379. package/esm/component/label/interface.d.ts +8 -9
  380. package/esm/component/label/interface.js.map +1 -1
  381. package/esm/component/label/label.js +1 -1
  382. package/esm/component/label/label.js.map +1 -1
  383. package/esm/component/label/total-label.js +14 -1
  384. package/esm/component/label/total-label.js.map +1 -1
  385. package/esm/component/label/util.d.ts +1 -1
  386. package/esm/component/label/util.js +1 -8
  387. package/esm/component/label/util.js.map +1 -1
  388. package/esm/component/legend/discrete/interface.d.ts +3 -2
  389. package/esm/component/legend/discrete/interface.js.map +1 -1
  390. package/esm/component/legend/util.d.ts +1 -1
  391. package/esm/component/marker/interface.d.ts +6 -6
  392. package/esm/component/marker/interface.js.map +1 -1
  393. package/esm/component/marker/mark-area/interface/theme.d.ts +1 -1
  394. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  395. package/esm/component/marker/mark-area/mark-area.js +1 -1
  396. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  397. package/esm/component/marker/mark-line/interface/theme.d.ts +1 -1
  398. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  399. package/esm/component/marker/mark-line/mark-line.js +1 -1
  400. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  401. package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
  402. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  403. package/esm/component/marker/mark-point/mark-point.js +5 -2
  404. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  405. package/esm/component/poptip/interface.d.ts +5 -2
  406. package/esm/component/poptip/interface.js.map +1 -1
  407. package/esm/component/title/interface/spec.d.ts +18 -7
  408. package/esm/component/title/interface/spec.js.map +1 -1
  409. package/esm/component/title/interface/theme.d.ts +2 -1
  410. package/esm/component/title/interface/theme.js.map +1 -1
  411. package/esm/component/tooltip/interface/common.d.ts +1 -1
  412. package/esm/component/tooltip/interface/common.js.map +1 -1
  413. package/esm/component/tooltip/interface/theme.d.ts +3 -2
  414. package/esm/component/tooltip/interface/theme.js.map +1 -1
  415. package/esm/component/tooltip/processor/base.js +1 -3
  416. package/esm/component/tooltip/processor/base.js.map +1 -1
  417. package/esm/component/tooltip/tooltip.js +2 -4
  418. package/esm/component/tooltip/tooltip.js.map +1 -1
  419. package/esm/constant/index.d.ts +1 -0
  420. package/esm/constant/index.js +2 -0
  421. package/esm/constant/index.js.map +1 -1
  422. package/esm/core/index.d.ts +1 -1
  423. package/esm/core/index.js +1 -1
  424. package/esm/core/index.js.map +1 -1
  425. package/esm/core/vchart.js +4 -3
  426. package/esm/core/vchart.js.map +1 -1
  427. package/esm/data/transforms/dimension-statistics.d.ts +2 -0
  428. package/esm/data/transforms/dimension-statistics.js +1 -1
  429. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  430. package/esm/data/transforms/funnel.d.ts +1 -1
  431. package/esm/data/transforms/waterfall.js +104 -28
  432. package/esm/data/transforms/waterfall.js.map +1 -1
  433. package/esm/event/event-dispatcher.js +2 -2
  434. package/esm/event/event-dispatcher.js.map +1 -1
  435. package/esm/event/events/dimension/util/common.js +44 -47
  436. package/esm/event/events/dimension/util/common.js.map +1 -1
  437. package/esm/event/interface.d.ts +2 -1
  438. package/esm/event/interface.js.map +1 -1
  439. package/esm/interaction/dimension-trigger.js +3 -1
  440. package/esm/interaction/dimension-trigger.js.map +1 -1
  441. package/esm/interaction/interaction.d.ts +5 -0
  442. package/esm/interaction/interaction.js +17 -1
  443. package/esm/interaction/interaction.js.map +1 -1
  444. package/esm/interaction/interface.d.ts +4 -1
  445. package/esm/interaction/interface.js.map +1 -1
  446. package/esm/mark/label.d.ts +2 -2
  447. package/esm/mark/label.js.map +1 -1
  448. package/esm/mark/text.d.ts +16 -7
  449. package/esm/mark/text.js +13 -7
  450. package/esm/mark/text.js.map +1 -1
  451. package/esm/plugin/components/tooltip-handler/base.js +14 -16
  452. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  453. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +3 -4
  454. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  455. package/esm/plugin/components/tooltip-handler/utils/attribute.js +3 -3
  456. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  457. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  458. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +2 -2
  459. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  460. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +1 -1
  461. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  462. package/esm/series/area/interface.d.ts +2 -1
  463. package/esm/series/area/interface.js.map +1 -1
  464. package/esm/series/bar/bar-3d.js.map +1 -1
  465. package/esm/series/bar/bar.d.ts +11 -1
  466. package/esm/series/bar/bar.js +99 -66
  467. package/esm/series/bar/bar.js.map +1 -1
  468. package/esm/series/bar/interface.d.ts +4 -3
  469. package/esm/series/bar/interface.js.map +1 -1
  470. package/esm/series/base/base-series-transformer.d.ts +4 -0
  471. package/esm/series/base/base-series-transformer.js +35 -10
  472. package/esm/series/base/base-series-transformer.js.map +1 -1
  473. package/esm/series/base/base-series.d.ts +4 -1
  474. package/esm/series/base/base-series.js +10 -2
  475. package/esm/series/base/base-series.js.map +1 -1
  476. package/esm/series/cartesian/cartesian.d.ts +1 -2
  477. package/esm/series/cartesian/cartesian.js +28 -25
  478. package/esm/series/cartesian/cartesian.js.map +1 -1
  479. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  480. package/esm/series/correlation/interface.d.ts +3 -3
  481. package/esm/series/correlation/interface.js.map +1 -1
  482. package/esm/series/dot/interface.d.ts +2 -2
  483. package/esm/series/dot/interface.js.map +1 -1
  484. package/esm/series/funnel/funnel.js.map +1 -1
  485. package/esm/series/funnel/interface.d.ts +5 -4
  486. package/esm/series/funnel/interface.js.map +1 -1
  487. package/esm/series/interface/common.d.ts +2 -0
  488. package/esm/series/interface/common.js.map +1 -1
  489. package/esm/series/line/interface.d.ts +3 -2
  490. package/esm/series/line/interface.js.map +1 -1
  491. package/esm/series/map/interface.d.ts +2 -5
  492. package/esm/series/map/interface.js.map +1 -1
  493. package/esm/series/mixin/line-mixin.js +1 -1
  494. package/esm/series/mixin/line-mixin.js.map +1 -1
  495. package/esm/series/pie/3d/pie-3d.d.ts +1 -1
  496. package/esm/series/pie/3d/pie-3d.js +2 -3
  497. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  498. package/esm/series/pie/interface.d.ts +5 -4
  499. package/esm/series/pie/interface.js.map +1 -1
  500. package/esm/series/pie/pie-transformer.js +5 -1
  501. package/esm/series/pie/pie-transformer.js.map +1 -1
  502. package/esm/series/pie/pie.js +1 -4
  503. package/esm/series/pie/pie.js.map +1 -1
  504. package/esm/series/radar/interface.d.ts +2 -1
  505. package/esm/series/radar/interface.js.map +1 -1
  506. package/esm/series/range-column/interface.d.ts +5 -5
  507. package/esm/series/range-column/interface.js.map +1 -1
  508. package/esm/series/rose/interface.d.ts +2 -1
  509. package/esm/series/rose/interface.js.map +1 -1
  510. package/esm/series/rose/rose.js +1 -5
  511. package/esm/series/rose/rose.js.map +1 -1
  512. package/esm/series/sankey/interface.d.ts +2 -2
  513. package/esm/series/sankey/interface.js.map +1 -1
  514. package/esm/series/sankey/sankey.js.map +1 -1
  515. package/esm/series/scatter/interface.d.ts +2 -1
  516. package/esm/series/scatter/interface.js.map +1 -1
  517. package/esm/series/sunburst/sunburst.js.map +1 -1
  518. package/esm/series/treemap/interface.d.ts +3 -2
  519. package/esm/series/treemap/interface.js.map +1 -1
  520. package/esm/series/treemap/treemap.d.ts +2 -0
  521. package/esm/series/treemap/treemap.js +43 -46
  522. package/esm/series/treemap/treemap.js.map +1 -1
  523. package/esm/series/util/utils.js +1 -1
  524. package/esm/series/util/utils.js.map +1 -1
  525. package/esm/series/word-cloud/base.js.map +1 -1
  526. package/esm/series/word-cloud/interface.d.ts +2 -6
  527. package/esm/series/word-cloud/interface.js.map +1 -1
  528. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +8 -4
  529. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  530. package/esm/theme/builtin/common/component/axis/common-axis.js +14 -7
  531. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  532. package/esm/theme/builtin/common/component/crosshair.js +120 -7
  533. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  534. package/esm/theme/builtin/common/component/data-zoom.js +16 -6
  535. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  536. package/esm/theme/builtin/common/component/indicator.js +8 -4
  537. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  538. package/esm/theme/builtin/common/component/legend/continuous.js +32 -10
  539. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  540. package/esm/theme/builtin/common/component/legend/discrete-legend.js +16 -6
  541. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  542. package/esm/theme/builtin/common/component/map-label.js +8 -4
  543. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  544. package/esm/theme/builtin/common/component/mark-area.js +4 -3
  545. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  546. package/esm/theme/builtin/common/component/mark-line.js +4 -3
  547. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  548. package/esm/theme/builtin/common/component/poptip.js +8 -4
  549. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  550. package/esm/theme/builtin/common/component/title.js +16 -6
  551. package/esm/theme/builtin/common/component/title.js.map +1 -1
  552. package/esm/theme/builtin/common/component/tooltip.js +24 -8
  553. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  554. package/esm/theme/builtin/common/component/total-label.js +4 -3
  555. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  556. package/esm/theme/builtin/common/mark.js +9 -5
  557. package/esm/theme/builtin/common/mark.js.map +1 -1
  558. package/esm/theme/builtin/common/series/circle-packing.js +8 -4
  559. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  560. package/esm/theme/builtin/common/series/dot.js +16 -6
  561. package/esm/theme/builtin/common/series/dot.js.map +1 -1
  562. package/esm/theme/builtin/common/series/funnel.js +8 -4
  563. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  564. package/esm/theme/builtin/common/series/funnel3d.js +8 -4
  565. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  566. package/esm/theme/builtin/common/series/map.js +8 -4
  567. package/esm/theme/builtin/common/series/map.js.map +1 -1
  568. package/esm/theme/builtin/common/series/sunburst.js +8 -4
  569. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  570. package/esm/theme/builtin/common/series/treemap.js +17 -7
  571. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  572. package/esm/theme/builtin/common/series/waterfall.js +4 -3
  573. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  574. package/esm/theme/builtin/index.js +4 -4
  575. package/esm/theme/builtin/index.js.map +1 -1
  576. package/esm/theme/builtin/light/index.js +7 -3
  577. package/esm/theme/builtin/light/index.js.map +1 -1
  578. package/esm/theme/interface.d.ts +3 -19
  579. package/esm/theme/interface.js.map +1 -1
  580. package/esm/theme/theme-manager.d.ts +1 -1
  581. package/esm/theme/theme-manager.js +2 -2
  582. package/esm/theme/theme-manager.js.map +1 -1
  583. package/esm/theme/token/builtin/default.d.ts +2 -0
  584. package/esm/theme/{builtin/common/constants.js → token/builtin/default.js} +3 -5
  585. package/esm/theme/token/builtin/default.js.map +1 -0
  586. package/esm/theme/token/builtin/index.d.ts +2 -0
  587. package/esm/theme/token/builtin/index.js +4 -0
  588. package/esm/theme/token/builtin/index.js.map +1 -0
  589. package/esm/theme/token/builtin/interface.d.ts +17 -0
  590. package/esm/theme/token/builtin/interface.js +2 -0
  591. package/esm/theme/token/builtin/interface.js.map +1 -0
  592. package/esm/theme/token/index.d.ts +3 -0
  593. package/esm/theme/token/index.js +6 -0
  594. package/esm/theme/token/index.js.map +1 -0
  595. package/esm/theme/token/interface.d.ts +6 -0
  596. package/esm/theme/token/interface.js +2 -0
  597. package/esm/theme/token/interface.js.map +1 -0
  598. package/esm/theme/token/util.d.ts +3 -0
  599. package/esm/theme/token/util.js +8 -0
  600. package/esm/theme/token/util.js.map +1 -0
  601. package/esm/typings/spec/common.d.ts +31 -22
  602. package/esm/typings/spec/common.js.map +1 -1
  603. package/esm/typings/tooltip/line.js.map +1 -1
  604. package/esm/typings/tooltip/position.d.ts +2 -19
  605. package/esm/typings/tooltip/position.js +1 -15
  606. package/esm/typings/tooltip/position.js.map +1 -1
  607. package/esm/typings/visual.d.ts +13 -7
  608. package/esm/typings/visual.js.map +1 -1
  609. package/esm/util/data.d.ts +2 -1
  610. package/esm/util/data.js +12 -8
  611. package/esm/util/data.js.map +1 -1
  612. package/esm/util/spec/common.d.ts +0 -2
  613. package/esm/util/spec/common.js +0 -8
  614. package/esm/util/spec/common.js.map +1 -1
  615. package/esm/util/spec/index.d.ts +2 -2
  616. package/esm/util/spec/index.js +2 -2
  617. package/esm/util/spec/index.js.map +1 -1
  618. package/esm/util/text.js +4 -4
  619. package/esm/util/text.js.map +1 -1
  620. package/esm/util/theme/common.d.ts +2 -0
  621. package/esm/util/theme/common.js +8 -0
  622. package/esm/util/theme/common.js.map +1 -0
  623. package/esm/util/theme/index.d.ts +3 -0
  624. package/esm/util/theme/index.js +6 -0
  625. package/esm/util/theme/index.js.map +1 -0
  626. package/esm/util/{spec → theme}/merge-theme.js +3 -1
  627. package/esm/util/theme/merge-theme.js.map +1 -0
  628. package/esm/util/{spec → theme}/preprocess.d.ts +2 -1
  629. package/esm/util/theme/preprocess.js +18 -0
  630. package/esm/util/theme/preprocess.js.map +1 -0
  631. package/package.json +17 -17
  632. package/cjs/data/transforms/treemap.d.ts +0 -11
  633. package/cjs/data/transforms/treemap.js +0 -15
  634. package/cjs/data/transforms/treemap.js.map +0 -1
  635. package/cjs/theme/builtin/common/constants.d.ts +0 -2
  636. package/cjs/theme/builtin/common/constants.js.map +0 -1
  637. package/cjs/util/spec/merge-theme.js.map +0 -1
  638. package/cjs/util/spec/preprocess.js.map +0 -1
  639. package/esm/data/transforms/treemap.d.ts +0 -11
  640. package/esm/data/transforms/treemap.js +0 -9
  641. package/esm/data/transforms/treemap.js.map +0 -1
  642. package/esm/theme/builtin/common/constants.d.ts +0 -2
  643. package/esm/theme/builtin/common/constants.js.map +0 -1
  644. package/esm/util/spec/merge-theme.js.map +0 -1
  645. package/esm/util/spec/preprocess.js +0 -15
  646. package/esm/util/spec/preprocess.js.map +0 -1
  647. /package/cjs/util/{spec → theme}/merge-theme.d.ts +0 -0
  648. /package/esm/util/{spec → theme}/merge-theme.d.ts +0 -0
@@ -3,7 +3,7 @@ import type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';
3
3
  import type { IRect3dMarkSpec, IRectMarkSpec } from '../../typings/visual';
4
4
  import type { IAnimationSpec } from '../../animation/spec';
5
5
  import type { BarAppearPreset } from './animation';
6
- import type { ILabelSpec } from '../../component/label';
6
+ import type { ILabelSpec, IMultiLabelSpec } from '../../component/label';
7
7
  import type { IDataSamping, IMarkProgressiveConfig } from '../../mark/interface';
8
8
  import type { SeriesMarkNameEnum } from '../interface/type';
9
9
  import type { Functional } from '@visactor/vrender-components';
@@ -14,14 +14,15 @@ export interface IBarSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<Bar
14
14
  yField?: string | string[];
15
15
  [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;
16
16
  [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec> & IBarBackgroundSpec;
17
- [SeriesMarkNameEnum.label]?: Omit<ILabelSpec, 'position'> & {
17
+ [SeriesMarkNameEnum.label]?: IMultiLabelSpec<Omit<ILabelSpec, 'position'> & {
18
18
  position?: Functional<'outside' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'>;
19
- };
19
+ }>;
20
20
  barWidth?: number | string;
21
21
  barMinWidth?: number | string;
22
22
  barMaxWidth?: number | string;
23
23
  barGapInGroup?: number | string | (number | string)[];
24
24
  barMinHeight?: number;
25
+ stackCornerRadius?: number | number[];
25
26
  }
26
27
  export interface IBarBackgroundSpec {
27
28
  fieldLevel?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/bar/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 { IRect3dMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { BarAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IDataSamping, IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { Functional } from '@visactor/vrender-components';\n\ntype BarMarks = 'bar';\n\nexport interface IBarSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<BarMarks, BarAppearPreset>,\n IMarkProgressiveConfig,\n IDataSamping {\n /**\n * 系列类型\n */\n type: 'bar';\n /**\n * x轴字段\n */\n xField?: string | string[];\n /**\n * y轴字段\n */\n yField?: string | string[];\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 柱状背景图元\n * @since 1.6.0\n */\n [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec> & IBarBackgroundSpec;\n /** 标签配置*/\n [SeriesMarkNameEnum.label]?: Omit<ILabelSpec, 'position'> & {\n /**\n * 标签位置\n * @since 1.6.0\n * 支持'top-right' | 'top-left'| 'bottom-right' | 'bottom-left',以及函数形式配置\n * */\n position?: Functional<\n | 'outside'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'inside'\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-right'\n | 'inside-left'\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n >;\n };\n /**\n * 柱体宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barWidth?: number | string;\n /**\n * 柱体最小宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMinWidth?: number | string;\n /**\n * 柱体最大宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMaxWidth?: number | string;\n /**\n * 分组柱图中各个分组内的柱子间距,可以设置绝对的像素值,也可以使用百分比(如 '10%')。\n * 当存在多层分组时,可以使用数组来设置不同层级的间距,如 [10, '20%'],表示第一层分组的间距为 10px,第二层分组的间距为 '20%'。\n * 如果 barGapInGroup 的数组个数小于分组层数,则后面的分组间距使用最后一个值。\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n * @since 1.2.0\n */\n barGapInGroup?: number | string | (number | string)[];\n\n /**\n * 柱条最小高度,可用于防止某数据项的值过小的视觉调整。\n * @since 1.4.0\n */\n barMinHeight?: number;\n}\n\nexport interface IBarBackgroundSpec {\n /**\n * 决定柱状背景图元是否显示在组的层级上,以及显示在哪个层级上。\n * 例如:在分组柱状图中,xField 为 `['A', 'B', 'C']`,如果配置为 0,则以 'A' 划分的每个组对应一个整体的 barBackground;如果配置为 1,则以 'B' 划分的每个组对应一个整体的 barBackground;如果配置为 2,则每个柱条对应一个 barBackground。\n * @since 1.9.0\n */\n fieldLevel?: number;\n}\n\nexport interface IBarSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar]?: Partial<IMarkTheme<IRectMarkSpec>>;\n /**\n * 柱状背景图元\n * @since 1.6.0\n */\n [SeriesMarkNameEnum.barBackground]?: Partial<IMarkTheme<IRectMarkSpec>> & IBarBackgroundSpec;\n /**\n * 柱体宽度\n */\n barWidth?: number;\n /**\n * 柱体最小宽度\n */\n barMinWidth?: number;\n /**\n * 柱体最大宽度\n */\n barMaxWidth?: number;\n}\n\nexport type IBar3dSeriesSpec = {\n type: 'bar3d';\n} & Omit<IBarSeriesSpec, 'type'> &\n ICartesianSeriesSpec &\n IAnimationSpec<BarMarks, BarAppearPreset>;\n\nexport interface IBar3dSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar3d]?: Partial<IMarkTheme<IRect3dMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/bar/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 { IRect3dMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { BarAppearPreset } from './animation';\nimport type { ILabelSpec, IMultiLabelSpec } from '../../component/label';\nimport type { IDataSamping, IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { Functional } from '@visactor/vrender-components';\n\ntype BarMarks = 'bar';\n\nexport interface IBarSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<BarMarks, BarAppearPreset>,\n IMarkProgressiveConfig,\n IDataSamping {\n /**\n * 系列类型\n */\n type: 'bar';\n /**\n * x轴字段\n */\n xField?: string | string[];\n /**\n * y轴字段\n */\n yField?: string | string[];\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 柱状背景图元\n * @since 1.6.0\n */\n [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec> & IBarBackgroundSpec;\n /** 标签配置*/\n [SeriesMarkNameEnum.label]?: IMultiLabelSpec<\n Omit<ILabelSpec, 'position'> & {\n /**\n * 标签位置\n * @since 1.6.0\n * 支持'top-right' | 'top-left'| 'bottom-right' | 'bottom-left',以及函数形式配置\n * */\n position?: Functional<\n | 'outside'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'inside'\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-right'\n | 'inside-left'\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n >;\n }\n >;\n /**\n * 柱体宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barWidth?: number | string;\n /**\n * 柱体最小宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMinWidth?: number | string;\n /**\n * 柱体最大宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMaxWidth?: number | string;\n /**\n * 分组柱图中各个分组内的柱子间距,可以设置绝对的像素值,也可以使用百分比(如 '10%')。\n * 当存在多层分组时,可以使用数组来设置不同层级的间距,如 [10, '20%'],表示第一层分组的间距为 10px,第二层分组的间距为 '20%'。\n * 如果 barGapInGroup 的数组个数小于分组层数,则后面的分组间距使用最后一个值。\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n * @since 1.2.0\n */\n barGapInGroup?: number | string | (number | string)[];\n\n /**\n * 柱条最小高度,可用于防止某数据项的值过小的视觉调整。\n * @since 1.4.0\n */\n barMinHeight?: number;\n\n /**\n * 堆叠柱整体的圆角\n * @since 1.10.0\n */\n stackCornerRadius?: number | number[];\n}\n\nexport interface IBarBackgroundSpec {\n /**\n * 决定柱状背景图元是否显示在组的层级上,以及显示在哪个层级上。\n * 例如:在分组柱状图中,xField 为 `['A', 'B', 'C']`,如果配置为 0,则以 'A' 划分的每个组对应一个整体的 barBackground;如果配置为 1,则以 'B' 划分的每个组对应一个整体的 barBackground;如果配置为 2,则每个柱条对应一个 barBackground。\n * @since 1.9.0\n */\n fieldLevel?: number;\n}\n\nexport interface IBarSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar]?: Partial<IMarkTheme<IRectMarkSpec>>;\n /**\n * 柱状背景图元\n * @since 1.6.0\n */\n [SeriesMarkNameEnum.barBackground]?: Partial<IMarkTheme<IRectMarkSpec>> & IBarBackgroundSpec;\n /**\n * 柱体宽度\n */\n barWidth?: number;\n /**\n * 柱体最小宽度\n */\n barMinWidth?: number;\n /**\n * 柱体最大宽度\n */\n barMaxWidth?: number;\n}\n\nexport type IBar3dSeriesSpec = {\n type: 'bar3d';\n} & Omit<IBarSeriesSpec, 'type'> &\n ICartesianSeriesSpec &\n IAnimationSpec<BarMarks, BarAppearPreset>;\n\nexport interface IBar3dSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar3d]?: Partial<IMarkTheme<IRect3dMarkSpec>>;\n}\n"]}
@@ -15,4 +15,8 @@ export declare class BaseSeriesSpecTransformer<T extends ISeriesSpec, K> extends
15
15
  protected _transformLabelSpec(spec: T): void;
16
16
  protected _addMarkLabelSpec<V extends ISeries = ISeries>(spec: T, markName: SeriesMarkNameEnum, labelSpecKey?: keyof T, styleHandlerName?: keyof V, hasAnimation?: boolean, head?: boolean): void;
17
17
  protected _getDefaultSpecFromChart(chartSpec: any): any;
18
+ protected _mergeThemeToSpec(spec: T, chartSpec: any): {
19
+ spec: T;
20
+ theme: K;
21
+ };
18
22
  }
@@ -1,6 +1,8 @@
1
+ import { isObject } from "@visactor/vutils";
2
+
1
3
  import { BaseModelSpecTransformer } from "../../model/base-model-transformer";
2
4
 
3
- import { array, get, isValid, mergeSpec, transformSeriesThemeToMerge } from "../../util";
5
+ import { array, get, isArray, isValid, mergeSpec, transformSeriesThemeToMerge } from "../../util";
4
6
 
5
7
  import { getDirectionFromSeriesSpec } from "../util/spec";
6
8
 
@@ -30,15 +32,17 @@ export class BaseSeriesSpecTransformer extends BaseModelSpecTransformer {
30
32
  }
31
33
  _transformLabelSpec(spec) {}
32
34
  _addMarkLabelSpec(spec, markName, labelSpecKey = "label", styleHandlerName = "initLabelMarkStyle", hasAnimation, head) {
33
- const labelSpec = null == spec ? void 0 : spec[labelSpecKey];
34
- (null == labelSpec ? void 0 : labelSpec.visible) && this.addLabelSpec(markName, Object.assign(Object.assign({
35
- animation: null != hasAnimation ? hasAnimation : spec.animation
36
- }, labelSpec), {
37
- getStyleHandler: series => {
38
- var _a;
39
- return null === (_a = series[styleHandlerName]) || void 0 === _a ? void 0 : _a.bind(series);
40
- }
41
- }), head);
35
+ if (!spec) return;
36
+ array(spec[labelSpecKey]).forEach((labelSpec => {
37
+ labelSpec && labelSpec.visible && this.addLabelSpec(markName, Object.assign(Object.assign({
38
+ animation: null != hasAnimation ? hasAnimation : spec.animation
39
+ }, labelSpec), {
40
+ getStyleHandler: series => {
41
+ var _a;
42
+ return null === (_a = series[styleHandlerName]) || void 0 === _a ? void 0 : _a.bind(series);
43
+ }
44
+ }), head);
45
+ }));
42
46
  }
43
47
  _getDefaultSpecFromChart(chartSpec) {
44
48
  var _a;
@@ -46,5 +50,26 @@ export class BaseSeriesSpecTransformer extends BaseModelSpecTransformer {
46
50
  return isValid(outerRadius) && (spec.outerRadius = outerRadius), isValid(innerRadius) && (spec.innerRadius = innerRadius),
47
51
  isValid(direction) && (spec.direction = direction), Object.keys(spec).length > 0 ? spec : void 0;
48
52
  }
53
+ _mergeThemeToSpec(spec, chartSpec) {
54
+ const theme = this._theme;
55
+ if (this._shouldMergeThemeToSpec()) {
56
+ const specFromChart = this._getDefaultSpecFromChart(chartSpec), merge = originalSpec => {
57
+ const result = mergeSpec({}, theme, specFromChart, originalSpec), labelTheme = theme.label;
58
+ return labelTheme && isObject(labelTheme) && isArray(result.label) && (result.label = result.label.map((label => mergeSpec({}, labelTheme, label)))),
59
+ result;
60
+ };
61
+ return isArray(spec) ? {
62
+ spec: spec.map((specItem => merge(specItem))),
63
+ theme: theme
64
+ } : {
65
+ spec: merge(spec),
66
+ theme: theme
67
+ };
68
+ }
69
+ return {
70
+ spec: spec,
71
+ theme: theme
72
+ };
73
+ }
49
74
  }
50
75
  //# sourceMappingURL=base-series-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/base/base-series-transformer.ts"],"names":[],"mappings":"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","file":"base-series-transformer.js","sourcesContent":["import type { IChartSpecInfo } from '../../chart/interface';\nimport type { ILabelSpec, TransformedLabelSpec } from '../../component/label';\nimport type { IBaseModelSpecTransformerResult } from '../../model/interface';\nimport { BaseModelSpecTransformer } from '../../model/base-model-transformer';\nimport type { ISeriesSpec } from '../../typings';\nimport { array, get, isValid, mergeSpec, transformSeriesThemeToMerge } from '../../util';\nimport type { SeriesMarkNameEnum } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../interface';\nimport { getDirectionFromSeriesSpec } from '../util/spec';\n\nexport class BaseSeriesSpecTransformer<T extends ISeriesSpec, K> extends BaseModelSpecTransformer<T, K> {\n markLabelSpec: Partial<Record<SeriesMarkNameEnum, TransformedLabelSpec[]>> = {};\n\n getLabelSpec(markName: string) {\n return this.markLabelSpec[markName];\n }\n\n setLabelSpec(markName: string, label: TransformedLabelSpec | TransformedLabelSpec[]) {\n this.markLabelSpec[markName] = array(label);\n }\n\n addLabelSpec(markName: string, label: TransformedLabelSpec, head = false) {\n if (!this.markLabelSpec[markName]) {\n this.markLabelSpec[markName] = [];\n }\n if (head) {\n // 排序靠前的 label 优先布局,尽可能避免碰撞隐藏\n this.markLabelSpec[markName].unshift(label);\n } else {\n this.markLabelSpec[markName].push(label);\n }\n }\n\n getTheme(spec: T, chartSpec: any): K {\n const direction = getDirectionFromSeriesSpec(spec);\n const chartTheme = this._option?.getTheme();\n const { markByName, mark } = chartTheme;\n const type = this._option.type;\n const theme = transformSeriesThemeToMerge(get(chartTheme, `series.${type}`), type, mark, markByName);\n const themeWithDirection = transformSeriesThemeToMerge(\n get(chartTheme, `series.${type}_${direction}`),\n `${type}_${direction}`,\n mark,\n markByName\n );\n return mergeSpec({}, theme, themeWithDirection);\n }\n\n /** 不建议重写该方法,最好重写对应子步骤 */\n transformSpec(spec: T, chartSpec: any, chartSpecInfo?: IChartSpecInfo): IBaseModelSpecTransformerResult<T, K> {\n const result = super.transformSpec(spec, chartSpec, chartSpecInfo);\n this._transformLabelSpec(result.spec);\n return {\n ...result,\n markLabelSpec: this.markLabelSpec\n };\n }\n\n protected _transformLabelSpec(spec: T) {\n // empty\n }\n\n protected _addMarkLabelSpec<V extends ISeries = ISeries>(\n spec: T,\n markName: SeriesMarkNameEnum,\n labelSpecKey: keyof T = 'label' as any,\n styleHandlerName: keyof V = 'initLabelMarkStyle',\n hasAnimation?: boolean,\n head?: boolean\n ): void {\n const labelSpec = spec?.[labelSpecKey] as ILabelSpec;\n if (labelSpec?.visible) {\n this.addLabelSpec(\n markName,\n {\n animation: hasAnimation ?? spec.animation,\n ...labelSpec,\n getStyleHandler: (series: V) => (series[styleHandlerName] as any)?.bind(series)\n } as TransformedLabelSpec,\n head\n );\n }\n }\n\n protected _getDefaultSpecFromChart(chartSpec: any): any {\n const spec = (super._getDefaultSpecFromChart(chartSpec) as any) ?? {};\n const { outerRadius, innerRadius, direction } = chartSpec;\n if (isValid(outerRadius)) {\n spec.outerRadius = outerRadius;\n }\n if (isValid(innerRadius)) {\n spec.innerRadius = innerRadius;\n }\n\n if (isValid(direction)) {\n spec.direction = direction;\n }\n\n return Object.keys(spec).length > 0 ? spec : undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/base/base-series-transformer.ts"],"names":[],"mappings":"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","file":"base-series-transformer.js","sourcesContent":["import { isObject } from '@visactor/vutils';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport type { ILabelSpec, TransformedLabelSpec } from '../../component/label';\nimport type { IBaseModelSpecTransformerResult } from '../../model/interface';\nimport { BaseModelSpecTransformer } from '../../model/base-model-transformer';\nimport type { ISeriesSpec } from '../../typings';\nimport { array, get, isArray, isValid, mergeSpec, transformSeriesThemeToMerge } from '../../util';\nimport type { SeriesMarkNameEnum } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../interface';\nimport { getDirectionFromSeriesSpec } from '../util/spec';\n\nexport class BaseSeriesSpecTransformer<T extends ISeriesSpec, K> extends BaseModelSpecTransformer<T, K> {\n markLabelSpec: Partial<Record<SeriesMarkNameEnum, TransformedLabelSpec[]>> = {};\n\n getLabelSpec(markName: string) {\n return this.markLabelSpec[markName];\n }\n\n setLabelSpec(markName: string, label: TransformedLabelSpec | TransformedLabelSpec[]) {\n this.markLabelSpec[markName] = array(label);\n }\n\n addLabelSpec(markName: string, label: TransformedLabelSpec, head = false) {\n if (!this.markLabelSpec[markName]) {\n this.markLabelSpec[markName] = [];\n }\n if (head) {\n // 排序靠前的 label 优先布局,尽可能避免碰撞隐藏\n this.markLabelSpec[markName].unshift(label);\n } else {\n this.markLabelSpec[markName].push(label);\n }\n }\n\n getTheme(spec: T, chartSpec: any): K {\n const direction = getDirectionFromSeriesSpec(spec);\n const chartTheme = this._option?.getTheme();\n const { markByName, mark } = chartTheme;\n const type = this._option.type;\n const theme = transformSeriesThemeToMerge(get(chartTheme, `series.${type}`), type, mark, markByName);\n const themeWithDirection = transformSeriesThemeToMerge(\n get(chartTheme, `series.${type}_${direction}`),\n `${type}_${direction}`,\n mark,\n markByName\n );\n return mergeSpec({}, theme, themeWithDirection);\n }\n\n /** 不建议重写该方法,最好重写对应子步骤 */\n transformSpec(spec: T, chartSpec: any, chartSpecInfo?: IChartSpecInfo): IBaseModelSpecTransformerResult<T, K> {\n const result = super.transformSpec(spec, chartSpec, chartSpecInfo);\n this._transformLabelSpec(result.spec);\n return {\n ...result,\n markLabelSpec: this.markLabelSpec\n };\n }\n\n protected _transformLabelSpec(spec: T) {\n // empty\n }\n\n protected _addMarkLabelSpec<V extends ISeries = ISeries>(\n spec: T,\n markName: SeriesMarkNameEnum,\n labelSpecKey: keyof T = 'label' as any,\n styleHandlerName: keyof V = 'initLabelMarkStyle',\n hasAnimation?: boolean,\n head?: boolean\n ): void {\n if (!spec) {\n return;\n }\n const labels = array<ILabelSpec>(spec[labelSpecKey]);\n labels.forEach(labelSpec => {\n if (labelSpec && labelSpec.visible) {\n this.addLabelSpec(\n markName,\n {\n animation: hasAnimation ?? spec.animation,\n ...labelSpec,\n getStyleHandler: (series: V) => (series[styleHandlerName] as any)?.bind(series)\n } as TransformedLabelSpec,\n head\n );\n }\n });\n }\n\n protected _getDefaultSpecFromChart(chartSpec: any): any {\n const spec = (super._getDefaultSpecFromChart(chartSpec) as any) ?? {};\n const { outerRadius, innerRadius, direction } = chartSpec;\n if (isValid(outerRadius)) {\n spec.outerRadius = outerRadius;\n }\n if (isValid(innerRadius)) {\n spec.innerRadius = innerRadius;\n }\n\n if (isValid(direction)) {\n spec.direction = direction;\n }\n\n return Object.keys(spec).length > 0 ? spec : undefined;\n }\n\n protected _mergeThemeToSpec(spec: T, chartSpec: any): { spec: T; theme: K } {\n const theme = this._theme;\n\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(chartSpec);\n // this._originalSpec + specFromChart + this._theme = this._spec\n const merge = (originalSpec: any) => {\n const result = mergeSpec({}, theme, specFromChart, originalSpec);\n const labelTheme = (theme as any).label;\n if (labelTheme && isObject(labelTheme) && isArray(result.label)) {\n result.label = result.label.map((label: ILabelSpec) => mergeSpec({}, labelTheme, label));\n }\n return result;\n };\n\n if (isArray(spec)) {\n return {\n spec: spec.map(specItem => merge(specItem)) as unknown as T,\n theme\n };\n }\n\n return {\n spec: merge(spec),\n theme\n };\n }\n return { spec, theme };\n }\n}\n"]}
@@ -4,7 +4,7 @@ import type { IRegion } from '../../region/interface';
4
4
  import type { IMark } from '../../mark/interface';
5
5
  import type { CoordinateType, IInvalidType, IPoint, DataKeyType, Datum, Maybe, ISeriesSpec, IGroup, ILayoutType, ILayoutPoint, ILayoutRect } from '../../typings';
6
6
  import { BaseModel } from '../../model/base-model';
7
- import type { ISeriesOption, ISeries, ISeriesMarkInitOption, ISeriesStackData, ISeriesTooltipHelper, SeriesMarkMap, ISeriesMarkInfo, ISeriesSpecInfo } from '../interface';
7
+ import type { ISeriesOption, ISeries, ISeriesMarkInitOption, ISeriesStackData, ISeriesTooltipHelper, SeriesMarkMap, ISeriesMarkInfo, ISeriesSpecInfo, ISeriesStackDataLeaf, ISeriesStackDataMeta } from '../interface';
8
8
  import type { IModelEvaluateOption, IModelRenderOption } from '../../model/interface';
9
9
  import type { AddVChartPropertyContext } from '../../data/transforms/add-property';
10
10
  import type { StatisticOperations } from '../../data/transforms/dimension-statistics';
@@ -130,6 +130,7 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
130
130
  protected _updateExtensionMarkSpec(lastSpec?: any): void;
131
131
  getStackData(): ISeriesStackData;
132
132
  protected _parseDefaultInteractionConfig(mainMarks?: IMark[]): ({
133
+ vchartState: STATE_VALUE_ENUM;
133
134
  seriesId: number;
134
135
  regionId: number;
135
136
  selector: string[];
@@ -142,6 +143,7 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
142
143
  state?: undefined;
143
144
  isMultiple?: undefined;
144
145
  } | {
146
+ vchartState: STATE_VALUE_ENUM;
145
147
  type: string;
146
148
  seriesId: number;
147
149
  regionId: number;
@@ -225,4 +227,5 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
225
227
  protected _getInvalidConnectType(): "none" | "zero" | "connect";
226
228
  protected _getInvalidDefined: (datum: Datum) => boolean;
227
229
  protected _getRelatedComponentSpecInfo(specKey: string): import("../../model/interface").IModelSpecInfo<any>[];
230
+ protected _forEachStackGroup(callback: (node: ISeriesStackDataLeaf) => void, node?: ISeriesStackDataMeta): void;
228
231
  }
@@ -415,6 +415,7 @@ export class BaseSeries extends BaseModel {
415
415
  finalSelectSpec = mergeSpec(finalSelectSpec, selectSpec));
416
416
  const res = [];
417
417
  return finalHoverSpec.enable && res.push({
418
+ vchartState: STATE_VALUE_ENUM.STATE_HOVER,
418
419
  seriesId: this.id,
419
420
  regionId: this._region.id,
420
421
  selector: mainMarks.map((mark => `#${mark.getProductId()}`)),
@@ -424,6 +425,7 @@ export class BaseSeries extends BaseModel {
424
425
  blurState: STATE_VALUE_ENUM.STATE_HOVER_REVERSE,
425
426
  highlightState: STATE_VALUE_ENUM.STATE_HOVER
426
427
  }), finalSelectSpec.enable && res.push({
428
+ vchartState: STATE_VALUE_ENUM.STATE_SELECTED,
427
429
  type: "element-select",
428
430
  seriesId: this.id,
429
431
  regionId: this._region.id,
@@ -637,7 +639,7 @@ export class BaseSeries extends BaseModel {
637
639
  onMarkTreePositionUpdate(marks) {}
638
640
  _createMark(markInfo, option = {}) {
639
641
  var _a, _b, _c, _d;
640
- const {key: key, groupKey: groupKey, skipBeforeLayouted: skipBeforeLayouted, themeSpec: themeSpec = {}, markSpec: markSpec, dataView: dataView, dataProductId: dataProductId, parent: parent, isSeriesMark: isSeriesMark, depend: depend, progressive: progressive, support3d: support3d = this._spec.support3d || !!this._spec.zField, morph: morph = !1, customShape: customShape, stateSort: stateSort} = option, m = super._createMark(markInfo, {
642
+ const {key: key, groupKey: groupKey, skipBeforeLayouted: skipBeforeLayouted, themeSpec: themeSpec = {}, markSpec: markSpec, dataView: dataView, dataProductId: dataProductId, parent: parent, isSeriesMark: isSeriesMark, depend: depend, progressive: progressive, support3d: support3d = this._spec.support3d || !!this._spec.zField, morph: morph = !1, clip: clip, customShape: customShape, stateSort: stateSort} = option, m = super._createMark(markInfo, {
641
643
  key: null != key ? key : this._getDataIdKey(),
642
644
  support3d: support3d,
643
645
  seriesId: this.id,
@@ -656,7 +658,7 @@ export class BaseSeries extends BaseModel {
656
658
  m.setMorphElementKey(null !== (_d = null === (_c = spec.morph) || void 0 === _c ? void 0 : _c.morphElementKey) && void 0 !== _d ? _d : option.defaultMorphElementKey),
657
659
  isNil(progressive) || m.setProgressiveConfig(progressive), isNil(groupKey) || m.setGroupKey(groupKey),
658
660
  customShape && m.setCustomizedShapeCallback(customShape), stateSort && m.setStateSortCallback(stateSort),
659
- this.initMarkStyleWithSpec(m, mergeSpec({}, themeSpec, markSpec || spec[m.name]));
661
+ clip && m.setClip(clip), this.initMarkStyleWithSpec(m, mergeSpec({}, themeSpec, markSpec || spec[m.name]));
660
662
  }
661
663
  return m;
662
664
  }
@@ -713,6 +715,12 @@ export class BaseSeries extends BaseModel {
713
715
  const specIndex = this.getSpecIndex(), relatedComponent = null === (_a = this._option.getSpecInfo().component[specKey]) || void 0 === _a ? void 0 : _a.filter((componentInfo => componentInfo.seriesIndexes.includes(specIndex)));
714
716
  return null != relatedComponent ? relatedComponent : [];
715
717
  }
718
+ _forEachStackGroup(callback, node) {
719
+ var _a, _b;
720
+ (node = null != node ? node : null === (_a = this._viewStackData) || void 0 === _a ? void 0 : _a.latestData) && ((null === (_b = node.values) || void 0 === _b ? void 0 : _b.length) ? callback(node) : node.nodes && Object.values(node.nodes).forEach((n => {
721
+ this._forEachStackGroup(callback, n);
722
+ })));
723
+ }
716
724
  }
717
725
 
718
726
  BaseSeries.mark = baseSeriesMark, BaseSeries.transformerConstructor = BaseSeriesSpecTransformer;