@visactor/vchart 1.6.7 → 1.7.0-alpha.1

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 (993) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +44570 -43966
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.d.ts +2 -2
  6. package/cjs/chart/area/area.js +2 -1
  7. package/cjs/chart/area/area.js.map +1 -1
  8. package/cjs/chart/base-chart.d.ts +13 -16
  9. package/cjs/chart/base-chart.js +68 -68
  10. package/cjs/chart/base-chart.js.map +1 -1
  11. package/cjs/chart/interface/chart.d.ts +4 -6
  12. package/cjs/chart/interface/chart.js.map +1 -1
  13. package/cjs/chart/line/line.js +2 -1
  14. package/cjs/chart/line/line.js.map +1 -1
  15. package/cjs/chart/sequence/sequence.d.ts +1 -1
  16. package/cjs/chart/sequence/sequence.js +1 -1
  17. package/cjs/chart/sequence/sequence.js.map +1 -1
  18. package/cjs/compile/compiler.js +1 -2
  19. package/cjs/compile/grammar-item.js +2 -1
  20. package/cjs/compile/mark/compilable-mark.d.ts +10 -6
  21. package/cjs/compile/mark/compilable-mark.js +22 -11
  22. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  23. package/cjs/compile/mark/interface.d.ts +6 -4
  24. package/cjs/compile/mark/interface.js.map +1 -1
  25. package/cjs/compile/mark/util.d.ts +1 -3
  26. package/cjs/compile/mark/util.js +1 -37
  27. package/cjs/compile/mark/util.js.map +1 -1
  28. package/cjs/component/axis/base-axis.d.ts +2 -4
  29. package/cjs/component/axis/base-axis.js +20 -35
  30. package/cjs/component/axis/base-axis.js.map +1 -1
  31. package/cjs/component/axis/cartesian/axis.d.ts +12 -22
  32. package/cjs/component/axis/cartesian/axis.js +51 -67
  33. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  34. package/cjs/component/axis/cartesian/band-axis.d.ts +0 -7
  35. package/cjs/component/axis/cartesian/band-axis.js +0 -1
  36. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  37. package/cjs/component/axis/cartesian/interface/common.d.ts +0 -6
  38. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  39. package/cjs/component/axis/cartesian/interface/theme.d.ts +1 -1
  40. package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
  41. package/cjs/component/axis/interface/common.d.ts +0 -1
  42. package/cjs/component/axis/interface/common.js.map +1 -1
  43. package/cjs/component/axis/interface/spec.js.map +1 -1
  44. package/cjs/component/axis/mixin/band-axis-mixin.d.ts +0 -1
  45. package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
  46. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  47. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  48. package/cjs/component/axis/mixin/linear-axis-mixin.js +4 -3
  49. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  50. package/cjs/component/axis/polar/axis.d.ts +3 -4
  51. package/cjs/component/axis/polar/axis.js +13 -15
  52. package/cjs/component/axis/polar/axis.js.map +1 -1
  53. package/cjs/component/base/base-component.d.ts +12 -4
  54. package/cjs/component/base/base-component.js +21 -11
  55. package/cjs/component/base/base-component.js.map +1 -1
  56. package/cjs/component/base/util.js +16 -12
  57. package/cjs/component/base/util.js.map +1 -1
  58. package/cjs/component/brush/brush.d.ts +2 -4
  59. package/cjs/component/brush/brush.js +4 -6
  60. package/cjs/component/brush/brush.js.map +1 -1
  61. package/cjs/component/crosshair/base.d.ts +3 -4
  62. package/cjs/component/crosshair/base.js +1 -1
  63. package/cjs/component/crosshair/base.js.map +1 -1
  64. package/cjs/component/crosshair/cartesian.d.ts +2 -0
  65. package/cjs/component/crosshair/cartesian.js +6 -8
  66. package/cjs/component/crosshair/cartesian.js.map +1 -1
  67. package/cjs/component/crosshair/interface/spec.d.ts +1 -1
  68. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  69. package/cjs/component/crosshair/polar.d.ts +2 -0
  70. package/cjs/component/crosshair/polar.js +5 -8
  71. package/cjs/component/crosshair/polar.js.map +1 -1
  72. package/cjs/component/custom-mark/custom-mark.d.ts +2 -3
  73. package/cjs/component/custom-mark/custom-mark.js +2 -3
  74. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  75. package/cjs/component/data-zoom/data-filter-base-component.d.ts +8 -8
  76. package/cjs/component/data-zoom/data-filter-base-component.js +60 -38
  77. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  78. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +4 -2
  79. package/cjs/component/data-zoom/data-zoom/data-zoom.js +47 -44
  80. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  81. package/cjs/component/data-zoom/data-zoom/interface.d.ts +6 -1
  82. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  83. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +6 -2
  84. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  85. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -0
  86. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +24 -23
  87. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  88. package/cjs/component/data-zoom/util.d.ts +4 -0
  89. package/cjs/component/data-zoom/util.js +11 -2
  90. package/cjs/component/data-zoom/util.js.map +1 -1
  91. package/cjs/component/geo/geo-coordinate.d.ts +3 -2
  92. package/cjs/component/geo/geo-coordinate.js +4 -4
  93. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  94. package/cjs/component/index.d.ts +3 -2
  95. package/cjs/component/index.js.map +1 -1
  96. package/cjs/component/indicator/indicator.d.ts +1 -3
  97. package/cjs/component/indicator/indicator.js +4 -5
  98. package/cjs/component/indicator/indicator.js.map +1 -1
  99. package/cjs/component/indicator/interface.d.ts +1 -1
  100. package/cjs/component/indicator/interface.js.map +1 -1
  101. package/cjs/component/interface/common.d.ts +3 -3
  102. package/cjs/component/interface/common.js.map +1 -1
  103. package/cjs/component/interface/theme.d.ts +2 -1
  104. package/cjs/component/interface/theme.js.map +1 -1
  105. package/cjs/component/label/base-label.d.ts +2 -4
  106. package/cjs/component/label/base-label.js +1 -3
  107. package/cjs/component/label/base-label.js.map +1 -1
  108. package/cjs/component/label/interface.d.ts +4 -0
  109. package/cjs/component/label/interface.js.map +1 -1
  110. package/cjs/component/label/label.d.ts +5 -7
  111. package/cjs/component/label/label.js +15 -11
  112. package/cjs/component/label/label.js.map +1 -1
  113. package/cjs/component/label/totalLabel.d.ts +1 -3
  114. package/cjs/component/label/totalLabel.js +4 -4
  115. package/cjs/component/label/totalLabel.js.map +1 -1
  116. package/cjs/component/label/util.d.ts +9 -2
  117. package/cjs/component/label/util.js +20 -5
  118. package/cjs/component/label/util.js.map +1 -1
  119. package/cjs/component/legend/base-legend.d.ts +6 -9
  120. package/cjs/component/legend/base-legend.js +3 -9
  121. package/cjs/component/legend/base-legend.js.map +1 -1
  122. package/cjs/component/legend/continuous/legend.d.ts +4 -1
  123. package/cjs/component/legend/continuous/legend.js +7 -7
  124. package/cjs/component/legend/continuous/legend.js.map +1 -1
  125. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  126. package/cjs/component/legend/discrete/legend.js +6 -7
  127. package/cjs/component/legend/discrete/legend.js.map +1 -1
  128. package/cjs/component/legend/discrete/util.d.ts +1 -1
  129. package/cjs/component/legend/discrete/util.js.map +1 -1
  130. package/cjs/component/legend/util.d.ts +2 -2
  131. package/cjs/component/map-label/component.d.ts +1 -3
  132. package/cjs/component/map-label/component.js +2 -3
  133. package/cjs/component/map-label/component.js.map +1 -1
  134. package/cjs/component/marker/base-marker.d.ts +7 -3
  135. package/cjs/component/marker/base-marker.js +43 -19
  136. package/cjs/component/marker/base-marker.js.map +1 -1
  137. package/cjs/component/marker/interface.d.ts +15 -4
  138. package/cjs/component/marker/interface.js.map +1 -1
  139. package/cjs/component/marker/mark-area/interface/spec.d.ts +1 -1
  140. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  141. package/cjs/component/marker/mark-area/mark-area.d.ts +1 -3
  142. package/cjs/component/marker/mark-area/mark-area.js +32 -20
  143. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  144. package/cjs/component/marker/mark-line/interface/spec.d.ts +3 -4
  145. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  146. package/cjs/component/marker/mark-line/mark-line.d.ts +1 -3
  147. package/cjs/component/marker/mark-line/mark-line.js +36 -22
  148. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  149. package/cjs/component/marker/mark-line/util.d.ts +3 -3
  150. package/cjs/component/marker/mark-line/util.js.map +1 -1
  151. package/cjs/component/marker/mark-point/interface/spec.d.ts +5 -4
  152. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  153. package/cjs/component/marker/mark-point/interface/theme.d.ts +5 -5
  154. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  155. package/cjs/component/marker/mark-point/mark-point.d.ts +1 -3
  156. package/cjs/component/marker/mark-point/mark-point.js +17 -13
  157. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  158. package/cjs/component/marker/utils.d.ts +3 -4
  159. package/cjs/component/marker/utils.js +44 -25
  160. package/cjs/component/marker/utils.js.map +1 -1
  161. package/cjs/component/player/interface/theme.d.ts +1 -1
  162. package/cjs/component/player/interface/theme.js.map +1 -1
  163. package/cjs/component/player/player.d.ts +6 -7
  164. package/cjs/component/player/player.js +4 -7
  165. package/cjs/component/player/player.js.map +1 -1
  166. package/cjs/component/title/interface/theme.d.ts +1 -1
  167. package/cjs/component/title/interface/theme.js.map +1 -1
  168. package/cjs/component/title/title.d.ts +6 -9
  169. package/cjs/component/title/title.js +13 -24
  170. package/cjs/component/title/title.js.map +1 -1
  171. package/cjs/component/tooltip/handler/base.js +6 -6
  172. package/cjs/component/tooltip/handler/base.js.map +1 -1
  173. package/cjs/component/tooltip/handler/dom/util.js +3 -2
  174. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  175. package/cjs/component/tooltip/handler/utils/attribute.d.ts +3 -3
  176. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  177. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  178. package/cjs/component/tooltip/interface/spec.d.ts +1 -1
  179. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  180. package/cjs/component/tooltip/interface/theme.d.ts +10 -11
  181. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  182. package/cjs/component/tooltip/tooltip.d.ts +3 -2
  183. package/cjs/component/tooltip/tooltip.js +7 -11
  184. package/cjs/component/tooltip/tooltip.js.map +1 -1
  185. package/cjs/component/util.d.ts +1 -3
  186. package/cjs/component/util.js +2 -2
  187. package/cjs/component/util.js.map +1 -1
  188. package/cjs/constant/index.js +2 -1
  189. package/cjs/constant/layout.d.ts +1 -0
  190. package/cjs/constant/layout.js +2 -2
  191. package/cjs/constant/layout.js.map +1 -1
  192. package/cjs/constant/scatter.js +1 -2
  193. package/cjs/core/expression-function.d.ts +12 -0
  194. package/cjs/core/expression-function.js +30 -0
  195. package/cjs/core/expression-function.js.map +1 -0
  196. package/cjs/core/factory.d.ts +5 -2
  197. package/cjs/core/factory.js +6 -3
  198. package/cjs/core/factory.js.map +1 -1
  199. package/cjs/core/index.d.ts +2 -1
  200. package/cjs/core/index.js +3 -2
  201. package/cjs/core/index.js.map +1 -1
  202. package/cjs/core/interface.d.ts +5 -0
  203. package/cjs/core/interface.js.map +1 -1
  204. package/cjs/core/vchart.d.ts +9 -1
  205. package/cjs/core/vchart.js +94 -68
  206. package/cjs/core/vchart.js.map +1 -1
  207. package/cjs/data/initialize.js +7 -6
  208. package/cjs/data/initialize.js.map +1 -1
  209. package/cjs/data/transforms/aggregation.d.ts +4 -3
  210. package/cjs/data/transforms/aggregation.js +4 -4
  211. package/cjs/data/transforms/aggregation.js.map +1 -1
  212. package/cjs/data/transforms/dimension-statistics.js +14 -4
  213. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  214. package/cjs/event/bubble.js +1 -2
  215. package/cjs/event/event.js +2 -1
  216. package/cjs/event/events/base.d.ts +16 -0
  217. package/cjs/event/events/base.js +23 -0
  218. package/cjs/event/events/base.js.map +1 -0
  219. package/cjs/event/events/dimension/util/cartesian.d.ts +1 -1
  220. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  221. package/cjs/event/events/dimension/util/common.d.ts +1 -2
  222. package/cjs/event/events/dimension/util/common.js +1 -1
  223. package/cjs/event/events/dimension/util/common.js.map +1 -1
  224. package/cjs/event/events/dimension/util/polar.d.ts +1 -1
  225. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  226. package/cjs/event/interface.d.ts +2 -2
  227. package/cjs/event/interface.js.map +1 -1
  228. package/cjs/index-wx-simple.d.ts +4 -0
  229. package/cjs/index-wx-simple.js +35 -0
  230. package/cjs/index-wx-simple.js.map +1 -0
  231. package/cjs/interaction/trigger.js +1 -1
  232. package/cjs/interaction/zoom/zoomable.d.ts +1 -0
  233. package/cjs/interaction/zoom/zoomable.js +6 -5
  234. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  235. package/cjs/layout/base-layout.d.ts +3 -5
  236. package/cjs/layout/base-layout.js +9 -9
  237. package/cjs/layout/base-layout.js.map +1 -1
  238. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -2
  239. package/cjs/layout/grid-layout/grid-layout.js +6 -4
  240. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  241. package/cjs/layout/interface.d.ts +74 -6
  242. package/cjs/layout/interface.js.map +1 -1
  243. package/cjs/{model → layout}/layout-item.d.ts +35 -23
  244. package/cjs/{model → layout}/layout-item.js +98 -64
  245. package/cjs/layout/layout-item.js.map +1 -0
  246. package/cjs/layout/layout3d/index.d.ts +2 -4
  247. package/cjs/layout/layout3d/index.js +6 -6
  248. package/cjs/layout/layout3d/index.js.map +1 -1
  249. package/cjs/layout/util.d.ts +1 -1
  250. package/cjs/layout/util.js.map +1 -1
  251. package/cjs/mark/arc.js +2 -2
  252. package/cjs/mark/arc.js.map +1 -1
  253. package/cjs/mark/base/base-mark.d.ts +2 -2
  254. package/cjs/mark/base/base-mark.js +62 -40
  255. package/cjs/mark/base/base-mark.js.map +1 -1
  256. package/cjs/mark/label.js +1 -4
  257. package/cjs/mark/label.js.map +1 -1
  258. package/cjs/model/base-model.d.ts +10 -8
  259. package/cjs/model/base-model.js +27 -31
  260. package/cjs/model/base-model.js.map +1 -1
  261. package/cjs/model/interface.d.ts +21 -89
  262. package/cjs/model/interface.js.map +1 -1
  263. package/cjs/model/layout-model.d.ts +41 -0
  264. package/cjs/model/layout-model.js +86 -0
  265. package/cjs/model/layout-model.js.map +1 -0
  266. package/cjs/region/interface.d.ts +3 -2
  267. package/cjs/region/interface.js.map +1 -1
  268. package/cjs/region/region.d.ts +12 -7
  269. package/cjs/region/region.js +18 -10
  270. package/cjs/region/region.js.map +1 -1
  271. package/cjs/series/area/area.d.ts +1 -1
  272. package/cjs/series/area/area.js +5 -6
  273. package/cjs/series/area/area.js.map +1 -1
  274. package/cjs/series/area/interface.d.ts +4 -0
  275. package/cjs/series/area/interface.js.map +1 -1
  276. package/cjs/series/bar/bar.js +2 -4
  277. package/cjs/series/bar/bar.js.map +1 -1
  278. package/cjs/series/base/base-series.d.ts +14 -4
  279. package/cjs/series/base/base-series.js +40 -15
  280. package/cjs/series/base/base-series.js.map +1 -1
  281. package/cjs/series/cartesian/cartesian.d.ts +3 -0
  282. package/cjs/series/cartesian/cartesian.js +16 -4
  283. package/cjs/series/cartesian/cartesian.js.map +1 -1
  284. package/cjs/series/correlation/correlation.js +3 -7
  285. package/cjs/series/correlation/correlation.js.map +1 -1
  286. package/cjs/series/funnel/funnel-3d.js +1 -1
  287. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  288. package/cjs/series/funnel/funnel.js +2 -6
  289. package/cjs/series/funnel/funnel.js.map +1 -1
  290. package/cjs/series/funnel/interface.d.ts +1 -2
  291. package/cjs/series/funnel/interface.js.map +1 -1
  292. package/cjs/series/gauge/gauge.d.ts +0 -1
  293. package/cjs/series/gauge/gauge.js +3 -8
  294. package/cjs/series/gauge/gauge.js.map +1 -1
  295. package/cjs/series/heatmap/heatmap.js +2 -4
  296. package/cjs/series/heatmap/heatmap.js.map +1 -1
  297. package/cjs/series/index.d.ts +2 -2
  298. package/cjs/series/index.js.map +1 -1
  299. package/cjs/series/interface/common.d.ts +2 -2
  300. package/cjs/series/interface/common.js.map +1 -1
  301. package/cjs/series/interface/series.d.ts +4 -2
  302. package/cjs/series/interface/series.js.map +1 -1
  303. package/cjs/series/interface/type.d.ts +3 -1
  304. package/cjs/series/interface/type.js +2 -1
  305. package/cjs/series/interface/type.js.map +1 -1
  306. package/cjs/series/line/interface.d.ts +4 -0
  307. package/cjs/series/line/interface.js.map +1 -1
  308. package/cjs/series/line/line.d.ts +1 -1
  309. package/cjs/series/line/line.js.map +1 -1
  310. package/cjs/series/map/map.js +2 -4
  311. package/cjs/series/map/map.js.map +1 -1
  312. package/cjs/series/mixin/line-mixin.d.ts +5 -2
  313. package/cjs/series/mixin/line-mixin.js +16 -10
  314. package/cjs/series/mixin/line-mixin.js.map +1 -1
  315. package/cjs/series/pie/pie.js +1 -4
  316. package/cjs/series/pie/pie.js.map +1 -1
  317. package/cjs/series/polar/progress-like/progress-like.js +4 -4
  318. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  319. package/cjs/series/radar/animation.js.map +1 -1
  320. package/cjs/series/range-column/range-column.js +2 -2
  321. package/cjs/series/range-column/range-column.js.map +1 -1
  322. package/cjs/series/rose/rose.d.ts +2 -1
  323. package/cjs/series/rose/rose.js +2 -4
  324. package/cjs/series/rose/rose.js.map +1 -1
  325. package/cjs/series/scatter/scatter.js +2 -4
  326. package/cjs/series/scatter/scatter.js.map +1 -1
  327. package/cjs/series/waterfall/waterfall.js +1 -1
  328. package/cjs/series/waterfall/waterfall.js.map +1 -1
  329. package/cjs/series/word-cloud/base.d.ts +1 -0
  330. package/cjs/series/word-cloud/base.js +33 -33
  331. package/cjs/series/word-cloud/base.js.map +1 -1
  332. package/cjs/series/word-cloud/word-cloud-3d.js +32 -32
  333. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  334. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +2 -2
  335. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  336. package/cjs/theme/builtin/common/component/axis/common-axis.js +1 -1
  337. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  338. package/cjs/theme/builtin/common/component/crosshair.js +5 -5
  339. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  340. package/cjs/theme/builtin/common/component/data-zoom.js +10 -10
  341. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  342. package/cjs/theme/builtin/common/component/indicator.js +1 -1
  343. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  344. package/cjs/theme/builtin/common/component/legend/color-legend.js +3 -4
  345. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  346. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +2 -2
  347. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  348. package/cjs/theme/builtin/common/component/legend/size-legend.js +6 -6
  349. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  350. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  351. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  352. package/cjs/theme/builtin/common/component/mark-line.js +9 -9
  353. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  354. package/cjs/theme/builtin/common/component/mark-point.js +15 -3
  355. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -1
  356. package/cjs/theme/builtin/common/component/player.js +7 -7
  357. package/cjs/theme/builtin/common/component/player.js.map +1 -1
  358. package/cjs/theme/builtin/common/component/poptip.js +3 -4
  359. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  360. package/cjs/theme/builtin/common/component/scroll-bar.js +20 -7
  361. package/cjs/theme/builtin/common/component/scroll-bar.js.map +1 -1
  362. package/cjs/theme/builtin/common/component/title.js +1 -1
  363. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  364. package/cjs/theme/builtin/common/component/tooltip.d.ts +2 -1
  365. package/cjs/theme/builtin/common/component/tooltip.js +3 -4
  366. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  367. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  368. package/cjs/theme/builtin/common/mark.js.map +1 -1
  369. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -1
  370. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  371. package/cjs/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
  372. package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js +22 -0
  373. package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js.map +1 -0
  374. package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
  375. package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js +36 -0
  376. package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +1 -0
  377. package/cjs/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
  378. package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js +42 -0
  379. package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js.map +1 -0
  380. package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
  381. package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js +22 -0
  382. package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js.map +1 -0
  383. package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
  384. package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js +25 -0
  385. package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js.map +1 -0
  386. package/cjs/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
  387. package/cjs/theme/builtin/common-mobile/component/crosshair.js +39 -0
  388. package/cjs/theme/builtin/common-mobile/component/crosshair.js.map +1 -0
  389. package/cjs/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
  390. package/cjs/theme/builtin/common-mobile/component/data-zoom.js +40 -0
  391. package/cjs/theme/builtin/common-mobile/component/data-zoom.js.map +1 -0
  392. package/cjs/theme/builtin/common-mobile/component/index.d.ts +2 -0
  393. package/cjs/theme/builtin/common-mobile/component/index.js +33 -0
  394. package/cjs/theme/builtin/common-mobile/component/index.js.map +1 -0
  395. package/cjs/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
  396. package/cjs/theme/builtin/common-mobile/component/indicator.js +23 -0
  397. package/cjs/theme/builtin/common-mobile/component/indicator.js.map +1 -0
  398. package/cjs/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
  399. package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js +23 -0
  400. package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js.map +1 -0
  401. package/cjs/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
  402. package/cjs/theme/builtin/common-mobile/component/legend/continuous.js +44 -0
  403. package/cjs/theme/builtin/common-mobile/component/legend/continuous.js.map +1 -0
  404. package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
  405. package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js +39 -0
  406. package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +1 -0
  407. package/cjs/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
  408. package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js +23 -0
  409. package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js.map +1 -0
  410. package/cjs/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
  411. package/cjs/theme/builtin/common-mobile/component/map-label.js +39 -0
  412. package/cjs/theme/builtin/common-mobile/component/map-label.js.map +1 -0
  413. package/cjs/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
  414. package/cjs/theme/builtin/common-mobile/component/mark-area.js +24 -0
  415. package/cjs/theme/builtin/common-mobile/component/mark-area.js.map +1 -0
  416. package/cjs/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
  417. package/cjs/theme/builtin/common-mobile/component/mark-line.js +33 -0
  418. package/cjs/theme/builtin/common-mobile/component/mark-line.js.map +1 -0
  419. package/cjs/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
  420. package/cjs/theme/builtin/common-mobile/component/mark-point.js +19 -0
  421. package/cjs/theme/builtin/common-mobile/component/mark-point.js.map +1 -0
  422. package/cjs/theme/builtin/common-mobile/component/player.d.ts +2 -0
  423. package/cjs/theme/builtin/common-mobile/component/player.js +51 -0
  424. package/cjs/theme/builtin/common-mobile/component/player.js.map +1 -0
  425. package/cjs/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
  426. package/cjs/theme/builtin/common-mobile/component/poptip.js +25 -0
  427. package/cjs/theme/builtin/common-mobile/component/poptip.js.map +1 -0
  428. package/cjs/theme/builtin/common-mobile/component/title.d.ts +2 -0
  429. package/cjs/theme/builtin/common-mobile/component/title.js +23 -0
  430. package/cjs/theme/builtin/common-mobile/component/title.js.map +1 -0
  431. package/cjs/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
  432. package/cjs/theme/builtin/common-mobile/component/tooltip.js +43 -0
  433. package/cjs/theme/builtin/common-mobile/component/tooltip.js.map +1 -0
  434. package/cjs/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
  435. package/cjs/theme/builtin/common-mobile/component/total-label.js +16 -0
  436. package/cjs/theme/builtin/common-mobile/component/total-label.js.map +1 -0
  437. package/cjs/theme/builtin/common-mobile/constants.d.ts +2 -0
  438. package/cjs/theme/builtin/common-mobile/constants.js +23 -0
  439. package/cjs/theme/builtin/common-mobile/constants.js.map +1 -0
  440. package/cjs/theme/builtin/common-mobile/mark.d.ts +3 -0
  441. package/cjs/theme/builtin/common-mobile/mark.js +35 -0
  442. package/cjs/theme/builtin/common-mobile/mark.js.map +1 -0
  443. package/cjs/theme/builtin/dark/color-scheme.js +20 -11
  444. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  445. package/cjs/theme/builtin/dark-mobile/index.d.ts +2 -0
  446. package/cjs/theme/builtin/dark-mobile/index.js +18 -0
  447. package/cjs/theme/builtin/dark-mobile/index.js.map +1 -0
  448. package/cjs/theme/builtin/index.d.ts +2 -4
  449. package/cjs/theme/builtin/index.js +17 -20
  450. package/cjs/theme/builtin/index.js.map +1 -1
  451. package/cjs/theme/builtin/light/color-scheme.js +19 -10
  452. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  453. package/cjs/theme/builtin/light-mobile/index.d.ts +2 -0
  454. package/cjs/theme/builtin/light-mobile/index.js +18 -0
  455. package/cjs/theme/builtin/light-mobile/index.js.map +1 -0
  456. package/cjs/theme/color-scheme/builtin/interface.d.ts +16 -7
  457. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -1
  458. package/cjs/theme/color-scheme/legacy.js +18 -2
  459. package/cjs/theme/color-scheme/legacy.js.map +1 -1
  460. package/cjs/theme/color-scheme/util.js +2 -2
  461. package/cjs/theme/color-scheme/util.js.map +1 -1
  462. package/cjs/theme/interface.d.ts +1 -2
  463. package/cjs/theme/interface.js.map +1 -1
  464. package/cjs/theme/theme-manager.d.ts +1 -1
  465. package/cjs/theme/theme-manager.js +2 -2
  466. package/cjs/theme/theme-manager.js.map +1 -1
  467. package/cjs/typings/index.d.ts +1 -0
  468. package/cjs/typings/index.js +2 -1
  469. package/cjs/typings/index.js.map +1 -1
  470. package/cjs/typings/layout.d.ts +23 -0
  471. package/cjs/typings/layout.js +6 -0
  472. package/cjs/typings/layout.js.map +1 -0
  473. package/cjs/typings/spec/common.d.ts +2 -4
  474. package/cjs/typings/spec/common.js.map +1 -1
  475. package/cjs/typings/visual.d.ts +1 -1
  476. package/cjs/typings/visual.js.map +1 -1
  477. package/cjs/util/space.d.ts +1 -1
  478. package/cjs/util/space.js.map +1 -1
  479. package/cjs/util/spec/background.js +8 -14
  480. package/cjs/util/spec/background.js.map +1 -1
  481. package/cjs/util/spec/common.d.ts +1 -1
  482. package/cjs/util/spec/common.js +2 -2
  483. package/cjs/util/spec/common.js.map +1 -1
  484. package/cjs/util/spec/preprocess.d.ts +1 -1
  485. package/cjs/util/spec/preprocess.js +7 -17
  486. package/cjs/util/spec/preprocess.js.map +1 -1
  487. package/cjs/util/spec/transform.d.ts +2 -0
  488. package/cjs/util/spec/transform.js +18 -2
  489. package/cjs/util/spec/transform.js.map +1 -1
  490. package/cjs/vchart-all.js +2 -3
  491. package/cjs/vchart-all.js.map +1 -1
  492. package/cjs/vchart-simple.d.ts +1 -0
  493. package/cjs/vchart-simple.js +4 -4
  494. package/cjs/vchart-simple.js.map +1 -1
  495. package/esm/animation/utils.d.ts +2 -2
  496. package/esm/chart/area/area.js +2 -1
  497. package/esm/chart/area/area.js.map +1 -1
  498. package/esm/chart/base-chart.d.ts +13 -16
  499. package/esm/chart/base-chart.js +66 -67
  500. package/esm/chart/base-chart.js.map +1 -1
  501. package/esm/chart/interface/chart.d.ts +4 -6
  502. package/esm/chart/interface/chart.js.map +1 -1
  503. package/esm/chart/line/line.js +2 -1
  504. package/esm/chart/line/line.js.map +1 -1
  505. package/esm/chart/sequence/sequence.d.ts +1 -1
  506. package/esm/chart/sequence/sequence.js +1 -1
  507. package/esm/chart/sequence/sequence.js.map +1 -1
  508. package/esm/compile/compiler.js +1 -2
  509. package/esm/compile/grammar-item.js +2 -1
  510. package/esm/compile/mark/compilable-mark.d.ts +10 -6
  511. package/esm/compile/mark/compilable-mark.js +23 -12
  512. package/esm/compile/mark/compilable-mark.js.map +1 -1
  513. package/esm/compile/mark/interface.d.ts +6 -4
  514. package/esm/compile/mark/interface.js.map +1 -1
  515. package/esm/compile/mark/util.d.ts +1 -3
  516. package/esm/compile/mark/util.js +0 -34
  517. package/esm/compile/mark/util.js.map +1 -1
  518. package/esm/component/axis/base-axis.d.ts +2 -4
  519. package/esm/component/axis/base-axis.js +19 -36
  520. package/esm/component/axis/base-axis.js.map +1 -1
  521. package/esm/component/axis/cartesian/axis.d.ts +12 -22
  522. package/esm/component/axis/cartesian/axis.js +49 -63
  523. package/esm/component/axis/cartesian/axis.js.map +1 -1
  524. package/esm/component/axis/cartesian/band-axis.d.ts +0 -7
  525. package/esm/component/axis/cartesian/band-axis.js +0 -1
  526. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  527. package/esm/component/axis/cartesian/interface/common.d.ts +0 -6
  528. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  529. package/esm/component/axis/cartesian/interface/theme.d.ts +1 -1
  530. package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
  531. package/esm/component/axis/interface/common.d.ts +0 -1
  532. package/esm/component/axis/interface/common.js.map +1 -1
  533. package/esm/component/axis/interface/spec.js.map +1 -1
  534. package/esm/component/axis/mixin/band-axis-mixin.d.ts +0 -1
  535. package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
  536. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  537. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  538. package/esm/component/axis/mixin/linear-axis-mixin.js +4 -3
  539. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  540. package/esm/component/axis/polar/axis.d.ts +3 -4
  541. package/esm/component/axis/polar/axis.js +12 -14
  542. package/esm/component/axis/polar/axis.js.map +1 -1
  543. package/esm/component/base/base-component.d.ts +12 -4
  544. package/esm/component/base/base-component.js +22 -14
  545. package/esm/component/base/base-component.js.map +1 -1
  546. package/esm/component/base/util.js +7 -3
  547. package/esm/component/base/util.js.map +1 -1
  548. package/esm/component/brush/brush.d.ts +2 -4
  549. package/esm/component/brush/brush.js +4 -6
  550. package/esm/component/brush/brush.js.map +1 -1
  551. package/esm/component/crosshair/base.d.ts +3 -4
  552. package/esm/component/crosshair/base.js +1 -1
  553. package/esm/component/crosshair/base.js.map +1 -1
  554. package/esm/component/crosshair/cartesian.d.ts +2 -0
  555. package/esm/component/crosshair/cartesian.js +5 -8
  556. package/esm/component/crosshair/cartesian.js.map +1 -1
  557. package/esm/component/crosshair/interface/spec.d.ts +1 -1
  558. package/esm/component/crosshair/interface/spec.js.map +1 -1
  559. package/esm/component/crosshair/polar.d.ts +2 -0
  560. package/esm/component/crosshair/polar.js +5 -8
  561. package/esm/component/crosshair/polar.js.map +1 -1
  562. package/esm/component/custom-mark/custom-mark.d.ts +2 -3
  563. package/esm/component/custom-mark/custom-mark.js +2 -3
  564. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  565. package/esm/component/data-zoom/data-filter-base-component.d.ts +8 -8
  566. package/esm/component/data-zoom/data-filter-base-component.js +60 -37
  567. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  568. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +4 -2
  569. package/esm/component/data-zoom/data-zoom/data-zoom.js +47 -44
  570. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  571. package/esm/component/data-zoom/data-zoom/interface.d.ts +6 -1
  572. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  573. package/esm/component/data-zoom/scroll-bar/interface.d.ts +6 -2
  574. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  575. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -0
  576. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +24 -23
  577. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  578. package/esm/component/data-zoom/util.d.ts +4 -0
  579. package/esm/component/data-zoom/util.js +13 -1
  580. package/esm/component/data-zoom/util.js.map +1 -1
  581. package/esm/component/geo/geo-coordinate.d.ts +3 -2
  582. package/esm/component/geo/geo-coordinate.js +3 -1
  583. package/esm/component/geo/geo-coordinate.js.map +1 -1
  584. package/esm/component/index.d.ts +3 -2
  585. package/esm/component/index.js.map +1 -1
  586. package/esm/component/indicator/indicator.d.ts +1 -3
  587. package/esm/component/indicator/indicator.js +4 -5
  588. package/esm/component/indicator/indicator.js.map +1 -1
  589. package/esm/component/indicator/interface.d.ts +1 -1
  590. package/esm/component/indicator/interface.js.map +1 -1
  591. package/esm/component/interface/common.d.ts +3 -3
  592. package/esm/component/interface/common.js.map +1 -1
  593. package/esm/component/interface/theme.d.ts +2 -1
  594. package/esm/component/interface/theme.js.map +1 -1
  595. package/esm/component/label/base-label.d.ts +2 -4
  596. package/esm/component/label/base-label.js +1 -3
  597. package/esm/component/label/base-label.js.map +1 -1
  598. package/esm/component/label/interface.d.ts +4 -0
  599. package/esm/component/label/interface.js.map +1 -1
  600. package/esm/component/label/label.d.ts +5 -7
  601. package/esm/component/label/label.js +16 -11
  602. package/esm/component/label/label.js.map +1 -1
  603. package/esm/component/label/totalLabel.d.ts +1 -3
  604. package/esm/component/label/totalLabel.js +4 -4
  605. package/esm/component/label/totalLabel.js.map +1 -1
  606. package/esm/component/label/util.d.ts +9 -2
  607. package/esm/component/label/util.js +17 -3
  608. package/esm/component/label/util.js.map +1 -1
  609. package/esm/component/legend/base-legend.d.ts +6 -9
  610. package/esm/component/legend/base-legend.js +3 -9
  611. package/esm/component/legend/base-legend.js.map +1 -1
  612. package/esm/component/legend/continuous/legend.d.ts +4 -1
  613. package/esm/component/legend/continuous/legend.js +6 -7
  614. package/esm/component/legend/continuous/legend.js.map +1 -1
  615. package/esm/component/legend/discrete/legend.d.ts +4 -1
  616. package/esm/component/legend/discrete/legend.js +6 -7
  617. package/esm/component/legend/discrete/legend.js.map +1 -1
  618. package/esm/component/legend/discrete/util.d.ts +1 -1
  619. package/esm/component/legend/discrete/util.js.map +1 -1
  620. package/esm/component/legend/util.d.ts +2 -2
  621. package/esm/component/map-label/component.d.ts +1 -3
  622. package/esm/component/map-label/component.js +2 -2
  623. package/esm/component/map-label/component.js.map +1 -1
  624. package/esm/component/marker/base-marker.d.ts +7 -3
  625. package/esm/component/marker/base-marker.js +41 -18
  626. package/esm/component/marker/base-marker.js.map +1 -1
  627. package/esm/component/marker/interface.d.ts +15 -4
  628. package/esm/component/marker/interface.js.map +1 -1
  629. package/esm/component/marker/mark-area/interface/spec.d.ts +1 -1
  630. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  631. package/esm/component/marker/mark-area/mark-area.d.ts +1 -3
  632. package/esm/component/marker/mark-area/mark-area.js +29 -18
  633. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  634. package/esm/component/marker/mark-line/interface/spec.d.ts +3 -4
  635. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  636. package/esm/component/marker/mark-line/mark-line.d.ts +1 -3
  637. package/esm/component/marker/mark-line/mark-line.js +36 -18
  638. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  639. package/esm/component/marker/mark-line/util.d.ts +3 -3
  640. package/esm/component/marker/mark-line/util.js.map +1 -1
  641. package/esm/component/marker/mark-point/interface/spec.d.ts +5 -4
  642. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  643. package/esm/component/marker/mark-point/interface/theme.d.ts +5 -5
  644. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  645. package/esm/component/marker/mark-point/mark-point.d.ts +1 -3
  646. package/esm/component/marker/mark-point/mark-point.js +17 -12
  647. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  648. package/esm/component/marker/utils.d.ts +3 -4
  649. package/esm/component/marker/utils.js +43 -23
  650. package/esm/component/marker/utils.js.map +1 -1
  651. package/esm/component/player/interface/theme.d.ts +1 -1
  652. package/esm/component/player/interface/theme.js.map +1 -1
  653. package/esm/component/player/player.d.ts +6 -7
  654. package/esm/component/player/player.js +4 -7
  655. package/esm/component/player/player.js.map +1 -1
  656. package/esm/component/title/interface/theme.d.ts +1 -1
  657. package/esm/component/title/interface/theme.js.map +1 -1
  658. package/esm/component/title/title.d.ts +6 -9
  659. package/esm/component/title/title.js +12 -22
  660. package/esm/component/title/title.js.map +1 -1
  661. package/esm/component/tooltip/handler/base.js +5 -7
  662. package/esm/component/tooltip/handler/base.js.map +1 -1
  663. package/esm/component/tooltip/handler/dom/util.js +3 -1
  664. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  665. package/esm/component/tooltip/handler/utils/attribute.d.ts +3 -3
  666. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  667. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  668. package/esm/component/tooltip/interface/spec.d.ts +1 -1
  669. package/esm/component/tooltip/interface/spec.js.map +1 -1
  670. package/esm/component/tooltip/interface/theme.d.ts +10 -11
  671. package/esm/component/tooltip/interface/theme.js.map +1 -1
  672. package/esm/component/tooltip/tooltip.d.ts +3 -2
  673. package/esm/component/tooltip/tooltip.js +7 -10
  674. package/esm/component/tooltip/tooltip.js.map +1 -1
  675. package/esm/component/util.d.ts +1 -3
  676. package/esm/component/util.js +2 -2
  677. package/esm/component/util.js.map +1 -1
  678. package/esm/constant/index.js +2 -1
  679. package/esm/constant/layout.d.ts +1 -0
  680. package/esm/constant/layout.js +2 -0
  681. package/esm/constant/layout.js.map +1 -1
  682. package/esm/constant/scatter.js +1 -2
  683. package/esm/core/expression-function.d.ts +12 -0
  684. package/esm/core/expression-function.js +22 -0
  685. package/esm/core/expression-function.js.map +1 -0
  686. package/esm/core/factory.d.ts +5 -2
  687. package/esm/core/factory.js +6 -3
  688. package/esm/core/factory.js.map +1 -1
  689. package/esm/core/index.d.ts +2 -1
  690. package/esm/core/index.js +3 -1
  691. package/esm/core/index.js.map +1 -1
  692. package/esm/core/interface.d.ts +5 -0
  693. package/esm/core/interface.js.map +1 -1
  694. package/esm/core/vchart.d.ts +9 -1
  695. package/esm/core/vchart.js +62 -41
  696. package/esm/core/vchart.js.map +1 -1
  697. package/esm/data/initialize.js +7 -7
  698. package/esm/data/initialize.js.map +1 -1
  699. package/esm/data/transforms/aggregation.d.ts +4 -3
  700. package/esm/data/transforms/aggregation.js +6 -6
  701. package/esm/data/transforms/aggregation.js.map +1 -1
  702. package/esm/data/transforms/dimension-statistics.js +14 -4
  703. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  704. package/esm/event/bubble.js +1 -2
  705. package/esm/event/event.js +2 -1
  706. package/esm/event/events/base.d.ts +16 -0
  707. package/esm/event/events/base.js +15 -0
  708. package/esm/event/events/base.js.map +1 -0
  709. package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
  710. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  711. package/esm/event/events/dimension/util/common.d.ts +1 -2
  712. package/esm/event/events/dimension/util/common.js +1 -1
  713. package/esm/event/events/dimension/util/common.js.map +1 -1
  714. package/esm/event/events/dimension/util/polar.d.ts +1 -1
  715. package/esm/event/events/dimension/util/polar.js.map +1 -1
  716. package/esm/event/interface.d.ts +2 -2
  717. package/esm/event/interface.js.map +1 -1
  718. package/esm/index-wx-simple.d.ts +4 -0
  719. package/esm/index-wx-simple.js +35 -0
  720. package/esm/index-wx-simple.js.map +1 -0
  721. package/esm/interaction/trigger.js +1 -1
  722. package/esm/interaction/zoom/zoomable.d.ts +1 -0
  723. package/esm/interaction/zoom/zoomable.js +6 -5
  724. package/esm/interaction/zoom/zoomable.js.map +1 -1
  725. package/esm/layout/base-layout.d.ts +3 -5
  726. package/esm/layout/base-layout.js +9 -9
  727. package/esm/layout/base-layout.js.map +1 -1
  728. package/esm/layout/grid-layout/grid-layout.d.ts +1 -2
  729. package/esm/layout/grid-layout/grid-layout.js +6 -4
  730. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  731. package/esm/layout/interface.d.ts +74 -6
  732. package/esm/layout/interface.js.map +1 -1
  733. package/esm/{model → layout}/layout-item.d.ts +35 -23
  734. package/esm/{model → layout}/layout-item.js +93 -63
  735. package/esm/layout/layout-item.js.map +1 -0
  736. package/esm/layout/layout3d/index.d.ts +2 -4
  737. package/esm/layout/layout3d/index.js +5 -5
  738. package/esm/layout/layout3d/index.js.map +1 -1
  739. package/esm/layout/util.d.ts +1 -1
  740. package/esm/layout/util.js.map +1 -1
  741. package/esm/mark/arc.js +2 -2
  742. package/esm/mark/arc.js.map +1 -1
  743. package/esm/mark/base/base-mark.d.ts +2 -2
  744. package/esm/mark/base/base-mark.js +59 -38
  745. package/esm/mark/base/base-mark.js.map +1 -1
  746. package/esm/mark/label.js +1 -4
  747. package/esm/mark/label.js.map +1 -1
  748. package/esm/model/base-model.d.ts +10 -8
  749. package/esm/model/base-model.js +27 -35
  750. package/esm/model/base-model.js.map +1 -1
  751. package/esm/model/interface.d.ts +21 -89
  752. package/esm/model/interface.js.map +1 -1
  753. package/esm/model/layout-model.d.ts +41 -0
  754. package/esm/model/layout-model.js +80 -0
  755. package/esm/model/layout-model.js.map +1 -0
  756. package/esm/region/interface.d.ts +3 -2
  757. package/esm/region/interface.js.map +1 -1
  758. package/esm/region/region.d.ts +12 -7
  759. package/esm/region/region.js +19 -11
  760. package/esm/region/region.js.map +1 -1
  761. package/esm/series/area/area.d.ts +1 -1
  762. package/esm/series/area/area.js +5 -6
  763. package/esm/series/area/area.js.map +1 -1
  764. package/esm/series/area/interface.d.ts +4 -0
  765. package/esm/series/area/interface.js.map +1 -1
  766. package/esm/series/bar/bar.js +1 -5
  767. package/esm/series/bar/bar.js.map +1 -1
  768. package/esm/series/base/base-series.d.ts +14 -4
  769. package/esm/series/base/base-series.js +38 -16
  770. package/esm/series/base/base-series.js.map +1 -1
  771. package/esm/series/cartesian/cartesian.d.ts +3 -0
  772. package/esm/series/cartesian/cartesian.js +16 -4
  773. package/esm/series/cartesian/cartesian.js.map +1 -1
  774. package/esm/series/correlation/correlation.js +2 -8
  775. package/esm/series/correlation/correlation.js.map +1 -1
  776. package/esm/series/funnel/funnel-3d.js +1 -1
  777. package/esm/series/funnel/funnel-3d.js.map +1 -1
  778. package/esm/series/funnel/funnel.js +3 -7
  779. package/esm/series/funnel/funnel.js.map +1 -1
  780. package/esm/series/funnel/interface.d.ts +1 -2
  781. package/esm/series/funnel/interface.js.map +1 -1
  782. package/esm/series/gauge/gauge.d.ts +0 -1
  783. package/esm/series/gauge/gauge.js +2 -9
  784. package/esm/series/gauge/gauge.js.map +1 -1
  785. package/esm/series/heatmap/heatmap.js +1 -5
  786. package/esm/series/heatmap/heatmap.js.map +1 -1
  787. package/esm/series/index.d.ts +2 -2
  788. package/esm/series/index.js.map +1 -1
  789. package/esm/series/interface/common.d.ts +2 -2
  790. package/esm/series/interface/common.js.map +1 -1
  791. package/esm/series/interface/series.d.ts +4 -2
  792. package/esm/series/interface/series.js.map +1 -1
  793. package/esm/series/interface/type.d.ts +3 -1
  794. package/esm/series/interface/type.js +2 -1
  795. package/esm/series/interface/type.js.map +1 -1
  796. package/esm/series/line/interface.d.ts +4 -0
  797. package/esm/series/line/interface.js.map +1 -1
  798. package/esm/series/line/line.d.ts +1 -1
  799. package/esm/series/line/line.js.map +1 -1
  800. package/esm/series/map/map.js +1 -5
  801. package/esm/series/map/map.js.map +1 -1
  802. package/esm/series/mixin/line-mixin.d.ts +5 -2
  803. package/esm/series/mixin/line-mixin.js +15 -10
  804. package/esm/series/mixin/line-mixin.js.map +1 -1
  805. package/esm/series/pie/pie.js +1 -4
  806. package/esm/series/pie/pie.js.map +1 -1
  807. package/esm/series/polar/progress-like/progress-like.js +3 -4
  808. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  809. package/esm/series/radar/animation.js.map +1 -1
  810. package/esm/series/range-column/range-column.js +1 -3
  811. package/esm/series/range-column/range-column.js.map +1 -1
  812. package/esm/series/rose/rose.d.ts +2 -1
  813. package/esm/series/rose/rose.js +1 -5
  814. package/esm/series/rose/rose.js.map +1 -1
  815. package/esm/series/scatter/scatter.js +1 -5
  816. package/esm/series/scatter/scatter.js.map +1 -1
  817. package/esm/series/waterfall/waterfall.js +1 -1
  818. package/esm/series/waterfall/waterfall.js.map +1 -1
  819. package/esm/series/word-cloud/base.d.ts +1 -0
  820. package/esm/series/word-cloud/base.js +33 -33
  821. package/esm/series/word-cloud/base.js.map +1 -1
  822. package/esm/series/word-cloud/word-cloud-3d.js +32 -32
  823. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  824. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +2 -2
  825. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  826. package/esm/theme/builtin/common/component/axis/common-axis.js +1 -1
  827. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  828. package/esm/theme/builtin/common/component/crosshair.js +5 -5
  829. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  830. package/esm/theme/builtin/common/component/data-zoom.js +10 -10
  831. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  832. package/esm/theme/builtin/common/component/indicator.js +1 -1
  833. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  834. package/esm/theme/builtin/common/component/legend/color-legend.js +3 -4
  835. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  836. package/esm/theme/builtin/common/component/legend/discrete-legend.js +2 -2
  837. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  838. package/esm/theme/builtin/common/component/legend/size-legend.js +6 -6
  839. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  840. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  841. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  842. package/esm/theme/builtin/common/component/mark-line.js +9 -9
  843. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  844. package/esm/theme/builtin/common/component/mark-point.js +15 -3
  845. package/esm/theme/builtin/common/component/mark-point.js.map +1 -1
  846. package/esm/theme/builtin/common/component/player.js +7 -7
  847. package/esm/theme/builtin/common/component/player.js.map +1 -1
  848. package/esm/theme/builtin/common/component/poptip.js +3 -4
  849. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  850. package/esm/theme/builtin/common/component/scroll-bar.js +20 -7
  851. package/esm/theme/builtin/common/component/scroll-bar.js.map +1 -1
  852. package/esm/theme/builtin/common/component/title.js +1 -1
  853. package/esm/theme/builtin/common/component/title.js.map +1 -1
  854. package/esm/theme/builtin/common/component/tooltip.d.ts +2 -1
  855. package/esm/theme/builtin/common/component/tooltip.js +3 -4
  856. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  857. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  858. package/esm/theme/builtin/common/mark.js.map +1 -1
  859. package/esm/theme/builtin/common/series/rangeColumn.js +1 -1
  860. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  861. package/esm/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
  862. package/esm/theme/builtin/common-mobile/component/axis/band-axis.js +18 -0
  863. package/esm/theme/builtin/common-mobile/component/axis/band-axis.js.map +1 -0
  864. package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
  865. package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js +32 -0
  866. package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +1 -0
  867. package/esm/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
  868. package/esm/theme/builtin/common-mobile/component/axis/common-axis.js +36 -0
  869. package/esm/theme/builtin/common-mobile/component/axis/common-axis.js.map +1 -0
  870. package/esm/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
  871. package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js +18 -0
  872. package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js.map +1 -0
  873. package/esm/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
  874. package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js +23 -0
  875. package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js.map +1 -0
  876. package/esm/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
  877. package/esm/theme/builtin/common-mobile/component/crosshair.js +35 -0
  878. package/esm/theme/builtin/common-mobile/component/crosshair.js.map +1 -0
  879. package/esm/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
  880. package/esm/theme/builtin/common-mobile/component/data-zoom.js +34 -0
  881. package/esm/theme/builtin/common-mobile/component/data-zoom.js.map +1 -0
  882. package/esm/theme/builtin/common-mobile/component/index.d.ts +2 -0
  883. package/esm/theme/builtin/common-mobile/component/index.js +65 -0
  884. package/esm/theme/builtin/common-mobile/component/index.js.map +1 -0
  885. package/esm/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
  886. package/esm/theme/builtin/common-mobile/component/indicator.js +17 -0
  887. package/esm/theme/builtin/common-mobile/component/indicator.js.map +1 -0
  888. package/esm/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
  889. package/esm/theme/builtin/common-mobile/component/legend/color-legend.js +17 -0
  890. package/esm/theme/builtin/common-mobile/component/legend/color-legend.js.map +1 -0
  891. package/esm/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
  892. package/esm/theme/builtin/common-mobile/component/legend/continuous.js +38 -0
  893. package/esm/theme/builtin/common-mobile/component/legend/continuous.js.map +1 -0
  894. package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
  895. package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js +33 -0
  896. package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +1 -0
  897. package/esm/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
  898. package/esm/theme/builtin/common-mobile/component/legend/size-legend.js +17 -0
  899. package/esm/theme/builtin/common-mobile/component/legend/size-legend.js.map +1 -0
  900. package/esm/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
  901. package/esm/theme/builtin/common-mobile/component/map-label.js +33 -0
  902. package/esm/theme/builtin/common-mobile/component/map-label.js.map +1 -0
  903. package/esm/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
  904. package/esm/theme/builtin/common-mobile/component/mark-area.js +18 -0
  905. package/esm/theme/builtin/common-mobile/component/mark-area.js.map +1 -0
  906. package/esm/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
  907. package/esm/theme/builtin/common-mobile/component/mark-line.js +27 -0
  908. package/esm/theme/builtin/common-mobile/component/mark-line.js.map +1 -0
  909. package/esm/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
  910. package/esm/theme/builtin/common-mobile/component/mark-point.js +15 -0
  911. package/esm/theme/builtin/common-mobile/component/mark-point.js.map +1 -0
  912. package/esm/theme/builtin/common-mobile/component/player.d.ts +2 -0
  913. package/esm/theme/builtin/common-mobile/component/player.js +47 -0
  914. package/esm/theme/builtin/common-mobile/component/player.js.map +1 -0
  915. package/esm/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
  916. package/esm/theme/builtin/common-mobile/component/poptip.js +19 -0
  917. package/esm/theme/builtin/common-mobile/component/poptip.js.map +1 -0
  918. package/esm/theme/builtin/common-mobile/component/title.d.ts +2 -0
  919. package/esm/theme/builtin/common-mobile/component/title.js +17 -0
  920. package/esm/theme/builtin/common-mobile/component/title.js.map +1 -0
  921. package/esm/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
  922. package/esm/theme/builtin/common-mobile/component/tooltip.js +37 -0
  923. package/esm/theme/builtin/common-mobile/component/tooltip.js.map +1 -0
  924. package/esm/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
  925. package/esm/theme/builtin/common-mobile/component/total-label.js +10 -0
  926. package/esm/theme/builtin/common-mobile/component/total-label.js.map +1 -0
  927. package/esm/theme/builtin/common-mobile/constants.d.ts +2 -0
  928. package/esm/theme/builtin/common-mobile/constants.js +19 -0
  929. package/esm/theme/builtin/common-mobile/constants.js.map +1 -0
  930. package/esm/theme/builtin/common-mobile/mark.d.ts +3 -0
  931. package/esm/theme/builtin/common-mobile/mark.js +31 -0
  932. package/esm/theme/builtin/common-mobile/mark.js.map +1 -0
  933. package/esm/theme/builtin/dark/color-scheme.js +20 -11
  934. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  935. package/esm/theme/builtin/dark-mobile/index.d.ts +2 -0
  936. package/esm/theme/builtin/dark-mobile/index.js +16 -0
  937. package/esm/theme/builtin/dark-mobile/index.js.map +1 -0
  938. package/esm/theme/builtin/index.d.ts +2 -4
  939. package/esm/theme/builtin/index.js +16 -23
  940. package/esm/theme/builtin/index.js.map +1 -1
  941. package/esm/theme/builtin/light/color-scheme.js +19 -10
  942. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  943. package/esm/theme/builtin/light-mobile/index.d.ts +2 -0
  944. package/esm/theme/builtin/light-mobile/index.js +16 -0
  945. package/esm/theme/builtin/light-mobile/index.js.map +1 -0
  946. package/esm/theme/color-scheme/builtin/interface.d.ts +16 -7
  947. package/esm/theme/color-scheme/builtin/interface.js.map +1 -1
  948. package/esm/theme/color-scheme/legacy.js +18 -2
  949. package/esm/theme/color-scheme/legacy.js.map +1 -1
  950. package/esm/theme/color-scheme/util.js +2 -2
  951. package/esm/theme/color-scheme/util.js.map +1 -1
  952. package/esm/theme/interface.d.ts +1 -2
  953. package/esm/theme/interface.js.map +1 -1
  954. package/esm/theme/theme-manager.d.ts +1 -1
  955. package/esm/theme/theme-manager.js +2 -2
  956. package/esm/theme/theme-manager.js.map +1 -1
  957. package/esm/typings/index.d.ts +1 -0
  958. package/esm/typings/index.js +2 -0
  959. package/esm/typings/index.js.map +1 -1
  960. package/esm/typings/layout.d.ts +23 -0
  961. package/esm/typings/layout.js +2 -0
  962. package/esm/typings/layout.js.map +1 -0
  963. package/esm/typings/spec/common.d.ts +2 -4
  964. package/esm/typings/spec/common.js.map +1 -1
  965. package/esm/typings/visual.d.ts +1 -1
  966. package/esm/typings/visual.js.map +1 -1
  967. package/esm/util/space.d.ts +1 -1
  968. package/esm/util/space.js.map +1 -1
  969. package/esm/util/spec/background.js +3 -11
  970. package/esm/util/spec/background.js.map +1 -1
  971. package/esm/util/spec/common.d.ts +1 -1
  972. package/esm/util/spec/common.js +2 -2
  973. package/esm/util/spec/common.js.map +1 -1
  974. package/esm/util/spec/preprocess.d.ts +1 -1
  975. package/esm/util/spec/preprocess.js +5 -18
  976. package/esm/util/spec/preprocess.js.map +1 -1
  977. package/esm/util/spec/transform.d.ts +2 -0
  978. package/esm/util/spec/transform.js +17 -1
  979. package/esm/util/spec/transform.js.map +1 -1
  980. package/esm/vchart-all.js +1 -4
  981. package/esm/vchart-all.js.map +1 -1
  982. package/esm/vchart-simple.d.ts +1 -0
  983. package/esm/vchart-simple.js +15 -14
  984. package/esm/vchart-simple.js.map +1 -1
  985. package/package.json +18 -19
  986. package/cjs/model/layout-item.js.map +0 -1
  987. package/cjs/theme/util.d.ts +0 -5
  988. package/cjs/theme/util.js +0 -35
  989. package/cjs/theme/util.js.map +0 -1
  990. package/esm/model/layout-item.js.map +0 -1
  991. package/esm/theme/util.d.ts +0 -5
  992. package/esm/theme/util.js +0 -37
  993. package/esm/theme/util.js.map +0 -1
