@visactor/vchart 1.2.3 → 1.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1921) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +67887 -64461
  3. package/build/index.min.js +15 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/spec.d.ts +1 -1
  6. package/cjs/animation/spec.js.map +1 -1
  7. package/cjs/animation/utils.js +2 -2
  8. package/cjs/animation/utils.js.map +1 -1
  9. package/cjs/chart/area/area.js +2 -3
  10. package/cjs/chart/area/area.js.map +1 -1
  11. package/cjs/chart/bar/bar-3d.js +2 -2
  12. package/cjs/chart/bar/bar-3d.js.map +1 -1
  13. package/cjs/chart/bar/bar.js +2 -2
  14. package/cjs/chart/bar/bar.js.map +1 -1
  15. package/cjs/chart/base-chart.d.ts +5 -2
  16. package/cjs/chart/base-chart.js +48 -42
  17. package/cjs/chart/base-chart.js.map +1 -1
  18. package/cjs/chart/box-plot/box-plot.js +2 -2
  19. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  20. package/cjs/chart/cartesian/cartesian.js +3 -2
  21. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  22. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  23. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  24. package/cjs/chart/funnel/funnel-3d.js +2 -2
  25. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  26. package/cjs/chart/funnel/funnel.js +2 -2
  27. package/cjs/chart/funnel/funnel.js.map +1 -1
  28. package/cjs/chart/gauge/gauge.js +2 -2
  29. package/cjs/chart/gauge/gauge.js.map +1 -1
  30. package/cjs/chart/heatmap/heatmap.js +2 -2
  31. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  32. package/cjs/chart/histogram/histogram-3d.js +2 -2
  33. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  34. package/cjs/chart/histogram/histogram.js +2 -2
  35. package/cjs/chart/histogram/histogram.js.map +1 -1
  36. package/cjs/chart/index.d.ts +2 -2
  37. package/cjs/chart/index.js +3 -3
  38. package/cjs/chart/index.js.map +1 -1
  39. package/cjs/chart/interface/chart.d.ts +4 -2
  40. package/cjs/chart/interface/chart.js.map +1 -1
  41. package/cjs/chart/line/line.js +2 -3
  42. package/cjs/chart/line/line.js.map +1 -1
  43. package/cjs/chart/map/map.js +2 -2
  44. package/cjs/chart/map/map.js.map +1 -1
  45. package/cjs/chart/pie/pie-3d.js +2 -2
  46. package/cjs/chart/pie/pie-3d.js.map +1 -1
  47. package/cjs/chart/pie/pie.js +2 -2
  48. package/cjs/chart/pie/pie.js.map +1 -1
  49. package/cjs/chart/polar/progress-like.js +2 -2
  50. package/cjs/chart/polar/progress-like.js.map +1 -1
  51. package/cjs/chart/polar/rose-like.js +1 -1
  52. package/cjs/chart/polar/rose-like.js.map +1 -1
  53. package/cjs/chart/progress/circular/circular.js +2 -2
  54. package/cjs/chart/progress/circular/circular.js.map +1 -1
  55. package/cjs/chart/progress/linear/linear.js +4 -4
  56. package/cjs/chart/progress/linear/linear.js.map +1 -1
  57. package/cjs/chart/radar/radar.js +4 -5
  58. package/cjs/chart/radar/radar.js.map +1 -1
  59. package/cjs/chart/range-area/range-area.js +2 -2
  60. package/cjs/chart/range-area/range-area.js.map +1 -1
  61. package/cjs/chart/range-column/range-column-3d.js +2 -2
  62. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  63. package/cjs/chart/range-column/range-column.js +2 -2
  64. package/cjs/chart/range-column/range-column.js.map +1 -1
  65. package/cjs/chart/rose/rose.js +3 -3
  66. package/cjs/chart/rose/rose.js.map +1 -1
  67. package/cjs/chart/sankey/sankey.js +2 -2
  68. package/cjs/chart/sankey/sankey.js.map +1 -1
  69. package/cjs/chart/scatter/scatter.js +2 -2
  70. package/cjs/chart/scatter/scatter.js.map +1 -1
  71. package/cjs/chart/sequence/sequence.js +2 -2
  72. package/cjs/chart/sequence/sequence.js.map +1 -1
  73. package/cjs/chart/stack.d.ts +1 -0
  74. package/cjs/chart/stack.js +14 -0
  75. package/cjs/chart/stack.js.map +1 -1
  76. package/cjs/chart/sunburst/sunburst.js +2 -2
  77. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  78. package/cjs/chart/treemap/treemap.d.ts +1 -1
  79. package/cjs/chart/treemap/treemap.js +6 -6
  80. package/cjs/chart/treemap/treemap.js.map +1 -1
  81. package/cjs/chart/util.d.ts +8 -0
  82. package/cjs/chart/util.js +33 -4
  83. package/cjs/chart/util.js.map +1 -1
  84. package/cjs/chart/waterfall/waterfall.js +2 -2
  85. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  86. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  87. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  88. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  89. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  90. package/cjs/compile/compiler.d.ts +5 -1
  91. package/cjs/compile/compiler.js +8 -3
  92. package/cjs/compile/compiler.js.map +1 -1
  93. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  94. package/cjs/compile/interface/compilable-item.js.map +1 -1
  95. package/cjs/compile/mark/compilable-mark.js +9 -10
  96. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  97. package/cjs/compile/mark/interface.d.ts +2 -1
  98. package/cjs/compile/mark/interface.js.map +1 -1
  99. package/cjs/compile/mark/util.d.ts +2 -1
  100. package/cjs/compile/mark/util.js +21 -5
  101. package/cjs/compile/mark/util.js.map +1 -1
  102. package/cjs/component/axis/base-axis.d.ts +17 -27
  103. package/cjs/component/axis/base-axis.js +18 -28
  104. package/cjs/component/axis/base-axis.js.map +1 -1
  105. package/cjs/component/axis/cartesian/axis.d.ts +3 -3
  106. package/cjs/component/axis/cartesian/axis.js +35 -26
  107. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  108. package/cjs/component/axis/cartesian/band-axis.d.ts +3 -3
  109. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  110. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  111. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  112. package/cjs/component/axis/cartesian/index.js +2 -1
  113. package/cjs/component/axis/cartesian/index.js.map +1 -1
  114. package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
  115. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  116. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  117. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  118. package/cjs/component/axis/cartesian/linear-axis.d.ts +3 -3
  119. package/cjs/component/axis/cartesian/linear-axis.js +4 -3
  120. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  121. package/cjs/component/axis/cartesian/log-axis.d.ts +3 -2
  122. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  123. package/cjs/component/axis/cartesian/symlog-axis.d.ts +16 -0
  124. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  125. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  126. package/cjs/component/axis/cartesian/time-axis.d.ts +3 -2
  127. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  128. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  129. package/cjs/component/axis/interface.d.ts +11 -8
  130. package/cjs/component/axis/interface.js.map +1 -1
  131. package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
  132. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  133. package/cjs/component/axis/polar/axis.d.ts +4 -3
  134. package/cjs/component/axis/polar/axis.js +17 -14
  135. package/cjs/component/axis/polar/axis.js.map +1 -1
  136. package/cjs/component/axis/polar/band-axis.d.ts +4 -2
  137. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  138. package/cjs/component/axis/polar/interface/common.d.ts +1 -1
  139. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  140. package/cjs/component/axis/polar/interface/spec.d.ts +7 -2
  141. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  142. package/cjs/component/axis/polar/linear-axis.d.ts +2 -3
  143. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  144. package/cjs/component/axis/util.d.ts +28 -0
  145. package/cjs/component/axis/util.js +71 -0
  146. package/cjs/component/axis/util.js.map +1 -0
  147. package/cjs/component/base/base-component.d.ts +15 -4
  148. package/cjs/component/base/base-component.js +20 -8
  149. package/cjs/component/base/base-component.js.map +1 -1
  150. package/cjs/component/base/interface.d.ts +8 -0
  151. package/cjs/component/base/interface.js +6 -0
  152. package/cjs/component/base/interface.js.map +1 -0
  153. package/cjs/component/base/util.d.ts +2 -1
  154. package/cjs/component/base/util.js +21 -16
  155. package/cjs/component/base/util.js.map +1 -1
  156. package/cjs/component/brush/brush.d.ts +14 -4
  157. package/cjs/component/brush/brush.js +75 -64
  158. package/cjs/component/brush/brush.js.map +1 -1
  159. package/cjs/component/brush/interface.d.ts +1 -0
  160. package/cjs/component/brush/interface.js.map +1 -1
  161. package/cjs/component/crosshair/base.d.ts +5 -4
  162. package/cjs/component/crosshair/base.js +2 -2
  163. package/cjs/component/crosshair/base.js.map +1 -1
  164. package/cjs/component/crosshair/cartesian.d.ts +3 -3
  165. package/cjs/component/crosshair/cartesian.js +10 -10
  166. package/cjs/component/crosshair/cartesian.js.map +1 -1
  167. package/cjs/component/crosshair/interface/spec.d.ts +8 -8
  168. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  169. package/cjs/component/crosshair/interface/theme.d.ts +3 -1
  170. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  171. package/cjs/component/crosshair/polar.d.ts +3 -3
  172. package/cjs/component/crosshair/polar.js +9 -9
  173. package/cjs/component/crosshair/polar.js.map +1 -1
  174. package/cjs/component/crosshair/util.d.ts +5 -0
  175. package/cjs/component/crosshair/util.js +41 -4
  176. package/cjs/component/crosshair/util.js.map +1 -1
  177. package/cjs/component/custom-mark/custom-mark.d.ts +3 -2
  178. package/cjs/component/custom-mark/custom-mark.js +3 -3
  179. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  180. package/cjs/component/data-zoom/data-filter-base-component.d.ts +5 -5
  181. package/cjs/component/data-zoom/data-filter-base-component.js +2 -9
  182. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  183. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
  184. package/cjs/component/data-zoom/data-zoom/data-zoom.js +7 -7
  185. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  186. package/cjs/component/data-zoom/data-zoom/interface.d.ts +3 -1
  187. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  188. package/cjs/component/data-zoom/interface.d.ts +3 -3
  189. package/cjs/component/data-zoom/interface.js.map +1 -1
  190. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
  191. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  192. package/cjs/component/geo/geo-coordinate.d.ts +10 -4
  193. package/cjs/component/geo/geo-coordinate.js +65 -15
  194. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  195. package/cjs/component/geo/projection.d.ts +1 -0
  196. package/cjs/component/geo/projection.js +4 -0
  197. package/cjs/component/geo/projection.js.map +1 -1
  198. package/cjs/component/index.d.ts +3 -2
  199. package/cjs/component/index.js +15 -1
  200. package/cjs/component/index.js.map +1 -1
  201. package/cjs/component/indicator/indicator.d.ts +3 -2
  202. package/cjs/component/indicator/indicator.js +11 -8
  203. package/cjs/component/indicator/indicator.js.map +1 -1
  204. package/cjs/component/indicator/interface.d.ts +5 -4
  205. package/cjs/component/indicator/interface.js.map +1 -1
  206. package/cjs/component/interface/theme.d.ts +4 -2
  207. package/cjs/component/interface/theme.js.map +1 -1
  208. package/cjs/component/interface/type.d.ts +2 -0
  209. package/cjs/component/interface/type.js +13 -12
  210. package/cjs/component/interface/type.js.map +1 -1
  211. package/cjs/component/label/base-label.d.ts +39 -0
  212. package/cjs/component/label/base-label.js +39 -0
  213. package/cjs/component/label/base-label.js.map +1 -0
  214. package/cjs/component/label/interface.d.ts +12 -1
  215. package/cjs/component/label/interface.js.map +1 -1
  216. package/cjs/component/label/label.d.ts +7 -29
  217. package/cjs/component/label/label.js +32 -44
  218. package/cjs/component/label/label.js.map +1 -1
  219. package/cjs/component/label/pie.d.ts +5 -0
  220. package/cjs/component/label/pie.js +21 -0
  221. package/cjs/component/label/pie.js.map +1 -0
  222. package/cjs/component/label/totalLabel.d.ts +27 -0
  223. package/cjs/component/label/totalLabel.js +107 -0
  224. package/cjs/component/label/totalLabel.js.map +1 -0
  225. package/cjs/component/label/util.d.ts +3 -1
  226. package/cjs/component/label/util.js +5 -5
  227. package/cjs/component/label/util.js.map +1 -1
  228. package/cjs/component/legend/base-legend.d.ts +3 -2
  229. package/cjs/component/legend/base-legend.js +4 -4
  230. package/cjs/component/legend/base-legend.js.map +1 -1
  231. package/cjs/component/legend/continuous/legend.d.ts +3 -4
  232. package/cjs/component/legend/continuous/legend.js.map +1 -1
  233. package/cjs/component/legend/continuous/util.js +4 -4
  234. package/cjs/component/legend/continuous/util.js.map +1 -1
  235. package/cjs/component/legend/discrete/interface.d.ts +3 -1
  236. package/cjs/component/legend/discrete/interface.js.map +1 -1
  237. package/cjs/component/legend/discrete/legend.d.ts +1 -2
  238. package/cjs/component/legend/discrete/legend.js +2 -2
  239. package/cjs/component/legend/discrete/legend.js.map +1 -1
  240. package/cjs/component/legend/discrete/util.js +2 -2
  241. package/cjs/component/legend/discrete/util.js.map +1 -1
  242. package/cjs/component/legend/interface.d.ts +2 -6
  243. package/cjs/component/legend/interface.js.map +1 -1
  244. package/cjs/component/legend/util.js +2 -2
  245. package/cjs/component/legend/util.js.map +1 -1
  246. package/cjs/component/map-label/component.d.ts +1 -2
  247. package/cjs/component/map-label/component.js.map +1 -1
  248. package/cjs/component/marker/base-marker.d.ts +8 -2
  249. package/cjs/component/marker/base-marker.js +14 -0
  250. package/cjs/component/marker/base-marker.js.map +1 -1
  251. package/cjs/component/marker/interface.d.ts +3 -2
  252. package/cjs/component/marker/interface.js.map +1 -1
  253. package/cjs/component/marker/mark-area/mark-area.d.ts +1 -2
  254. package/cjs/component/marker/mark-area/mark-area.js +17 -6
  255. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  256. package/cjs/component/marker/mark-line/mark-line.d.ts +1 -2
  257. package/cjs/component/marker/mark-line/mark-line.js +17 -6
  258. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  259. package/cjs/component/marker/mark-point/mark-point.d.ts +1 -2
  260. package/cjs/component/marker/mark-point/mark-point.js +18 -7
  261. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  262. package/cjs/component/player/player.d.ts +1 -2
  263. package/cjs/component/player/player.js.map +1 -1
  264. package/cjs/component/poptip/interface.d.ts +15 -0
  265. package/cjs/component/poptip/interface.js +6 -0
  266. package/cjs/component/poptip/interface.js.map +1 -0
  267. package/cjs/component/title/interface/spec.d.ts +2 -2
  268. package/cjs/component/title/interface/spec.js.map +1 -1
  269. package/cjs/component/title/title.d.ts +2 -2
  270. package/cjs/component/title/title.js +2 -1
  271. package/cjs/component/title/title.js.map +1 -1
  272. package/cjs/component/tooltip/handler/base.js +3 -3
  273. package/cjs/component/tooltip/handler/base.js.map +1 -1
  274. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  275. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
  276. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  277. package/cjs/component/tooltip/handler/dom/interface.d.ts +9 -12
  278. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  279. package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  280. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +19 -17
  281. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  282. package/cjs/component/tooltip/handler/dom/model/content-model.js +2 -2
  283. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  284. package/cjs/component/tooltip/handler/dom/model/title-model.js +5 -5
  285. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  286. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +2 -2
  287. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  288. package/cjs/component/tooltip/handler/dom/util.js +20 -13
  289. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  290. package/cjs/component/tooltip/handler/utils/attribute.js +26 -25
  291. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  292. package/cjs/component/tooltip/handler/utils/compose.d.ts +2 -2
  293. package/cjs/component/tooltip/handler/utils/compose.js +13 -10
  294. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  295. package/cjs/component/tooltip/handler/utils/get-spec.js +3 -3
  296. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  297. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  298. package/cjs/component/tooltip/handler/utils/style.js +15 -10
  299. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  300. package/cjs/component/tooltip/interface/theme.d.ts +6 -4
  301. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  302. package/cjs/component/tooltip/processor/base.js +1 -1
  303. package/cjs/component/tooltip/processor/base.js.map +1 -1
  304. package/cjs/component/tooltip/tooltip.d.ts +4 -3
  305. package/cjs/component/tooltip/tooltip.js +14 -7
  306. package/cjs/component/tooltip/tooltip.js.map +1 -1
  307. package/cjs/constant/index.d.ts +3 -0
  308. package/cjs/constant/index.js +4 -3
  309. package/cjs/constant/index.js.map +1 -1
  310. package/cjs/core/index.d.ts +1 -1
  311. package/cjs/core/index.js +1 -1
  312. package/cjs/core/index.js.map +1 -1
  313. package/cjs/core/interface.d.ts +3 -0
  314. package/cjs/core/interface.js.map +1 -1
  315. package/cjs/core/vchart.d.ts +6 -1
  316. package/cjs/core/vchart.js +75 -27
  317. package/cjs/core/vchart.js.map +1 -1
  318. package/cjs/data/initialize.js +9 -7
  319. package/cjs/data/initialize.js.map +1 -1
  320. package/cjs/data/transforms/data-key.d.ts +2 -2
  321. package/cjs/data/transforms/data-key.js.map +1 -1
  322. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  323. package/cjs/data/transforms/dimension-statistics.js +34 -22
  324. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  325. package/cjs/data/transforms/invalid-travel.js +1 -2
  326. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  327. package/cjs/data/transforms/legend-data/discrete/discrete.js +4 -2
  328. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  329. package/cjs/data/transforms/tick-data/continuous.js +6 -3
  330. package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
  331. package/cjs/data/transforms/tick-data/discrete/polar-angle.js +2 -2
  332. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  333. package/cjs/data/transforms/tick-data/interface.d.ts +3 -0
  334. package/cjs/data/transforms/tick-data/interface.js.map +1 -1
  335. package/cjs/data/transforms/tick-data/util.js +5 -5
  336. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  337. package/cjs/event/event-dispatcher.js +4 -2
  338. package/cjs/event/event-dispatcher.js.map +1 -1
  339. package/cjs/event/events/dimension/dimension-click.d.ts +1 -3
  340. package/cjs/event/events/dimension/dimension-click.js +9 -10
  341. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  342. package/cjs/event/events/dimension/dimension-hover.d.ts +2 -3
  343. package/cjs/event/events/dimension/dimension-hover.js +26 -17
  344. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  345. package/cjs/event/events/dimension/util/cartesian.js +2 -2
  346. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  347. package/cjs/event/events/dimension/util/polar.js +1 -1
  348. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  349. package/cjs/event/interface.d.ts +3 -3
  350. package/cjs/event/interface.js.map +1 -1
  351. package/cjs/interaction/trigger.js +6 -2
  352. package/cjs/interaction/trigger.js.map +1 -1
  353. package/cjs/layout/label/arc-label.js.map +1 -1
  354. package/cjs/mark/base/base-mark.d.ts +1 -0
  355. package/cjs/mark/base/base-mark.js +21 -4
  356. package/cjs/mark/base/base-mark.js.map +1 -1
  357. package/cjs/mark/mark-set/index.d.ts +1 -0
  358. package/cjs/mark/mark-set/index.js.map +1 -1
  359. package/cjs/mark/symbol.js +1 -1
  360. package/cjs/mark/symbol.js.map +1 -1
  361. package/cjs/model/base-model.d.ts +6 -4
  362. package/cjs/model/base-model.js +16 -17
  363. package/cjs/model/base-model.js.map +1 -1
  364. package/cjs/model/interface.d.ts +8 -2
  365. package/cjs/model/interface.js.map +1 -1
  366. package/cjs/model/layout-item.d.ts +7 -7
  367. package/cjs/model/layout-item.js.map +1 -1
  368. package/cjs/model/tooltip-helper.d.ts +0 -2
  369. package/cjs/model/tooltip-helper.js +0 -3
  370. package/cjs/model/tooltip-helper.js.map +1 -1
  371. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
  372. package/cjs/plugin/components/index.d.ts +0 -2
  373. package/cjs/plugin/components/index.js +1 -2
  374. package/cjs/plugin/components/index.js.map +1 -1
  375. package/cjs/region/region.d.ts +3 -3
  376. package/cjs/region/region.js.map +1 -1
  377. package/cjs/series/area/area.d.ts +9 -4
  378. package/cjs/series/area/area.js +44 -21
  379. package/cjs/series/area/area.js.map +1 -1
  380. package/cjs/series/area/constant.d.ts +2 -0
  381. package/cjs/series/area/constant.js +15 -0
  382. package/cjs/series/area/constant.js.map +1 -0
  383. package/cjs/series/area/interface.d.ts +2 -0
  384. package/cjs/series/area/interface.js.map +1 -1
  385. package/cjs/series/area/tooltip-helpter.d.ts +5 -0
  386. package/cjs/series/area/tooltip-helpter.js +24 -0
  387. package/cjs/series/area/tooltip-helpter.js.map +1 -0
  388. package/cjs/series/bar/bar-3d.d.ts +3 -1
  389. package/cjs/series/bar/bar-3d.js +2 -7
  390. package/cjs/series/bar/bar-3d.js.map +1 -1
  391. package/cjs/series/bar/bar.d.ts +1 -0
  392. package/cjs/series/bar/bar.js +11 -16
  393. package/cjs/series/bar/bar.js.map +1 -1
  394. package/cjs/series/bar/constant.d.ts +3 -0
  395. package/cjs/series/bar/constant.js +20 -0
  396. package/cjs/series/bar/constant.js.map +1 -0
  397. package/cjs/series/bar/interface.d.ts +3 -2
  398. package/cjs/series/bar/interface.js.map +1 -1
  399. package/cjs/series/base/base-series.d.ts +8 -6
  400. package/cjs/series/base/base-series.js +87 -40
  401. package/cjs/series/base/base-series.js.map +1 -1
  402. package/cjs/series/base/constant.d.ts +2 -0
  403. package/cjs/series/base/constant.js +15 -0
  404. package/cjs/series/base/constant.js.map +1 -0
  405. package/cjs/series/base/tooltip-helper.d.ts +0 -1
  406. package/cjs/series/base/tooltip-helper.js +4 -5
  407. package/cjs/series/base/tooltip-helper.js.map +1 -1
  408. package/cjs/series/box-plot/box-plot.d.ts +1 -2
  409. package/cjs/series/box-plot/box-plot.js +6 -15
  410. package/cjs/series/box-plot/box-plot.js.map +1 -1
  411. package/cjs/series/box-plot/constant.d.ts +2 -0
  412. package/cjs/series/box-plot/constant.js +19 -0
  413. package/cjs/series/box-plot/constant.js.map +1 -0
  414. package/cjs/series/cartesian/cartesian.d.ts +12 -3
  415. package/cjs/series/cartesian/cartesian.js +41 -19
  416. package/cjs/series/cartesian/cartesian.js.map +1 -1
  417. package/cjs/series/cartesian/interface.d.ts +3 -2
  418. package/cjs/series/cartesian/interface.js.map +1 -1
  419. package/cjs/series/circle-packing/circle-packing.d.ts +1 -2
  420. package/cjs/series/circle-packing/circle-packing.js +6 -11
  421. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  422. package/cjs/series/circle-packing/constant.d.ts +2 -0
  423. package/cjs/series/circle-packing/constant.js +15 -0
  424. package/cjs/series/circle-packing/constant.js.map +1 -0
  425. package/cjs/series/dot/constant.d.ts +2 -0
  426. package/cjs/series/dot/constant.js +39 -0
  427. package/cjs/series/dot/constant.js.map +1 -0
  428. package/cjs/series/dot/dot.d.ts +2 -1
  429. package/cjs/series/dot/dot.js +6 -32
  430. package/cjs/series/dot/dot.js.map +1 -1
  431. package/cjs/series/funnel/constant.d.ts +3 -0
  432. package/cjs/series/funnel/constant.js +52 -0
  433. package/cjs/series/funnel/constant.js.map +1 -0
  434. package/cjs/series/funnel/funnel-3d.d.ts +3 -2
  435. package/cjs/series/funnel/funnel-3d.js +2 -23
  436. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  437. package/cjs/series/funnel/funnel.d.ts +2 -1
  438. package/cjs/series/funnel/funnel.js +15 -26
  439. package/cjs/series/funnel/funnel.js.map +1 -1
  440. package/cjs/series/gauge/constant.d.ts +3 -0
  441. package/cjs/series/gauge/constant.js +32 -0
  442. package/cjs/series/gauge/constant.js.map +1 -0
  443. package/cjs/series/gauge/gauge-pointer.d.ts +2 -2
  444. package/cjs/series/gauge/gauge-pointer.js +5 -15
  445. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  446. package/cjs/series/gauge/gauge.d.ts +2 -1
  447. package/cjs/series/gauge/gauge.js +8 -14
  448. package/cjs/series/gauge/gauge.js.map +1 -1
  449. package/cjs/series/geo/geo.d.ts +2 -0
  450. package/cjs/series/geo/geo.js +5 -1
  451. package/cjs/series/geo/geo.js.map +1 -1
  452. package/cjs/series/heatmap/constant.d.ts +2 -0
  453. package/cjs/series/heatmap/constant.js +19 -0
  454. package/cjs/series/heatmap/constant.js.map +1 -0
  455. package/cjs/series/heatmap/heatmap.d.ts +2 -1
  456. package/cjs/series/heatmap/heatmap.js +6 -15
  457. package/cjs/series/heatmap/heatmap.js.map +1 -1
  458. package/cjs/series/index.d.ts +2 -2
  459. package/cjs/series/index.js +3 -3
  460. package/cjs/series/index.js.map +1 -1
  461. package/cjs/series/interface/common.d.ts +1 -0
  462. package/cjs/series/interface/common.js.map +1 -1
  463. package/cjs/series/interface/series.d.ts +3 -2
  464. package/cjs/series/interface/series.js.map +1 -1
  465. package/cjs/series/interface/theme.d.ts +3 -2
  466. package/cjs/series/interface/theme.js +34 -1
  467. package/cjs/series/interface/theme.js.map +1 -1
  468. package/cjs/series/line/constant.d.ts +2 -0
  469. package/cjs/series/line/constant.js +10 -0
  470. package/cjs/series/line/constant.js.map +1 -0
  471. package/cjs/series/line/interface.d.ts +2 -2
  472. package/cjs/series/line/interface.js.map +1 -1
  473. package/cjs/series/line/line.d.ts +5 -4
  474. package/cjs/series/line/line.js +6 -4
  475. package/cjs/series/line/line.js.map +1 -1
  476. package/cjs/series/link/constant.d.ts +2 -0
  477. package/cjs/series/link/constant.js +23 -0
  478. package/cjs/series/link/constant.js.map +1 -0
  479. package/cjs/series/link/link.d.ts +1 -1
  480. package/cjs/series/link/link.js +3 -16
  481. package/cjs/series/link/link.js.map +1 -1
  482. package/cjs/series/map/constant.d.ts +2 -0
  483. package/cjs/series/map/constant.js +15 -0
  484. package/cjs/series/map/constant.js.map +1 -0
  485. package/cjs/series/map/geo-source.js +2 -2
  486. package/cjs/series/map/geo-source.js.map +1 -1
  487. package/cjs/series/map/interface.d.ts +1 -0
  488. package/cjs/series/map/interface.js.map +1 -1
  489. package/cjs/series/map/map.d.ts +2 -3
  490. package/cjs/series/map/map.js +10 -15
  491. package/cjs/series/map/map.js.map +1 -1
  492. package/cjs/series/mixin/line-mixin.d.ts +6 -3
  493. package/cjs/series/mixin/line-mixin.js +42 -26
  494. package/cjs/series/mixin/line-mixin.js.map +1 -1
  495. package/cjs/series/pie/constant.d.ts +3 -0
  496. package/cjs/series/pie/constant.js +28 -0
  497. package/cjs/series/pie/constant.js.map +1 -0
  498. package/cjs/series/pie/interface.d.ts +4 -7
  499. package/cjs/series/pie/interface.js.map +1 -1
  500. package/cjs/series/pie/pie-3d.d.ts +1 -1
  501. package/cjs/series/pie/pie-3d.js +2 -11
  502. package/cjs/series/pie/pie-3d.js.map +1 -1
  503. package/cjs/series/pie/pie.d.ts +3 -1
  504. package/cjs/series/pie/pie.js +21 -67
  505. package/cjs/series/pie/pie.js.map +1 -1
  506. package/cjs/series/polar/interface.d.ts +1 -0
  507. package/cjs/series/polar/interface.js.map +1 -1
  508. package/cjs/series/polar/polar.d.ts +5 -0
  509. package/cjs/series/polar/polar.js +17 -4
  510. package/cjs/series/polar/polar.js.map +1 -1
  511. package/cjs/series/progress/circular/circular.d.ts +1 -1
  512. package/cjs/series/progress/circular/circular.js +6 -15
  513. package/cjs/series/progress/circular/circular.js.map +1 -1
  514. package/cjs/series/progress/circular/constant.d.ts +2 -0
  515. package/cjs/series/progress/circular/constant.js +19 -0
  516. package/cjs/series/progress/circular/constant.js.map +1 -0
  517. package/cjs/series/progress/linear/constant.d.ts +2 -0
  518. package/cjs/series/progress/linear/constant.js +23 -0
  519. package/cjs/series/progress/linear/constant.js.map +1 -0
  520. package/cjs/series/progress/linear/linear.d.ts +1 -1
  521. package/cjs/series/progress/linear/linear.js +2 -15
  522. package/cjs/series/progress/linear/linear.js.map +1 -1
  523. package/cjs/series/radar/constant.d.ts +2 -0
  524. package/cjs/series/radar/constant.js +15 -0
  525. package/cjs/series/radar/constant.js.map +1 -0
  526. package/cjs/series/radar/radar.d.ts +4 -2
  527. package/cjs/series/radar/radar.js +8 -10
  528. package/cjs/series/radar/radar.js.map +1 -1
  529. package/cjs/series/range-area/constant.d.ts +2 -0
  530. package/cjs/series/range-area/constant.js +10 -0
  531. package/cjs/series/range-area/constant.js.map +1 -0
  532. package/cjs/series/range-area/range-area.d.ts +4 -1
  533. package/cjs/series/range-area/range-area.js +9 -3
  534. package/cjs/series/range-area/range-area.js.map +1 -1
  535. package/cjs/series/range-column/constant.d.ts +3 -0
  536. package/cjs/series/range-column/constant.js +28 -0
  537. package/cjs/series/range-column/constant.js.map +1 -0
  538. package/cjs/series/range-column/range-column-3d.d.ts +5 -1
  539. package/cjs/series/range-column/range-column-3d.js +3 -2
  540. package/cjs/series/range-column/range-column-3d.js.map +1 -1
  541. package/cjs/series/range-column/range-column.d.ts +2 -2
  542. package/cjs/series/range-column/range-column.js +4 -13
  543. package/cjs/series/range-column/range-column.js.map +1 -1
  544. package/cjs/series/rose/constant.d.ts +2 -0
  545. package/cjs/series/rose/constant.js +15 -0
  546. package/cjs/series/rose/constant.js.map +1 -0
  547. package/cjs/series/rose/interface.d.ts +3 -0
  548. package/cjs/series/rose/interface.js.map +1 -1
  549. package/cjs/series/rose/rose.d.ts +3 -3
  550. package/cjs/series/rose/rose.js +24 -45
  551. package/cjs/series/rose/rose.js.map +1 -1
  552. package/cjs/series/sankey/constant.d.ts +2 -0
  553. package/cjs/series/sankey/constant.js +19 -0
  554. package/cjs/series/sankey/constant.js.map +1 -0
  555. package/cjs/series/sankey/interface.d.ts +3 -2
  556. package/cjs/series/sankey/interface.js.map +1 -1
  557. package/cjs/series/sankey/sankey.d.ts +6 -2
  558. package/cjs/series/sankey/sankey.js +247 -102
  559. package/cjs/series/sankey/sankey.js.map +1 -1
  560. package/cjs/series/scatter/constant.d.ts +2 -0
  561. package/cjs/series/scatter/constant.js +15 -0
  562. package/cjs/series/scatter/constant.js.map +1 -0
  563. package/cjs/series/scatter/interface.d.ts +3 -2
  564. package/cjs/series/scatter/interface.js.map +1 -1
  565. package/cjs/series/scatter/scatter.d.ts +4 -4
  566. package/cjs/series/scatter/scatter.js +27 -23
  567. package/cjs/series/scatter/scatter.js.map +1 -1
  568. package/cjs/series/sunburst/constant.d.ts +2 -0
  569. package/cjs/series/sunburst/constant.js +15 -0
  570. package/cjs/series/sunburst/constant.js.map +1 -0
  571. package/cjs/series/sunburst/sunburst.js +2 -7
  572. package/cjs/series/sunburst/sunburst.js.map +1 -1
  573. package/cjs/series/treemap/constant.d.ts +2 -0
  574. package/cjs/series/treemap/constant.js +23 -0
  575. package/cjs/series/treemap/constant.js.map +1 -0
  576. package/cjs/series/treemap/treemap.d.ts +1 -1
  577. package/cjs/series/treemap/treemap.js +10 -22
  578. package/cjs/series/treemap/treemap.js.map +1 -1
  579. package/cjs/series/util/utils.d.ts +4 -1
  580. package/cjs/series/util/utils.js +8 -6
  581. package/cjs/series/util/utils.js.map +1 -1
  582. package/cjs/series/waterfall/constant.d.ts +2 -0
  583. package/cjs/series/waterfall/constant.js +19 -0
  584. package/cjs/series/waterfall/constant.js.map +1 -0
  585. package/cjs/series/waterfall/waterfall.d.ts +2 -2
  586. package/cjs/series/waterfall/waterfall.js +2 -11
  587. package/cjs/series/waterfall/waterfall.js.map +1 -1
  588. package/cjs/series/word-cloud/base.d.ts +1 -0
  589. package/cjs/series/word-cloud/base.js +3 -12
  590. package/cjs/series/word-cloud/base.js.map +1 -1
  591. package/cjs/series/word-cloud/constant.d.ts +2 -0
  592. package/cjs/series/word-cloud/constant.js +19 -0
  593. package/cjs/series/word-cloud/constant.js.map +1 -0
  594. package/cjs/series/word-cloud/word-cloud-3d.d.ts +1 -1
  595. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  596. package/cjs/series/word-cloud/word-cloud.d.ts +1 -1
  597. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  598. package/cjs/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
  599. package/cjs/theme/builtin/common/component/axis/band-axis.js.map +1 -0
  600. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +24 -0
  601. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
  602. package/cjs/theme/builtin/common/component/axis/common-axis.js +98 -0
  603. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -0
  604. package/cjs/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
  605. package/cjs/theme/builtin/common/component/axis/polar-axis.js +25 -0
  606. package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
  607. package/cjs/theme/builtin/common/component/brush.js.map +1 -0
  608. package/cjs/theme/builtin/common/component/crosshair.js +108 -0
  609. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -0
  610. package/cjs/theme/builtin/common/component/data-zoom.js +172 -0
  611. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -0
  612. package/cjs/theme/builtin/common/component/index.js +34 -0
  613. package/cjs/theme/builtin/common/component/index.js.map +1 -0
  614. package/cjs/theme/builtin/common/component/indicator.js +43 -0
  615. package/cjs/theme/builtin/common/component/indicator.js.map +1 -0
  616. package/cjs/theme/builtin/common/component/legend/color-legend.js +55 -0
  617. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -0
  618. package/cjs/theme/builtin/common/component/legend/continuous.js +74 -0
  619. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -0
  620. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +85 -0
  621. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
  622. package/cjs/theme/builtin/common/component/legend/size-legend.js +84 -0
  623. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -0
  624. package/cjs/theme/builtin/common/component/map-label.js +57 -0
  625. package/cjs/theme/builtin/common/component/map-label.js.map +1 -0
  626. package/cjs/theme/builtin/common/component/mark-area.js +45 -0
  627. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -0
  628. package/cjs/theme/builtin/common/component/mark-line.js +67 -0
  629. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -0
  630. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -0
  631. package/cjs/theme/builtin/common/component/player.js +93 -0
  632. package/cjs/theme/builtin/common/component/player.js.map +1 -0
  633. package/cjs/theme/builtin/common/component/poptip.d.ts +2 -0
  634. package/cjs/theme/builtin/common/component/poptip.js +52 -0
  635. package/cjs/theme/builtin/common/component/poptip.js.map +1 -0
  636. package/cjs/theme/builtin/common/component/title.js +33 -0
  637. package/cjs/theme/builtin/common/component/title.js.map +1 -0
  638. package/cjs/theme/builtin/common/component/tooltip.js +87 -0
  639. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -0
  640. package/cjs/theme/builtin/common/component/total-label.d.ts +2 -0
  641. package/cjs/theme/builtin/common/component/total-label.js +27 -0
  642. package/cjs/theme/builtin/common/component/total-label.js.map +1 -0
  643. package/cjs/theme/builtin/common/constants.js +23 -0
  644. package/cjs/theme/builtin/common/constants.js.map +1 -0
  645. package/cjs/theme/builtin/common/mark.js +85 -0
  646. package/cjs/theme/builtin/common/mark.js.map +1 -0
  647. package/cjs/theme/builtin/common/series/area.js +21 -0
  648. package/cjs/theme/builtin/common/series/area.js.map +1 -0
  649. package/cjs/theme/builtin/common/series/bar.js +16 -0
  650. package/cjs/theme/builtin/common/series/bar.js.map +1 -0
  651. package/cjs/theme/builtin/common/series/bar3d.js +19 -0
  652. package/cjs/theme/builtin/common/series/bar3d.js.map +1 -0
  653. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -0
  654. package/cjs/theme/builtin/common/series/circle-packing.js +34 -0
  655. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -0
  656. package/cjs/theme/builtin/common/series/circular-progress.js.map +1 -0
  657. package/cjs/theme/builtin/common/series/dot.js +40 -0
  658. package/cjs/theme/builtin/common/series/dot.js.map +1 -0
  659. package/cjs/theme/builtin/common/series/funnel.js +48 -0
  660. package/cjs/theme/builtin/common/series/funnel.js.map +1 -0
  661. package/cjs/theme/builtin/common/series/funnel3d.js +48 -0
  662. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -0
  663. package/cjs/theme/builtin/common/series/gauge-pointer.js.map +1 -0
  664. package/cjs/theme/builtin/common/series/gauge.js.map +1 -0
  665. package/cjs/theme/builtin/common/series/heatmap.js.map +1 -0
  666. package/cjs/theme/builtin/common/series/index.js.map +1 -0
  667. package/cjs/theme/builtin/common/series/line.js +21 -0
  668. package/cjs/theme/builtin/common/series/line.js.map +1 -0
  669. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -0
  670. package/cjs/theme/builtin/common/series/link.js.map +1 -0
  671. package/cjs/theme/builtin/common/series/map.js +34 -0
  672. package/cjs/theme/builtin/common/series/map.js.map +1 -0
  673. package/cjs/theme/builtin/common/series/pie.js +21 -0
  674. package/cjs/theme/builtin/common/series/pie.js.map +1 -0
  675. package/cjs/theme/builtin/common/series/pie3d.js +18 -0
  676. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -0
  677. package/cjs/theme/builtin/common/series/radar.js +20 -0
  678. package/cjs/theme/builtin/common/series/radar.js.map +1 -0
  679. package/cjs/theme/builtin/common/series/rangeColumn.js +28 -0
  680. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -0
  681. package/cjs/theme/builtin/common/series/rose.js +18 -0
  682. package/cjs/theme/builtin/common/series/rose.js.map +1 -0
  683. package/cjs/theme/builtin/common/series/sankey.js +13 -0
  684. package/cjs/theme/builtin/common/series/sankey.js.map +1 -0
  685. package/cjs/theme/builtin/common/series/scatter.js +24 -0
  686. package/cjs/theme/builtin/common/series/scatter.js.map +1 -0
  687. package/cjs/theme/builtin/common/series/sunburst.js +44 -0
  688. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -0
  689. package/cjs/theme/builtin/common/series/treemap.js +42 -0
  690. package/cjs/theme/builtin/common/series/treemap.js.map +1 -0
  691. package/cjs/theme/builtin/common/series/waterfall.js +38 -0
  692. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -0
  693. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -0
  694. package/cjs/theme/builtin/common/series/word-cloud3d.js.map +1 -0
  695. package/cjs/theme/builtin/dark/color-scheme.js +35 -0
  696. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -0
  697. package/cjs/theme/builtin/dark/index.d.ts +2 -0
  698. package/cjs/theme/builtin/dark/index.js +13 -0
  699. package/cjs/theme/builtin/dark/index.js.map +1 -0
  700. package/cjs/theme/builtin/index.d.ts +4 -0
  701. package/cjs/theme/builtin/index.js +26 -0
  702. package/cjs/theme/builtin/index.js.map +1 -0
  703. package/cjs/theme/builtin/light/color-scheme.js +35 -0
  704. package/cjs/theme/builtin/light/color-scheme.js.map +1 -0
  705. package/cjs/theme/builtin/light/index.js +24 -0
  706. package/cjs/theme/builtin/light/index.js.map +1 -0
  707. package/cjs/theme/color-scheme/builtin/default.d.ts +2 -0
  708. package/cjs/theme/color-scheme/builtin/default.js +11 -0
  709. package/cjs/theme/color-scheme/builtin/default.js.map +1 -0
  710. package/cjs/theme/color-scheme/builtin/interface.d.ts +22 -0
  711. package/cjs/theme/color-scheme/builtin/interface.js +6 -0
  712. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -0
  713. package/cjs/theme/color-scheme/interface.d.ts +3 -2
  714. package/cjs/theme/color-scheme/interface.js.map +1 -1
  715. package/cjs/theme/color-scheme/util.d.ts +2 -1
  716. package/cjs/theme/color-scheme/util.js +17 -4
  717. package/cjs/theme/color-scheme/util.js.map +1 -1
  718. package/cjs/theme/index.d.ts +1 -1
  719. package/cjs/theme/index.js +1 -1
  720. package/cjs/theme/index.js.map +1 -1
  721. package/cjs/theme/interface.d.ts +18 -7
  722. package/cjs/theme/interface.js.map +1 -1
  723. package/cjs/theme/theme-manager.js +7 -7
  724. package/cjs/theme/theme-manager.js.map +1 -1
  725. package/cjs/typings/spec/common.d.ts +16 -4
  726. package/cjs/typings/spec/common.js.map +1 -1
  727. package/cjs/typings/tooltip/label.d.ts +10 -0
  728. package/cjs/typings/tooltip/label.js +6 -0
  729. package/cjs/typings/tooltip/label.js.map +1 -0
  730. package/cjs/typings/tooltip/line.d.ts +3 -2
  731. package/cjs/typings/tooltip/line.js.map +1 -1
  732. package/cjs/typings/tooltip/shape.d.ts +2 -0
  733. package/cjs/typings/tooltip/shape.js.map +1 -1
  734. package/cjs/typings/visual.d.ts +11 -21
  735. package/cjs/typings/visual.js.map +1 -1
  736. package/cjs/util/data.d.ts +0 -8
  737. package/cjs/util/data.js +2 -9
  738. package/cjs/util/data.js.map +1 -1
  739. package/cjs/util/object.d.ts +2 -4
  740. package/cjs/util/object.js +2 -18
  741. package/cjs/util/object.js.map +1 -1
  742. package/cjs/util/scale.d.ts +2 -6
  743. package/cjs/util/scale.js +1 -6
  744. package/cjs/util/scale.js.map +1 -1
  745. package/cjs/util/space.d.ts +4 -9
  746. package/cjs/util/space.js +21 -30
  747. package/cjs/util/space.js.map +1 -1
  748. package/cjs/util/spec/background.d.ts +4 -0
  749. package/cjs/util/spec/background.js +27 -0
  750. package/cjs/util/spec/background.js.map +1 -0
  751. package/cjs/util/spec/clone-deep.d.ts +1 -0
  752. package/cjs/util/spec/clone-deep.js +27 -0
  753. package/cjs/util/spec/clone-deep.js.map +1 -0
  754. package/cjs/util/spec/common.d.ts +3 -0
  755. package/cjs/util/spec/common.js +23 -0
  756. package/cjs/util/spec/common.js.map +1 -0
  757. package/cjs/util/spec/index.d.ts +7 -0
  758. package/cjs/util/spec/index.js +24 -0
  759. package/cjs/util/spec/index.js.map +1 -0
  760. package/cjs/util/spec/merge-spec.d.ts +1 -0
  761. package/cjs/util/spec/merge-spec.js +58 -0
  762. package/cjs/util/spec/merge-spec.js.map +1 -0
  763. package/cjs/util/spec/merge-theme.d.ts +3 -0
  764. package/cjs/util/spec/merge-theme.js +37 -0
  765. package/cjs/util/spec/merge-theme.js.map +1 -0
  766. package/cjs/util/spec/preprocess.d.ts +3 -0
  767. package/cjs/util/spec/preprocess.js +24 -0
  768. package/cjs/util/spec/preprocess.js.map +1 -0
  769. package/cjs/util/spec/transform.d.ts +3 -0
  770. package/cjs/util/spec/transform.js +28 -0
  771. package/cjs/util/spec/transform.js.map +1 -0
  772. package/cjs/util/text.d.ts +1 -6
  773. package/cjs/util/text.js +4 -22
  774. package/cjs/util/text.js.map +1 -1
  775. package/cjs/vchart-all.js +2 -2
  776. package/cjs/vchart-all.js.map +1 -1
  777. package/cjs/vchart-simple.js +3 -4
  778. package/cjs/vchart-simple.js.map +1 -1
  779. package/esm/animation/spec.d.ts +1 -1
  780. package/esm/animation/spec.js.map +1 -1
  781. package/esm/animation/utils.js +3 -3
  782. package/esm/animation/utils.js.map +1 -1
  783. package/esm/chart/area/area.js +3 -4
  784. package/esm/chart/area/area.js.map +1 -1
  785. package/esm/chart/bar/bar-3d.js +2 -2
  786. package/esm/chart/bar/bar-3d.js.map +1 -1
  787. package/esm/chart/bar/bar.js +2 -2
  788. package/esm/chart/bar/bar.js.map +1 -1
  789. package/esm/chart/base-chart.d.ts +5 -2
  790. package/esm/chart/base-chart.js +51 -43
  791. package/esm/chart/base-chart.js.map +1 -1
  792. package/esm/chart/box-plot/box-plot.js +1 -1
  793. package/esm/chart/box-plot/box-plot.js.map +1 -1
  794. package/esm/chart/cartesian/cartesian.js +3 -2
  795. package/esm/chart/cartesian/cartesian.js.map +1 -1
  796. package/esm/chart/circle-packing/circle-packing.js +1 -1
  797. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  798. package/esm/chart/funnel/funnel-3d.js +1 -1
  799. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  800. package/esm/chart/funnel/funnel.js +1 -1
  801. package/esm/chart/funnel/funnel.js.map +1 -1
  802. package/esm/chart/gauge/gauge.js +2 -2
  803. package/esm/chart/gauge/gauge.js.map +1 -1
  804. package/esm/chart/heatmap/heatmap.js +1 -1
  805. package/esm/chart/heatmap/heatmap.js.map +1 -1
  806. package/esm/chart/histogram/histogram-3d.js +2 -2
  807. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  808. package/esm/chart/histogram/histogram.js +2 -2
  809. package/esm/chart/histogram/histogram.js.map +1 -1
  810. package/esm/chart/index.d.ts +2 -2
  811. package/esm/chart/index.js +2 -2
  812. package/esm/chart/index.js.map +1 -1
  813. package/esm/chart/interface/chart.d.ts +4 -2
  814. package/esm/chart/interface/chart.js.map +1 -1
  815. package/esm/chart/line/line.js +1 -2
  816. package/esm/chart/line/line.js.map +1 -1
  817. package/esm/chart/map/map.js +2 -2
  818. package/esm/chart/map/map.js.map +1 -1
  819. package/esm/chart/pie/pie-3d.js +2 -2
  820. package/esm/chart/pie/pie-3d.js.map +1 -1
  821. package/esm/chart/pie/pie.js +2 -2
  822. package/esm/chart/pie/pie.js.map +1 -1
  823. package/esm/chart/polar/progress-like.js +1 -1
  824. package/esm/chart/polar/progress-like.js.map +1 -1
  825. package/esm/chart/polar/rose-like.js +1 -1
  826. package/esm/chart/polar/rose-like.js.map +1 -1
  827. package/esm/chart/progress/circular/circular.js +1 -1
  828. package/esm/chart/progress/circular/circular.js.map +1 -1
  829. package/esm/chart/progress/linear/linear.js +2 -2
  830. package/esm/chart/progress/linear/linear.js.map +1 -1
  831. package/esm/chart/radar/radar.js +5 -6
  832. package/esm/chart/radar/radar.js.map +1 -1
  833. package/esm/chart/range-area/range-area.js +1 -1
  834. package/esm/chart/range-area/range-area.js.map +1 -1
  835. package/esm/chart/range-column/range-column-3d.js +1 -1
  836. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  837. package/esm/chart/range-column/range-column.js +1 -1
  838. package/esm/chart/range-column/range-column.js.map +1 -1
  839. package/esm/chart/rose/rose.js +4 -4
  840. package/esm/chart/rose/rose.js.map +1 -1
  841. package/esm/chart/sankey/sankey.js +1 -1
  842. package/esm/chart/sankey/sankey.js.map +1 -1
  843. package/esm/chart/scatter/scatter.js +2 -2
  844. package/esm/chart/scatter/scatter.js.map +1 -1
  845. package/esm/chart/sequence/sequence.js +4 -2
  846. package/esm/chart/sequence/sequence.js.map +1 -1
  847. package/esm/chart/stack.d.ts +1 -0
  848. package/esm/chart/stack.js +16 -2
  849. package/esm/chart/stack.js.map +1 -1
  850. package/esm/chart/sunburst/sunburst.js +1 -1
  851. package/esm/chart/sunburst/sunburst.js.map +1 -1
  852. package/esm/chart/treemap/treemap.d.ts +1 -1
  853. package/esm/chart/treemap/treemap.js +4 -4
  854. package/esm/chart/treemap/treemap.js.map +1 -1
  855. package/esm/chart/util.d.ts +8 -0
  856. package/esm/chart/util.js +34 -2
  857. package/esm/chart/util.js.map +1 -1
  858. package/esm/chart/waterfall/waterfall.js +1 -1
  859. package/esm/chart/waterfall/waterfall.js.map +1 -1
  860. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  861. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  862. package/esm/chart/word-cloud/word-cloud.js +1 -1
  863. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  864. package/esm/compile/compiler.d.ts +5 -1
  865. package/esm/compile/compiler.js +9 -4
  866. package/esm/compile/compiler.js.map +1 -1
  867. package/esm/compile/interface/compilable-item.d.ts +1 -0
  868. package/esm/compile/interface/compilable-item.js.map +1 -1
  869. package/esm/compile/mark/compilable-mark.js +9 -11
  870. package/esm/compile/mark/compilable-mark.js.map +1 -1
  871. package/esm/compile/mark/interface.d.ts +2 -1
  872. package/esm/compile/mark/interface.js.map +1 -1
  873. package/esm/compile/mark/util.d.ts +2 -1
  874. package/esm/compile/mark/util.js +19 -3
  875. package/esm/compile/mark/util.js.map +1 -1
  876. package/esm/component/axis/base-axis.d.ts +17 -27
  877. package/esm/component/axis/base-axis.js +19 -29
  878. package/esm/component/axis/base-axis.js.map +1 -1
  879. package/esm/component/axis/cartesian/axis.d.ts +3 -3
  880. package/esm/component/axis/cartesian/axis.js +31 -22
  881. package/esm/component/axis/cartesian/axis.js.map +1 -1
  882. package/esm/component/axis/cartesian/band-axis.d.ts +3 -3
  883. package/esm/component/axis/cartesian/band-axis.js +1 -0
  884. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  885. package/esm/component/axis/cartesian/index.d.ts +1 -0
  886. package/esm/component/axis/cartesian/index.js +2 -0
  887. package/esm/component/axis/cartesian/index.js.map +1 -1
  888. package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
  889. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  890. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  891. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  892. package/esm/component/axis/cartesian/linear-axis.d.ts +3 -3
  893. package/esm/component/axis/cartesian/linear-axis.js +3 -4
  894. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  895. package/esm/component/axis/cartesian/log-axis.d.ts +3 -2
  896. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  897. package/esm/component/axis/cartesian/symlog-axis.d.ts +16 -0
  898. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  899. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  900. package/esm/component/axis/cartesian/time-axis.d.ts +3 -2
  901. package/esm/component/axis/cartesian/time-axis.js +3 -3
  902. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  903. package/esm/component/axis/interface.d.ts +11 -8
  904. package/esm/component/axis/interface.js.map +1 -1
  905. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  906. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  907. package/esm/component/axis/polar/axis.d.ts +4 -3
  908. package/esm/component/axis/polar/axis.js +16 -13
  909. package/esm/component/axis/polar/axis.js.map +1 -1
  910. package/esm/component/axis/polar/band-axis.d.ts +4 -2
  911. package/esm/component/axis/polar/band-axis.js.map +1 -1
  912. package/esm/component/axis/polar/interface/common.d.ts +1 -1
  913. package/esm/component/axis/polar/interface/common.js.map +1 -1
  914. package/esm/component/axis/polar/interface/spec.d.ts +7 -2
  915. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  916. package/esm/component/axis/polar/linear-axis.d.ts +2 -3
  917. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  918. package/esm/component/axis/util.d.ts +28 -0
  919. package/esm/component/axis/util.js +63 -0
  920. package/esm/component/axis/util.js.map +1 -0
  921. package/esm/component/base/base-component.d.ts +15 -4
  922. package/esm/component/base/base-component.js +19 -5
  923. package/esm/component/base/base-component.js.map +1 -1
  924. package/esm/component/base/interface.d.ts +8 -0
  925. package/esm/component/base/interface.js +2 -0
  926. package/esm/component/base/interface.js.map +1 -0
  927. package/esm/component/base/util.d.ts +2 -1
  928. package/esm/component/base/util.js +14 -7
  929. package/esm/component/base/util.js.map +1 -1
  930. package/esm/component/brush/brush.d.ts +14 -4
  931. package/esm/component/brush/brush.js +75 -63
  932. package/esm/component/brush/brush.js.map +1 -1
  933. package/esm/component/brush/interface.d.ts +1 -0
  934. package/esm/component/brush/interface.js.map +1 -1
  935. package/esm/component/crosshair/base.d.ts +5 -4
  936. package/esm/component/crosshair/base.js +2 -2
  937. package/esm/component/crosshair/base.js.map +1 -1
  938. package/esm/component/crosshair/cartesian.d.ts +3 -3
  939. package/esm/component/crosshair/cartesian.js +8 -8
  940. package/esm/component/crosshair/cartesian.js.map +1 -1
  941. package/esm/component/crosshair/interface/spec.d.ts +8 -8
  942. package/esm/component/crosshair/interface/spec.js.map +1 -1
  943. package/esm/component/crosshair/interface/theme.d.ts +3 -1
  944. package/esm/component/crosshair/interface/theme.js.map +1 -1
  945. package/esm/component/crosshair/polar.d.ts +3 -3
  946. package/esm/component/crosshair/polar.js +8 -8
  947. package/esm/component/crosshair/polar.js.map +1 -1
  948. package/esm/component/crosshair/util.d.ts +5 -0
  949. package/esm/component/crosshair/util.js +34 -0
  950. package/esm/component/crosshair/util.js.map +1 -1
  951. package/esm/component/custom-mark/custom-mark.d.ts +3 -2
  952. package/esm/component/custom-mark/custom-mark.js +4 -4
  953. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  954. package/esm/component/data-zoom/data-filter-base-component.d.ts +5 -5
  955. package/esm/component/data-zoom/data-filter-base-component.js +2 -9
  956. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  957. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
  958. package/esm/component/data-zoom/data-zoom/data-zoom.js +9 -7
  959. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  960. package/esm/component/data-zoom/data-zoom/interface.d.ts +3 -1
  961. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  962. package/esm/component/data-zoom/interface.d.ts +3 -3
  963. package/esm/component/data-zoom/interface.js.map +1 -1
  964. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
  965. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  966. package/esm/component/geo/geo-coordinate.d.ts +10 -4
  967. package/esm/component/geo/geo-coordinate.js +68 -16
  968. package/esm/component/geo/geo-coordinate.js.map +1 -1
  969. package/esm/component/geo/projection.d.ts +1 -0
  970. package/esm/component/geo/projection.js +4 -0
  971. package/esm/component/geo/projection.js.map +1 -1
  972. package/esm/component/index.d.ts +3 -2
  973. package/esm/component/index.js +4 -2
  974. package/esm/component/index.js.map +1 -1
  975. package/esm/component/indicator/indicator.d.ts +3 -2
  976. package/esm/component/indicator/indicator.js +9 -8
  977. package/esm/component/indicator/indicator.js.map +1 -1
  978. package/esm/component/indicator/interface.d.ts +5 -4
  979. package/esm/component/indicator/interface.js.map +1 -1
  980. package/esm/component/interface/theme.d.ts +4 -2
  981. package/esm/component/interface/theme.js.map +1 -1
  982. package/esm/component/interface/type.d.ts +2 -0
  983. package/esm/component/interface/type.js +13 -12
  984. package/esm/component/interface/type.js.map +1 -1
  985. package/esm/component/label/base-label.d.ts +39 -0
  986. package/esm/component/label/base-label.js +37 -0
  987. package/esm/component/label/base-label.js.map +1 -0
  988. package/esm/component/label/interface.d.ts +12 -1
  989. package/esm/component/label/interface.js.map +1 -1
  990. package/esm/component/label/label.d.ts +7 -29
  991. package/esm/component/label/label.js +36 -47
  992. package/esm/component/label/label.js.map +1 -1
  993. package/esm/component/label/pie.d.ts +5 -0
  994. package/esm/component/label/pie.js +13 -0
  995. package/esm/component/label/pie.js.map +1 -0
  996. package/esm/component/label/totalLabel.d.ts +27 -0
  997. package/esm/component/label/totalLabel.js +110 -0
  998. package/esm/component/label/totalLabel.js.map +1 -0
  999. package/esm/component/label/util.d.ts +3 -1
  1000. package/esm/component/label/util.js +6 -4
  1001. package/esm/component/label/util.js.map +1 -1
  1002. package/esm/component/legend/base-legend.d.ts +3 -2
  1003. package/esm/component/legend/base-legend.js +5 -5
  1004. package/esm/component/legend/base-legend.js.map +1 -1
  1005. package/esm/component/legend/continuous/legend.d.ts +3 -4
  1006. package/esm/component/legend/continuous/legend.js.map +1 -1
  1007. package/esm/component/legend/continuous/util.js +5 -3
  1008. package/esm/component/legend/continuous/util.js.map +1 -1
  1009. package/esm/component/legend/discrete/interface.d.ts +3 -1
  1010. package/esm/component/legend/discrete/interface.js.map +1 -1
  1011. package/esm/component/legend/discrete/legend.d.ts +1 -2
  1012. package/esm/component/legend/discrete/legend.js +2 -2
  1013. package/esm/component/legend/discrete/legend.js.map +1 -1
  1014. package/esm/component/legend/discrete/util.js +4 -4
  1015. package/esm/component/legend/discrete/util.js.map +1 -1
  1016. package/esm/component/legend/interface.d.ts +2 -6
  1017. package/esm/component/legend/interface.js.map +1 -1
  1018. package/esm/component/legend/util.js +4 -2
  1019. package/esm/component/legend/util.js.map +1 -1
  1020. package/esm/component/map-label/component.d.ts +1 -2
  1021. package/esm/component/map-label/component.js.map +1 -1
  1022. package/esm/component/marker/base-marker.d.ts +8 -2
  1023. package/esm/component/marker/base-marker.js +14 -0
  1024. package/esm/component/marker/base-marker.js.map +1 -1
  1025. package/esm/component/marker/interface.d.ts +3 -2
  1026. package/esm/component/marker/interface.js.map +1 -1
  1027. package/esm/component/marker/mark-area/mark-area.d.ts +1 -2
  1028. package/esm/component/marker/mark-area/mark-area.js +17 -6
  1029. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  1030. package/esm/component/marker/mark-line/mark-line.d.ts +1 -2
  1031. package/esm/component/marker/mark-line/mark-line.js +17 -6
  1032. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  1033. package/esm/component/marker/mark-point/mark-point.d.ts +1 -2
  1034. package/esm/component/marker/mark-point/mark-point.js +18 -7
  1035. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  1036. package/esm/component/player/player.d.ts +1 -2
  1037. package/esm/component/player/player.js.map +1 -1
  1038. package/esm/component/poptip/interface.d.ts +15 -0
  1039. package/esm/component/poptip/interface.js +2 -0
  1040. package/esm/component/poptip/interface.js.map +1 -0
  1041. package/esm/component/title/interface/spec.d.ts +2 -2
  1042. package/esm/component/title/interface/spec.js.map +1 -1
  1043. package/esm/component/title/title.d.ts +2 -2
  1044. package/esm/component/title/title.js +2 -1
  1045. package/esm/component/title/title.js.map +1 -1
  1046. package/esm/component/tooltip/handler/base.js +3 -3
  1047. package/esm/component/tooltip/handler/base.js.map +1 -1
  1048. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  1049. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
  1050. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  1051. package/esm/component/tooltip/handler/dom/interface.d.ts +9 -12
  1052. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  1053. package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  1054. package/esm/component/tooltip/handler/dom/model/content-column-model.js +20 -16
  1055. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  1056. package/esm/component/tooltip/handler/dom/model/content-model.js +2 -2
  1057. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  1058. package/esm/component/tooltip/handler/dom/model/title-model.js +6 -6
  1059. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  1060. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +4 -2
  1061. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  1062. package/esm/component/tooltip/handler/dom/util.js +21 -14
  1063. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  1064. package/esm/component/tooltip/handler/utils/attribute.js +25 -25
  1065. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  1066. package/esm/component/tooltip/handler/utils/compose.d.ts +2 -2
  1067. package/esm/component/tooltip/handler/utils/compose.js +11 -10
  1068. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  1069. package/esm/component/tooltip/handler/utils/get-spec.js +5 -3
  1070. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  1071. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  1072. package/esm/component/tooltip/handler/utils/style.js +17 -10
  1073. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  1074. package/esm/component/tooltip/interface/theme.d.ts +6 -4
  1075. package/esm/component/tooltip/interface/theme.js.map +1 -1
  1076. package/esm/component/tooltip/processor/base.js +1 -1
  1077. package/esm/component/tooltip/processor/base.js.map +1 -1
  1078. package/esm/component/tooltip/tooltip.d.ts +4 -3
  1079. package/esm/component/tooltip/tooltip.js +15 -8
  1080. package/esm/component/tooltip/tooltip.js.map +1 -1
  1081. package/esm/constant/index.d.ts +3 -0
  1082. package/esm/constant/index.js +6 -0
  1083. package/esm/constant/index.js.map +1 -1
  1084. package/esm/core/index.d.ts +1 -1
  1085. package/esm/core/index.js +1 -1
  1086. package/esm/core/index.js.map +1 -1
  1087. package/esm/core/interface.d.ts +3 -0
  1088. package/esm/core/interface.js.map +1 -1
  1089. package/esm/core/vchart.d.ts +6 -1
  1090. package/esm/core/vchart.js +79 -28
  1091. package/esm/core/vchart.js.map +1 -1
  1092. package/esm/data/initialize.js +10 -7
  1093. package/esm/data/initialize.js.map +1 -1
  1094. package/esm/data/transforms/data-key.d.ts +2 -2
  1095. package/esm/data/transforms/data-key.js.map +1 -1
  1096. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  1097. package/esm/data/transforms/dimension-statistics.js +33 -22
  1098. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  1099. package/esm/data/transforms/invalid-travel.js +1 -2
  1100. package/esm/data/transforms/invalid-travel.js.map +1 -1
  1101. package/esm/data/transforms/legend-data/discrete/discrete.js +4 -3
  1102. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  1103. package/esm/data/transforms/tick-data/continuous.js +6 -3
  1104. package/esm/data/transforms/tick-data/continuous.js.map +1 -1
  1105. package/esm/data/transforms/tick-data/discrete/polar-angle.js +1 -1
  1106. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  1107. package/esm/data/transforms/tick-data/interface.d.ts +3 -0
  1108. package/esm/data/transforms/tick-data/interface.js.map +1 -1
  1109. package/esm/data/transforms/tick-data/util.js +1 -1
  1110. package/esm/data/transforms/tick-data/util.js.map +1 -1
  1111. package/esm/event/event-dispatcher.js +3 -2
  1112. package/esm/event/event-dispatcher.js.map +1 -1
  1113. package/esm/event/events/dimension/dimension-click.d.ts +1 -3
  1114. package/esm/event/events/dimension/dimension-click.js +9 -10
  1115. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  1116. package/esm/event/events/dimension/dimension-hover.d.ts +2 -3
  1117. package/esm/event/events/dimension/dimension-hover.js +25 -16
  1118. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  1119. package/esm/event/events/dimension/util/cartesian.js +2 -2
  1120. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  1121. package/esm/event/events/dimension/util/polar.js +1 -1
  1122. package/esm/event/events/dimension/util/polar.js.map +1 -1
  1123. package/esm/event/interface.d.ts +3 -3
  1124. package/esm/event/interface.js.map +1 -1
  1125. package/esm/interaction/trigger.js +7 -3
  1126. package/esm/interaction/trigger.js.map +1 -1
  1127. package/esm/layout/label/arc-label.js.map +1 -1
  1128. package/esm/mark/base/base-mark.d.ts +1 -0
  1129. package/esm/mark/base/base-mark.js +22 -5
  1130. package/esm/mark/base/base-mark.js.map +1 -1
  1131. package/esm/mark/mark-set/index.d.ts +1 -0
  1132. package/esm/mark/mark-set/index.js.map +1 -1
  1133. package/esm/mark/symbol.js +1 -1
  1134. package/esm/mark/symbol.js.map +1 -1
  1135. package/esm/model/base-model.d.ts +6 -4
  1136. package/esm/model/base-model.js +17 -17
  1137. package/esm/model/base-model.js.map +1 -1
  1138. package/esm/model/interface.d.ts +8 -2
  1139. package/esm/model/interface.js.map +1 -1
  1140. package/esm/model/layout-item.d.ts +7 -7
  1141. package/esm/model/layout-item.js.map +1 -1
  1142. package/esm/model/tooltip-helper.d.ts +0 -2
  1143. package/esm/model/tooltip-helper.js +0 -3
  1144. package/esm/model/tooltip-helper.js.map +1 -1
  1145. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
  1146. package/esm/plugin/components/index.d.ts +0 -2
  1147. package/esm/plugin/components/index.js +0 -3
  1148. package/esm/plugin/components/index.js.map +1 -1
  1149. package/esm/region/region.d.ts +3 -3
  1150. package/esm/region/region.js.map +1 -1
  1151. package/esm/series/area/area.d.ts +9 -4
  1152. package/esm/series/area/area.js +46 -21
  1153. package/esm/series/area/area.js.map +1 -1
  1154. package/esm/series/area/constant.d.ts +2 -0
  1155. package/esm/series/area/constant.js +15 -0
  1156. package/esm/series/area/constant.js.map +1 -0
  1157. package/esm/series/area/interface.d.ts +2 -0
  1158. package/esm/series/area/interface.js.map +1 -1
  1159. package/esm/series/area/tooltip-helpter.d.ts +5 -0
  1160. package/esm/series/area/tooltip-helpter.js +18 -0
  1161. package/esm/series/area/tooltip-helpter.js.map +1 -0
  1162. package/esm/series/bar/bar-3d.d.ts +3 -1
  1163. package/esm/series/bar/bar-3d.js +3 -8
  1164. package/esm/series/bar/bar-3d.js.map +1 -1
  1165. package/esm/series/bar/bar.d.ts +1 -0
  1166. package/esm/series/bar/bar.js +6 -13
  1167. package/esm/series/bar/bar.js.map +1 -1
  1168. package/esm/series/bar/constant.d.ts +3 -0
  1169. package/esm/series/bar/constant.js +20 -0
  1170. package/esm/series/bar/constant.js.map +1 -0
  1171. package/esm/series/bar/interface.d.ts +3 -2
  1172. package/esm/series/bar/interface.js.map +1 -1
  1173. package/esm/series/base/base-series.d.ts +8 -6
  1174. package/esm/series/base/base-series.js +87 -42
  1175. package/esm/series/base/base-series.js.map +1 -1
  1176. package/esm/series/base/constant.d.ts +2 -0
  1177. package/esm/series/base/constant.js +11 -0
  1178. package/esm/series/base/constant.js.map +1 -0
  1179. package/esm/series/base/tooltip-helper.d.ts +0 -1
  1180. package/esm/series/base/tooltip-helper.js +4 -5
  1181. package/esm/series/base/tooltip-helper.js.map +1 -1
  1182. package/esm/series/box-plot/box-plot.d.ts +1 -2
  1183. package/esm/series/box-plot/box-plot.js +4 -15
  1184. package/esm/series/box-plot/box-plot.js.map +1 -1
  1185. package/esm/series/box-plot/constant.d.ts +2 -0
  1186. package/esm/series/box-plot/constant.js +17 -0
  1187. package/esm/series/box-plot/constant.js.map +1 -0
  1188. package/esm/series/cartesian/cartesian.d.ts +12 -3
  1189. package/esm/series/cartesian/cartesian.js +39 -18
  1190. package/esm/series/cartesian/cartesian.js.map +1 -1
  1191. package/esm/series/cartesian/interface.d.ts +3 -2
  1192. package/esm/series/cartesian/interface.js.map +1 -1
  1193. package/esm/series/circle-packing/circle-packing.d.ts +1 -2
  1194. package/esm/series/circle-packing/circle-packing.js +4 -10
  1195. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  1196. package/esm/series/circle-packing/constant.d.ts +2 -0
  1197. package/esm/series/circle-packing/constant.js +13 -0
  1198. package/esm/series/circle-packing/constant.js.map +1 -0
  1199. package/esm/series/dot/constant.d.ts +2 -0
  1200. package/esm/series/dot/constant.js +37 -0
  1201. package/esm/series/dot/constant.js.map +1 -0
  1202. package/esm/series/dot/dot.d.ts +2 -1
  1203. package/esm/series/dot/dot.js +8 -36
  1204. package/esm/series/dot/dot.js.map +1 -1
  1205. package/esm/series/funnel/constant.d.ts +3 -0
  1206. package/esm/series/funnel/constant.js +52 -0
  1207. package/esm/series/funnel/constant.js.map +1 -0
  1208. package/esm/series/funnel/funnel-3d.d.ts +3 -2
  1209. package/esm/series/funnel/funnel-3d.js +3 -24
  1210. package/esm/series/funnel/funnel-3d.js.map +1 -1
  1211. package/esm/series/funnel/funnel.d.ts +2 -1
  1212. package/esm/series/funnel/funnel.js +15 -24
  1213. package/esm/series/funnel/funnel.js.map +1 -1
  1214. package/esm/series/gauge/constant.d.ts +3 -0
  1215. package/esm/series/gauge/constant.js +32 -0
  1216. package/esm/series/gauge/constant.js.map +1 -0
  1217. package/esm/series/gauge/gauge-pointer.d.ts +2 -2
  1218. package/esm/series/gauge/gauge-pointer.js +6 -16
  1219. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  1220. package/esm/series/gauge/gauge.d.ts +2 -1
  1221. package/esm/series/gauge/gauge.js +6 -14
  1222. package/esm/series/gauge/gauge.js.map +1 -1
  1223. package/esm/series/geo/geo.d.ts +2 -0
  1224. package/esm/series/geo/geo.js +4 -1
  1225. package/esm/series/geo/geo.js.map +1 -1
  1226. package/esm/series/heatmap/constant.d.ts +2 -0
  1227. package/esm/series/heatmap/constant.js +17 -0
  1228. package/esm/series/heatmap/constant.js.map +1 -0
  1229. package/esm/series/heatmap/heatmap.d.ts +2 -1
  1230. package/esm/series/heatmap/heatmap.js +5 -16
  1231. package/esm/series/heatmap/heatmap.js.map +1 -1
  1232. package/esm/series/index.d.ts +2 -2
  1233. package/esm/series/index.js +2 -2
  1234. package/esm/series/index.js.map +1 -1
  1235. package/esm/series/interface/common.d.ts +1 -0
  1236. package/esm/series/interface/common.js.map +1 -1
  1237. package/esm/series/interface/series.d.ts +3 -2
  1238. package/esm/series/interface/series.js.map +1 -1
  1239. package/esm/series/interface/theme.d.ts +3 -2
  1240. package/esm/series/interface/theme.js +78 -1
  1241. package/esm/series/interface/theme.js.map +1 -1
  1242. package/esm/series/line/constant.d.ts +2 -0
  1243. package/esm/series/line/constant.js +6 -0
  1244. package/esm/series/line/constant.js.map +1 -0
  1245. package/esm/series/line/interface.d.ts +2 -2
  1246. package/esm/series/line/interface.js.map +1 -1
  1247. package/esm/series/line/line.d.ts +5 -4
  1248. package/esm/series/line/line.js +8 -6
  1249. package/esm/series/line/line.js.map +1 -1
  1250. package/esm/series/link/constant.d.ts +2 -0
  1251. package/esm/series/link/constant.js +21 -0
  1252. package/esm/series/link/constant.js.map +1 -0
  1253. package/esm/series/link/link.d.ts +1 -1
  1254. package/esm/series/link/link.js +4 -21
  1255. package/esm/series/link/link.js.map +1 -1
  1256. package/esm/series/map/constant.d.ts +2 -0
  1257. package/esm/series/map/constant.js +13 -0
  1258. package/esm/series/map/constant.js.map +1 -0
  1259. package/esm/series/map/geo-source.js +3 -1
  1260. package/esm/series/map/geo-source.js.map +1 -1
  1261. package/esm/series/map/interface.d.ts +1 -0
  1262. package/esm/series/map/interface.js.map +1 -1
  1263. package/esm/series/map/map.d.ts +2 -3
  1264. package/esm/series/map/map.js +13 -16
  1265. package/esm/series/map/map.js.map +1 -1
  1266. package/esm/series/mixin/line-mixin.d.ts +6 -3
  1267. package/esm/series/mixin/line-mixin.js +43 -23
  1268. package/esm/series/mixin/line-mixin.js.map +1 -1
  1269. package/esm/series/pie/constant.d.ts +3 -0
  1270. package/esm/series/pie/constant.js +28 -0
  1271. package/esm/series/pie/constant.js.map +1 -0
  1272. package/esm/series/pie/interface.d.ts +4 -7
  1273. package/esm/series/pie/interface.js.map +1 -1
  1274. package/esm/series/pie/pie-3d.d.ts +1 -1
  1275. package/esm/series/pie/pie-3d.js +3 -12
  1276. package/esm/series/pie/pie-3d.js.map +1 -1
  1277. package/esm/series/pie/pie.d.ts +3 -1
  1278. package/esm/series/pie/pie.js +26 -67
  1279. package/esm/series/pie/pie.js.map +1 -1
  1280. package/esm/series/polar/interface.d.ts +1 -0
  1281. package/esm/series/polar/interface.js.map +1 -1
  1282. package/esm/series/polar/polar.d.ts +5 -0
  1283. package/esm/series/polar/polar.js +17 -3
  1284. package/esm/series/polar/polar.js.map +1 -1
  1285. package/esm/series/progress/circular/circular.d.ts +1 -1
  1286. package/esm/series/progress/circular/circular.js +3 -14
  1287. package/esm/series/progress/circular/circular.js.map +1 -1
  1288. package/esm/series/progress/circular/constant.d.ts +2 -0
  1289. package/esm/series/progress/circular/constant.js +17 -0
  1290. package/esm/series/progress/circular/constant.js.map +1 -0
  1291. package/esm/series/progress/linear/constant.d.ts +2 -0
  1292. package/esm/series/progress/linear/constant.js +21 -0
  1293. package/esm/series/progress/linear/constant.js.map +1 -0
  1294. package/esm/series/progress/linear/linear.d.ts +1 -1
  1295. package/esm/series/progress/linear/linear.js +3 -18
  1296. package/esm/series/progress/linear/linear.js.map +1 -1
  1297. package/esm/series/radar/constant.d.ts +2 -0
  1298. package/esm/series/radar/constant.js +15 -0
  1299. package/esm/series/radar/constant.js.map +1 -0
  1300. package/esm/series/radar/radar.d.ts +4 -2
  1301. package/esm/series/radar/radar.js +8 -12
  1302. package/esm/series/radar/radar.js.map +1 -1
  1303. package/esm/series/range-area/constant.d.ts +2 -0
  1304. package/esm/series/range-area/constant.js +4 -0
  1305. package/esm/series/range-area/constant.js.map +1 -0
  1306. package/esm/series/range-area/range-area.d.ts +4 -1
  1307. package/esm/series/range-area/range-area.js +10 -4
  1308. package/esm/series/range-area/range-area.js.map +1 -1
  1309. package/esm/series/range-column/constant.d.ts +3 -0
  1310. package/esm/series/range-column/constant.js +28 -0
  1311. package/esm/series/range-column/constant.js.map +1 -0
  1312. package/esm/series/range-column/range-column-3d.d.ts +5 -1
  1313. package/esm/series/range-column/range-column-3d.js +3 -1
  1314. package/esm/series/range-column/range-column-3d.js.map +1 -1
  1315. package/esm/series/range-column/range-column.d.ts +2 -2
  1316. package/esm/series/range-column/range-column.js +6 -13
  1317. package/esm/series/range-column/range-column.js.map +1 -1
  1318. package/esm/series/rose/constant.d.ts +2 -0
  1319. package/esm/series/rose/constant.js +13 -0
  1320. package/esm/series/rose/constant.js.map +1 -0
  1321. package/esm/series/rose/interface.d.ts +3 -0
  1322. package/esm/series/rose/interface.js.map +1 -1
  1323. package/esm/series/rose/rose.d.ts +3 -3
  1324. package/esm/series/rose/rose.js +23 -47
  1325. package/esm/series/rose/rose.js.map +1 -1
  1326. package/esm/series/sankey/constant.d.ts +2 -0
  1327. package/esm/series/sankey/constant.js +17 -0
  1328. package/esm/series/sankey/constant.js.map +1 -0
  1329. package/esm/series/sankey/interface.d.ts +3 -2
  1330. package/esm/series/sankey/interface.js.map +1 -1
  1331. package/esm/series/sankey/sankey.d.ts +6 -2
  1332. package/esm/series/sankey/sankey.js +251 -107
  1333. package/esm/series/sankey/sankey.js.map +1 -1
  1334. package/esm/series/scatter/constant.d.ts +2 -0
  1335. package/esm/series/scatter/constant.js +13 -0
  1336. package/esm/series/scatter/constant.js.map +1 -0
  1337. package/esm/series/scatter/interface.d.ts +3 -2
  1338. package/esm/series/scatter/interface.js.map +1 -1
  1339. package/esm/series/scatter/scatter.d.ts +4 -4
  1340. package/esm/series/scatter/scatter.js +27 -25
  1341. package/esm/series/scatter/scatter.js.map +1 -1
  1342. package/esm/series/sunburst/constant.d.ts +2 -0
  1343. package/esm/series/sunburst/constant.js +13 -0
  1344. package/esm/series/sunburst/constant.js.map +1 -0
  1345. package/esm/series/sunburst/sunburst.js +5 -9
  1346. package/esm/series/sunburst/sunburst.js.map +1 -1
  1347. package/esm/series/treemap/constant.d.ts +2 -0
  1348. package/esm/series/treemap/constant.js +21 -0
  1349. package/esm/series/treemap/constant.js.map +1 -0
  1350. package/esm/series/treemap/treemap.d.ts +1 -1
  1351. package/esm/series/treemap/treemap.js +10 -22
  1352. package/esm/series/treemap/treemap.js.map +1 -1
  1353. package/esm/series/util/utils.d.ts +4 -1
  1354. package/esm/series/util/utils.js +6 -4
  1355. package/esm/series/util/utils.js.map +1 -1
  1356. package/esm/series/waterfall/constant.d.ts +2 -0
  1357. package/esm/series/waterfall/constant.js +17 -0
  1358. package/esm/series/waterfall/constant.js.map +1 -0
  1359. package/esm/series/waterfall/waterfall.d.ts +2 -2
  1360. package/esm/series/waterfall/waterfall.js +3 -12
  1361. package/esm/series/waterfall/waterfall.js.map +1 -1
  1362. package/esm/series/word-cloud/base.d.ts +1 -0
  1363. package/esm/series/word-cloud/base.js +3 -12
  1364. package/esm/series/word-cloud/base.js.map +1 -1
  1365. package/esm/series/word-cloud/constant.d.ts +2 -0
  1366. package/esm/series/word-cloud/constant.js +17 -0
  1367. package/esm/series/word-cloud/constant.js.map +1 -0
  1368. package/esm/series/word-cloud/word-cloud-3d.d.ts +1 -1
  1369. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  1370. package/esm/series/word-cloud/word-cloud.d.ts +1 -1
  1371. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  1372. package/esm/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
  1373. package/esm/theme/builtin/common/component/axis/band-axis.js.map +1 -0
  1374. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +22 -0
  1375. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
  1376. package/esm/theme/builtin/common/component/axis/common-axis.js +92 -0
  1377. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -0
  1378. package/esm/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
  1379. package/esm/theme/builtin/common/component/axis/polar-axis.js +23 -0
  1380. package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
  1381. package/esm/theme/builtin/common/component/brush.js.map +1 -0
  1382. package/esm/theme/builtin/common/component/crosshair.js +104 -0
  1383. package/esm/theme/builtin/common/component/crosshair.js.map +1 -0
  1384. package/esm/theme/builtin/common/component/data-zoom.js +166 -0
  1385. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -0
  1386. package/esm/theme/builtin/common/component/index.js +68 -0
  1387. package/esm/theme/builtin/common/component/index.js.map +1 -0
  1388. package/esm/theme/builtin/common/component/indicator.js +37 -0
  1389. package/esm/theme/builtin/common/component/indicator.js.map +1 -0
  1390. package/esm/theme/builtin/common/component/legend/color-legend.js +51 -0
  1391. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -0
  1392. package/esm/theme/builtin/common/component/legend/continuous.js +68 -0
  1393. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -0
  1394. package/esm/theme/builtin/common/component/legend/discrete-legend.js +79 -0
  1395. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
  1396. package/esm/theme/builtin/common/component/legend/size-legend.js +80 -0
  1397. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -0
  1398. package/esm/theme/builtin/common/component/map-label.js +51 -0
  1399. package/esm/theme/builtin/common/component/map-label.js.map +1 -0
  1400. package/esm/theme/builtin/common/component/mark-area.js +39 -0
  1401. package/esm/theme/builtin/common/component/mark-area.js.map +1 -0
  1402. package/esm/theme/builtin/common/component/mark-line.js +61 -0
  1403. package/esm/theme/builtin/common/component/mark-line.js.map +1 -0
  1404. package/esm/theme/builtin/common/component/mark-point.js.map +1 -0
  1405. package/esm/theme/builtin/common/component/player.js +89 -0
  1406. package/esm/theme/builtin/common/component/player.js.map +1 -0
  1407. package/esm/theme/builtin/common/component/poptip.d.ts +2 -0
  1408. package/esm/theme/builtin/common/component/poptip.js +46 -0
  1409. package/esm/theme/builtin/common/component/poptip.js.map +1 -0
  1410. package/esm/theme/builtin/common/component/title.js +27 -0
  1411. package/esm/theme/builtin/common/component/title.js.map +1 -0
  1412. package/esm/theme/builtin/common/component/tooltip.js +81 -0
  1413. package/esm/theme/builtin/common/component/tooltip.js.map +1 -0
  1414. package/esm/theme/builtin/common/component/total-label.d.ts +2 -0
  1415. package/esm/theme/builtin/common/component/total-label.js +21 -0
  1416. package/esm/theme/builtin/common/component/total-label.js.map +1 -0
  1417. package/esm/theme/builtin/common/constants.js +19 -0
  1418. package/esm/theme/builtin/common/constants.js.map +1 -0
  1419. package/esm/theme/builtin/common/mark.js +81 -0
  1420. package/esm/theme/builtin/common/mark.js.map +1 -0
  1421. package/esm/theme/builtin/common/series/area.js +17 -0
  1422. package/esm/theme/builtin/common/series/area.js.map +1 -0
  1423. package/esm/theme/builtin/common/series/bar.js +12 -0
  1424. package/esm/theme/builtin/common/series/bar.js.map +1 -0
  1425. package/esm/theme/builtin/common/series/bar3d.js +15 -0
  1426. package/esm/theme/builtin/common/series/bar3d.js.map +1 -0
  1427. package/esm/theme/builtin/common/series/box-plot.js.map +1 -0
  1428. package/esm/theme/builtin/common/series/circle-packing.js +28 -0
  1429. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -0
  1430. package/esm/theme/builtin/common/series/circular-progress.js.map +1 -0
  1431. package/esm/theme/builtin/common/series/dot.js +34 -0
  1432. package/esm/theme/builtin/common/series/dot.js.map +1 -0
  1433. package/esm/theme/builtin/common/series/funnel.js +42 -0
  1434. package/esm/theme/builtin/common/series/funnel.js.map +1 -0
  1435. package/esm/theme/builtin/common/series/funnel3d.js +42 -0
  1436. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -0
  1437. package/esm/theme/builtin/common/series/gauge-pointer.js.map +1 -0
  1438. package/esm/theme/builtin/common/series/gauge.js.map +1 -0
  1439. package/esm/theme/builtin/common/series/heatmap.js.map +1 -0
  1440. package/esm/theme/builtin/common/series/index.js.map +1 -0
  1441. package/esm/theme/builtin/common/series/line.js +17 -0
  1442. package/esm/theme/builtin/common/series/line.js.map +1 -0
  1443. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -0
  1444. package/esm/theme/builtin/common/series/link.js.map +1 -0
  1445. package/esm/theme/builtin/common/series/map.js +28 -0
  1446. package/esm/theme/builtin/common/series/map.js.map +1 -0
  1447. package/esm/theme/builtin/common/series/pie.js +17 -0
  1448. package/esm/theme/builtin/common/series/pie.js.map +1 -0
  1449. package/esm/theme/builtin/common/series/pie3d.js +14 -0
  1450. package/esm/theme/builtin/common/series/pie3d.js.map +1 -0
  1451. package/esm/theme/builtin/common/series/radar.js +16 -0
  1452. package/esm/theme/builtin/common/series/radar.js.map +1 -0
  1453. package/esm/theme/builtin/common/series/rangeColumn.js +22 -0
  1454. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -0
  1455. package/esm/theme/builtin/common/series/rose.js +14 -0
  1456. package/esm/theme/builtin/common/series/rose.js.map +1 -0
  1457. package/esm/theme/builtin/common/series/sankey.js +9 -0
  1458. package/esm/theme/builtin/common/series/sankey.js.map +1 -0
  1459. package/esm/theme/builtin/common/series/scatter.js +20 -0
  1460. package/esm/theme/builtin/common/series/scatter.js.map +1 -0
  1461. package/esm/theme/builtin/common/series/sunburst.js +40 -0
  1462. package/esm/theme/builtin/common/series/sunburst.js.map +1 -0
  1463. package/esm/theme/builtin/common/series/treemap.js +36 -0
  1464. package/esm/theme/builtin/common/series/treemap.js.map +1 -0
  1465. package/esm/theme/builtin/common/series/waterfall.js +32 -0
  1466. package/esm/theme/builtin/common/series/waterfall.js.map +1 -0
  1467. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -0
  1468. package/esm/theme/builtin/common/series/word-cloud3d.js.map +1 -0
  1469. package/esm/theme/builtin/dark/color-scheme.d.ts +2 -0
  1470. package/esm/theme/builtin/dark/color-scheme.js +29 -0
  1471. package/esm/theme/builtin/dark/color-scheme.js.map +1 -0
  1472. package/esm/theme/builtin/dark/index.d.ts +2 -0
  1473. package/esm/theme/builtin/dark/index.js +7 -0
  1474. package/esm/theme/builtin/dark/index.js.map +1 -0
  1475. package/esm/theme/builtin/index.d.ts +4 -0
  1476. package/esm/theme/builtin/index.js +10 -0
  1477. package/esm/theme/builtin/index.js.map +1 -0
  1478. package/esm/theme/builtin/light/color-scheme.d.ts +2 -0
  1479. package/esm/theme/builtin/light/color-scheme.js +29 -0
  1480. package/esm/theme/builtin/light/color-scheme.js.map +1 -0
  1481. package/esm/theme/builtin/light/index.js +26 -0
  1482. package/esm/theme/builtin/light/index.js.map +1 -0
  1483. package/esm/theme/color-scheme/builtin/default.d.ts +2 -0
  1484. package/esm/theme/color-scheme/builtin/default.js +7 -0
  1485. package/esm/theme/color-scheme/builtin/default.js.map +1 -0
  1486. package/esm/theme/color-scheme/builtin/interface.d.ts +22 -0
  1487. package/esm/theme/color-scheme/builtin/interface.js +2 -0
  1488. package/esm/theme/color-scheme/builtin/interface.js.map +1 -0
  1489. package/esm/theme/color-scheme/interface.d.ts +3 -2
  1490. package/esm/theme/color-scheme/interface.js.map +1 -1
  1491. package/esm/theme/color-scheme/util.d.ts +2 -1
  1492. package/esm/theme/color-scheme/util.js +14 -3
  1493. package/esm/theme/color-scheme/util.js.map +1 -1
  1494. package/esm/theme/index.d.ts +1 -1
  1495. package/esm/theme/index.js +1 -1
  1496. package/esm/theme/index.js.map +1 -1
  1497. package/esm/theme/interface.d.ts +18 -7
  1498. package/esm/theme/interface.js.map +1 -1
  1499. package/esm/theme/theme-manager.js +6 -6
  1500. package/esm/theme/theme-manager.js.map +1 -1
  1501. package/esm/typings/spec/common.d.ts +16 -4
  1502. package/esm/typings/spec/common.js.map +1 -1
  1503. package/esm/typings/tooltip/label.d.ts +10 -0
  1504. package/esm/typings/tooltip/label.js +2 -0
  1505. package/esm/typings/tooltip/label.js.map +1 -0
  1506. package/esm/typings/tooltip/line.d.ts +3 -2
  1507. package/esm/typings/tooltip/line.js.map +1 -1
  1508. package/esm/typings/tooltip/shape.d.ts +2 -0
  1509. package/esm/typings/tooltip/shape.js.map +1 -1
  1510. package/esm/typings/visual.d.ts +11 -21
  1511. package/esm/typings/visual.js.map +1 -1
  1512. package/esm/util/data.d.ts +0 -8
  1513. package/esm/util/data.js +1 -7
  1514. package/esm/util/data.js.map +1 -1
  1515. package/esm/util/object.d.ts +2 -4
  1516. package/esm/util/object.js +2 -13
  1517. package/esm/util/object.js.map +1 -1
  1518. package/esm/util/scale.d.ts +2 -6
  1519. package/esm/util/scale.js +1 -5
  1520. package/esm/util/scale.js.map +1 -1
  1521. package/esm/util/space.d.ts +4 -9
  1522. package/esm/util/space.js +13 -26
  1523. package/esm/util/space.js.map +1 -1
  1524. package/esm/util/spec/background.d.ts +4 -0
  1525. package/esm/util/spec/background.js +21 -0
  1526. package/esm/util/spec/background.js.map +1 -0
  1527. package/esm/util/spec/clone-deep.d.ts +1 -0
  1528. package/esm/util/spec/clone-deep.js +20 -0
  1529. package/esm/util/spec/clone-deep.js.map +1 -0
  1530. package/esm/util/spec/common.d.ts +3 -0
  1531. package/esm/util/spec/common.js +15 -0
  1532. package/esm/util/spec/common.js.map +1 -0
  1533. package/esm/util/spec/index.d.ts +7 -0
  1534. package/esm/util/spec/index.js +14 -0
  1535. package/esm/util/spec/index.js.map +1 -0
  1536. package/esm/util/spec/merge-spec.d.ts +1 -0
  1537. package/esm/util/spec/merge-spec.js +48 -0
  1538. package/esm/util/spec/merge-spec.js.map +1 -0
  1539. package/esm/util/spec/merge-theme.d.ts +3 -0
  1540. package/esm/util/spec/merge-theme.js +34 -0
  1541. package/esm/util/spec/merge-theme.js.map +1 -0
  1542. package/esm/util/spec/preprocess.d.ts +3 -0
  1543. package/esm/util/spec/preprocess.js +20 -0
  1544. package/esm/util/spec/preprocess.js.map +1 -0
  1545. package/esm/util/spec/transform.d.ts +3 -0
  1546. package/esm/util/spec/transform.js +20 -0
  1547. package/esm/util/spec/transform.js.map +1 -0
  1548. package/esm/util/text.d.ts +1 -6
  1549. package/esm/util/text.js +5 -19
  1550. package/esm/util/text.js.map +1 -1
  1551. package/esm/vchart-all.js +4 -4
  1552. package/esm/vchart-all.js.map +1 -1
  1553. package/esm/vchart-simple.js +18 -2
  1554. package/esm/vchart-simple.js.map +1 -1
  1555. package/package.json +21 -14
  1556. package/cjs/component/axis/utils.d.ts +0 -28
  1557. package/cjs/component/axis/utils.js +0 -71
  1558. package/cjs/component/axis/utils.js.map +0 -1
  1559. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  1560. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  1561. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  1562. package/cjs/theme/buildin-theme/config.d.ts +0 -2
  1563. package/cjs/theme/buildin-theme/config.js +0 -8
  1564. package/cjs/theme/buildin-theme/config.js.map +0 -1
  1565. package/cjs/theme/buildin-theme/index.d.ts +0 -5
  1566. package/cjs/theme/buildin-theme/index.js +0 -27
  1567. package/cjs/theme/buildin-theme/index.js.map +0 -1
  1568. package/cjs/theme/buildin-theme/light/color-scheme.js +0 -21
  1569. package/cjs/theme/buildin-theme/light/color-scheme.js.map +0 -1
  1570. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
  1571. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
  1572. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js +0 -24
  1573. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
  1574. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js +0 -92
  1575. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
  1576. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
  1577. package/cjs/theme/buildin-theme/light/component/axis/log-axis.d.ts +0 -2
  1578. package/cjs/theme/buildin-theme/light/component/axis/log-axis.js +0 -22
  1579. package/cjs/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
  1580. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +0 -25
  1581. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
  1582. package/cjs/theme/buildin-theme/light/component/brush.js.map +0 -1
  1583. package/cjs/theme/buildin-theme/light/component/crosshair.js +0 -140
  1584. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +0 -1
  1585. package/cjs/theme/buildin-theme/light/component/data-zoom.js +0 -105
  1586. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
  1587. package/cjs/theme/buildin-theme/light/component/index.js +0 -33
  1588. package/cjs/theme/buildin-theme/light/component/index.js.map +0 -1
  1589. package/cjs/theme/buildin-theme/light/component/indicator.js +0 -31
  1590. package/cjs/theme/buildin-theme/light/component/indicator.js.map +0 -1
  1591. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js +0 -29
  1592. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
  1593. package/cjs/theme/buildin-theme/light/component/legend/continuous.js +0 -60
  1594. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
  1595. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js +0 -69
  1596. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
  1597. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js +0 -45
  1598. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
  1599. package/cjs/theme/buildin-theme/light/component/map-label.js +0 -57
  1600. package/cjs/theme/buildin-theme/light/component/map-label.js.map +0 -1
  1601. package/cjs/theme/buildin-theme/light/component/mark-area.js +0 -34
  1602. package/cjs/theme/buildin-theme/light/component/mark-area.js.map +0 -1
  1603. package/cjs/theme/buildin-theme/light/component/mark-line.js +0 -56
  1604. package/cjs/theme/buildin-theme/light/component/mark-line.js.map +0 -1
  1605. package/cjs/theme/buildin-theme/light/component/mark-point.js.map +0 -1
  1606. package/cjs/theme/buildin-theme/light/component/player.js +0 -64
  1607. package/cjs/theme/buildin-theme/light/component/player.js.map +0 -1
  1608. package/cjs/theme/buildin-theme/light/component/poptip.d.ts +0 -2
  1609. package/cjs/theme/buildin-theme/light/component/poptip.js +0 -32
  1610. package/cjs/theme/buildin-theme/light/component/poptip.js.map +0 -1
  1611. package/cjs/theme/buildin-theme/light/component/title.js +0 -29
  1612. package/cjs/theme/buildin-theme/light/component/title.js.map +0 -1
  1613. package/cjs/theme/buildin-theme/light/component/tooltip.js +0 -65
  1614. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +0 -1
  1615. package/cjs/theme/buildin-theme/light/constants.js +0 -16
  1616. package/cjs/theme/buildin-theme/light/constants.js.map +0 -1
  1617. package/cjs/theme/buildin-theme/light/index.js +0 -20
  1618. package/cjs/theme/buildin-theme/light/index.js.map +0 -1
  1619. package/cjs/theme/buildin-theme/light/mark.js +0 -72
  1620. package/cjs/theme/buildin-theme/light/mark.js.map +0 -1
  1621. package/cjs/theme/buildin-theme/light/series/area.js +0 -26
  1622. package/cjs/theme/buildin-theme/light/series/area.js.map +0 -1
  1623. package/cjs/theme/buildin-theme/light/series/bar.js +0 -21
  1624. package/cjs/theme/buildin-theme/light/series/bar.js.map +0 -1
  1625. package/cjs/theme/buildin-theme/light/series/bar3d.js +0 -24
  1626. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +0 -1
  1627. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +0 -1
  1628. package/cjs/theme/buildin-theme/light/series/circle-packing.js +0 -22
  1629. package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
  1630. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
  1631. package/cjs/theme/buildin-theme/light/series/dot.js +0 -32
  1632. package/cjs/theme/buildin-theme/light/series/dot.js.map +0 -1
  1633. package/cjs/theme/buildin-theme/light/series/funnel.js +0 -45
  1634. package/cjs/theme/buildin-theme/light/series/funnel.js.map +0 -1
  1635. package/cjs/theme/buildin-theme/light/series/funnel3d.js +0 -45
  1636. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
  1637. package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
  1638. package/cjs/theme/buildin-theme/light/series/gauge.js.map +0 -1
  1639. package/cjs/theme/buildin-theme/light/series/heatmap.js.map +0 -1
  1640. package/cjs/theme/buildin-theme/light/series/index.js.map +0 -1
  1641. package/cjs/theme/buildin-theme/light/series/line.js +0 -26
  1642. package/cjs/theme/buildin-theme/light/series/line.js.map +0 -1
  1643. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
  1644. package/cjs/theme/buildin-theme/light/series/link.js.map +0 -1
  1645. package/cjs/theme/buildin-theme/light/series/map.js +0 -32
  1646. package/cjs/theme/buildin-theme/light/series/map.js.map +0 -1
  1647. package/cjs/theme/buildin-theme/light/series/pie.js +0 -26
  1648. package/cjs/theme/buildin-theme/light/series/pie.js.map +0 -1
  1649. package/cjs/theme/buildin-theme/light/series/pie3d.js +0 -25
  1650. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +0 -1
  1651. package/cjs/theme/buildin-theme/light/series/radar.js +0 -25
  1652. package/cjs/theme/buildin-theme/light/series/radar.js.map +0 -1
  1653. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +0 -26
  1654. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
  1655. package/cjs/theme/buildin-theme/light/series/rose.js +0 -20
  1656. package/cjs/theme/buildin-theme/light/series/rose.js.map +0 -1
  1657. package/cjs/theme/buildin-theme/light/series/sankey.js +0 -14
  1658. package/cjs/theme/buildin-theme/light/series/sankey.js.map +0 -1
  1659. package/cjs/theme/buildin-theme/light/series/scatter.js +0 -29
  1660. package/cjs/theme/buildin-theme/light/series/scatter.js.map +0 -1
  1661. package/cjs/theme/buildin-theme/light/series/sunburst.js +0 -35
  1662. package/cjs/theme/buildin-theme/light/series/sunburst.js.map +0 -1
  1663. package/cjs/theme/buildin-theme/light/series/treemap.js +0 -38
  1664. package/cjs/theme/buildin-theme/light/series/treemap.js.map +0 -1
  1665. package/cjs/theme/buildin-theme/light/series/waterfall.js +0 -39
  1666. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +0 -1
  1667. package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
  1668. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
  1669. package/cjs/util/spec.d.ts +0 -11
  1670. package/cjs/util/spec.js +0 -80
  1671. package/cjs/util/spec.js.map +0 -1
  1672. package/esm/component/axis/utils.d.ts +0 -28
  1673. package/esm/component/axis/utils.js +0 -61
  1674. package/esm/component/axis/utils.js.map +0 -1
  1675. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  1676. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  1677. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  1678. package/esm/theme/buildin-theme/config.d.ts +0 -2
  1679. package/esm/theme/buildin-theme/config.js +0 -4
  1680. package/esm/theme/buildin-theme/config.js.map +0 -1
  1681. package/esm/theme/buildin-theme/index.d.ts +0 -5
  1682. package/esm/theme/buildin-theme/index.js +0 -10
  1683. package/esm/theme/buildin-theme/index.js.map +0 -1
  1684. package/esm/theme/buildin-theme/light/color-scheme.js +0 -17
  1685. package/esm/theme/buildin-theme/light/color-scheme.js.map +0 -1
  1686. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
  1687. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
  1688. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js +0 -22
  1689. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
  1690. package/esm/theme/buildin-theme/light/component/axis/common-axis.js +0 -86
  1691. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
  1692. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
  1693. package/esm/theme/buildin-theme/light/component/axis/log-axis.d.ts +0 -2
  1694. package/esm/theme/buildin-theme/light/component/axis/log-axis.js +0 -18
  1695. package/esm/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
  1696. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js +0 -23
  1697. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
  1698. package/esm/theme/buildin-theme/light/component/brush.js.map +0 -1
  1699. package/esm/theme/buildin-theme/light/component/crosshair.js +0 -136
  1700. package/esm/theme/buildin-theme/light/component/crosshair.js.map +0 -1
  1701. package/esm/theme/buildin-theme/light/component/data-zoom.js +0 -101
  1702. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
  1703. package/esm/theme/buildin-theme/light/component/index.js +0 -65
  1704. package/esm/theme/buildin-theme/light/component/index.js.map +0 -1
  1705. package/esm/theme/buildin-theme/light/component/indicator.js +0 -27
  1706. package/esm/theme/buildin-theme/light/component/indicator.js.map +0 -1
  1707. package/esm/theme/buildin-theme/light/component/legend/color-legend.js +0 -23
  1708. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
  1709. package/esm/theme/buildin-theme/light/component/legend/continuous.js +0 -54
  1710. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
  1711. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js +0 -63
  1712. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
  1713. package/esm/theme/buildin-theme/light/component/legend/size-legend.js +0 -39
  1714. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
  1715. package/esm/theme/buildin-theme/light/component/map-label.js +0 -53
  1716. package/esm/theme/buildin-theme/light/component/map-label.js.map +0 -1
  1717. package/esm/theme/buildin-theme/light/component/mark-area.js +0 -30
  1718. package/esm/theme/buildin-theme/light/component/mark-area.js.map +0 -1
  1719. package/esm/theme/buildin-theme/light/component/mark-line.js +0 -52
  1720. package/esm/theme/buildin-theme/light/component/mark-line.js.map +0 -1
  1721. package/esm/theme/buildin-theme/light/component/mark-point.js.map +0 -1
  1722. package/esm/theme/buildin-theme/light/component/player.js +0 -60
  1723. package/esm/theme/buildin-theme/light/component/player.js.map +0 -1
  1724. package/esm/theme/buildin-theme/light/component/poptip.d.ts +0 -2
  1725. package/esm/theme/buildin-theme/light/component/poptip.js +0 -28
  1726. package/esm/theme/buildin-theme/light/component/poptip.js.map +0 -1
  1727. package/esm/theme/buildin-theme/light/component/title.js +0 -23
  1728. package/esm/theme/buildin-theme/light/component/title.js.map +0 -1
  1729. package/esm/theme/buildin-theme/light/component/tooltip.js +0 -61
  1730. package/esm/theme/buildin-theme/light/component/tooltip.js.map +0 -1
  1731. package/esm/theme/buildin-theme/light/constants.js +0 -10
  1732. package/esm/theme/buildin-theme/light/constants.js.map +0 -1
  1733. package/esm/theme/buildin-theme/light/index.js +0 -22
  1734. package/esm/theme/buildin-theme/light/index.js.map +0 -1
  1735. package/esm/theme/buildin-theme/light/mark.js +0 -68
  1736. package/esm/theme/buildin-theme/light/mark.js.map +0 -1
  1737. package/esm/theme/buildin-theme/light/series/area.js +0 -20
  1738. package/esm/theme/buildin-theme/light/series/area.js.map +0 -1
  1739. package/esm/theme/buildin-theme/light/series/bar.js +0 -15
  1740. package/esm/theme/buildin-theme/light/series/bar.js.map +0 -1
  1741. package/esm/theme/buildin-theme/light/series/bar3d.js +0 -18
  1742. package/esm/theme/buildin-theme/light/series/bar3d.js.map +0 -1
  1743. package/esm/theme/buildin-theme/light/series/box-plot.js.map +0 -1
  1744. package/esm/theme/buildin-theme/light/series/circle-packing.js +0 -18
  1745. package/esm/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
  1746. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
  1747. package/esm/theme/buildin-theme/light/series/dot.js +0 -28
  1748. package/esm/theme/buildin-theme/light/series/dot.js.map +0 -1
  1749. package/esm/theme/buildin-theme/light/series/funnel.js +0 -41
  1750. package/esm/theme/buildin-theme/light/series/funnel.js.map +0 -1
  1751. package/esm/theme/buildin-theme/light/series/funnel3d.js +0 -41
  1752. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
  1753. package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
  1754. package/esm/theme/buildin-theme/light/series/gauge.js.map +0 -1
  1755. package/esm/theme/buildin-theme/light/series/heatmap.js.map +0 -1
  1756. package/esm/theme/buildin-theme/light/series/index.js.map +0 -1
  1757. package/esm/theme/buildin-theme/light/series/line.js +0 -20
  1758. package/esm/theme/buildin-theme/light/series/line.js.map +0 -1
  1759. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
  1760. package/esm/theme/buildin-theme/light/series/link.js.map +0 -1
  1761. package/esm/theme/buildin-theme/light/series/map.js +0 -26
  1762. package/esm/theme/buildin-theme/light/series/map.js.map +0 -1
  1763. package/esm/theme/buildin-theme/light/series/pie.js +0 -20
  1764. package/esm/theme/buildin-theme/light/series/pie.js.map +0 -1
  1765. package/esm/theme/buildin-theme/light/series/pie3d.js +0 -19
  1766. package/esm/theme/buildin-theme/light/series/pie3d.js.map +0 -1
  1767. package/esm/theme/buildin-theme/light/series/radar.js +0 -19
  1768. package/esm/theme/buildin-theme/light/series/radar.js.map +0 -1
  1769. package/esm/theme/buildin-theme/light/series/rangeColumn.js +0 -22
  1770. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
  1771. package/esm/theme/buildin-theme/light/series/rose.js +0 -16
  1772. package/esm/theme/buildin-theme/light/series/rose.js.map +0 -1
  1773. package/esm/theme/buildin-theme/light/series/sankey.js +0 -10
  1774. package/esm/theme/buildin-theme/light/series/sankey.js.map +0 -1
  1775. package/esm/theme/buildin-theme/light/series/scatter.js +0 -23
  1776. package/esm/theme/buildin-theme/light/series/scatter.js.map +0 -1
  1777. package/esm/theme/buildin-theme/light/series/sunburst.js +0 -29
  1778. package/esm/theme/buildin-theme/light/series/sunburst.js.map +0 -1
  1779. package/esm/theme/buildin-theme/light/series/treemap.js +0 -34
  1780. package/esm/theme/buildin-theme/light/series/treemap.js.map +0 -1
  1781. package/esm/theme/buildin-theme/light/series/waterfall.js +0 -35
  1782. package/esm/theme/buildin-theme/light/series/waterfall.js.map +0 -1
  1783. package/esm/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
  1784. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
  1785. package/esm/util/spec.d.ts +0 -11
  1786. package/esm/util/spec.js +0 -72
  1787. package/esm/util/spec.js.map +0 -1
  1788. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
  1789. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
  1790. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
  1791. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
  1792. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
  1793. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
  1794. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
  1795. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
  1796. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
  1797. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
  1798. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
  1799. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
  1800. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
  1801. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
  1802. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
  1803. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
  1804. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
  1805. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
  1806. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
  1807. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
  1808. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
  1809. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
  1810. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
  1811. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
  1812. /package/cjs/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
  1813. /package/cjs/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
  1814. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
  1815. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
  1816. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
  1817. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
  1818. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
  1819. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
  1820. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
  1821. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
  1822. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
  1823. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
  1824. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
  1825. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
  1826. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
  1827. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
  1828. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
  1829. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
  1830. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
  1831. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
  1832. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
  1833. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
  1834. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
  1835. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
  1836. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
  1837. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
  1838. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
  1839. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
  1840. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
  1841. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
  1842. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
  1843. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
  1844. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
  1845. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
  1846. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
  1847. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
  1848. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
  1849. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
  1850. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
  1851. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
  1852. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
  1853. /package/cjs/theme/{buildin-theme/light → builtin/dark}/color-scheme.d.ts +0 -0
  1854. /package/{esm/theme/buildin-theme → cjs/theme/builtin}/light/color-scheme.d.ts +0 -0
  1855. /package/cjs/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
  1856. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
  1857. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
  1858. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
  1859. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
  1860. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
  1861. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
  1862. /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
  1863. /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
  1864. /package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
  1865. /package/esm/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
  1866. /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
  1867. /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
  1868. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
  1869. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
  1870. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
  1871. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
  1872. /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
  1873. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
  1874. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
  1875. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
  1876. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
  1877. /package/esm/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
  1878. /package/esm/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
  1879. /package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
  1880. /package/esm/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
  1881. /package/esm/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
  1882. /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
  1883. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
  1884. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
  1885. /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
  1886. /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
  1887. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
  1888. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
  1889. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
  1890. /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
  1891. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
  1892. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
  1893. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
  1894. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
  1895. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
  1896. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
  1897. /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
  1898. /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
  1899. /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
  1900. /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
  1901. /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
  1902. /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
  1903. /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
  1904. /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
  1905. /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
  1906. /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
  1907. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
  1908. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
  1909. /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
  1910. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
  1911. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
  1912. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
  1913. /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
  1914. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
  1915. /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
  1916. /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
  1917. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
  1918. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
  1919. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
  1920. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
  1921. /package/esm/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
