@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
@@ -2,6 +2,8 @@ import type { IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../../typ
2
2
  import type { DiscreteLegendAttrs, LegendItemDatum, LegendItem } from '@visactor/vrender-components';
3
3
  import type { ILegendCommonSpec, NoVisibleMarkStyle } from '../interface';
4
4
  import type { StringOrNumber } from '../../../typings';
5
+ import type { IBaseScale } from '@visactor/vscale';
6
+ import type { IGlobalScale } from '../../../scale/interface';
5
7
  export type formatterCallback = (text: StringOrNumber, item: LegendItemDatum, index: number) => any;
6
8
  export type LegendItemStyleValue<T> = T | ((item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) => T);
7
9
  export type LegendItemStyle<T> = {
@@ -50,7 +52,7 @@ export type IPager = {
50
52
  } & Omit<DiscreteLegendAttrs['pager'], 'textStyle' | 'handler'>;
51
53
  export type IDiscreteLegendSpec = ILegendCommonSpec & {
52
54
  type?: 'discrete';
53
- data?: (data: LegendItemDatum[]) => LegendItemDatum[];
55
+ data?: (data: LegendItemDatum[], colorScale: IBaseScale, globalScale: IGlobalScale) => LegendItemDatum[];
54
56
  item?: IItem;
55
57
  pager?: IPager;
56
58
  scaleName?: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/discrete/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../../typings/visual';\nimport type { DiscreteLegendAttrs, LegendItemDatum, LegendItem } from '@visactor/vrender-components';\nimport type { ILegendCommonSpec, NoVisibleMarkStyle } from '../interface';\nimport type { StringOrNumber } from '../../../typings';\n\nexport type formatterCallback = (text: StringOrNumber, item: LegendItemDatum, index: number) => any;\nexport type LegendItemStyleValue<T> =\n | T\n | ((item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) => T);\nexport type LegendItemStyle<T> = {\n /**\n * 样式配置\n */\n style?: T;\n /**\n * 状态样式配置\n */\n state?: {\n /**\n * 选中态\n */\n selected?: T;\n /**\n * 非选中态\n */\n unSelected?: T;\n /**\n * 选中态 hover\n */\n selectedHover?: T;\n /**\n * 非选中态 hover\n */\n unSelectedHover?: T;\n };\n};\n\nexport type IItem = {\n /**\n * 图例项背景配置\n */\n background?: {\n /**\n * 是否展示图例项背景\n */\n visible?: boolean;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<IRectMarkSpec>>>;\n /**\n * 图例项的 shape 图标的配置\n */\n shape?: {\n /**\n * 图例项的 shape 图标\n */\n visible?: boolean;\n /** shape 同后面 label 的间距 */\n space?: number;\n } & LegendItemStyle<LegendItemStyleValue<Partial<NoVisibleMarkStyle<ISymbolMarkSpec>>>>;\n /**\n * 图例项的 label 文本配置\n */\n label?: {\n /**\n * 图例项 label 同后面 value 的间距\n */\n space?: number;\n /**\n * 格式化文本函数\n */\n formatMethod?: formatterCallback;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;\n /**\n * 图例项 value 配置\n */\n value?: {\n /** value 同后面元素的间距 */\n space?: number;\n /**\n * 是否右对齐显示,仅当设置图例项宽度 itemWidth 时生效\n * 默认为 false,\n */\n alignRight?: boolean;\n /**\n * 格式化文本函数\n */\n formatMethod?: formatterCallback;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;\n /**\n * 聚焦按钮配置\n */\n focusIconStyle?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n /**\n * 图例项的最大宽度,默认为 null。\n * 可使用百分比,表示显示区域的宽度占比。\n */\n maxWidth?: number | string;\n /**\n * 图例项的宽度, 默认自动计算。\n * 可使用百分比,表示显示区域的宽度占比。\n */\n width?: number | string;\n /**\n * 图例的高度,默认自动计算。\n * 可使用百分比,表示显示区域的高度占比。\n */\n height?: number | string;\n} & Omit<LegendItem, 'background' | 'shape' | 'label' | 'value' | 'focusIconStyle' | 'width' | 'height' | 'maxWidth'>;\n\nexport type IPager = {\n /**\n * 文本样式配置\n */\n textStyle?: Partial<NoVisibleMarkStyle<ITextMarkSpec>>;\n handler?: {\n /**\n * 按钮同文本内容区的间距,默认为 8\n */\n space?: number;\n /**\n * 上一页按钮形状\n */\n preShape?: string;\n /**\n * 下一页按钮形状\n */\n nextShape?: string;\n style?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n state?: {\n /**\n * hover 状态下的样式\n */\n hover?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n /**\n * 不可用状态样式\n */\n disable?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n };\n };\n} & Omit<DiscreteLegendAttrs['pager'], 'textStyle' | 'handler'>;\n\n/** spec */\nexport type IDiscreteLegendSpec = ILegendCommonSpec & {\n type?: 'discrete';\n /**\n * 在原始图例绘制数据的基础上,进行自定义,比如可以自定义 value 值\n * @param data 图例的绘制数据\n * @returns\n */\n data?: (data: LegendItemDatum[]) => LegendItemDatum[];\n\n /** 图例项配置 */\n item?: IItem;\n\n /**\n * 翻页器配置\n */\n pager?: IPager;\n\n /**\n * scaleName must match the id of the scale configured in **scales**\n */\n scaleName?: string;\n /**\n * After the legend is bound to the scale, the dimension associated with the series data and the legend can be configured through field.\n * If the field is not configured, the first item of fields in the domain of scale is used by default\n * If the domain of the scale is not dependent on data statistics, series.getSeriesField() is used by default\n */\n field?: string;\n} & Omit<DiscreteLegendAttrs, 'layout' | 'title' | 'items' | 'item' | 'pager'>;\n\n// theme 主题相关配置\nexport type IDiscreteLegendTheme = Omit<\n IDiscreteLegendSpec,\n 'type' | 'data' | 'regionIndex' | 'regionId' | 'seriesIndex' | 'seriesId' | 'id' | 'defaultSelected'\n>;\n"]}
1
+ {"version":3,"sources":["../src/component/legend/discrete/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../../typings/visual';\nimport type { DiscreteLegendAttrs, LegendItemDatum, LegendItem } from '@visactor/vrender-components';\nimport type { ILegendCommonSpec, NoVisibleMarkStyle } from '../interface';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IGlobalScale } from '../../../scale/interface';\n\nexport type formatterCallback = (text: StringOrNumber, item: LegendItemDatum, index: number) => any;\nexport type LegendItemStyleValue<T> =\n | T\n | ((item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) => T);\nexport type LegendItemStyle<T> = {\n /**\n * 样式配置\n */\n style?: T;\n /**\n * 状态样式配置\n */\n state?: {\n /**\n * 选中态\n */\n selected?: T;\n /**\n * 非选中态\n */\n unSelected?: T;\n /**\n * 选中态 hover\n */\n selectedHover?: T;\n /**\n * 非选中态 hover\n */\n unSelectedHover?: T;\n };\n};\n\nexport type IItem = {\n /**\n * 图例项背景配置\n */\n background?: {\n /**\n * 是否展示图例项背景\n */\n visible?: boolean;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<IRectMarkSpec>>>;\n /**\n * 图例项的 shape 图标的配置\n */\n shape?: {\n /**\n * 图例项的 shape 图标\n */\n visible?: boolean;\n /** shape 同后面 label 的间距 */\n space?: number;\n } & LegendItemStyle<LegendItemStyleValue<Partial<NoVisibleMarkStyle<ISymbolMarkSpec>>>>;\n /**\n * 图例项的 label 文本配置\n */\n label?: {\n /**\n * 图例项 label 同后面 value 的间距\n */\n space?: number;\n /**\n * 格式化文本函数\n */\n formatMethod?: formatterCallback;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;\n /**\n * 图例项 value 配置\n */\n value?: {\n /** value 同后面元素的间距 */\n space?: number;\n /**\n * 是否右对齐显示,仅当设置图例项宽度 itemWidth 时生效\n * 默认为 false,\n */\n alignRight?: boolean;\n /**\n * 格式化文本函数\n */\n formatMethod?: formatterCallback;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;\n /**\n * 聚焦按钮配置\n */\n focusIconStyle?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n /**\n * 图例项的最大宽度,默认为 null。\n * 可使用百分比,表示显示区域的宽度占比。\n */\n maxWidth?: number | string;\n /**\n * 图例项的宽度, 默认自动计算。\n * 可使用百分比,表示显示区域的宽度占比。\n */\n width?: number | string;\n /**\n * 图例的高度,默认自动计算。\n * 可使用百分比,表示显示区域的高度占比。\n */\n height?: number | string;\n} & Omit<LegendItem, 'background' | 'shape' | 'label' | 'value' | 'focusIconStyle' | 'width' | 'height' | 'maxWidth'>;\n\nexport type IPager = {\n /**\n * 文本样式配置\n */\n textStyle?: Partial<NoVisibleMarkStyle<ITextMarkSpec>>;\n handler?: {\n /**\n * 按钮同文本内容区的间距,默认为 8\n */\n space?: number;\n /**\n * 上一页按钮形状\n */\n preShape?: string;\n /**\n * 下一页按钮形状\n */\n nextShape?: string;\n style?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n state?: {\n /**\n * hover 状态下的样式\n */\n hover?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n /**\n * 不可用状态样式\n */\n disable?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n };\n };\n} & Omit<DiscreteLegendAttrs['pager'], 'textStyle' | 'handler'>;\n\n/** spec */\nexport type IDiscreteLegendSpec = ILegendCommonSpec & {\n type?: 'discrete';\n /**\n * 在原始图例绘制数据的基础上,进行自定义,比如可以自定义 value 值\n * @param data 图例的绘制数据\n * @param colorScale 全局颜色映射 scale\n * @param globalScale 图表上所有的 scale\n * @returns\n */\n data?: (data: LegendItemDatum[], colorScale: IBaseScale, globalScale: IGlobalScale) => LegendItemDatum[];\n\n /** 图例项配置 */\n item?: IItem;\n\n /**\n * 翻页器配置\n */\n pager?: IPager;\n\n /**\n * scaleName must match the id of the scale configured in **scales**\n */\n scaleName?: string;\n /**\n * After the legend is bound to the scale, the dimension associated with the series data and the legend can be configured through field.\n * If the field is not configured, the first item of fields in the domain of scale is used by default\n * If the domain of the scale is not dependent on data statistics, series.getSeriesField() is used by default\n */\n field?: string;\n} & Omit<DiscreteLegendAttrs, 'layout' | 'title' | 'items' | 'item' | 'pager'>;\n\n// theme 主题相关配置\nexport type IDiscreteLegendTheme = Omit<\n IDiscreteLegendSpec,\n 'type' | 'data' | 'regionIndex' | 'regionId' | 'seriesIndex' | 'seriesId' | 'id' | 'defaultSelected'\n>;\n"]}
@@ -7,11 +7,10 @@ import { ComponentTypeEnum } from '../../interface';
7
7
  import { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';
8
8
  import type { ILegend } from '../interface';
9
9
  import { BaseLegend } from '../base-legend';
10
- export declare class DiscreteLegend extends BaseLegend {
10
+ export declare class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {
11
11
  static type: ComponentTypeEnum;
12
12
  type: ComponentTypeEnum;
13
13
  name: string;
14
- protected _spec: IDiscreteLegendSpec;
15
14
  protected _theme: IDiscreteLegendTheme;
16
15
  static createComponent(spec: any, options: IComponentOption): DiscreteLegend | ILegend[];
17
16
  init(option: IModelInitOption): void;
@@ -132,7 +132,7 @@ export class DiscreteLegend extends BaseLegend {
132
132
  _getLegendItems() {
133
133
  const originData = (this._legendData.getLatestData() || []).map((datum => {
134
134
  var _a;
135
- const fill = datum.style("fill"), stroke = datum.style("stroke"), lineWidth = datum.style("lineWidth"), symbolType = datum.style("symbolType"), fillOpacity = datum.style("fillOpacity"), strokeOpacity = datum.style("strokeOpacity"), opacity = datum.style("opacity"), texture = datum.style("texture"), textureColor = datum.style("textureColor"), outerBorder = datum.style("outerBorder"), innerBorder = datum.style("innerBorder");
135
+ const fill = datum.style("fill") || datum.style("stroke"), stroke = datum.style("stroke"), lineWidth = datum.style("lineWidth"), symbolType = datum.style("symbolType"), fillOpacity = datum.style("fillOpacity"), strokeOpacity = datum.style("strokeOpacity"), opacity = datum.style("opacity"), texture = datum.style("texture"), textureColor = datum.style("textureColor"), outerBorder = datum.style("outerBorder"), innerBorder = datum.style("innerBorder");
136
136
  return {
137
137
  label: datum.key,
138
138
  shape: {
@@ -151,7 +151,7 @@ export class DiscreteLegend extends BaseLegend {
151
151
  }
152
152
  };
153
153
  }));
154
- return isFunction(this._spec.data) ? this._spec.data(originData) : originData;
154
+ return isFunction(this._spec.data) ? this._spec.data(originData, this._option.globalScale.getScale("color"), this._option.globalScale) : originData;
155
155
  }
156
156
  }
157
157
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import { isFunction, isNil, isValidNumber } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec, IDiscreteLegendTheme } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { isArray, eachSeries, get, getFieldAlias, isDataDomainSpec } from '../../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport type { ILegend } from '../interface';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\n\nexport class DiscreteLegend extends BaseLegend {\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n protected declare _spec: IDiscreteLegendSpec;\n protected declare _theme: IDiscreteLegendTheme;\n\n static createComponent(spec: any, options: IComponentOption) {\n const legendSpec = spec.legends || options.defaultSpec;\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (!legendSpec.type || legendSpec.type === 'discrete') {\n return new DiscreteLegend(legendSpec, {\n ...options,\n specIndex: 0,\n specKey: 'legends'\n });\n }\n return undefined;\n }\n const legends: ILegend[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (!s.type || s.type === 'discrete') {\n legends.push(new DiscreteLegend(s, { ...options, specIndex: i, specKey: 'legends' }));\n }\n });\n return legends;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => this._getSeriesLegendField(s),\n data: () => this._legendData.getLatestData().map((obj: any) => obj.key)\n }\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet);\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n return this._regions.reduce((pre, r) => {\n pre.push(...r.getSeries());\n return pre;\n }, [] as ISeries[]);\n },\n seriesField: (s: ISeries) => this._getSeriesLegendField(s)\n }\n });\n\n return legendData;\n }\n\n protected _getSeriesLegendField(s: ISeries) {\n const defaultField = s.getSeriesField();\n if (!this._spec.scaleName) {\n return defaultField;\n }\n if (!s.getRawData()) {\n return defaultField;\n }\n const scaleSpec = this._option.globalScale.getScaleSpec(this._spec.scaleName);\n if (!scaleSpec) {\n return defaultField;\n }\n if (this._spec.field) {\n return this._spec.field;\n }\n if (!isDataDomainSpec(scaleSpec.domain)) {\n return defaultField;\n }\n const seriesData = scaleSpec.domain.find(d => d.dataId === s.getRawData().name);\n if (!seriesData) {\n return defaultField;\n }\n return seriesData.fields?.[0] ?? defaultField;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._legendData.getLatestData().map((d: any) => d.key);\n }\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n maxWidth: rect.width,\n maxHeight: rect.height,\n ...getLegendAttributes(this._spec, rect)\n };\n this._addDefaultTitleText(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fill = datum.style('fill');\n const stroke = datum.style('stroke');\n const lineWidth = datum.style('lineWidth');\n const symbolType = datum.style('symbolType');\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n const textureColor = datum.style('textureColor');\n const outerBorder = datum.style('outerBorder');\n const innerBorder = datum.style('innerBorder');\n\n return {\n label: datum.key,\n shape: {\n fill,\n symbolType: symbolType ?? datum.shapeType ?? 'circle',\n stroke: lineWidth === 0 || fill === stroke ? null : stroke,\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texture: texture,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n textureColor,\n innerBorder,\n outerBorder\n }\n };\n });\n return isFunction(this._spec.data) ? this._spec.data(originData) : originData;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import { isFunction, isNil, isValidNumber } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec, IDiscreteLegendTheme } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { isArray, eachSeries, get, getFieldAlias, isDataDomainSpec } from '../../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport type { ILegend } from '../interface';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\n\nexport class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n protected declare _theme: IDiscreteLegendTheme;\n\n static createComponent(spec: any, options: IComponentOption) {\n const legendSpec = spec.legends || options.defaultSpec;\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (!legendSpec.type || legendSpec.type === 'discrete') {\n return new DiscreteLegend(legendSpec, {\n ...options,\n specIndex: 0,\n specKey: 'legends'\n });\n }\n return undefined;\n }\n const legends: ILegend[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (!s.type || s.type === 'discrete') {\n legends.push(new DiscreteLegend(s, { ...options, specIndex: i, specKey: 'legends' }));\n }\n });\n return legends;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => this._getSeriesLegendField(s),\n data: () => this._legendData.getLatestData().map((obj: any) => obj.key)\n }\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet);\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n return this._regions.reduce((pre, r) => {\n pre.push(...r.getSeries());\n return pre;\n }, [] as ISeries[]);\n },\n seriesField: (s: ISeries) => this._getSeriesLegendField(s)\n }\n });\n\n return legendData;\n }\n\n protected _getSeriesLegendField(s: ISeries) {\n const defaultField = s.getSeriesField();\n if (!this._spec.scaleName) {\n return defaultField;\n }\n if (!s.getRawData()) {\n return defaultField;\n }\n const scaleSpec = this._option.globalScale.getScaleSpec(this._spec.scaleName);\n if (!scaleSpec) {\n return defaultField;\n }\n\n // field是只在图例指定了scale的情况下生效\n if (this._spec.field) {\n return this._spec.field;\n }\n\n if (!isDataDomainSpec(scaleSpec.domain)) {\n return defaultField;\n }\n const seriesData = scaleSpec.domain.find(d => d.dataId === s.getRawData().name);\n if (!seriesData) {\n return defaultField;\n }\n return seriesData.fields?.[0] ?? defaultField;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._legendData.getLatestData().map((d: any) => d.key);\n }\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n maxWidth: rect.width,\n maxHeight: rect.height,\n ...getLegendAttributes(this._spec, rect)\n };\n this._addDefaultTitleText(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fill = datum.style('fill') || datum.style('stroke');\n const stroke = datum.style('stroke');\n const lineWidth = datum.style('lineWidth');\n const symbolType = datum.style('symbolType');\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n const textureColor = datum.style('textureColor');\n const outerBorder = datum.style('outerBorder');\n const innerBorder = datum.style('innerBorder');\n\n return {\n label: datum.key,\n shape: {\n fill,\n symbolType: symbolType ?? datum.shapeType ?? 'circle',\n stroke: lineWidth === 0 || fill === stroke ? null : stroke,\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texture: texture,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n textureColor,\n innerBorder,\n outerBorder\n }\n };\n });\n return isFunction(this._spec.data)\n ? this._spec.data(originData, this._option.globalScale.getScale('color'), this._option.globalScale)\n : originData;\n }\n}\n"]}
@@ -8,16 +8,16 @@ var __rest = this && this.__rest || function(s, e) {
8
8
  return t;
9
9
  };
10
10
 
11
- import { isEmpty, isValid, merge } from "@visactor/vutils";
11
+ import { isEmpty, isValid } from "@visactor/vutils";
12
12
 
13
- import { isPercent } from "../../../util";
13
+ import { isPercent, mergeSpec } from "../../../util";
14
14
 
15
15
  import { transformComponentStyle, transformToGraphic } from "../../../util/style";
16
16
 
17
17
  import { transformLegendTitleAttributes } from "../util";
18
18
 
19
19
  export function getLegendAttributes(spec, rect) {
20
- const _a = merge({}, spec), {title: title = {}, item: item = {}, pager: pager = {}, background: background = {}, type: type, id: id, visible: visible, orient: orient, position: position, data: data, filter: filter, regionId: regionId, regionIndex: regionIndex, seriesIndex: seriesIndex, seriesId: seriesId, padding: padding} = _a, attrs = __rest(_a, [ "title", "item", "pager", "background", "type", "id", "visible", "orient", "position", "data", "filter", "regionId", "regionIndex", "seriesIndex", "seriesId", "padding" ]);
20
+ const _a = mergeSpec({}, spec), {title: title = {}, item: item = {}, pager: pager = {}, background: background = {}, type: type, id: id, visible: visible, orient: orient, position: position, data: data, filter: filter, regionId: regionId, regionIndex: regionIndex, seriesIndex: seriesIndex, seriesId: seriesId, padding: padding} = _a, attrs = __rest(_a, [ "title", "item", "pager", "background", "type", "id", "visible", "orient", "position", "data", "filter", "regionId", "regionIndex", "seriesIndex", "seriesId", "padding" ]);
21
21
  return title.visible && (attrs.title = transformLegendTitleAttributes(title)), isEmpty(item.focusIconStyle) || transformToGraphic(item.focusIconStyle),
22
22
  item.shape = transformComponentStyle(item.shape), item.label = transformComponentStyle(item.label),
23
23
  item.value = transformComponentStyle(item.value), item.background = transformComponentStyle(item.background),
@@ -25,7 +25,7 @@ export function getLegendAttributes(spec, rect) {
25
25
  isPercent(item.width) && (item.width = Number(item.width.substring(0, item.width.length - 1)) * rect.width / 100),
26
26
  isPercent(item.height) && (item.height = Number(item.height.substring(0, item.height.length - 1)) * rect.width / 100),
27
27
  attrs.item = item, isEmpty(pager.textStyle) || transformToGraphic(pager.textStyle),
28
- transformComponentStyle(pager.handler), attrs.pager = pager, background.visible && !isEmpty(background.style) && (merge(attrs, background.style),
28
+ transformComponentStyle(pager.handler), attrs.pager = pager, background.visible && !isEmpty(background.style) && (mergeSpec(attrs, background.style),
29
29
  isValid(background.padding) && (attrs.padding = background.padding)), attrs;
30
30
  }
31
31
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid, merge } from '@visactor/vutils';\nimport type { ILayoutRect } from '../../../model/interface';\nimport { isPercent } from '../../../util';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec } from './interface';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = merge({}, spec);\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n item.shape = transformComponentStyle(item.shape);\n item.label = transformComponentStyle(item.label);\n item.value = transformComponentStyle(item.value);\n item.background = transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n // transform pager\n if (!isEmpty(pager.textStyle)) {\n transformToGraphic(pager.textStyle);\n }\n transformComponentStyle(pager.handler);\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n merge(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAGzD,MAAM,UAAU,mBAAmB,CAAC,IAAyB,EAAE,IAAiB;IAC9E,MAAM,KAsBF,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,EAtBjB,EAEJ,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,EAAE,EAGf,IAAI,EACJ,EAAE,EACF,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,OAGc,EADlB,QAAQ,cArBP,0KAsBL,CAAsB,CAAC;IAExB,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAG5B,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,KAAK,CAAC,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;KACrD;IAGD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACjC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACzC;IACD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACnG;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KAC1F;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KAC7F;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAGlB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACrC;IACD,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAEpB,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACpD,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC/B,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;SACpC;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport type { ILayoutRect } from '../../../model/interface';\nimport { isPercent, mergeSpec } from '../../../util';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec } from './interface';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = mergeSpec({}, spec);\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n item.shape = transformComponentStyle(item.shape);\n item.label = transformComponentStyle(item.label);\n item.value = transformComponentStyle(item.value);\n item.background = transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n // transform pager\n if (!isEmpty(pager.textStyle)) {\n transformToGraphic(pager.textStyle);\n }\n transformComponentStyle(pager.handler);\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n mergeSpec(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { LegendTitle } from '@visactor/vrender-components';
2
2
  import type { Datum, IOrientType, IPadding, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec, StringOrNumber } from '../../typings';
3
3
  import type { IComponent } from '../interface';
4
- import type { IModelSpec } from '../../model/interface';
4
+ import type { IComponentSpec } from '../base/interface';
5
5
  export type ILegend = IComponent & {
6
6
  getLegendData: () => Datum[];
7
7
  getSelectedData: () => StringOrNumber[];
@@ -32,8 +32,4 @@ export type ILegendCommonSpec = {
32
32
  padding?: IPadding | number | number[];
33
33
  style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;
34
34
  };
35
- regionIndex?: number | number[];
36
- regionId?: StringOrNumber | StringOrNumber[];
37
- seriesIndex?: number | number[];
38
- seriesId?: StringOrNumber | StringOrNumber[];
39
- } & Omit<IModelSpec, 'orient'>;
35
+ } & Omit<IComponentSpec, 'orient'>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { LegendTitle } from '@visactor/vrender-components';\nimport type {\n Datum,\n IOrientType,\n IPadding,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type ILegend = IComponent & {\n getLegendData: () => Datum[];\n getSelectedData: () => StringOrNumber[];\n setSelectedData: (d: StringOrNumber[]) => void;\n};\n\nexport type NoVisibleMarkStyle<T> = Omit<T, 'visible'>;\n\nexport type ITitle = {\n /** 标题文本样式 */\n textStyle?: NoVisibleMarkStyle<ITextMarkSpec>;\n /**\n * @deprecated 请使用 textStyle 配置文本样式\n */\n style?: NoVisibleMarkStyle<ITextMarkSpec>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<LegendTitle, 'textStyle' | 'style' | 'background'>;\n\n// 图例组件通用配置\nexport type ILegendCommonSpec = {\n /**\n * 是否显示图例\n * @default true\n */\n visible?: boolean;\n /**\n * 图例位置\n * @default 'left'\n */\n orient?: IOrientType;\n /**\n * 图例在当前行列的对齐方式,起始 | 居中 | 末尾\n * @default 'middle'\n */\n position?: 'start' | 'middle' | 'end';\n\n /**\n * 是否进行数据筛选,默认为 true\n */\n filter?: boolean;\n\n /**\n * 图例标题配置\n */\n title?: ITitle;\n\n /**\n * 图例背景配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景内边距\n */\n padding?: IPadding | number | number[];\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n\n /**\n * 图例关联的region索引\n * @default 0\n */\n regionIndex?: number | number[];\n /**\n * 图例关联的region id\n */\n regionId?: StringOrNumber | StringOrNumber[];\n /**\n * 图例关联的系列索引\n */\n seriesIndex?: number | number[];\n /**\n * 图例关联的系列id\n */\n seriesId?: StringOrNumber | StringOrNumber[];\n} & Omit<IModelSpec, 'orient'>;\n"]}
1
+ {"version":3,"sources":["../src/component/legend/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { LegendTitle } from '@visactor/vrender-components';\nimport type {\n Datum,\n IOrientType,\n IPadding,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IComponentSpec } from '../base/interface';\n\nexport type ILegend = IComponent & {\n getLegendData: () => Datum[];\n getSelectedData: () => StringOrNumber[];\n setSelectedData: (d: StringOrNumber[]) => void;\n};\n\nexport type NoVisibleMarkStyle<T> = Omit<T, 'visible'>;\n\nexport type ITitle = {\n /** 标题文本样式 */\n textStyle?: NoVisibleMarkStyle<ITextMarkSpec>;\n /**\n * @deprecated 请使用 textStyle 配置文本样式\n */\n style?: NoVisibleMarkStyle<ITextMarkSpec>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<LegendTitle, 'textStyle' | 'style' | 'background'>;\n\n// 图例组件通用配置\nexport type ILegendCommonSpec = {\n /**\n * 是否显示图例\n * @default true\n */\n visible?: boolean;\n /**\n * 图例位置\n * @default 'left'\n */\n orient?: IOrientType;\n /**\n * 图例在当前行列的对齐方式,起始 | 居中 | 末尾\n * @default 'middle'\n */\n position?: 'start' | 'middle' | 'end';\n\n /**\n * 是否进行数据筛选,默认为 true\n */\n filter?: boolean;\n\n /**\n * 图例标题配置\n */\n title?: ITitle;\n\n /**\n * 图例背景配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景内边距\n */\n padding?: IPadding | number | number[];\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<IComponentSpec, 'orient'>;\n"]}
@@ -1,4 +1,6 @@
1
- import { isEmpty, merge } from "@visactor/vutils";
1
+ import { isEmpty } from "@visactor/vutils";
2
+
3
+ import { mergeSpec } from "../../util";
2
4
 
3
5
  import { transformToGraphic } from "../../util/style";
4
6
 
@@ -6,7 +8,7 @@ export function transformLegendTitleAttributes(title) {
6
8
  var _a, _b;
7
9
  const transformedTitle = Object.assign({}, title);
8
10
  return isEmpty(title.style) || (transformedTitle.textStyle = transformToGraphic(title.style)),
9
- isEmpty(title.textStyle) || merge(transformedTitle.textStyle, transformToGraphic(title.textStyle)),
11
+ isEmpty(title.textStyle) || mergeSpec(transformedTitle.textStyle, transformToGraphic(title.textStyle)),
10
12
  (null === (_a = title.shape) || void 0 === _a ? void 0 : _a.style) && transformToGraphic(transformedTitle.shape.style),
11
13
  (null === (_b = title.background) || void 0 === _b ? void 0 : _b.style) && transformToGraphic(transformedTitle.background.style),
12
14
  transformedTitle;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KACxE;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAOD,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AACvF,CAAC","file":"util.js","sourcesContent":["import type { ILegendCommonSpec, ITitle } from './interface';\nimport { isEmpty, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n merge(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n\n/**\n * 根据图例 spec.orient 参数判断是水平还是垂直布局\n * @param spec\n * @returns\n */\nexport function getLayout(spec: ILegendCommonSpec) {\n return spec.orient === 'bottom' || spec.orient === 'top' ? 'horizontal' : 'vertical';\n}\n"]}
1
+ {"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5E;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAOD,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AACvF,CAAC","file":"util.js","sourcesContent":["import type { ILegendCommonSpec, ITitle } from './interface';\nimport { isEmpty } from '@visactor/vutils';\nimport { mergeSpec } from '../../util';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n mergeSpec(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n\n/**\n * 根据图例 spec.orient 参数判断是水平还是垂直布局\n * @param spec\n * @returns\n */\nexport function getLayout(spec: ILegendCommonSpec) {\n return spec.orient === 'bottom' || spec.orient === 'top' ? 'horizontal' : 'vertical';\n}\n"]}
@@ -10,7 +10,7 @@ import type { IPairInfo } from './layout';
10
10
  import type { LayoutItem } from '../../model/layout-item';
11
11
  import { MarkPoint } from '@visactor/vrender-components';
12
12
  import type { PanEventParam, ZoomEventParam } from '../../event/interface';
13
- export declare class MapLabelComponent extends BaseComponent {
13
+ export declare class MapLabelComponent extends BaseComponent<IMapLabelSpec> {
14
14
  static type: ComponentTypeEnum;
15
15
  type: ComponentTypeEnum;
16
16
  name: string;
@@ -25,7 +25,6 @@ export declare class MapLabelComponent extends BaseComponent {
25
25
  protected _latitudeField: string;
26
26
  protected _markerComponents: MarkPoint[];
27
27
  private _activeDatum;
28
- _spec: IMapLabelSpec;
29
28
  static createComponent(spec: any, options: IComponentOption): MapLabelComponent;
30
29
  setAttrFromSpec(): void;
31
30
  created(): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport { merge } from '../../util/object';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\n\nexport class MapLabelComponent extends BaseComponent {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n declare _spec: IMapLabelSpec;\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender';\n// eslint-disable-next-line no-duplicate-imports\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n}\n"]}
@@ -5,8 +5,8 @@ import type { IRegion } from '../../region/interface';
5
5
  import type { ICartesianSeries } from '../../series/interface';
6
6
  import type { StringOrNumber } from '../../typings';
7
7
  import { BaseComponent } from '../base';
8
- import type { IAggrType, IDataPos, IDataPosCallback } from './interface';
9
- export declare abstract class BaseMarker extends BaseComponent {
8
+ import type { IAggrType, IDataPos, IDataPosCallback, IMarkerAxisSpec, IMarkerSpec } from './interface';
9
+ export declare abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec> extends BaseComponent<T> {
10
10
  layoutType: LayoutItem['layoutType'];
11
11
  protected _startRelativeSeries: ICartesianSeries;
12
12
  protected _endRelativeSeries: ICartesianSeries;
@@ -35,6 +35,12 @@ export declare abstract class BaseMarker extends BaseComponent {
35
35
  updateLayoutAttribute(): void;
36
36
  protected _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number): ICartesianSeries;
37
37
  protected _bindSeries(): void;
38
+ protected _computeClipRange(regions: IRegion[]): {
39
+ minX: number;
40
+ maxX: number;
41
+ minY: number;
42
+ maxY: number;
43
+ };
38
44
  protected abstract _initDataView(): void;
39
45
  protected abstract _createMarkerComponent(): void;
40
46
  protected abstract _markerLayout(): void;
@@ -76,6 +76,20 @@ export class BaseMarker extends BaseComponent {
76
76
  this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex),
77
77
  this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);
78
78
  }
79
+ _computeClipRange(regions) {
80
+ let minX = 1 / 0, maxX = -1 / 0, minY = 1 / 0, maxY = -1 / 0;
81
+ return regions.forEach((region => {
82
+ region.getLayoutStartPoint().x < minX && (minX = region.getLayoutStartPoint().x),
83
+ region.getLayoutStartPoint().x + region.getLayoutRect().width > maxX && (maxX = region.getLayoutStartPoint().x + region.getLayoutRect().width),
84
+ region.getLayoutStartPoint().y < minY && (minY = region.getLayoutStartPoint().y),
85
+ region.getLayoutStartPoint().y + region.getLayoutRect().height > maxY && (maxY = region.getLayoutStartPoint().y + region.getLayoutRect().height);
86
+ })), {
87
+ minX: minX,
88
+ maxX: maxX,
89
+ minY: minY,
90
+ maxY: maxY
91
+ };
92
+ }
79
93
  initEvent() {}
80
94
  onRender(ctx) {}
81
95
  changeRegions(regions) {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { array, isFunction, merge } from '@visactor/vutils';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IOptionAggr } from '../../data/transforms/aggregation';\nimport type { IOptionRegr } from '../../data/transforms/regression';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IAggrType, IDataPointSpec, IDataPos, IDataPosCallback } from './interface';\nimport type { IRegressType } from './mark-area/interface';\nimport type { INode } from '@visactor/vrender';\n\nexport abstract class BaseMarker extends BaseComponent {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n protected _startRelativeSeries!: ICartesianSeries;\n protected _endRelativeSeries!: ICartesianSeries;\n protected _relativeSeries!: ICartesianSeries;\n\n // marker 组件数据\n protected _markerData!: DataView;\n // marker 组件\n protected _markerComponent!: any;\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindSeries();\n this._initDataView();\n }\n\n private _isSpecAggrOrRege(spec: IDataPos) {\n return spec === 'regression' || AGGR_TYPE.includes(spec as any);\n }\n\n protected _processSpecX(specX: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (isFunction(specX)) {\n specX = specX(\n this._relativeSeries.getData().getLatestData(),\n this._startRelativeSeries.getData().getLatestData(),\n this._endRelativeSeries.getData().getLatestData()\n );\n }\n if (this._isSpecAggrOrRege(specX)) {\n processType = specX as unknown as IAggrType;\n return {\n x: {\n field: relativeSeries.getSpec().xField,\n aggrType: processType\n }\n };\n }\n return { x: specX };\n }\n\n protected _processSpecY(specY: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (isFunction(specY)) {\n specY = specY(\n this._relativeSeries.getData().getLatestData(),\n this._startRelativeSeries.getData().getLatestData(),\n this._endRelativeSeries.getData().getLatestData()\n );\n }\n if (this._isSpecAggrOrRege(specY)) {\n processType = specY as unknown as IAggrType;\n return {\n y: {\n field: relativeSeries.getSpec().yField,\n aggrType: processType\n }\n };\n }\n return { y: specY };\n }\n\n protected _processSpecCoo(spec: any) {\n const coordinates = spec.coordinates ?? array(spec.coordinate);\n return coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = this._getSeriesByIdOrIndex(\n coordinate.refRelativeSeriesId,\n coordinate.refRelativeSeriesIndex\n );\n\n const { xField, yField } = refRelativeSeries.getSpec();\n const { [xField]: coordinateX, [yField]: coordinateY } = coordinate;\n const option: IOptionAggr | IOptionRegr = { x: null, y: null };\n if (this._isSpecAggrOrRege(coordinateX)) {\n option.x = { field: xField, aggrType: coordinateX as IAggrType };\n } else {\n option.x = coordinateX;\n }\n\n if (this._isSpecAggrOrRege(coordinateY)) {\n option.y = { field: yField, aggrType: coordinateY as IAggrType };\n } else {\n option.y = coordinateY;\n }\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n this._createMarkerComponent();\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._markerComponent as unknown as INode, event, type)\n );\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: ICartesianSeries;\n series = this._option.getSeriesInUserIdOrIndex(array(seriesUserId), [seriesIndex])?.[0] as ICartesianSeries;\n if (!series) {\n series = this._relativeSeries ?? this.getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n }\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): void;\n protected abstract _markerLayout(): void;\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected getFirstSeries(): ICartesianSeries {\n for (let i = 0; i < this._regions.length; i++) {\n const r = this._regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s) {\n return s as ICartesianSeries;\n }\n }\n }\n this._option.onError('need at least one series');\n return null;\n }\n\n clear(): void {\n if (this._markerComponent) {\n this._container.removeChild(this._markerComponent as unknown as INode);\n this._markerComponent = null;\n }\n super.clear();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { array, isFunction } from '@visactor/vutils';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IOptionAggr } from '../../data/transforms/aggregation';\nimport type { IOptionRegr } from '../../data/transforms/regression';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IAggrType, IDataPointSpec, IDataPos, IDataPosCallback, IMarkerAxisSpec, IMarkerSpec } from './interface';\nimport type { IRegressType } from './mark-area/interface';\nimport type { IGraphic, INode } from '@visactor/vrender';\n\nexport abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec> extends BaseComponent<T> {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n protected _startRelativeSeries!: ICartesianSeries;\n protected _endRelativeSeries!: ICartesianSeries;\n protected _relativeSeries!: ICartesianSeries;\n\n // marker 组件数据\n protected _markerData!: DataView;\n // marker 组件\n protected _markerComponent!: any;\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindSeries();\n this._initDataView();\n }\n\n private _isSpecAggrOrRege(spec: IDataPos) {\n return spec === 'regression' || AGGR_TYPE.includes(spec as any);\n }\n\n protected _processSpecX(specX: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (isFunction(specX)) {\n specX = specX(\n this._relativeSeries.getData().getLatestData(),\n this._startRelativeSeries.getData().getLatestData(),\n this._endRelativeSeries.getData().getLatestData()\n );\n }\n if (this._isSpecAggrOrRege(specX)) {\n processType = specX as unknown as IAggrType;\n return {\n x: {\n field: relativeSeries.getSpec().xField,\n aggrType: processType\n }\n };\n }\n return { x: specX };\n }\n\n protected _processSpecY(specY: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (isFunction(specY)) {\n specY = specY(\n this._relativeSeries.getData().getLatestData(),\n this._startRelativeSeries.getData().getLatestData(),\n this._endRelativeSeries.getData().getLatestData()\n );\n }\n if (this._isSpecAggrOrRege(specY)) {\n processType = specY as unknown as IAggrType;\n return {\n y: {\n field: relativeSeries.getSpec().yField,\n aggrType: processType\n }\n };\n }\n return { y: specY };\n }\n\n protected _processSpecCoo(spec: any) {\n const coordinates = spec.coordinates ?? array(spec.coordinate);\n return coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = this._getSeriesByIdOrIndex(\n coordinate.refRelativeSeriesId,\n coordinate.refRelativeSeriesIndex\n );\n\n const { xField, yField } = refRelativeSeries.getSpec();\n const { [xField]: coordinateX, [yField]: coordinateY } = coordinate;\n const option: IOptionAggr | IOptionRegr = { x: null, y: null };\n if (this._isSpecAggrOrRege(coordinateX)) {\n option.x = { field: xField, aggrType: coordinateX as IAggrType };\n } else {\n option.x = coordinateX;\n }\n\n if (this._isSpecAggrOrRege(coordinateY)) {\n option.y = { field: yField, aggrType: coordinateY as IAggrType };\n } else {\n option.y = coordinateY;\n }\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n this._createMarkerComponent();\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._markerComponent as unknown as IGraphic, event, type)\n );\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: ICartesianSeries;\n series = this._option.getSeriesInUserIdOrIndex(array(seriesUserId), [seriesIndex])?.[0] as ICartesianSeries;\n if (!series) {\n series = this._relativeSeries ?? this.getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n }\n\n protected _computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n if (region.getLayoutStartPoint().x < minX) {\n minX = region.getLayoutStartPoint().x;\n }\n if (region.getLayoutStartPoint().x + region.getLayoutRect().width > maxX) {\n maxX = region.getLayoutStartPoint().x + region.getLayoutRect().width;\n }\n if (region.getLayoutStartPoint().y < minY) {\n minY = region.getLayoutStartPoint().y;\n }\n if (region.getLayoutStartPoint().y + region.getLayoutRect().height > maxY) {\n maxY = region.getLayoutStartPoint().y + region.getLayoutRect().height;\n }\n });\n return { minX, maxX, minY, maxY };\n }\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): void;\n protected abstract _markerLayout(): void;\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected getFirstSeries(): ICartesianSeries {\n for (let i = 0; i < this._regions.length; i++) {\n const r = this._regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s) {\n return s as ICartesianSeries;\n }\n }\n }\n this._option.onError('need at least one series');\n return null;\n }\n\n clear(): void {\n if (this._markerComponent) {\n this._container.removeChild(this._markerComponent as unknown as INode);\n this._markerComponent = null;\n }\n super.clear();\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { IPadding, IPointLike } from '@visactor/vutils';
2
2
  import type { SymbolType } from '@visactor/vrender';
3
- import type { IModelSpec } from '../../model/interface';
4
3
  import type { IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec, StringOrNumber } from '../../typings';
4
+ import type { IComponentSpec } from '../base/interface';
5
5
  export type IAggrType = 'sum' | 'average' | 'min' | 'max' | 'variance' | 'standardDeviation' | 'median';
6
6
  export type IDataPos = string | number | IAggrType;
7
7
  export type IDataPosCallback = (relativeSeriesData: any, startRelativeSeriesData: any, endRelativeSeriesData: any) => IDataPos;
@@ -44,12 +44,13 @@ export interface IMarkerAxisSpec {
44
44
  endRelativeSeriesId?: string;
45
45
  relativeRelativeSeriesIndex?: number;
46
46
  }
47
- export interface IMarkerSpec extends IModelSpec {
47
+ export interface IMarkerSpec extends IComponentSpec {
48
48
  relativeSeriesIndex?: number;
49
49
  relativeSeriesId?: number;
50
50
  visible?: boolean;
51
51
  interactive?: boolean;
52
52
  autoRange?: boolean;
53
+ clip?: boolean;
53
54
  }
54
55
  export interface IMarkerSymbol extends IMarkerRef {
55
56
  visible: boolean;