@@ -1,27 +1,25 @@
1
1
  import type { IGroupMark as IVGrammarGroupMark } from '@visactor/vgrammar-core';
2
- import { BaseModel } from '../model/base-model';
3
2
  import type { ISeries } from '../series/interface';
4
- import type { IModelOption, ILayoutItem } from '../model/interface';
3
+ import type { IModelOption } from '../model/interface';
5
4
  import type { CoordinateType } from '../typings/coordinate';
6
5
  import type { IRegion, IRegionSpec } from './interface';
7
6
  import type { IGroupMark } from '../mark/group';
8
7
  import type { IInteraction, ITrigger } from '../interaction/interface';
9
8
  import type { IRectMark } from '../mark/rect';
10
9
  import type { IAnimate } from '../animation/interface';
11
- import type { StringOrNumber } from '../typings';
12
- export declare class Region<T extends IRegionSpec = IRegionSpec> extends BaseModel<T> implements IRegion {
10
+ import type { ILayoutType, StringOrNumber } from '../typings';
11
+ import { LayoutModel } from '../model/layout-model';
12
+ export declare class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {
13
13
  static type: string;
14
14
  readonly modelType: string;
15
15
  type: string;
16
16
  protected _series: ISeries[];
17
- layoutType: ILayoutItem['layoutType'];
17
+ layoutType: ILayoutType;
18
18
  layoutZIndex: number;
19
19
  animate?: IAnimate;
20
20
  interaction: IInteraction;
21
- protected _maxRegionWidth?: number;
22
21
  getMaxWidth(): number;
23
22
  setMaxWidth(value: number): void;
24
- protected _maxRegionHeight?: number;
25
23
  getMaxHeight(): number;
26
24
  setMaxHeight(value: number): void;
27
25
  protected _groupMark: IGroupMark;
@@ -72,4 +70,11 @@ export declare class Region<T extends IRegionSpec = IRegionSpec> extends BaseMod
72
70
  initInteraction(): void;
73
71
  compileMarks(group?: string | IVGrammarGroupMark): void;
74
72
  compile(): void;
73
+ getBoundsInRect: () => {
74
+ x1: number;
75
+ y1: number;
76
+ x2: number;
77
+ y2: number;
78
+ };
79
+ onLayoutEnd(ctx: any): void;
75
80
  }
@@ -4,20 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.Region = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), interface_1 = require("../compile/mark/interface"), dimension_trigger_1 = require("../interaction/dimension-trigger"), type_1 = require("../mark/interface/type"), base_model_1 = require("../model/base-model"), interaction_1 = require("../interaction/interaction"), constant_1 = require("../constant"), animate_manager_1 = require("../animation/animate-manager"), constant_2 = require("../component/data-zoom/constant");
7
+ const vutils_1 = require("@visactor/vutils"), interface_1 = require("../compile/mark/interface"), dimension_trigger_1 = require("../interaction/dimension-trigger"), type_1 = require("../mark/interface/type"), interaction_1 = require("../interaction/interaction"), constant_1 = require("../constant"), animate_manager_1 = require("../animation/animate-manager"), constant_2 = require("../component/data-zoom/constant"), layout_model_1 = require("../model/layout-model");
8
8
 