@@ -9,7 +9,7 @@ import type { CompilableData } from '../compile/data/compilable-data';
9
9
  import { ModelStateManager } from './model-state-manager';
10
10
  import type { IElement, IGroupMark, IMark as IVGrammarMark } from '@visactor/vgrammar';
11
11
  import { MarkSet } from '../mark/mark-set';
12
- export declare abstract class BaseModel extends LayoutItem implements IModel {
12
+ export declare abstract class BaseModel<T extends IModelSpec> extends LayoutItem<T> implements IModel {
13
13
  readonly type: string;
14
14
  readonly modelType: string;
15
15
  readonly id: number;
@@ -18,8 +18,6 @@ export declare abstract class BaseModel extends LayoutItem implements IModel {
18
18
  readonly effect: IEffect;
19
19
  protected _data: CompilableData;
20
20
  getData(): CompilableData;
21
- protected _spec: any;
22
- getSpec(): any;
23
21
  protected _specIndex: number;
24
22
  getSpecIndex(): number;
25
23
  readonly specKey: string;
@@ -43,12 +41,13 @@ export declare abstract class BaseModel extends LayoutItem implements IModel {
43
41
  protected _tooltipHelper: ITooltipHelper | undefined;
44
42
  get tooltipHelper(): ITooltipHelper;
45
43
  protected _isLayout: boolean;
46
- constructor(spec: IModelSpec, option: IModelOption);
44
+ constructor(spec: T, option: IModelOption);
47
45
  coordinate?: CoordinateType;
48
46
  protected _releaseEvent(): void;
49
47
  created(): void;
50
48
  updateState(newState: Record<string, unknown>): Promise<void>;
51
49
  init(option: IModelInitOption): void;
50
+ afterInit(): void;
52
51
  onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void;
53
52
  onLayoutEnd(ctx: any): void;
54
53
  protected _forceLayout(): void;
@@ -59,6 +58,7 @@ export declare abstract class BaseModel extends LayoutItem implements IModel {
59
58
  updateSpec(spec: any): {
60
59
  change: boolean;
61
60
  reMake: boolean;
61
+ reMakeData: boolean;
62
62
  reRender: boolean;
63
63
  reSize: boolean;
64
64
  reCompile: boolean;
@@ -66,6 +66,8 @@ export declare abstract class BaseModel extends LayoutItem implements IModel {
66
66
  reInit(theme?: any): void;
67
67
  protected _initTheme(theme?: any): void;
68
68
  protected _mergeMarkTheme(): void;
69
+ protected _mergeThemeToSpec(): void;
70
+ protected _getDefaultSpecFromChart(chartSpec: any): Partial<T>;
69
71
  protected _preprocessSpec(obj?: any): any;
70
72
  setCurrentTheme(theme: any, noRender?: boolean): void;
71
73
  updateLayoutAttribute(): void;
@@ -1,4 +1,4 @@
1
- import { createID, isValid, cloneDeepSpec, isDataView, isHTMLElement } from "../util";
1
+ import { createID, isValid, cloneDeepSpec, preprocessSpecOrTheme, mergeSpec } from "../util";
2
2
 
3
3
  import { Event } from "../event/event";
4
4
 
@@ -8,21 +8,16 @@ import { ModelStateManager } from "./model-state-manager";
8
8
 
9
9
  import { PREFIX } from "../constant";
10
10
 
11
- import { array, isArray, isEqual, isFunction, isNil, isObject, merge } from "@visactor/vutils";
11
+ import { array, isEqual, isNil } from "@visactor/vutils";
12
12
 
13
13
  import { Factory } from "../core/factory";
14
14
 
15
- import { getActualColor, isColorKey } from "../theme/color-scheme/util";
16
-
17
15
  import { MarkSet } from "../mark/mark-set";
18
16
 
19
17
  export class BaseModel extends LayoutItem {
20
18
  getData() {
21
19
  return this._data;
22
20
  }
23
- getSpec() {
24
- return this._spec;
25
- }
26
21
  getSpecIndex() {
27
22
  return this._specIndex;
28
23
  }
@@ -77,6 +72,7 @@ export class BaseModel extends LayoutItem {
77
72
  return this.state.updateState(newState);
78
73
  }
79
74
  init(option) {}
75
+ afterInit() {}
80
76
  onLayoutStart(layoutRect, viewRect, ctx) {
81
77
  super.onLayoutStart(layoutRect, viewRect, ctx), this._isLayout = !0;
82
78
  }
@@ -94,7 +90,7 @@ export class BaseModel extends LayoutItem {
94
90
  onDataUpdate() {}
95
91
  release() {
96
92
  var _a;
97
- this._releaseEvent(), this._originalSpec = {}, this._spec = {}, this.getMarks().forEach((m => m.release())),
93
+ this._releaseEvent(), this._originalSpec = {}, this._spec = void 0, this.getMarks().forEach((m => m.release())),
98
94
  this.state.release(), null === (_a = this._data) || void 0 === _a || _a.release(),
99
95
  this._data = this._specIndex = this._sceneNodeMap = null, this._marks.clear(), super.release();
100
96
  }
@@ -103,6 +99,7 @@ export class BaseModel extends LayoutItem {
103
99
  return {
104
100
  change: !1,
105
101
  reMake: !1,
102
+ reMakeData: !1,
106
103
  reRender: !1,
107
104
  reSize: !1,
108
105
  reCompile: !1
@@ -121,18 +118,21 @@ export class BaseModel extends LayoutItem {
121
118
  const {mark: markThemeByType, markByName: markThemeByName} = globalTheme;
122
119
  this.getMarkInfoList().forEach((({type: type, name: name}) => {
123
120
  var _a, _b;
124
- this._theme[name] = merge({}, null !== (_a = null == markThemeByType ? void 0 : markThemeByType[array(type)[0]]) && void 0 !== _a ? _a : {}, null !== (_b = null == markThemeByName ? void 0 : markThemeByName[name]) && void 0 !== _b ? _b : {}, this._theme[name]);
121
+ this._theme[name] = mergeSpec({}, null !== (_a = null == markThemeByType ? void 0 : markThemeByType[array(type)[0]]) && void 0 !== _a ? _a : {}, null !== (_b = null == markThemeByName ? void 0 : markThemeByName[name]) && void 0 !== _b ? _b : {}, this._theme[name]);
125
122
  }));
126
123
  }
124
+ _mergeThemeToSpec() {
125
+ const chartSpec = this.getChart().getSpec();
126
+ this._spec = mergeSpec({}, this._theme, this._getDefaultSpecFromChart(chartSpec), this._originalSpec);
127
+ }
128
+ _getDefaultSpecFromChart(chartSpec) {
129
+ return {};
130
+ }
127
131
  _preprocessSpec(obj) {
128
- if (arguments.length || (obj = this._spec), isArray(obj)) return obj.map((element => isObject(element) && !isFunction(element) ? this._preprocessSpec(element) : element));
129
- const newObj = Object.assign({}, obj);
130
- return Object.keys(newObj).forEach((key => {
131
- var _a, _b, _c;
132
- if (key.includes("data")) return;
133
- const value = obj[key];
134
- isObject(value) && (isDataView(value) || isHTMLElement(value)) || isObject(value) && !isFunction(value) && (isColorKey(value) ? newObj[key] = getActualColor(value, null === (_c = null === (_b = (_a = this._option).getTheme) || void 0 === _b ? void 0 : _b.call(_a)) || void 0 === _c ? void 0 : _c.colorScheme, "series" === this.modelType ? this.type : void 0) : newObj[key] = this._preprocessSpec(value));
135
- })), arguments.length || (this._spec = newObj), newObj;
132
+ var _a, _b, _c;
133
+ arguments.length || (obj = this._spec);
134
+ const newObj = preprocessSpecOrTheme(obj, null === (_c = null === (_b = (_a = this._option).getTheme) || void 0 === _b ? void 0 : _b.call(_a)) || void 0 === _c ? void 0 : _c.colorScheme, "series" === this.modelType ? this.type : void 0);
135
+ return arguments.length || (this._spec = newObj), newObj;
136
136
  }
137
137
  setCurrentTheme(theme, noRender) {}
138
138
  updateLayoutAttribute() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/base-model.ts"],"names":[],"mappings":"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","file":"base-model.js","sourcesContent":["import { createID, isValid, cloneDeepSpec, isDataView, isHTMLElement } from '../util';\nimport { Event } from '../event/event';\nimport type { IEvent } from '../event/interface';\nimport { LayoutItem } from './layout-item';\nimport type {\n IEffect,\n IModel,\n IModelInitOption,\n IModelOption,\n IModelRenderOption,\n IModelEvaluateOption,\n IModelSpec,\n ILayoutRect,\n IModelMarkInfo\n} from './interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IMark, IMarkOption, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { Datum, StateValueType, ConvertToMarkStyleSpec, ICommonSpec, StringOrNumber, IRect } from '../typings';\nimport type { ITooltipHelper } from './tooltip-helper';\nimport type { CompilableData } from '../compile/data/compilable-data';\nimport { ModelStateManager } from './model-state-manager';\nimport { PREFIX } from '../constant';\nimport type { IElement, IGroupMark, IMark as IVGrammarMark } from '@visactor/vgrammar';\nimport { array, isArray, isEqual, isFunction, isNil, isObject, merge } from '@visactor/vutils';\nimport { Factory } from '../core/factory';\nimport { getActualColor, isColorKey } from '../theme/color-scheme/util';\nimport type { SeriesTypeEnum } from '../series/interface';\nimport { MarkSet } from '../mark/mark-set';\n\nexport abstract class BaseModel extends LayoutItem implements IModel {\n readonly type: string = 'null';\n readonly modelType: string = 'null';\n\n readonly id;\n\n userId: StringOrNumber | undefined = undefined;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // 数据\n protected _data: CompilableData = null;\n getData() {\n return this._data;\n }\n\n protected declare _spec: any;\n getSpec(): any {\n return this._spec;\n }\n\n protected _specIndex: number = 0;\n getSpecIndex() {\n return this._specIndex;\n }\n\n readonly specKey: string = '';\n\n protected _originalSpec: any;\n\n protected declare _option: IModelOption;\n getOption() {\n return this._option;\n }\n\n protected _sceneNodeMap: Map<string, IElement>;\n\n protected _marks: MarkSet = new MarkSet();\n getMarks(): IMark[] {\n return this._marks?.getMarks() ?? [];\n }\n getMarkNameMap() {\n return this._marks?.getMarkNameMap();\n }\n getMarkSet() {\n return this._marks;\n }\n getMarkInfoList(): IModelMarkInfo[] {\n return this.getMarks().map(mark => ({\n type: mark.type as MarkTypeEnum,\n name: mark.name\n }));\n }\n\n getChart() {\n return this._option.getChart();\n }\n\n /** 状态管理器 */\n state: ModelStateManager;\n getState() {\n return this.state._stateMap;\n }\n\n protected _theme?: any; // 非全局 theme,是对应于具体 model 的 theme 对象\n\n /** for layout diff */\n protected _lastLayoutRect: ILayoutRect = null;\n\n protected _tooltipHelper: ITooltipHelper | undefined;\n get tooltipHelper() {\n return this._tooltipHelper;\n }\n\n // TODO: 有些hack,这个tag是为了避免布局逻辑中,轴的数据变化,又由数据变化触发重新布局\n protected _isLayout: boolean = true;\n\n constructor(spec: IModelSpec, option: IModelOption) {\n super(option);\n this.id = createID();\n this._originalSpec = spec;\n this._spec = cloneDeepSpec(spec);\n this.userId = spec.id;\n this._specIndex = option.specIndex ?? 0;\n this.specKey = option.specKey ?? '';\n this.effect = {};\n this.event = new Event(option.eventDispatcher, option.mode);\n option.map?.set(this.id, this);\n this._sceneNodeMap = new Map();\n this.state = new ModelStateManager({\n ...option,\n stateKeyToSignalName: this.stateKeyToSignalName.bind(this)\n });\n }\n coordinate?: CoordinateType;\n\n protected _releaseEvent() {\n this.event.release();\n }\n\n created() {\n this._initTheme();\n this.setAttrFromSpec();\n }\n\n updateState(newState: Record<string, unknown>) {\n return this.state.updateState(newState);\n }\n\n init(option: IModelInitOption) {\n // do nothing\n }\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void {\n super.onLayoutStart(layoutRect, viewRect, ctx);\n this._isLayout = true;\n }\n onLayoutEnd(ctx: any): void {\n // diff layoutRect\n const layoutRect = this.getLayoutRect();\n if (this._forceLayoutTag || !isEqual(this._lastLayoutRect, layoutRect)) {\n this.updateLayoutAttribute();\n }\n this._forceLayoutTag = false;\n this.getMarks().forEach(m => m.updateLayoutState(true, true));\n this._isLayout = false;\n }\n\n protected _forceLayout() {\n if (this._isLayout) {\n return;\n }\n this._forceLayoutTag = true;\n this._option.globalInstance.getChart()?.setLayoutTag(true);\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption) {\n // do nothing\n }\n abstract onRender(ctx: IModelRenderOption): void;\n\n onDataUpdate() {\n // do nothing\n }\n\n release() {\n this._releaseEvent();\n this._originalSpec = {};\n this._spec = {};\n this.getMarks().forEach(m => m.release());\n this.state.release();\n this._data?.release();\n this._data = this._specIndex = this._sceneNodeMap = null;\n this._marks.clear();\n super.release();\n }\n\n updateSpec(spec: any) {\n this._originalSpec = spec;\n this._spec = cloneDeepSpec(spec);\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n return result;\n }\n\n reInit(theme?: any) {\n this._initTheme(theme);\n this.setAttrFromSpec();\n }\n\n protected _initTheme(theme?: any) {\n this._theme = theme;\n\n this._mergeMarkTheme();\n }\n\n /** 将全局的 mark theme 合并进 model theme */\n protected _mergeMarkTheme() {\n const globalTheme = this._option.getTheme?.();\n if (isNil(globalTheme) || isNil(this._theme)) {\n return;\n }\n\n const { mark: markThemeByType, markByName: markThemeByName } = globalTheme;\n this.getMarkInfoList().forEach(({ type, name }) => {\n this._theme[name] = merge(\n {},\n markThemeByType?.[array(type)[0]] ?? {},\n markThemeByName?.[name] ?? {},\n this._theme[name]\n );\n });\n }\n\n /** 对 spec 进行遍历和转换 */\n protected _preprocessSpec(obj?: any): any {\n if (!arguments.length) {\n obj = this._spec;\n }\n\n if (isArray(obj)) {\n return obj.map(element => {\n if (isObject(element) && !isFunction(element)) {\n return this._preprocessSpec(element);\n }\n return element;\n });\n }\n const newObj = { ...obj };\n Object.keys(newObj).forEach(key => {\n // 绕过数据\n if (key.includes('data')) {\n return;\n }\n const value = obj[key];\n // 绕过不可深拷贝的对象\n if (isObject(value) && (isDataView(value) || isHTMLElement(value))) {\n return;\n }\n if (isObject(value) && !isFunction(value)) {\n // 查询、替换语义化颜色\n if (isColorKey(value)) {\n newObj[key] = getActualColor(\n value,\n this._option.getTheme?.()?.colorScheme,\n this.modelType === 'series' ? (this.type as SeriesTypeEnum) : undefined\n );\n } else {\n newObj[key] = this._preprocessSpec(value);\n }\n }\n });\n\n if (!arguments.length) {\n this._spec = newObj;\n }\n return newObj;\n }\n\n setCurrentTheme(theme: any, noRender?: boolean) {\n // do nothing\n }\n\n updateLayoutAttribute() {\n // do nothing\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec(this._spec, this._option.getChartViewRect());\n }\n\n /** mark style 内部转换逻辑,override 使用 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle: any = { ...style };\n return newStyle;\n }\n\n setMarkStyle<T extends ICommonSpec>(\n mark: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) {\n if (!isValid(mark) || !isValid(style)) {\n return;\n }\n mark.setStyle(this._convertMarkStyle(style), state, level);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string) {\n if (!isValid(mark) || !isValid(spec)) {\n return;\n }\n const { style, state } = spec;\n const newSpec = { ...spec };\n\n if (style) {\n newSpec.style = this._convertMarkStyle(style);\n }\n if (state) {\n newSpec.state = {};\n Object.keys(state).forEach(key => {\n newSpec.state[key] = this._convertMarkStyle(state[key]);\n });\n }\n mark.initStyleWithSpec(newSpec, key);\n }\n\n protected stateKeyToSignalName(key: string, opt?: string) {\n let name = `${PREFIX}_${this.modelType}_${this.type}_${this.id}_${key}`;\n opt && (name += `_${opt}`);\n return name;\n }\n\n compileData() {\n this._data?.compile();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n });\n }\n\n compileSignal() {\n this.state?.compile();\n }\n\n bindSceneNode(node: IElement) {\n this._sceneNodeMap.set(node.mark.id(), node as IElement);\n }\n\n getSceneNodes() {\n return Array.from(this._sceneNodeMap.values());\n }\n\n getSceneNodeMarks() {\n return this.getSceneNodes().map(node => node.mark as IVGrammarMark);\n }\n\n protected _createMark<T extends IMark>(markInfo: IModelMarkInfo, option: Partial<IMarkOption> = {}): T {\n const { type, name } = markInfo;\n const m = Factory.createMark(type as any, name, {\n model: this,\n map: this._option.map,\n getCompiler: this.getCompiler,\n globalScale: this._option.globalScale,\n ...option\n }) as T;\n m?.created();\n return m;\n }\n\n /**\n * 数据唯一ID\n * 根据自身动画数据匹配需求设置返回值。\n * 默认返回 undefined 时,根据 VGrammar 默认数据 ID 进行索引和匹配。\n */\n protected _getDataIdKey(): string | ((datum: Datum) => string) | undefined {\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/model/base-model.ts"],"names":[],"mappings":"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","file":"base-model.js","sourcesContent":["import { createID, isValid, cloneDeepSpec, preprocessSpecOrTheme, mergeSpec } from '../util';\nimport { Event } from '../event/event';\nimport type { IEvent } from '../event/interface';\nimport { LayoutItem } from './layout-item';\nimport type {\n IEffect,\n IModel,\n IModelInitOption,\n IModelOption,\n IModelRenderOption,\n IModelEvaluateOption,\n IModelSpec,\n ILayoutRect,\n IModelMarkInfo\n} from './interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IMark, IMarkOption, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { Datum, StateValueType, ConvertToMarkStyleSpec, ICommonSpec, StringOrNumber, IRect } from '../typings';\nimport type { ITooltipHelper } from './tooltip-helper';\nimport type { CompilableData } from '../compile/data/compilable-data';\nimport { ModelStateManager } from './model-state-manager';\nimport { PREFIX } from '../constant';\nimport type { IElement, IGroupMark, IMark as IVGrammarMark } from '@visactor/vgrammar';\nimport { array, isEqual, isNil } from '@visactor/vutils';\nimport { Factory } from '../core/factory';\nimport type { SeriesTypeEnum } from '../series/interface';\nimport { MarkSet } from '../mark/mark-set';\n\nexport abstract class BaseModel<T extends IModelSpec> extends LayoutItem<T> implements IModel {\n readonly type: string = 'null';\n readonly modelType: string = 'null';\n\n readonly id;\n\n userId: StringOrNumber | undefined = undefined;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // 数据\n protected _data: CompilableData = null;\n getData() {\n return this._data;\n }\n\n protected _specIndex: number = 0;\n getSpecIndex() {\n return this._specIndex;\n }\n\n readonly specKey: string = '';\n\n protected _originalSpec: any;\n\n protected declare _option: IModelOption;\n getOption() {\n return this._option;\n }\n\n protected _sceneNodeMap: Map<string, IElement>;\n\n protected _marks: MarkSet = new MarkSet();\n getMarks(): IMark[] {\n return this._marks?.getMarks() ?? [];\n }\n getMarkNameMap() {\n return this._marks?.getMarkNameMap();\n }\n getMarkSet() {\n return this._marks;\n }\n getMarkInfoList(): IModelMarkInfo[] {\n return this.getMarks().map(mark => ({\n type: mark.type as MarkTypeEnum,\n name: mark.name\n }));\n }\n\n getChart() {\n return this._option.getChart();\n }\n\n /** 状态管理器 */\n state: ModelStateManager;\n getState() {\n return this.state._stateMap;\n }\n\n protected _theme?: any; // 非全局 theme,是对应于具体 model 的 theme 对象\n\n /** for layout diff */\n protected _lastLayoutRect: ILayoutRect = null;\n\n protected _tooltipHelper: ITooltipHelper | undefined;\n get tooltipHelper() {\n return this._tooltipHelper;\n }\n\n // TODO: 有些hack,这个tag是为了避免布局逻辑中,轴的数据变化,又由数据变化触发重新布局\n protected _isLayout: boolean = true;\n\n constructor(spec: T, option: IModelOption) {\n super(option);\n this.id = createID();\n this._originalSpec = spec;\n this._spec = cloneDeepSpec(spec);\n this.userId = spec.id;\n this._specIndex = option.specIndex ?? 0;\n this.specKey = option.specKey ?? '';\n this.effect = {};\n this.event = new Event(option.eventDispatcher, option.mode);\n option.map?.set(this.id, this);\n this._sceneNodeMap = new Map();\n this.state = new ModelStateManager({\n ...option,\n stateKeyToSignalName: this.stateKeyToSignalName.bind(this)\n });\n }\n coordinate?: CoordinateType;\n\n protected _releaseEvent() {\n this.event.release();\n }\n\n created() {\n this._initTheme();\n this.setAttrFromSpec();\n }\n\n updateState(newState: Record<string, unknown>) {\n return this.state.updateState(newState);\n }\n\n init(option: IModelInitOption) {\n // do nothing\n }\n\n afterInit() {\n // do nothing\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void {\n super.onLayoutStart(layoutRect, viewRect, ctx);\n this._isLayout = true;\n }\n onLayoutEnd(ctx: any): void {\n // diff layoutRect\n const layoutRect = this.getLayoutRect();\n if (this._forceLayoutTag || !isEqual(this._lastLayoutRect, layoutRect)) {\n this.updateLayoutAttribute();\n }\n this._forceLayoutTag = false;\n this.getMarks().forEach(m => m.updateLayoutState(true, true));\n this._isLayout = false;\n }\n\n protected _forceLayout() {\n if (this._isLayout) {\n return;\n }\n this._forceLayoutTag = true;\n this._option.globalInstance.getChart()?.setLayoutTag(true);\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption) {\n // do nothing\n }\n abstract onRender(ctx: IModelRenderOption): void;\n\n onDataUpdate() {\n // do nothing\n }\n\n release() {\n this._releaseEvent();\n this._originalSpec = {};\n this._spec = undefined;\n this.getMarks().forEach(m => m.release());\n this.state.release();\n this._data?.release();\n this._data = this._specIndex = this._sceneNodeMap = null;\n this._marks.clear();\n super.release();\n }\n\n updateSpec(spec: any) {\n this._originalSpec = spec;\n this._spec = cloneDeepSpec(spec);\n const result = {\n change: false,\n reMake: false,\n reMakeData: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n return result;\n }\n\n reInit(theme?: any) {\n this._initTheme(theme);\n this.setAttrFromSpec();\n }\n\n protected _initTheme(theme?: any) {\n this._theme = theme;\n\n this._mergeMarkTheme();\n }\n\n /** 将全局的 mark theme 合并进 model theme */\n protected _mergeMarkTheme() {\n const globalTheme = this._option.getTheme?.();\n if (isNil(globalTheme) || isNil(this._theme)) {\n return;\n }\n\n const { mark: markThemeByType, markByName: markThemeByName } = globalTheme;\n this.getMarkInfoList().forEach(({ type, name }) => {\n this._theme[name] = mergeSpec(\n {},\n markThemeByType?.[array(type)[0]] ?? {},\n markThemeByName?.[name] ?? {},\n this._theme[name]\n );\n });\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec() {\n const chartSpec = this.getChart().getSpec();\n this._spec = mergeSpec({}, this._theme, this._getDefaultSpecFromChart(chartSpec), this._originalSpec);\n }\n\n /** 从 chart spec 提取配置作为 model 的默认 spec 配置 */\n protected _getDefaultSpecFromChart(chartSpec: any): Partial<T> {\n return {};\n }\n\n /** 对 spec 进行遍历和转换 */\n protected _preprocessSpec(obj?: any): any {\n if (!arguments.length) {\n obj = this._spec;\n }\n\n const newObj = preprocessSpecOrTheme(\n obj,\n this._option.getTheme?.()?.colorScheme,\n this.modelType === 'series' ? (this.type as SeriesTypeEnum) : undefined\n );\n\n if (!arguments.length) {\n this._spec = newObj;\n }\n return newObj;\n }\n\n setCurrentTheme(theme: any, noRender?: boolean) {\n // do nothing\n }\n\n updateLayoutAttribute() {\n // do nothing\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec(this._spec, this._option.getChartViewRect());\n }\n\n /** mark style 内部转换逻辑,override 使用 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle: any = { ...style };\n return newStyle;\n }\n\n setMarkStyle<T extends ICommonSpec>(\n mark: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) {\n if (!isValid(mark) || !isValid(style)) {\n return;\n }\n mark.setStyle(this._convertMarkStyle(style), state, level);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string) {\n if (!isValid(mark) || !isValid(spec)) {\n return;\n }\n const { style, state } = spec;\n const newSpec = { ...spec };\n\n if (style) {\n newSpec.style = this._convertMarkStyle(style);\n }\n if (state) {\n newSpec.state = {};\n Object.keys(state).forEach(key => {\n newSpec.state[key] = this._convertMarkStyle(state[key]);\n });\n }\n mark.initStyleWithSpec(newSpec, key);\n }\n\n protected stateKeyToSignalName(key: string, opt?: string) {\n let name = `${PREFIX}_${this.modelType}_${this.type}_${this.id}_${key}`;\n opt && (name += `_${opt}`);\n return name;\n }\n\n compileData() {\n this._data?.compile();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n });\n }\n\n compileSignal() {\n this.state?.compile();\n }\n\n bindSceneNode(node: IElement) {\n this._sceneNodeMap.set(node.mark.id(), node as IElement);\n }\n\n getSceneNodes() {\n return Array.from(this._sceneNodeMap.values());\n }\n\n getSceneNodeMarks() {\n return this.getSceneNodes().map(node => node.mark as IVGrammarMark);\n }\n\n protected _createMark<T extends IMark>(markInfo: IModelMarkInfo, option: Partial<IMarkOption> = {}): T {\n const { type, name } = markInfo;\n const m = Factory.createMark(type as any, name, {\n model: this,\n map: this._option.map,\n getCompiler: this.getCompiler,\n globalScale: this._option.globalScale,\n ...option\n }) as T;\n m?.created();\n return m;\n }\n\n /**\n * 数据唯一ID\n * 根据自身动画数据匹配需求设置返回值。\n * 默认返回 undefined 时,根据 VGrammar 默认数据 ID 进行索引和匹配。\n */\n protected _getDataIdKey(): string | ((datum: Datum) => string) | undefined {\n return undefined;\n }\n}\n"]}
@@ -14,7 +14,7 @@ import type { ICompilable, ICompilableInitOption } from '../compile/interface';
14
14
  import type { ICompilableData } from '../compile/data';
15
15
  import type { IGlobalScale } from '../scale/interface';
16
16
  import type { IChart } from '../chart/interface';
17
- export type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number);
17
+ export type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset;
18
18
  export interface ILayoutPoint {
19
19
  x: number;
20
20
  y: number;
@@ -28,6 +28,10 @@ export interface ILayoutRect {
28
28
  height: number;
29
29
  }
30
30
  export type IPercent = `${number}%`;
31
+ export type IPercentOffset = {
32
+ percent?: number;
33
+ offset?: number;
34
+ };
31
35
  export type ILayoutPercent = IPercent | number;
32
36
  type ILayoutType = 'region-relative' | 'region' | 'normal' | 'absolute' | 'normal-inline';
33
37
  export type ILayoutOrientPadding = {
@@ -68,6 +72,7 @@ export interface ILayoutItemSpec {
68
72
  layoutLevel?: number;
69
73
  orient?: IOrientType;
70
74
  padding?: ILayoutPaddingSpec;
75
+ noOuterPadding?: boolean;
71
76
  width?: ILayoutNumber;
72
77
  maxWidth?: ILayoutNumber;
73
78
  minWidth?: ILayoutNumber;
@@ -104,6 +109,7 @@ export type IMarkTree = IMarkTreeGroup | IMark | (IMarkTreeGroup | IMark)[];
104
109
  export interface IUpdateSpecResult {
105
110
  change: boolean;
106
111
  reMake: boolean;
112
+ reMakeData?: boolean;
107
113
  reRender?: boolean;
108
114
  reSize?: boolean;
109
115
  reCompile?: boolean;
@@ -136,7 +142,7 @@ export interface IModel extends ICompilable, ILayoutItem {
136
142
  onEvaluateEnd: (ctx: IModelEvaluateOption) => void;
137
143
  onRender: (ctx: IModelRenderOption) => void;
138
144
  onDataUpdate: () => void;
139
- updateSpec: (spec: any) => IUpdateSpecResult;
145
+ updateSpec: (spec: any, totalSpec?: any) => IUpdateSpecResult;
140
146
  getSpec?: () => any;
141
147
  getSpecIndex: () => number;
142
148
  setCurrentTheme: (theme: any, noRender?: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { IEvent, IEventDispatcher } from '../event/interface';\nimport type { IMark, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { VChart } from '../vchart-all';\nimport type { IData, IElement, IMark as IVGrammarMark } from '@visactor/vgrammar';\nimport type {\n IOrientType,\n IPoint,\n IGroupMarkSpec,\n ConvertToMarkStyleSpec,\n CoordinateType,\n ICommonSpec,\n IRect,\n StringOrNumber\n} from '../typings';\nimport type { ITheme } from '../theme';\nimport type { StateValueType } from '../typings/spec';\nimport type { ITooltipHelper } from './tooltip-helper';\nimport type { ModelStateManager } from './model-state-manager';\nimport type { ICompilable, ICompilableInitOption } from '../compile/interface';\nimport type { ICompilableData } from '../compile/data';\nimport type { IGlobalScale } from '../scale/interface';\nimport type { IChart } from '../chart/interface';\n\nexport type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number);\n\nexport interface ILayoutPoint {\n x: number;\n y: number;\n}\n\nexport interface ILayoutRectLevel {\n width: number;\n height: number;\n}\nexport interface ILayoutRect {\n width: number;\n height: number;\n}\n\nexport type IPercent = `${number}%`;\n\nexport type ILayoutPercent = IPercent | number;\n\n/**\n * 相对布局和绝对布局\n * 在相对布局结束后进行二次的绝对布局\n * 绝对布局会只根据 chart 进行相对处理\n */\n\ntype ILayoutType = 'region-relative' | 'region' | 'normal' | 'absolute' | 'normal-inline';\n\nexport type ILayoutOrientPadding = {\n left?: ILayoutNumber;\n right?: ILayoutNumber;\n top?: ILayoutNumber;\n bottom?: ILayoutNumber;\n};\n\n/** 布局 padding的配置 */\nexport type ILayoutPaddingSpec = ILayoutOrientPadding | ILayoutNumber | ILayoutNumber[];\n\n/**\n * 因为这些元素都会继承到各个模块,所以这里统一有前缀避免语意冲突\n */\nexport interface ILayoutItem {\n /**\n * 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n */\n directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n layoutClip: boolean;\n layoutType: ILayoutType;\n layoutBindRegionID: number | number[];\n layoutOrient: IOrientType;\n\n layoutPaddingLeft: number;\n layoutPaddingTop: number;\n layoutPaddingRight: number;\n layoutPaddingBottom: number;\n\n layoutOffsetX: number;\n layoutOffsetY: number;\n\n // 越大越先处理\n layoutLevel: number;\n\n layoutZIndex: number;\n chartLayoutRect: ILayoutRect;\n\n /** 是否可见 */\n getVisible: () => boolean;\n\n /** 是否自动缩进 */\n getAutoIndent: () => boolean;\n getLayoutStartPoint: () => ILayoutPoint;\n getLayoutRect: () => ILayoutRect;\n getLastComputeOutBounds: () => IBoundsLike;\n\n /**\n * 更新元素布局的 layoutRect 大小,用来更新指定布局空间\n */\n setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) => void;\n /**\n * 基于元素内部逻辑计算占位空间,rect表示可用空间\n */\n computeBoundsInRect: (rect: ILayoutRect) => ILayoutRect;\n /**\n * 更新元素布局的起始点位置\n */\n setLayoutStartPosition: (pos: Partial<IPoint>) => void;\n /**\n * 更新绝对布局元素的位置信息\n */\n absoluteLayoutInRect: (rect: IRect) => void;\n /**\n * 元素内部布局信息更新\n */\n updateLayoutAttribute: () => void;\n}\n\nexport interface ILayoutItemSpec {\n /** 当前模块的布局类型,配置为 absolute 的话,当前元素会以图表左上角为原点进行绝对布局 */\n layoutType?: ILayoutType;\n /**\n * 布局顺序等级,等级越大的,越优先布局\n * 比如顶部同时有标题和图例的场景,期望标题先放在顶部,然后放置图例。\n */\n layoutLevel?: number;\n\n // 基础的布局配置\n /** 模块布局位置 */\n orient?: IOrientType;\n /** 模块的布局间距 */\n padding?: ILayoutPaddingSpec;\n /** 模块的布局大小:宽度 */\n width?: ILayoutNumber;\n /** 模块的布局最大宽度 */\n maxWidth?: ILayoutNumber;\n /** 模块的布局最小宽度 */\n minWidth?: ILayoutNumber;\n /** 模块的布局大小:高度 */\n height?: ILayoutNumber;\n /** 模块的布局最大高度 */\n maxHeight?: ILayoutNumber;\n /** 模块的布局最小高度 */\n minHeight?: ILayoutNumber;\n /** 模块的布局位置偏移:X */\n offsetX?: ILayoutNumber;\n /** 模块的布局位置偏移:Y */\n offsetY?: ILayoutNumber;\n\n /** 模块的展示层级,当2个模块重叠时,层级较大的展示在上方 */\n zIndex?: number;\n /** 模块是否裁剪超出布局区域外的绘图内容 */\n clip?: boolean;\n\n // 绝对布局下的对齐设置\n\n /** 模块绝对布局下,与图表左侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n left?: ILayoutNumber;\n /** 模块绝对布局下,与图表右侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n right?: ILayoutNumber;\n /** 模块绝对布局下,与图表顶部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n top?: ILayoutNumber;\n /** 模块绝对布局下,与图表底部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n bottom?: ILayoutNumber;\n /** 模块绝对布局下,元素将放置在图表的正中间。注意仅在 layoutType === 'absolute' 时生效,同时将忽略 padding 属性 */\n center?: boolean;\n}\n\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelInitOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelLayoutOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelEvaluateOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelRenderOption {}\n\nexport interface IEffect {\n [key: string]: (e?: any) => any;\n}\n\nexport interface IMarkTreeGroup extends Partial<IMarkStyle<IGroupMarkSpec>> {\n // 必须要有名字\n type: 'group';\n name: string;\n marks: (IMarkTreeGroup | IMark)[];\n // TODO: 这里要不要支持复杂场景,有图形组合的场景,用自定义mark?\n // from?: IData;\n}\n\nexport type IMarkTree = IMarkTreeGroup | IMark | (IMarkTreeGroup | IMark)[];\n\nexport interface IUpdateSpecResult {\n change: boolean;\n reMake: boolean;\n reRender?: boolean;\n reSize?: boolean;\n // TODO: compile 的判断应不应该出现在这里?\n reCompile?: boolean;\n}\n\nexport interface IModelProduct {\n srData: IData;\n}\n\nexport interface IModel extends ICompilable, ILayoutItem {\n readonly modelType: string;\n readonly type: string;\n readonly specKey: string;\n\n readonly id: number;\n\n readonly userId?: StringOrNumber;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // state如果绑定到mark的更新?\n // 组件的 mark 要怎么样描述,才能正确的基于组件状态进行样式更新?\n // 方案1: 组件的 state 关联到 mark 的状态。\n // 方案2: 组件设置 mark 属性,mark自身属性变化时,自己去更新。\n // react state\n readonly state: ModelStateManager;\n getState: () => ModelStateManager['_stateMap'];\n\n coordinate?: CoordinateType;\n\n // 初始化参数\n getOption: () => IModelOption;\n\n getMarks: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarkInfoList: () => IModelMarkInfo[];\n\n getData: () => ICompilableData;\n\n getChart: () => IChart;\n\n //生命周期\n // 创建模块自身内容,设置自身属性\n created: () => void;\n // 用来处理与其他图表模块的联系\n init: (option: IModelInitOption) => void;\n // updateSpec 或者切换主题后,根据新 spec 执行的初始化过程\n reInit: (theme?: any) => void;\n\n onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect, ctx: IModelLayoutOption) => void;\n onLayoutEnd: (ctx: IModelLayoutOption) => void;\n onEvaluateEnd: (ctx: IModelEvaluateOption) => void;\n onRender: (ctx: IModelRenderOption) => void;\n onDataUpdate: () => void;\n\n updateSpec: (spec: any) => IUpdateSpecResult;\n getSpec?: () => any;\n getSpecIndex: () => number;\n\n setCurrentTheme: (theme: any, noRender?: boolean) => void;\n\n setMarkStyle: <T extends ICommonSpec>(\n mark?: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) => void;\n\n initMarkStyleWithSpec: (mark?: IMark, spec?: any, key?: string) => void;\n\n // tooltip\n tooltipHelper: ITooltipHelper;\n\n /** 绑定场景结点 */\n bindSceneNode: (node: IElement) => void;\n /** 获取场景结点 */\n getSceneNodes: () => IElement[];\n /** 获取场景结点对应 mark */\n getSceneNodeMarks: () => IVGrammarMark[];\n}\n\nexport interface IModelOption extends ICompilableInitOption {\n eventDispatcher: IEventDispatcher;\n dataSet: DataSet;\n map: Map<StringOrNumber, IModel | IMark>;\n mode: RenderMode;\n globalInstance: VChart;\n specIndex?: number;\n specKey?: string;\n\n getTheme?: () => ITheme;\n\n getChartLayoutRect: () => IRect;\n getChartViewRect: () => ILayoutRect;\n\n getChart: () => IChart;\n\n globalScale: IGlobalScale;\n animation: boolean;\n /**\n * 错误消息回调函数\n */\n onError: (...args: any[]) => void;\n}\n\nexport interface IModelConstructor {\n new (ctx: IModelOption): IModel;\n}\n\nexport type ILayoutModelState = ModelStateManager['_stateMap'];\n\n// TODO: 补充model共有配置\nexport type IModelSpec = ILayoutItemSpec & { id?: StringOrNumber };\n\nexport interface IModelMarkInfo {\n /** mark 类型 */\n type: MarkTypeEnum | string | (MarkTypeEnum | string)[];\n /** mark 名称 */\n name: string;\n}\n"]}
1
+ {"version":3,"sources":["../src/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { IEvent, IEventDispatcher } from '../event/interface';\nimport type { IMark, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { VChart } from '../vchart-all';\nimport type { IData, IElement, IMark as IVGrammarMark } from '@visactor/vgrammar';\nimport type {\n IOrientType,\n IPoint,\n IGroupMarkSpec,\n ConvertToMarkStyleSpec,\n CoordinateType,\n ICommonSpec,\n IRect,\n StringOrNumber\n} from '../typings';\nimport type { ITheme } from '../theme';\nimport type { StateValueType } from '../typings/spec';\nimport type { ITooltipHelper } from './tooltip-helper';\nimport type { ModelStateManager } from './model-state-manager';\nimport type { ICompilable, ICompilableInitOption } from '../compile/interface';\nimport type { ICompilableData } from '../compile/data';\nimport type { IGlobalScale } from '../scale/interface';\nimport type { IChart } from '../chart/interface';\n\nexport type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset;\n\nexport interface ILayoutPoint {\n x: number;\n y: number;\n}\n\nexport interface ILayoutRectLevel {\n width: number;\n height: number;\n}\nexport interface ILayoutRect {\n width: number;\n height: number;\n}\n\nexport type IPercent = `${number}%`;\n\nexport type IPercentOffset = { percent?: number; offset?: number };\n\nexport type ILayoutPercent = IPercent | number;\n\n/**\n * 相对布局和绝对布局\n * 在相对布局结束后进行二次的绝对布局\n * 绝对布局会只根据 chart 进行相对处理\n */\n\ntype ILayoutType = 'region-relative' | 'region' | 'normal' | 'absolute' | 'normal-inline';\n\nexport type ILayoutOrientPadding = {\n left?: ILayoutNumber;\n right?: ILayoutNumber;\n top?: ILayoutNumber;\n bottom?: ILayoutNumber;\n};\n\n/** 布局 padding的配置 */\nexport type ILayoutPaddingSpec = ILayoutOrientPadding | ILayoutNumber | ILayoutNumber[];\n\n/**\n * 因为这些元素都会继承到各个模块,所以这里统一有前缀避免语意冲突\n */\nexport interface ILayoutItem {\n /**\n * 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n */\n directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n layoutClip: boolean;\n layoutType: ILayoutType;\n layoutBindRegionID: number | number[];\n layoutOrient: IOrientType;\n\n layoutPaddingLeft: number;\n layoutPaddingTop: number;\n layoutPaddingRight: number;\n layoutPaddingBottom: number;\n\n layoutOffsetX: number;\n layoutOffsetY: number;\n\n // 越大越先处理\n layoutLevel: number;\n\n layoutZIndex: number;\n chartLayoutRect: ILayoutRect;\n\n /** 是否可见 */\n getVisible: () => boolean;\n\n /** 是否自动缩进 */\n getAutoIndent: () => boolean;\n getLayoutStartPoint: () => ILayoutPoint;\n getLayoutRect: () => ILayoutRect;\n getLastComputeOutBounds: () => IBoundsLike;\n\n /**\n * 更新元素布局的 layoutRect 大小,用来更新指定布局空间\n */\n setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) => void;\n /**\n * 基于元素内部逻辑计算占位空间,rect表示可用空间\n */\n computeBoundsInRect: (rect: ILayoutRect) => ILayoutRect;\n /**\n * 更新元素布局的起始点位置\n */\n setLayoutStartPosition: (pos: Partial<IPoint>) => void;\n /**\n * 更新绝对布局元素的位置信息\n */\n absoluteLayoutInRect: (rect: IRect) => void;\n /**\n * 元素内部布局信息更新\n */\n updateLayoutAttribute: () => void;\n}\n\nexport interface ILayoutItemSpec {\n /** 当前模块的布局类型,配置为 absolute 的话,当前元素会以图表左上角为原点进行绝对布局 */\n layoutType?: ILayoutType;\n /**\n * 布局顺序等级,等级越大的,越优先布局\n * 比如顶部同时有标题和图例的场景,期望标题先放在顶部,然后放置图例。\n */\n layoutLevel?: number;\n\n // 基础的布局配置\n /** 模块布局位置 */\n orient?: IOrientType;\n /** 模块的布局间距 */\n padding?: ILayoutPaddingSpec;\n /** 是否按照 orient 自动修改 padding,隐藏位于外侧的 padding。目前只在组件上生效 */\n noOuterPadding?: boolean;\n /** 模块的布局大小:宽度 */\n width?: ILayoutNumber;\n /** 模块的布局最大宽度 */\n maxWidth?: ILayoutNumber;\n /** 模块的布局最小宽度 */\n minWidth?: ILayoutNumber;\n /** 模块的布局大小:高度 */\n height?: ILayoutNumber;\n /** 模块的布局最大高度 */\n maxHeight?: ILayoutNumber;\n /** 模块的布局最小高度 */\n minHeight?: ILayoutNumber;\n /** 模块的布局位置偏移:X */\n offsetX?: ILayoutNumber;\n /** 模块的布局位置偏移:Y */\n offsetY?: ILayoutNumber;\n\n /** 模块的展示层级,当2个模块重叠时,层级较大的展示在上方 */\n zIndex?: number;\n /** 模块是否裁剪超出布局区域外的绘图内容 */\n clip?: boolean;\n\n // 绝对布局下的对齐设置\n\n /** 模块绝对布局下,与图表左侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n left?: ILayoutNumber;\n /** 模块绝对布局下,与图表右侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n right?: ILayoutNumber;\n /** 模块绝对布局下,与图表顶部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n top?: ILayoutNumber;\n /** 模块绝对布局下,与图表底部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n bottom?: ILayoutNumber;\n /** 模块绝对布局下,元素将放置在图表的正中间。注意仅在 layoutType === 'absolute' 时生效,同时将忽略 padding 属性 */\n center?: boolean;\n}\n\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelInitOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelLayoutOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelEvaluateOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelRenderOption {}\n\nexport interface IEffect {\n [key: string]: (e?: any) => any;\n}\n\nexport interface IMarkTreeGroup extends Partial<IMarkStyle<IGroupMarkSpec>> {\n // 必须要有名字\n type: 'group';\n name: string;\n marks: (IMarkTreeGroup | IMark)[];\n // TODO: 这里要不要支持复杂场景,有图形组合的场景,用自定义mark?\n // from?: IData;\n}\n\nexport type IMarkTree = IMarkTreeGroup | IMark | (IMarkTreeGroup | IMark)[];\n\nexport interface IUpdateSpecResult {\n change: boolean;\n reMake: boolean;\n reMakeData?: boolean;\n reRender?: boolean;\n reSize?: boolean;\n // TODO: compile 的判断应不应该出现在这里?\n reCompile?: boolean;\n}\n\nexport interface IModelProduct {\n srData: IData;\n}\n\nexport interface IModel extends ICompilable, ILayoutItem {\n readonly modelType: string;\n readonly type: string;\n readonly specKey: string;\n\n readonly id: number;\n\n readonly userId?: StringOrNumber;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // state如果绑定到mark的更新?\n // 组件的 mark 要怎么样描述,才能正确的基于组件状态进行样式更新?\n // 方案1: 组件的 state 关联到 mark 的状态。\n // 方案2: 组件设置 mark 属性,mark自身属性变化时,自己去更新。\n // react state\n readonly state: ModelStateManager;\n getState: () => ModelStateManager['_stateMap'];\n\n coordinate?: CoordinateType;\n\n // 初始化参数\n getOption: () => IModelOption;\n\n getMarks: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarkInfoList: () => IModelMarkInfo[];\n\n getData: () => ICompilableData;\n\n getChart: () => IChart;\n\n //生命周期\n // 创建模块自身内容,设置自身属性\n created: () => void;\n // 用来处理与其他图表模块的联系\n init: (option: IModelInitOption) => void;\n // updateSpec 或者切换主题后,根据新 spec 执行的初始化过程\n reInit: (theme?: any) => void;\n\n onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect, ctx: IModelLayoutOption) => void;\n onLayoutEnd: (ctx: IModelLayoutOption) => void;\n onEvaluateEnd: (ctx: IModelEvaluateOption) => void;\n onRender: (ctx: IModelRenderOption) => void;\n onDataUpdate: () => void;\n\n updateSpec: (spec: any, totalSpec?: any) => IUpdateSpecResult;\n getSpec?: () => any;\n getSpecIndex: () => number;\n\n setCurrentTheme: (theme: any, noRender?: boolean) => void;\n\n setMarkStyle: <T extends ICommonSpec>(\n mark?: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) => void;\n\n initMarkStyleWithSpec: (mark?: IMark, spec?: any, key?: string) => void;\n\n // tooltip\n tooltipHelper: ITooltipHelper;\n\n /** 绑定场景结点 */\n bindSceneNode: (node: IElement) => void;\n /** 获取场景结点 */\n getSceneNodes: () => IElement[];\n /** 获取场景结点对应 mark */\n getSceneNodeMarks: () => IVGrammarMark[];\n}\n\nexport interface IModelOption extends ICompilableInitOption {\n eventDispatcher: IEventDispatcher;\n dataSet: DataSet;\n map: Map<StringOrNumber, IModel | IMark>;\n mode: RenderMode;\n globalInstance: VChart;\n specIndex?: number;\n specKey?: string;\n\n getTheme?: () => ITheme;\n\n getChartLayoutRect: () => IRect;\n getChartViewRect: () => ILayoutRect;\n\n getChart: () => IChart;\n\n globalScale: IGlobalScale;\n animation: boolean;\n /**\n * 错误消息回调函数\n */\n onError: (...args: any[]) => void;\n}\n\nexport interface IModelConstructor {\n new (ctx: IModelOption): IModel;\n}\n\nexport type ILayoutModelState = ModelStateManager['_stateMap'];\n\n// TODO: 补充model共有配置\nexport type IModelSpec = ILayoutItemSpec & { id?: StringOrNumber };\n\nexport interface IModelMarkInfo {\n /** mark 类型 */\n type: MarkTypeEnum | string | (MarkTypeEnum | string)[];\n /** mark 名称 */\n name: string;\n}\n"]}
@@ -2,19 +2,19 @@ import type { IRect, IPoint } from '../typings';
2
2
  import type { IBoundsLike } from '@visactor/vutils';
3
3
  import type { ILayoutItem, ILayoutItemSpec, ILayoutPoint, ILayoutRect, ILayoutRectLevel } from './interface';
4
4
  import { CompilableBase } from '../compile/compilable-base';
5
- export declare class LayoutItem extends CompilableBase implements ILayoutItem {
6
- protected _spec: ILayoutItemSpec;
7
- getSpec(): any;
5
+ export declare class LayoutItem<T extends ILayoutItemSpec = ILayoutItemSpec> extends CompilableBase implements ILayoutItem {
6
+ protected _spec: T;
7
+ getSpec(): T;
8
8
  layoutClip: boolean;
9
9
  protected _autoIndent: boolean;
10
10
  getAutoIndent(): boolean;
11
11
  private _layoutStartPoint;
12
12
  getLayoutStartPoint(): ILayoutPoint;
13
13
  private _layoutRect;
14
- private _minWidth;
15
- private _maxWidth;
16
- private _minHeight;
17
- private _maxHeight;
14
+ protected _minWidth: number | null;
15
+ protected _maxWidth: number | null;
16
+ protected _minHeight: number | null;
17
+ protected _maxHeight: number | null;
18
18
  protected _layoutRectLevelMap: ILayoutRectLevel;
19
19
  protected _lastComputeRect: ILayoutRect;
20
20
  protected _lastComputeOutBounds: IBoundsLike;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/layout-item.ts"],"names":[],"mappings":"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","file":"layout-item.js","sourcesContent":["import type { IPadding, IRect, IPoint } from '../typings';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNil } from '@visactor/vutils';\nimport { isValidNumber, calcLayoutNumber, calcPadding, normalizeLayoutPaddingSpec, boundsInRect } from '../util';\nimport { LayoutLevel, DEFAULT_LAYOUT_RECT_LEVEL, USER_LAYOUT_RECT_LEVEL } from '../constant';\n\nimport type { ILayoutItem, ILayoutItemSpec, ILayoutPoint, ILayoutRect, ILayoutRectLevel } from './interface';\nimport { CompilableBase } from '../compile/compilable-base';\n\nexport class LayoutItem extends CompilableBase implements ILayoutItem {\n protected _spec: ILayoutItemSpec;\n getSpec(): any {\n return this._spec;\n }\n\n layoutClip: boolean = false;\n\n protected _autoIndent: boolean = true;\n getAutoIndent(): boolean {\n return this._autoIndent;\n }\n\n private _layoutStartPoint: ILayoutPoint = {\n x: 0,\n y: 0\n };\n\n getLayoutStartPoint(): ILayoutPoint {\n return this._layoutStartPoint;\n }\n\n private _layoutRect: ILayoutRect = { width: 0, height: 0 };\n\n private _minWidth: number | null = null;\n private _maxWidth: number | null = null;\n private _minHeight: number | null = null;\n private _maxHeight: number | null = null;\n\n // 处理用户和逻辑的优先级覆盖,让用户也可以设置 rect\n protected _layoutRectLevelMap: ILayoutRectLevel = {\n width: DEFAULT_LAYOUT_RECT_LEVEL,\n height: DEFAULT_LAYOUT_RECT_LEVEL\n };\n /** for layout diff */\n protected _lastComputeRect: ILayoutRect = null;\n protected _lastComputeOutBounds: IBoundsLike = { x1: 0, x2: 0, y1: 0, y2: 0 };\n getLastComputeOutBounds(): IBoundsLike {\n return this._lastComputeOutBounds;\n }\n protected _forceLayoutTag: boolean = false;\n\n getLayoutRect: () => ILayoutRect = () => {\n return this._layoutRect;\n };\n\n layoutType: ILayoutItem['layoutType'] = 'normal';\n\n layoutBindRegionID!: ILayoutItem['layoutBindRegionID'];\n\n _layoutOrient: ILayoutItem['layoutOrient'] = 'left';\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: ILayoutItem['layoutOrient']) {\n this._layoutOrient = v;\n }\n layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'] = 0;\n layoutPaddingTop: ILayoutItem['layoutPaddingTop'] = 0;\n layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0;\n layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0;\n\n layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0;\n layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0;\n\n layoutLevel: ILayoutItem['layoutLevel'] = LayoutLevel.Region;\n\n // layoutAbsoluteLeft: ILayoutItem['layoutAbsoluteLeft'] = Number.NaN;\n // layoutAbsoluteTop: ILayoutItem['layoutAbsoluteTop'] = Number.NaN;\n // layoutAbsoluteRight: ILayoutItem['layoutAbsoluteRight'] = Number.NaN;\n // layoutAbsoluteBottom: ILayoutItem['layoutAbsoluteBottom'] = Number.NaN;\n layoutZIndex: ILayoutItem['layoutZIndex'] = 0;\n chartLayoutRect!: ILayoutRect;\n\n getVisible() {\n return (this._spec as unknown as any)?.visible !== false;\n }\n\n private _setLayoutAttributeFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n if ((this._spec as unknown as any).visible !== false) {\n // 处理 user spec value to px;\n const padding = normalizeLayoutPaddingSpec(spec.padding);\n const paddingValue = calcPadding(padding, chartViewRect, chartViewRect);\n this.layoutPaddingLeft = paddingValue.left;\n this.layoutPaddingRight = paddingValue.right;\n this.layoutPaddingTop = paddingValue.top;\n this.layoutPaddingBottom = paddingValue.bottom;\n\n this._minHeight = isNil(spec.minHeight)\n ? null\n : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect);\n this._maxHeight = isNil(spec.maxHeight)\n ? null\n : calcLayoutNumber(spec.maxHeight, chartViewRect.height, chartViewRect);\n this._minWidth = isNil(spec.minWidth)\n ? null\n : calcLayoutNumber(spec.minWidth, chartViewRect.width, chartViewRect);\n this._maxWidth = isNil(spec.maxWidth)\n ? null\n : calcLayoutNumber(spec.maxWidth, chartViewRect.width, chartViewRect);\n // 处理 user width\n if (spec.width) {\n this.setLayoutRect(\n {\n width: calcLayoutNumber(spec.width, chartViewRect.width, chartViewRect)\n },\n {\n width: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n if (spec.height) {\n this.setLayoutRect(\n {\n height: calcLayoutNumber(spec.height, chartViewRect.height, chartViewRect)\n },\n {\n height: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n\n // offset\n if (!isNil(spec.offsetX)) {\n this.layoutOffsetX = calcLayoutNumber(spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(spec.offsetY)) {\n this.layoutOffsetY = calcLayoutNumber(spec.offsetY, chartViewRect.height, chartViewRect);\n }\n }\n }\n\n setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n this.layoutType = spec.layoutType ?? this.layoutType;\n this.layoutLevel = spec.layoutLevel ?? this.layoutLevel;\n this.layoutOrient = spec.orient ?? this.layoutOrient;\n\n this._setLayoutAttributeFromSpec(spec, chartViewRect);\n\n this.layoutClip = spec.clip ?? this.layoutClip;\n this.layoutZIndex = spec.zIndex ?? this.layoutZIndex;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, _ctx: any) {\n // 在 layoutStart 时重新计算 spec 中的布局属性值,确保 resize 后,这些值保持正确的px值。\n this._setLayoutAttributeFromSpec(this._spec, viewRect);\n }\n\n private _getAbsoluteSpecValue(layoutRect: ILayoutRect) {\n const result: IPadding = { top: null, bottom: null, left: null, right: null };\n ['top', 'bottom', 'left', 'right'].forEach(k => {\n if (!isNil(this._spec[k])) {\n result[k] = calcLayoutNumber(\n this._spec[k],\n k === 'top' || k === 'bottom' ? layoutRect.height : layoutRect.width,\n layoutRect\n );\n }\n });\n return result;\n }\n\n absoluteLayoutInRect(layoutRect: IRect) {\n const { top, bottom, left, right } = this._getAbsoluteSpecValue(layoutRect);\n\n // size first\n const layoutSize = {\n width: layoutRect.width - this.layoutPaddingLeft - this.layoutPaddingRight,\n height: layoutRect.height - this.layoutPaddingTop - this.layoutPaddingBottom\n };\n if (!isNil(left)) {\n layoutSize.width -= left;\n }\n if (!isNil(right)) {\n layoutSize.width -= right;\n }\n if (!isNil(top)) {\n layoutSize.height -= top;\n }\n if (!isNil(bottom)) {\n layoutSize.height -= bottom;\n }\n\n this.setLayoutRect(layoutSize);\n const { width, height } = this.computeBoundsInRect(this.getLayoutRect());\n this.setLayoutRect({ width, height });\n const pos = { x: layoutRect.x, y: layoutRect.y };\n if (this._spec.center === true) {\n pos.x = layoutRect.x + layoutRect.width * 0.5 - width * 0.5;\n pos.y = layoutRect.y + layoutRect.height * 0.5 - height * 0.5;\n } else {\n if (!isNil(left)) {\n pos.x = layoutRect.x + left + this.layoutPaddingLeft;\n } else if (!isNil(right)) {\n pos.x = layoutRect.x + layoutRect.width - this.layoutPaddingRight - right - width;\n }\n if (!isNil(top)) {\n pos.y = layoutRect.y + top + this.layoutPaddingTop;\n } else if (!isNil(bottom)) {\n pos.y = layoutRect.y + layoutRect.height - this.layoutPaddingBottom - bottom - height;\n }\n }\n\n this.setLayoutStartPosition(pos);\n }\n\n setLayoutStartPosition({ x, y }: Partial<IPoint>): void {\n if (isValidNumber(x)) {\n this._layoutStartPoint.x = x;\n }\n if (isValidNumber(y)) {\n this._layoutStartPoint.y = y;\n }\n }\n\n setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) {\n if (isValidNumber(width) && (levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.width) {\n this._layoutRect.width = width;\n this._layoutRectLevelMap.width = levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n if (isValidNumber(height) && (levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.height) {\n this._layoutRect.height = height;\n this._layoutRectLevelMap.height = levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n this._setRectInSpec(this._layoutRect);\n }\n\n mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect {\n const rect = { width, height };\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.width = this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.height = this._layoutRect.height;\n }\n return rect;\n }\n\n getOrientPosAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'x' : 'y';\n }\n getOrientSizeAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'width' : 'height';\n }\n\n protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike {\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.x2 = bounds.x1 + this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.y2 = bounds.y1 + this._layoutRect.height;\n }\n bounds.x1 -= this._layoutStartPoint.x;\n bounds.x2 -= this._layoutStartPoint.x;\n bounds.y1 -= this._layoutStartPoint.y;\n bounds.y2 -= this._layoutStartPoint.y;\n return bounds;\n }\n\n protected _setRectInSpec(rect: ILayoutRect) {\n const result = { ...rect };\n if (this._layoutRectLevelMap.width < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minWidth)) {\n result.width = Math.max(result.width, this._minWidth);\n }\n if (!isNil(this._maxWidth)) {\n result.width = Math.min(result.width, this._maxWidth);\n }\n } else {\n result.width = this._layoutRect.width;\n }\n\n if (this._layoutRectLevelMap.height < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minHeight)) {\n result.height = Math.max(result.height, this._minHeight);\n }\n if (!isNil(this._maxHeight)) {\n result.height = Math.min(result.height, this._maxHeight);\n }\n } else {\n result.height = this._layoutRect.height;\n }\n return result;\n }\n\n computeBoundsInRect(rect: ILayoutRect): ILayoutRect {\n // 保留布局使用的rect\n this._lastComputeRect = rect;\n // 将布局空间限制到 spec 设置内\n // 避免操作到元素本身的 aabbbounds\n const bounds = { ...this.boundsInRect(this._setRectInSpec(rect), rect) };\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n this.changeBoundsBySetting(bounds);\n // 保留当前模块的布局超出内容,用来处理自动缩进\n if (this._autoIndent) {\n this._lastComputeOutBounds.x1 = Math.ceil(-bounds.x1);\n this._lastComputeOutBounds.x2 = Math.ceil(bounds.x2 - rect.width);\n this._lastComputeOutBounds.y1 = Math.ceil(-bounds.y1);\n this._lastComputeOutBounds.y2 = Math.ceil(bounds.y2 - rect.height);\n }\n // 返回的布局大小也要限制到 spec 设置内\n return this._setRectInSpec(boundsInRect(bounds, rect));\n }\n\n /**\n * 实际bounds预计算方法\n * 需要在布局方法中更新 _lastComputeBounds\n * @param rect 布局最终使用的rect\n * @param fullSpace 布局可以使用的空间,用与部分模块的 position 计算\n */\n boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): IBoundsLike {\n return { x1: 0, y1: 0, x2: rect.width, y2: rect.height };\n }\n\n updateLayoutAttribute(): void {\n // do nothing\n }\n\n compile(): void {\n // do nothing\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/model/layout-item.ts"],"names":[],"mappings":"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","file":"layout-item.js","sourcesContent":["import type { IPadding, IRect, IPoint } from '../typings';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNil } from '@visactor/vutils';\nimport { isValidNumber, calcLayoutNumber, calcPadding, normalizeLayoutPaddingSpec, boundsInRect } from '../util';\nimport { LayoutLevel, DEFAULT_LAYOUT_RECT_LEVEL, USER_LAYOUT_RECT_LEVEL } from '../constant';\n\nimport type { ILayoutItem, ILayoutItemSpec, ILayoutPoint, ILayoutRect, ILayoutRectLevel } from './interface';\nimport { CompilableBase } from '../compile/compilable-base';\n\nexport class LayoutItem<T extends ILayoutItemSpec = ILayoutItemSpec> extends CompilableBase implements ILayoutItem {\n protected _spec: T;\n getSpec(): T {\n return this._spec;\n }\n\n layoutClip: boolean = false;\n\n protected _autoIndent: boolean = true;\n getAutoIndent(): boolean {\n return this._autoIndent;\n }\n\n private _layoutStartPoint: ILayoutPoint = {\n x: 0,\n y: 0\n };\n\n getLayoutStartPoint(): ILayoutPoint {\n return this._layoutStartPoint;\n }\n\n private _layoutRect: ILayoutRect = { width: 0, height: 0 };\n\n protected _minWidth: number | null = null;\n protected _maxWidth: number | null = null;\n protected _minHeight: number | null = null;\n protected _maxHeight: number | null = null;\n\n // 处理用户和逻辑的优先级覆盖,让用户也可以设置 rect\n protected _layoutRectLevelMap: ILayoutRectLevel = {\n width: DEFAULT_LAYOUT_RECT_LEVEL,\n height: DEFAULT_LAYOUT_RECT_LEVEL\n };\n /** for layout diff */\n protected _lastComputeRect: ILayoutRect = null;\n protected _lastComputeOutBounds: IBoundsLike = { x1: 0, x2: 0, y1: 0, y2: 0 };\n getLastComputeOutBounds(): IBoundsLike {\n return this._lastComputeOutBounds;\n }\n protected _forceLayoutTag: boolean = false;\n\n getLayoutRect: () => ILayoutRect = () => {\n return this._layoutRect;\n };\n\n layoutType: ILayoutItem['layoutType'] = 'normal';\n\n layoutBindRegionID!: ILayoutItem['layoutBindRegionID'];\n\n _layoutOrient: ILayoutItem['layoutOrient'] = 'left';\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: ILayoutItem['layoutOrient']) {\n this._layoutOrient = v;\n }\n layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'] = 0;\n layoutPaddingTop: ILayoutItem['layoutPaddingTop'] = 0;\n layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0;\n layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0;\n\n layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0;\n layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0;\n\n layoutLevel: ILayoutItem['layoutLevel'] = LayoutLevel.Region;\n\n // layoutAbsoluteLeft: ILayoutItem['layoutAbsoluteLeft'] = Number.NaN;\n // layoutAbsoluteTop: ILayoutItem['layoutAbsoluteTop'] = Number.NaN;\n // layoutAbsoluteRight: ILayoutItem['layoutAbsoluteRight'] = Number.NaN;\n // layoutAbsoluteBottom: ILayoutItem['layoutAbsoluteBottom'] = Number.NaN;\n layoutZIndex: ILayoutItem['layoutZIndex'] = 0;\n chartLayoutRect!: ILayoutRect;\n\n getVisible() {\n return (this._spec as unknown as any)?.visible !== false;\n }\n\n private _setLayoutAttributeFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n if ((this._spec as unknown as any).visible !== false) {\n // 处理 user spec value to px;\n const padding = normalizeLayoutPaddingSpec(spec.padding);\n const paddingValue = calcPadding(padding, chartViewRect, chartViewRect);\n this.layoutPaddingLeft = paddingValue.left;\n this.layoutPaddingRight = paddingValue.right;\n this.layoutPaddingTop = paddingValue.top;\n this.layoutPaddingBottom = paddingValue.bottom;\n\n this._minHeight = isNil(spec.minHeight)\n ? null\n : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect);\n this._maxHeight = isNil(spec.maxHeight)\n ? null\n : calcLayoutNumber(spec.maxHeight, chartViewRect.height, chartViewRect);\n this._minWidth = isNil(spec.minWidth)\n ? null\n : calcLayoutNumber(spec.minWidth, chartViewRect.width, chartViewRect);\n this._maxWidth = isNil(spec.maxWidth)\n ? null\n : calcLayoutNumber(spec.maxWidth, chartViewRect.width, chartViewRect);\n // 处理 user width\n if (spec.width) {\n this.setLayoutRect(\n {\n width: calcLayoutNumber(spec.width, chartViewRect.width, chartViewRect)\n },\n {\n width: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n if (spec.height) {\n this.setLayoutRect(\n {\n height: calcLayoutNumber(spec.height, chartViewRect.height, chartViewRect)\n },\n {\n height: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n\n // offset\n if (!isNil(spec.offsetX)) {\n this.layoutOffsetX = calcLayoutNumber(spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(spec.offsetY)) {\n this.layoutOffsetY = calcLayoutNumber(spec.offsetY, chartViewRect.height, chartViewRect);\n }\n }\n }\n\n setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n this.layoutType = spec.layoutType ?? this.layoutType;\n this.layoutLevel = spec.layoutLevel ?? this.layoutLevel;\n this.layoutOrient = spec.orient ?? this.layoutOrient;\n\n this._setLayoutAttributeFromSpec(spec, chartViewRect);\n\n this.layoutClip = spec.clip ?? this.layoutClip;\n this.layoutZIndex = spec.zIndex ?? this.layoutZIndex;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, _ctx: any) {\n // 在 layoutStart 时重新计算 spec 中的布局属性值,确保 resize 后,这些值保持正确的px值。\n this._setLayoutAttributeFromSpec(this._spec, viewRect);\n }\n\n private _getAbsoluteSpecValue(layoutRect: ILayoutRect) {\n const result: IPadding = { top: null, bottom: null, left: null, right: null };\n ['top', 'bottom', 'left', 'right'].forEach(k => {\n if (!isNil(this._spec[k])) {\n result[k] = calcLayoutNumber(\n this._spec[k],\n k === 'top' || k === 'bottom' ? layoutRect.height : layoutRect.width,\n layoutRect\n );\n }\n });\n return result;\n }\n\n absoluteLayoutInRect(layoutRect: IRect) {\n const { top, bottom, left, right } = this._getAbsoluteSpecValue(layoutRect);\n\n // size first\n const layoutSize = {\n width: layoutRect.width - this.layoutPaddingLeft - this.layoutPaddingRight,\n height: layoutRect.height - this.layoutPaddingTop - this.layoutPaddingBottom\n };\n if (!isNil(left)) {\n layoutSize.width -= left;\n }\n if (!isNil(right)) {\n layoutSize.width -= right;\n }\n if (!isNil(top)) {\n layoutSize.height -= top;\n }\n if (!isNil(bottom)) {\n layoutSize.height -= bottom;\n }\n\n this.setLayoutRect(layoutSize);\n const { width, height } = this.computeBoundsInRect(this.getLayoutRect());\n this.setLayoutRect({ width, height });\n const pos = { x: layoutRect.x, y: layoutRect.y };\n if (this._spec.center === true) {\n pos.x = layoutRect.x + layoutRect.width * 0.5 - width * 0.5;\n pos.y = layoutRect.y + layoutRect.height * 0.5 - height * 0.5;\n } else {\n if (!isNil(left)) {\n pos.x = layoutRect.x + left + this.layoutPaddingLeft;\n } else if (!isNil(right)) {\n pos.x = layoutRect.x + layoutRect.width - this.layoutPaddingRight - right - width;\n }\n if (!isNil(top)) {\n pos.y = layoutRect.y + top + this.layoutPaddingTop;\n } else if (!isNil(bottom)) {\n pos.y = layoutRect.y + layoutRect.height - this.layoutPaddingBottom - bottom - height;\n }\n }\n\n this.setLayoutStartPosition(pos);\n }\n\n setLayoutStartPosition({ x, y }: Partial<IPoint>): void {\n if (isValidNumber(x)) {\n this._layoutStartPoint.x = x;\n }\n if (isValidNumber(y)) {\n this._layoutStartPoint.y = y;\n }\n }\n\n setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) {\n if (isValidNumber(width) && (levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.width) {\n this._layoutRect.width = width;\n this._layoutRectLevelMap.width = levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n if (isValidNumber(height) && (levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.height) {\n this._layoutRect.height = height;\n this._layoutRectLevelMap.height = levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n this._setRectInSpec(this._layoutRect);\n }\n\n mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect {\n const rect = { width, height };\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.width = this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.height = this._layoutRect.height;\n }\n return rect;\n }\n\n getOrientPosAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'x' : 'y';\n }\n getOrientSizeAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'width' : 'height';\n }\n\n protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike {\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.x2 = bounds.x1 + this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.y2 = bounds.y1 + this._layoutRect.height;\n }\n bounds.x1 -= this._layoutStartPoint.x;\n bounds.x2 -= this._layoutStartPoint.x;\n bounds.y1 -= this._layoutStartPoint.y;\n bounds.y2 -= this._layoutStartPoint.y;\n return bounds;\n }\n\n protected _setRectInSpec(rect: ILayoutRect) {\n const result = { ...rect };\n if (this._layoutRectLevelMap.width < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minWidth)) {\n result.width = Math.max(result.width, this._minWidth);\n }\n if (!isNil(this._maxWidth)) {\n result.width = Math.min(result.width, this._maxWidth);\n }\n } else {\n result.width = this._layoutRect.width;\n }\n\n if (this._layoutRectLevelMap.height < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minHeight)) {\n result.height = Math.max(result.height, this._minHeight);\n }\n if (!isNil(this._maxHeight)) {\n result.height = Math.min(result.height, this._maxHeight);\n }\n } else {\n result.height = this._layoutRect.height;\n }\n return result;\n }\n\n computeBoundsInRect(rect: ILayoutRect): ILayoutRect {\n // 保留布局使用的rect\n this._lastComputeRect = rect;\n // 将布局空间限制到 spec 设置内\n // 避免操作到元素本身的 aabbbounds\n const bounds = { ...this.boundsInRect(this._setRectInSpec(rect), rect) };\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n this.changeBoundsBySetting(bounds);\n // 保留当前模块的布局超出内容,用来处理自动缩进\n if (this._autoIndent) {\n this._lastComputeOutBounds.x1 = Math.ceil(-bounds.x1);\n this._lastComputeOutBounds.x2 = Math.ceil(bounds.x2 - rect.width);\n this._lastComputeOutBounds.y1 = Math.ceil(-bounds.y1);\n this._lastComputeOutBounds.y2 = Math.ceil(bounds.y2 - rect.height);\n }\n // 返回的布局大小也要限制到 spec 设置内\n return this._setRectInSpec(boundsInRect(bounds, rect));\n }\n\n /**\n * 实际bounds预计算方法\n * 需要在布局方法中更新 _lastComputeBounds\n * @param rect 布局最终使用的rect\n * @param fullSpace 布局可以使用的空间,用与部分模块的 position 计算\n */\n boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): IBoundsLike {\n return { x1: 0, y1: 0, x2: rect.width, y2: rect.height };\n }\n\n updateLayoutAttribute(): void {\n // do nothing\n }\n\n compile(): void {\n // do nothing\n }\n}\n"]}
@@ -8,7 +8,6 @@ export interface ITooltipHelper {
8
8
  activeType: TooltipActiveType[];
9
9
  activeTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;
10
10
  ignoreTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;
11
- getDefaultShapeType: () => string;
12
11
  updateTooltipSpec: () => void;
13
12
  }
14
13
  export declare abstract class BaseTooltipHelper implements ITooltipHelper {
@@ -22,6 +21,5 @@ export declare abstract class BaseTooltipHelper implements ITooltipHelper {
22
21
  mark: Set<TooltipTrigger>;
23
22
  dimension: Set<TooltipTrigger>;
24
23
  };
25
- getDefaultShapeType(): string;
26
24
  abstract updateTooltipSpec(): void;
27
25
  }
@@ -8,8 +8,5 @@ export class BaseTooltipHelper {
8
8
  dimension: new Set
9
9
  };
10
10
  }
11
- getDefaultShapeType() {
12
- return "circle";
13
- }
14
11
  }
15
12
  //# sourceMappingURL=tooltip-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAgB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;IAOJ,CAAC;IALC,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;CAGF","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n\n /** 默认tooltip shape type */\n getDefaultShapeType: () => string;\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n\n getDefaultShapeType(): string {\n return 'circle';\n }\n\n abstract updateTooltipSpec(): void;\n}\n"]}
1
+ {"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAgB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;IAGJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n\n abstract updateTooltipSpec(): void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/axis-sync-plugin/axis-sync.ts"],"names":[],"mappings":"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","file":"axis-sync.js","sourcesContent":["import { ChartEvent } from './../../../constant/event';\nimport { zeroAlign } from './zero-align-transform';\nimport { BasicComponentPlugin } from '../basic-plugin';\nimport type { IComponentPlugin, IComponentPluginService } from '../interface';\nimport type { CartesianAxis, ILinearAxisSync } from '../../../component/axis/cartesian';\nimport { isContinuous } from '@visactor/vscale';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { tickAlign } from './tick-align-transform';\n\nexport class AxisSyncPlugin extends BasicComponentPlugin implements IComponentPlugin {\n Name: string = 'AxisSyncPlugin';\n\n constructor() {\n super(AxisSyncPlugin.Name);\n }\n\n protected _checkEnableSync(axis: CartesianAxis): ILinearAxisSync | false {\n if (!isContinuous(axis.getScale().type)) {\n return false;\n }\n const sync = axis.getSpec().sync as ILinearAxisSync;\n if (!sync?.axisId) {\n return false;\n }\n return sync;\n }\n\n private _getTargetAxis(axis: CartesianAxis, sync: ILinearAxisSync) {\n const targetAxis = axis.getOption().getChart().getComponentByUserId(sync.axisId) as CartesianAxis;\n if (!targetAxis?.type.startsWith('cartesianAxis')) {\n return null;\n }\n return targetAxis;\n }\n\n onInit(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n if (!sync.zeroAlign) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n // because of if the to axes bind in same region, the region will update them both in the data update.\n axis.event.on(ChartEvent.scaleDomainUpdate, { filter: ({ model }) => model.id === axis.id }, () => {\n zeroAlign(targetAxis, axis);\n });\n }\n\n onDidCompile(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n if (sync.tickAlign) {\n registerDataSetInstanceTransform(axis.getOption().dataSet, 'tickAlign', tickAlign);\n const opt = {\n targetAxis: () => targetAxis,\n currentAxis: () => axis\n };\n // only make this one follow target\n axis.addTransformToTickData({ type: 'tickAlign', options: opt, level: Number.MAX_SAFE_INTEGER }, false);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/axis-sync-plugin/axis-sync.ts"],"names":[],"mappings":"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","file":"axis-sync.js","sourcesContent":["import { ChartEvent } from './../../../constant/event';\nimport { zeroAlign } from './zero-align-transform';\nimport { BasicComponentPlugin } from '../basic-plugin';\nimport type { IComponentPlugin, IComponentPluginService } from '../interface';\nimport type { CartesianAxis, ICartesianLinearAxisSpec, ILinearAxisSync } from '../../../component/axis/cartesian';\nimport { isContinuous } from '@visactor/vscale';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { tickAlign } from './tick-align-transform';\n\nexport class AxisSyncPlugin extends BasicComponentPlugin implements IComponentPlugin {\n Name: string = 'AxisSyncPlugin';\n\n constructor() {\n super(AxisSyncPlugin.Name);\n }\n\n protected _checkEnableSync(axis: CartesianAxis): ILinearAxisSync | false {\n if (!isContinuous(axis.getScale().type)) {\n return false;\n }\n const sync = (axis.getSpec() as ICartesianLinearAxisSpec).sync as ILinearAxisSync;\n if (!sync?.axisId) {\n return false;\n }\n return sync;\n }\n\n private _getTargetAxis(axis: CartesianAxis, sync: ILinearAxisSync) {\n const targetAxis = axis.getOption().getChart().getComponentByUserId(sync.axisId) as CartesianAxis;\n if (!targetAxis?.type.startsWith('cartesianAxis')) {\n return null;\n }\n return targetAxis;\n }\n\n onInit(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n if (!sync.zeroAlign) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n // because of if the to axes bind in same region, the region will update them both in the data update.\n axis.event.on(ChartEvent.scaleDomainUpdate, { filter: ({ model }) => model.id === axis.id }, () => {\n zeroAlign(targetAxis, axis);\n });\n }\n\n onDidCompile(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n if (sync.tickAlign) {\n registerDataSetInstanceTransform(axis.getOption().dataSet, 'tickAlign', tickAlign);\n const opt = {\n targetAxis: () => targetAxis,\n currentAxis: () => axis\n };\n // only make this one follow target\n axis.addTransformToTickData({ type: 'tickAlign', options: opt, level: Number.MAX_SAFE_INTEGER }, false);\n }\n }\n}\n"]}
@@ -1,7 +1,5 @@
1
- import { AxisLabelOverlapPlugin } from './axis-label-overlap-plugin';
2
1
  import { AxisSyncPlugin } from './axis-sync-plugin/';
3
2
  declare const _default: {
4
- AxisLabelOverlapPlugin: typeof AxisLabelOverlapPlugin;
5
3
  AxisSyncPlugin: typeof AxisSyncPlugin;
6
4
  };
7
5
  export default _default;
@@ -1,9 +1,6 @@
1
- import { AxisLabelOverlapPlugin } from "./axis-label-overlap-plugin";
2
-
3
1
  import { AxisSyncPlugin } from "./axis-sync-plugin/";
4
2
 
5
3
  export default {
6
- AxisLabelOverlapPlugin: AxisLabelOverlapPlugin,
7
4
  AxisSyncPlugin: AxisSyncPlugin
8
5
  };
9
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe;IACb,sBAAsB;IACtB,cAAc;CACf,CAAC","file":"index.js","sourcesContent":["import { AxisLabelOverlapPlugin } from './axis-label-overlap-plugin';\nimport { AxisSyncPlugin } from './axis-sync-plugin/';\n\nexport default {\n AxisLabelOverlapPlugin,\n AxisSyncPlugin\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe;IACb,cAAc;CACf,CAAC","file":"index.js","sourcesContent":["import { AxisSyncPlugin } from './axis-sync-plugin/';\n\nexport default {\n AxisSyncPlugin\n};\n"]}
@@ -9,7 +9,7 @@ import type { IInteraction, ITrigger } from '../interaction/interface';
9
9
  import type { IRectMark } from '../mark/rect';
10
10
  import type { IAnimate } from '../animation/interface';
11
11
  import type { StringOrNumber } from '../typings';
12
- export declare class Region extends BaseModel implements IRegion {
12
+ export declare class Region<T extends IRegionSpec = IRegionSpec> extends BaseModel<T> implements IRegion {
13
13
  static type: string;
14
14
  readonly modelType: string;
15
15
  type: string;
@@ -23,8 +23,7 @@ export declare class Region extends BaseModel implements IRegion {
23
23
  protected _backgroundMark?: IRectMark;
24
24
  protected _foregroundMark?: IRectMark;
25
25
  protected _trigger: ITrigger;
26
- protected _spec: IRegionSpec;
27
- constructor(spec: IRegionSpec, ctx: IModelOption);
26
+ constructor(spec: T, ctx: IModelOption);
28
27
  protected _getClipDefaultValue(): boolean;
29
28
  created(): void;
30
29
  init(option: any): void;
@@ -34,6 +33,7 @@ export declare class Region extends BaseModel implements IRegion {
34
33
  updateSpec(spec: any): {
35
34
  change: boolean;
36
35
  reMake: boolean;
36
+ reMakeData: boolean;
37
37
  reRender: boolean;
38
38
  reSize: boolean;
39
39
  reCompile: boolean;