9
- class Region extends base_model_1.BaseModel {
9
+ class Region extends layout_model_1.LayoutModel {
10
10
  getMaxWidth() {
11
- return this._maxRegionWidth;
11
+ return this._layout.maxWidth;
12
12
  }
13
13
  setMaxWidth(value) {
14
- this._maxRegionWidth = value;
14
+ this._layout.maxWidth = value;
15
15
  }
16
16
  getMaxHeight() {
17
- return this._maxRegionHeight;
17
+ return this._layout.maxHeight;
18
18
  }
19
19
  setMaxHeight(value) {
20
- this._maxRegionHeight = value;
20
+ this._layout.maxHeight = value;
21
21
  }
22
22
  getGroupMark() {
23
23
  return this._groupMark;
@@ -35,10 +35,15 @@ class Region extends base_model_1.BaseModel {
35
35
  }), this._series.forEach((s => {
36
36
  s.getViewDataFilter() && s.reTransformViewData();
37
37
  }));
38
- }, this.userId = spec.id, this.coordinate = null !== (_a = spec.coordinate) && void 0 !== _a ? _a : "cartesian",
38
+ }, this.getBoundsInRect = () => ({
39
+ x1: this._layout.getLayoutStartPoint().x,
40
+ y1: this._layout.getLayoutStartPoint().y,
41
+ x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,
42
+ y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height
43
+ }), this.userId = spec.id, this.coordinate = null !== (_a = spec.coordinate) && void 0 !== _a ? _a : "cartesian",
39
44
  this._option.animation && (this.animate = new animate_manager_1.AnimateManager({
40
45
  getCompiler: ctx.getCompiler
41
- })), (0, vutils_1.isValid)(spec.zIndex) && (this.layoutZIndex = spec.zIndex);
46
+ }));
42
47
  }
43
48
  _getClipDefaultValue() {
44
49
  var _a, _b, _c, _d;
@@ -49,12 +54,12 @@ class Region extends base_model_1.BaseModel {
49
54
  var _a;
50
55
  return (null !== (_a = entry.filterMode) && void 0 !== _a ? _a : constant_2.IFilterMode.axis) === constant_2.IFilterMode.axis;
51
56
  }));
52
- return !(!hasDataZoom && !hasScrollBar) || this.layoutClip;
57
+ return !(!hasDataZoom && !hasScrollBar) || this._layout.layoutClip;
53
58
  }
54
59
  _initTheme() {}
55
60
  created() {
56
61
  var _a, _b;
57
- super.created(), this._groupMark = this._createMark({
62
+ this.initLayout(), super.created(), this._groupMark = this._createMark({
58
63
  type: type_1.MarkTypeEnum.group,
59
64
  name: "regionGroup"
60
65
  }), this._groupMark.setUserId(this.userId), this._groupMark.setZIndex(this.layoutZIndex);
@@ -205,6 +210,9 @@ class Region extends base_model_1.BaseModel {
205
210
  var _a;
206
211
  null === (_a = this.animate) || void 0 === _a || _a.compile(), this.compileMarks();
207
212
  }
213
+ onLayoutEnd(ctx) {
214
+ this._series.forEach((s => s.onLayoutEnd(ctx))), super.onLayoutEnd(ctx);
215
+ }
208
216
  }
209
217
 
210
218
  exports.Region = Region, Region.type = "region";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport { BaseModel } from '../model/base-model';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption, ILayoutItem } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends BaseModel<T> implements IRegion {\n static type = 'region';\n readonly modelType: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutItem['layoutType'] = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n protected _maxRegionWidth?: number;\n getMaxWidth() {\n return this._maxRegionWidth;\n }\n setMaxWidth(value: number) {\n this._maxRegionWidth = value;\n }\n\n protected _maxRegionHeight?: number;\n getMaxHeight() {\n return this._maxRegionHeight;\n }\n setMaxHeight(value: number) {\n this._maxRegionHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n // 层级应当支持配置\n if (isValid(spec.zIndex)) {\n this.layoutZIndex = spec.zIndex;\n }\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this.layoutClip;\n }\n\n _initTheme() {\n // do nothing, region don't need to parse theme\n }\n\n created(): void {\n super.created();\n this._groupMark = this._createMark({ type: MarkTypeEnum.group, name: 'regionGroup' }) as IGroupMark;\n this._groupMark.setUserId(this.userId);\n this._groupMark.setZIndex(this.layoutZIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n this._groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n this._groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(this._groupMark);\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec() {\n const result = super._compareSpec();\n if (!isEqual(this._originalSpec?.style, this._spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m\n .getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n readonly modelType: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n _initTheme() {\n // do nothing, region don't need to parse theme\n }\n\n created(): void {\n this.initLayout();\n super.created();\n this._groupMark = this._createMark({ type: MarkTypeEnum.group, name: 'regionGroup' }) as IGroupMark;\n this._groupMark.setUserId(this.userId);\n this._groupMark.setZIndex(this.layoutZIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n this._groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n this._groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(this._groupMark);\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec() {\n const result = super._compareSpec();\n if (!isEqual(this._originalSpec?.style, this._spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
@@ -7,7 +7,7 @@ import type { SeriesMarkMap } from '../interface';
7
7
  import { SeriesTypeEnum } from '../interface/type';
8
8
  import type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';
9
9
  import type { IMark } from '../../mark/interface';
10
- export interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | 'encodeDefined' | '_lineMark' | '_symbolMark' | 'addSamplingCompile' | 'addOverlapCompile' | 'reCompileSampling'>, CartesianSeries<T> {
10
+ export interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | 'encodeDefined' | '_lineMark' | '_symbolMark' | 'addSamplingCompile' | 'addOverlapCompile' | 'reCompileSampling' | 'initLineLabelMarkStyle'>, CartesianSeries<T> {
11
11
  }
12
12
  export declare class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {
13
13
  static readonly type: string;
@@ -28,7 +28,7 @@ class AreaSeries extends cartesian_1.CartesianSeries {
28
28
  areaSpec.visible = !(!isAreaVisible && !isLineVisible);
29
29
  }
30
30
  initMark() {
31
- var _a, _b, _c, _d, _e, _f, _g;
31
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
32
32
  const progressive = {
33
33
  progressiveStep: this._spec.progressiveStep,
34
34
  progressiveThreshold: this._spec.progressiveThreshold,
@@ -40,9 +40,9 @@ class AreaSeries extends cartesian_1.CartesianSeries {
40
40
  defaultMorphElementKey: this.getDimensionField()[0],
41
41
  progressive: progressive,
42
42
  isSeriesMark: isAreaVisible && "point" !== seriesMark
43
- }), !isPointVisible && this._areaMark && this._areaMark.setLabelSpec((0, merge_spec_1.mergeSpec)({
44
- animation: this._spec.animation
45
- }, this._spec.label)), this.initSymbolMark(progressive, "point" === seriesMark);
43
+ }), this._areaMark && (null === (_j = null === (_h = this._spec) || void 0 === _h ? void 0 : _h.areaLabel) || void 0 === _j ? void 0 : _j.visible) && this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.areaLabel, this.initLineLabelMarkStyle), !0),
44
+ !isPointVisible && this._areaMark && (null === (_k = this._spec.label) || void 0 === _k ? void 0 : _k.visible) && this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.label)),
45
+ this.initSymbolMark(progressive, "point" === seriesMark);
46
46
  }
47
47
  initMarkStyle() {
48
48
  var _a, _b, _c, _d, _e;
@@ -75,8 +75,7 @@ class AreaSeries extends cartesian_1.CartesianSeries {
75
75
  }, "normal", constant_1.AttributeLevel.Built_In), this._trigger.registerMark(areaMark),
76
76
  Object.keys(areaMark.stateStyle).forEach((state => {
77
77
  areaMark.stateStyle[state].stroke && areaMark.setPostProcess("stroke", (result => [ result, !1, !1, !1 ]), state);
78
- }))), this.initLineMarkStyle(this._direction, userCurveType), this.initSymbolMarkStyle(),
79
- this.initLabelMarkStyle();
78
+ }))), this.initLineMarkStyle(this._direction, userCurveType), this.initSymbolMarkStyle();
80
79
  }
81
80
  initAnimation() {
82
81
  var _a, _b, _c, _d, _e;
@@ -1 +1 @@
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, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\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';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\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 = mergeSpec({}, subSpec.style, mainSpec.style);\n areaSpec.state = mergeSpec({}, 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 isPointVisible = this._spec.point?.visible !== false && this._spec.point?.style?.visible !== false;\n\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 if (!isPointVisible && this._areaMark) {\n this._areaMark.setLabelSpec(mergeSpec({ animation: this._spec.animation }, this._spec.label));\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 ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\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\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 Factory.getAnimationInKey('line')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n Factory.registerMark(LineMark.type, LineMark);\n Factory.registerMark(AreaMark.type, AreaMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerMark(SymbolMark.type, SymbolMark);\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n registerAreaAnimation();\n};\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, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\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';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport type { ILabelSpec } from '../../component';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\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 = mergeSpec({}, subSpec.style, mainSpec.style);\n areaSpec.state = mergeSpec({}, 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 isPointVisible = this._spec.point?.visible !== false && this._spec.point?.style?.visible !== false;\n\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 if (this._areaMark && this._spec?.areaLabel?.visible) {\n this._areaMark.addLabelSpec(\n this._preprocessLabelSpec(this._spec.areaLabel as ILabelSpec, this.initLineLabelMarkStyle),\n true\n );\n }\n if (!isPointVisible && this._areaMark && this._spec.label?.visible) {\n this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.label as ILabelSpec));\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 ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\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\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 }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n Factory.registerMark(LineMark.type, LineMark);\n Factory.registerMark(AreaMark.type, AreaMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerMark(SymbolMark.type, SymbolMark);\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n registerAreaAnimation();\n};\n"]}
@@ -6,6 +6,7 @@ import type { ILineLikeLabelSpec, ILineLikeSeriesTheme } from '../mixin/line-mix
6
6
  import type { IAnimationSpec } from '../../animation/spec';
7
7
  import type { AreaAppearPreset } from './animation';
8
8
  import type { IDataSamping, IMarkOverlap, IMarkProgressiveConfig } from '../../mark/interface';
9
+ import type { ILabelSpec } from '../../component';
9
10
  export interface IAreaSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<string, AreaAppearPreset>, IMarkProgressiveConfig, IDataSamping, IMarkOverlap {
10
11
  type: 'area';
11
12
  xField: string | string[];
@@ -14,6 +15,9 @@ export interface IAreaSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<st
14
15
  [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;
15
16
  [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;
16
17
  [SeriesMarkNameEnum.label]?: ILineLikeLabelSpec;
18
+ [SeriesMarkNameEnum.areaLabel]?: Omit<ILabelSpec, 'position'> & {
19
+ position?: 'start' | 'end';
20
+ };
17
21
  seriesMark?: 'point' | 'line' | 'area';
18
22
  activePoint?: boolean;
19
23
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILineLikeLabelSpec, ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IDataSamping, IMarkOverlap, IMarkProgressiveConfig } from '../../mark/interface';\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig,\n IDataSamping,\n IMarkOverlap {\n /**\n * 系列类型\n */\n type: 'area';\n /**\n * x轴字段\n */\n xField: string | string[];\n /**\n * y轴字段\n */\n yField: string | string[];\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 * 标签配置\n */\n [SeriesMarkNameEnum.label]?: ILineLikeLabelSpec;\n /**\n * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends 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 } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILineLikeLabelSpec, ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IDataSamping, IMarkOverlap, IMarkProgressiveConfig } from '../../mark/interface';\nimport type { ILabelSpec } from '../../component';\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig,\n IDataSamping,\n IMarkOverlap {\n /**\n * 系列类型\n */\n type: 'area';\n /**\n * x轴字段\n */\n xField: string | string[];\n /**\n * y轴字段\n */\n yField: string | string[];\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 * 标签配置\n */\n [SeriesMarkNameEnum.label]?: ILineLikeLabelSpec;\n /**\n * 面积图元标签配置\n * @since 1.7.0\n */\n [SeriesMarkNameEnum.areaLabel]?: Omit<ILabelSpec, 'position'> & {\n position?: 'start' | 'end';\n };\n /**\n * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerBarSeries = exports.BarSeries = exports.DefaultBandWidth = void 0;
6
6
 
7
- const index_1 = require("./../../constant/index"), vscale_1 = require("@visactor/vscale"), space_1 = require("../../typings/space"), cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../../mark/interface/type"), constant_1 = require("../../constant"), merge_spec_1 = require("../../util/spec/merge-spec"), scale_1 = require("../../util/scale"), data_1 = require("../../util/data"), space_2 = require("../../util/space"), animation_1 = require("./animation"), utils_1 = require("../../animation/utils"), type_2 = require("../interface/type"), rect_1 = require("../../mark/rect"), vutils_1 = require("@visactor/vutils"), constant_2 = require("./constant"), stack_1 = require("../util/stack"), factory_1 = require("../../core/factory"), register_1 = require("../../data/register"), series_data_1 = require("../base/series-data"), vdataset_1 = require("@visactor/vdataset"), add_property_1 = require("../../data/transforms/add-property"), data_key_1 = require("../../data/transforms/data-key"), vgrammar_core_1 = require("@visactor/vgrammar-core");
7
+ const index_1 = require("./../../constant/index"), vscale_1 = require("@visactor/vscale"), space_1 = require("../../typings/space"), cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../../mark/interface/type"), constant_1 = require("../../constant"), scale_1 = require("../../util/scale"), data_1 = require("../../util/data"), space_2 = require("../../util/space"), animation_1 = require("./animation"), utils_1 = require("../../animation/utils"), type_2 = require("../interface/type"), rect_1 = require("../../mark/rect"), vutils_1 = require("@visactor/vutils"), constant_2 = require("./constant"), stack_1 = require("../util/stack"), factory_1 = require("../../core/factory"), register_1 = require("../../data/register"), series_data_1 = require("../base/series-data"), vdataset_1 = require("@visactor/vdataset"), add_property_1 = require("../../data/transforms/add-property"), data_key_1 = require("../../data/transforms/data-key"), vgrammar_core_1 = require("@visactor/vgrammar-core");
8
8
 
9
9
  exports.DefaultBandWidth = 6;
10
10
 
@@ -30,9 +30,7 @@ class BarSeries extends cartesian_1.CartesianSeries {
30
30
  defaultMorphElementKey: this.getDimensionField()[0],
31
31
  groupKey: this._seriesField,
32
32
  isSeriesMark: !0,
33
- label: (0, merge_spec_1.mergeSpec)({
34
- animation: this._spec.animation
35
- }, this._spec.label),
33
+ label: this._preprocessLabelSpec(this._spec.label),
36
34
  progressive: progressive
37
35
  });
38
36
  }