@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import { isArray, isValid, isValidNumber, isNil } from '../../util';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { ICartesianCrosshairSpec } from './interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport { isDiscrete, isContinuous } from '@visactor/vscale';\nimport { LineCrosshair, RectCrosshair, Tag } from '@visactor/vrender-components';\nimport type { IHair } from './base';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseCrossHair } from './base';\nimport type { IGroup, INode } from '@visactor/vrender';\nimport { getDatumByValue, limitTagInBounds } from './util';\nimport { getAxisLabelOffset } from '../axis/utils';\nimport type { IAxis } from '../axis/interface';\nimport type { IOrientType, StringOrNumber } from '../../typings';\nimport { isXAxis } from '../axis/cartesian/util';\n\ninterface ICrosshairInfoX {\n height: number;\n leftPos: number;\n topPos: number;\n x: number;\n bottom: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n top: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n}\ninterface ICrosshairInfoY {\n width: number;\n leftPos: number;\n topPos: number;\n y: number;\n left: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n right: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n}\n\n// 1. crosshair保存上次记录的x和y轴dimension\n// 2. 每次交互触发时,首先转化成dimension保存,然后依据dimension计算x和y绘制\n// 3. 如果同方向同时有多个轴,那么同时保存这些轴的数据\n// 4. 如果同方向的轴有多个离散轴,那么直接不显示\n\nenum LayoutType {\n ALL = 0b0011,\n HORIZONTAL = 0b0010,\n VERTICAL = 0b0001,\n NONE = 0b0000\n}\n\ntype IBound = { x1: number; y1: number; x2: number; y2: number };\ntype IAxisInfo = Map<number, IBound & { axis: IAxis }>;\n\nexport class CartesianCrossHair extends BaseCrossHair {\n static type = ComponentTypeEnum.cartesianCrosshair;\n type = ComponentTypeEnum.cartesianCrosshair;\n name: string = ComponentTypeEnum.cartesianCrosshair;\n currValueX: Map<number, { v: StringOrNumber; axis: IAxis }>;\n currValueY: Map<number, { v: StringOrNumber; axis: IAxis }>;\n\n xHair: IHair | undefined;\n yHair: IHair | undefined;\n\n private _cacheXCrossHairInfo: ICrosshairInfoX | undefined;\n private _cacheYCrossHairInfo: ICrosshairInfoY | undefined;\n\n private _xCrosshair: IGroup;\n private _xTopLabel: Tag;\n private _xBottomLabel: Tag;\n\n private _yCrosshair: IGroup;\n private _yLeftLabel: Tag;\n private _yRightLabel: Tag;\n\n static createComponent(spec: any, options: IComponentOption) {\n const crosshairSpec = spec.crosshair || options.defaultSpec;\n if (isNil(crosshairSpec)) {\n return undefined;\n }\n if (!isArray(crosshairSpec)) {\n if (crosshairSpec.xField || crosshairSpec.yField) {\n return new CartesianCrossHair(crosshairSpec, { ...options, specKey: 'crosshair' });\n }\n return undefined;\n }\n const components: CartesianCrossHair[] = [];\n crosshairSpec.forEach((s: ICartesianCrosshairSpec, i: number) => {\n if (s.xField || s.yField) {\n components.push(new CartesianCrossHair(s, { ...options, specIndex: i, specKey: 'crosshair' }));\n }\n });\n return components;\n }\n\n constructor(spec: ICartesianCrosshairSpec, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this.currValueX = new Map();\n this.currValueY = new Map();\n }\n\n protected _showDefaultCrosshair() {\n if (!this.showDefault) {\n return;\n }\n const { xField = {}, yField = {} } = this._spec;\n if (xField?.visible && xField.defaultSelect) {\n const { axisIndex, datum } = xField.defaultSelect;\n this.defaultCrosshair(axisIndex, datum, LayoutType.VERTICAL, true);\n this.layoutByValue(LayoutType.VERTICAL);\n }\n if (yField?.visible && yField.defaultSelect) {\n const { axisIndex, datum } = yField.defaultSelect;\n this.defaultCrosshair(axisIndex, datum, LayoutType.HORIZONTAL, false);\n this.layoutByValue(LayoutType.HORIZONTAL);\n }\n }\n\n private defaultCrosshair(axisIndex: number, datum: StringOrNumber, tag: number, vertical: boolean) {\n const axis = this._option.getComponentsByKey('axes').find(c => c.getSpecIndex() === axisIndex) as IAxis;\n if (!axis) {\n return;\n }\n // 横轴\n if (vertical) {\n this.currValueX.clear();\n this.currValueX.set(axisIndex, { axis, v: datum });\n } else {\n this.currValueY.clear();\n this.currValueY.set(axisIndex, { axis, v: datum });\n }\n }\n\n /**\n * 查找所有落在x和y区域的轴\n * @param relativeX\n * @param relativeY\n */\n findAllAxisContains(relativeX: number, relativeY: number) {\n const xAxisMap = this._getAxisInfoByField('x') as IAxisInfo;\n const yAxisMap = this._getAxisInfoByField('y') as IAxisInfo;\n return {\n xAxisMap: this._filterAxisByPoint(xAxisMap, relativeX, relativeY),\n yAxisMap: this._filterAxisByPoint(yAxisMap, relativeX, relativeY)\n };\n }\n\n private getValueAt(axis: IAxis, p: number): number | string {\n let value = axis.getScale().invert(p);\n if (isContinuous(axis.getScale().type) && isValidNumber(+value)) {\n value = (+value as number).toFixed(2);\n }\n return value;\n }\n\n /**\n * clear axis value of crosshair\n */\n clearAxisValue() {\n this.currValueX.clear();\n this.currValueY.clear();\n }\n\n /**\n * set axis value of crosshair\n */\n setAxisValue(v: StringOrNumber, axis: IAxis) {\n if (isXAxis(axis.orient as unknown as IOrientType)) {\n this.currValueX.set(axis.getSpecIndex(), {\n v,\n axis\n });\n } else {\n this.currValueX.set(axis.getSpecIndex(), {\n v,\n axis\n });\n }\n }\n /**\n * 根据位置获取所有轴上的value\n * @param axisMap\n * @param p\n * @returns\n */\n private getAllAxisValues(\n axisMap: IAxisInfo,\n p: number,\n currValue: Map<number, { v: StringOrNumber; axis: IAxis }>,\n vertical: boolean\n ): boolean {\n // 首先不能存在两个离散轴\n let discrete = false;\n axisMap.forEach(item => {\n if (isDiscrete(item.axis.getScale().type)) {\n if (!discrete) {\n discrete = true;\n } else {\n this.enable = false;\n }\n }\n });\n if (!this.enable) {\n return false;\n }\n // 获取所有的value\n axisMap.forEach((item, id) => {\n const axis = item.axis;\n currValue.set(id, {\n v: this.getValueAt(\n axis,\n p -\n (vertical\n ? axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x\n : axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y)\n ),\n axis\n });\n });\n return true;\n }\n\n protected _layoutCrosshair(relativeX: number, relativeY: number) {\n // 找到所有的包含这个点的轴\n const { xAxisMap, yAxisMap } = this.findAllAxisContains(relativeX, relativeY);\n if (xAxisMap && xAxisMap.size === 0 && yAxisMap && yAxisMap.size === 0) {\n if (this.enableRemain) {\n return;\n }\n // 隐藏\n this._hide();\n return;\n }\n // 删除之前的currValue\n this.currValueX.clear();\n this.currValueY.clear();\n // 将数据保存到这个对象中,如果不存在,就直接不执行后续逻辑\n xAxisMap && xAxisMap.size && this.getAllAxisValues(xAxisMap, relativeX, this.currValueX, true);\n yAxisMap && yAxisMap.size && this.getAllAxisValues(yAxisMap, relativeY, this.currValueY, false);\n\n this.layoutByValue(LayoutType.ALL);\n }\n\n protected _hide() {\n // 隐藏\n this._xCrosshair && this._xCrosshair.hideAll();\n this._xTopLabel && this._xTopLabel.hideAll();\n this._xBottomLabel && this._xBottomLabel.hideAll();\n\n this._yCrosshair && this._yCrosshair.hideAll();\n this._yLeftLabel && this._yLeftLabel.hideAll();\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n\n private layoutByValue(tag: number = LayoutType.ALL) {\n if (!this.enable) {\n return;\n }\n // 获取axisHelper\n const series = this._firstSeries<ICartesianSeries>();\n if (!series) {\n return;\n }\n let xCrossHairInfo: ICrosshairInfoX = {\n height: 0,\n leftPos: 0,\n topPos: 0,\n x: 0,\n bottom: { visible: false, text: '', dx: 0, dy: 0 },\n top: { visible: false, text: '', dx: 0, dy: 0 },\n visible: false\n };\n let yCrossHairInfo: ICrosshairInfoY = {\n width: 0,\n leftPos: 0,\n topPos: 0,\n y: 0,\n left: { visible: false, text: '', dx: 0, dy: 0 },\n right: { visible: false, text: '', dx: 0, dy: 0 },\n visible: false\n };\n // 计算x轴和y轴对应的region区域\n const getRegionArea = (outRegion: IBound, currentValue: Map<number, { v: StringOrNumber; axis: IAxis }>) => {\n currentValue.forEach(({ axis }) => {\n const regions = axis.getRegions();\n regions.forEach(r => {\n outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x);\n outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y);\n outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width);\n outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);\n });\n });\n };\n // 计算x和y的坐标\n let x = 0;\n let y = 0;\n if (this.currValueX.size) {\n const item = Array.from(this.currValueX.values())[0];\n x = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x;\n }\n if (this.currValueY.size) {\n const item = Array.from(this.currValueY.values())[0];\n y = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y;\n }\n\n xCrossHairInfo.visible = !!this.currValueX.size && Number.isFinite(x);\n yCrossHairInfo.visible = !!this.currValueY.size && Number.isFinite(y);\n\n const xRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n const yRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n getRegionArea(xRegion, this.currValueX);\n getRegionArea(yRegion, this.currValueY);\n\n let indexWidth;\n let valueHeight;\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (this.xHair) {\n this.currValueX.forEach(({ axis, v }) => {\n v = v ?? '';\n const xScale = axis.getScale();\n if (isDiscrete(xScale.type)) {\n const eachBand = (xScale as any)._step;\n indexWidth = axis ? series.getXAxisHelper().getBandwidth?.(0) : eachBand;\n } else if (isContinuous(xScale.type)) {\n const fieldX = series.fieldX[0];\n const fieldX2 = series.fieldX2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldX, fieldX2);\n if (datum) {\n const startX = series.dataToPositionX(datum);\n if (fieldX2) {\n indexWidth = Math.abs(startX - series.dataToPositionX1(datum));\n v = `${datum[fieldX]} ~ ${datum[fieldX2]}`;\n } else {\n indexWidth = 1;\n }\n x = startX;\n }\n }\n if (this.xHair.label?.visible) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.orient === 'bottom') {\n xCrossHairInfo.bottom.visible = true;\n xCrossHairInfo.bottom.text = v;\n xCrossHairInfo.bottom.dx = 0;\n xCrossHairInfo.bottom.dy = labelOffset;\n } else if (axis.orient === 'top') {\n xCrossHairInfo.top.visible = true;\n xCrossHairInfo.top.text = v;\n xCrossHairInfo.top.dx = 0;\n xCrossHairInfo.top.dy = -labelOffset;\n }\n }\n });\n }\n\n if (this.yHair) {\n this.currValueY.forEach(({ axis, v }) => {\n v = v ?? '';\n const yScale = axis.getScale();\n if (isDiscrete(yScale.type)) {\n const eachBand = (yScale as any)._step;\n valueHeight = yScale ? series.getYAxisHelper().getBandwidth?.(0) : eachBand;\n } else if (isContinuous(yScale.type)) {\n const fieldY = series.fieldY[0];\n const fieldY2 = series.fieldY2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldY, fieldY2);\n if (datum) {\n const startY = series.dataToPositionY(datum);\n if (fieldY2) {\n valueHeight = Math.abs(startY - series.dataToPositionY1(datum));\n v = `${datum[fieldY]} ~ ${datum[fieldY2]}`;\n } else {\n valueHeight = 1;\n }\n y = startY;\n }\n }\n if (this.yHair.label?.visible) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.orient === 'left') {\n yCrossHairInfo.left.visible = true;\n yCrossHairInfo.left.text = v;\n yCrossHairInfo.left.dx = -labelOffset;\n yCrossHairInfo.left.dy = 0;\n } else if (axis.orient === 'right') {\n yCrossHairInfo.right.visible = true;\n yCrossHairInfo.right.text = v;\n yCrossHairInfo.right.dx = labelOffset;\n yCrossHairInfo.right.dy = 0;\n }\n }\n });\n }\n\n if (this.enableRemain && !xCrossHairInfo.visible && isValid(this._cacheXCrossHairInfo)) {\n xCrossHairInfo = this._cacheXCrossHairInfo;\n } else {\n xCrossHairInfo.leftPos = xRegion.x1;\n xCrossHairInfo.topPos = xRegion.y1;\n xCrossHairInfo.height = xRegion.y2 - xRegion.y1;\n xCrossHairInfo.x = x + this.getLayoutStartPoint().x;\n if (this.xHair?.label?.formatMethod) {\n const { top, bottom } = xCrossHairInfo;\n bottom.visible && (bottom.text = this.xHair.label.formatMethod(bottom.text, 'bottom') as string);\n top.visible && (top.text = this.xHair.label.formatMethod(top.text, 'top') as string);\n }\n }\n\n if (this.enableRemain && !yCrossHairInfo.visible && isValid(this._cacheYCrossHairInfo)) {\n yCrossHairInfo = this._cacheYCrossHairInfo;\n } else {\n yCrossHairInfo.leftPos = yRegion.x1;\n yCrossHairInfo.topPos = yRegion.y1;\n yCrossHairInfo.width = yRegion.x2 - yRegion.x1;\n yCrossHairInfo.y = y + this.getLayoutStartPoint().y;\n if (this.yHair?.label?.formatMethod) {\n const { left, right } = yCrossHairInfo;\n left.visible && (left.text = this.yHair.label.formatMethod(left.text, 'left') as string);\n right.visible && (right.text = this.yHair.label.formatMethod(right.text, 'right') as string);\n }\n }\n\n if (tag) {\n LayoutType.HORIZONTAL && this._layoutHorizontal(yCrossHairInfo, valueHeight ?? 0);\n LayoutType.VERTICAL && this._layoutVertical(xCrossHairInfo, indexWidth ?? 0);\n }\n\n if (this.enableRemain) {\n this._cacheXCrossHairInfo = { ...xCrossHairInfo, _isCache: true };\n this._cacheYCrossHairInfo = { ...yCrossHairInfo, _isCache: true };\n }\n }\n\n private _layoutVertical(crosshairInfo: ICrosshairInfoX, bandWidth: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this.xHair) {\n return;\n }\n\n const { x, topPos, height, top, bottom, visible } = crosshairInfo;\n\n if (visible) {\n // 外部设置的size\n let extend = 0;\n if (this.xHair?.style?.sizePercent) {\n extend = (this.xHair.style.sizePercent - 1) * bandWidth;\n } else if (typeof this.xHair?.style?.size === 'number') {\n extend = this.xHair.style.size - bandWidth;\n }\n const type = this.xHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: x + bandWidth / 2 - extend / 2, y: topPos },\n end: { x: x + bandWidth / 2 + extend / 2, y: topPos + height }\n };\n } else if (type === 'rect') {\n positionAttribute = {\n start: { x: x - extend / 2, y: topPos },\n end: { x: x + bandWidth + extend / 2, y: topPos + height }\n };\n }\n this._updateCrosshair('x', type, positionAttribute);\n // 文本\n if (top.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos,\n ...top,\n ...this.xHair.label,\n textStyle: {\n ...this.xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xTopLabel, updateAttrs, label => {\n label.name = 'crosshair-x-top-label';\n this._xTopLabel = label;\n });\n } else {\n this._xTopLabel && this._xTopLabel.hideAll();\n }\n\n if (bottom.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos + height,\n ...bottom,\n ...this.xHair.label,\n textStyle: {\n ...this.xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'top'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xBottomLabel, updateAttrs, label => {\n label.name = 'crosshair-x-bottom-label';\n this._xBottomLabel = label;\n });\n } else {\n this._xBottomLabel && this._xBottomLabel.hideAll();\n }\n }\n }\n\n private _layoutHorizontal(crosshairInfo: ICrosshairInfoY, bandHeight: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this.yHair) {\n return;\n }\n const { leftPos, width, y, left, right, visible } = crosshairInfo;\n if (visible) {\n let extend = 0;\n if (this.yHair?.style?.sizePercent) {\n extend = (this.yHair.style.sizePercent - 1) * bandHeight;\n } else if (typeof this.yHair?.style?.size === 'number') {\n extend = this.yHair.style.size - bandHeight;\n }\n\n const type = this.yHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: leftPos, y: y + bandHeight / 2 },\n end: { x: leftPos + width, y: y + bandHeight / 2 }\n };\n } else if (type === 'rect') {\n positionAttribute = {\n start: { x: leftPos, y: y - extend / 2 },\n end: { x: leftPos + width, y: y + bandHeight + extend / 2 }\n };\n }\n this._updateCrosshair('y', type, positionAttribute);\n\n // 文本\n if (left.visible) {\n const updateAttrs = {\n x: leftPos,\n y: y + bandHeight / 2,\n ...left,\n ...this.yHair.label,\n textStyle: {\n ...this.yHair.label?.textStyle,\n textAlign: 'right',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n\n this._updateCrosshairLabel(this._yLeftLabel, updateAttrs, label => {\n label.name = 'crosshair-y-left-label';\n this._yLeftLabel = label;\n });\n } else {\n this._yLeftLabel && this._yLeftLabel.hideAll();\n }\n\n if (right.visible) {\n const updateAttrs = {\n x: leftPos + width,\n y: y + bandHeight,\n ...right,\n ...this.yHair.label,\n textStyle: {\n ...this.yHair.label?.textStyle,\n textAlign: 'left',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._yRightLabel, updateAttrs, label => {\n label.name = 'crosshair-y-right-label';\n this._yRightLabel = label;\n });\n } else {\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n }\n }\n\n protected _parseFieldInfo() {\n const { xField, yField } = this._crosshairConfig as ICartesianCrosshairSpec;\n if (xField && xField.visible) {\n this.xHair = this._parseField(xField, 'xField');\n }\n if (yField && yField.visible) {\n this.yHair = this._parseField(yField, 'yField');\n }\n }\n\n private _updateCrosshair(dim: string, type: string, attributes: any) {\n const container = this.getContainer();\n let crosshair;\n let style;\n if (dim === 'x') {\n crosshair = this._xCrosshair;\n style = this.xHair.style;\n } else {\n crosshair = this._yCrosshair;\n style = this.yHair.style;\n }\n if (crosshair) {\n crosshair.setAttributes(attributes);\n } else {\n // 创建\n if (type === 'line') {\n crosshair = new LineCrosshair({\n ...attributes,\n lineStyle: style,\n zIndex: this.gridZIndex\n });\n } else if (type === 'rect') {\n crosshair = new RectCrosshair({\n ...attributes,\n rectStyle: style,\n zIndex: this.gridZIndex\n });\n }\n // 添加至场景树\n container.add(crosshair as unknown as INode);\n if (dim === 'x') {\n this._xCrosshair = crosshair as unknown as IGroup;\n } else {\n this._yCrosshair = crosshair as unknown as IGroup;\n }\n }\n }\n\n private _updateCrosshairLabel(label: Tag, attributes: any, callback: (label: Tag) => void) {\n const container = this.getContainer();\n if (label) {\n label.setAttributes(attributes);\n } else {\n label = new Tag(attributes);\n callback(label);\n container.add(label as unknown as INode);\n }\n limitTagInBounds(label, this._getLimitBounds());\n }\n\n clear() {\n [\n this._xCrosshair,\n this._xTopLabel,\n this._xBottomLabel,\n this._yCrosshair,\n this._yLeftLabel,\n this._yRightLabel\n ].forEach(c => {\n if (c) {\n this._container?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n super.clear();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import { isArray, isValid, isValidNumber, isNil } from '../../util';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { ICartesianCrosshairSpec } from './interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport { isDiscrete, isContinuous } from '@visactor/vscale';\nimport { LineCrosshair, RectCrosshair, Tag } from '@visactor/vrender-components';\nimport type { IHair } from './base';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseCrossHair } from './base';\nimport type { IGroup, INode } from '@visactor/vrender';\nimport { getDatumByValue, limitTagInBounds } from './util';\nimport { getAxisLabelOffset } from '../axis/util';\nimport type { IAxis } from '../axis/interface';\nimport type { IOrientType, StringOrNumber } from '../../typings';\nimport { isXAxis } from '../axis/cartesian/util';\n\ninterface ICrosshairInfoX {\n height: number;\n leftPos: number;\n topPos: number;\n x: number;\n bottom: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n top: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n}\ninterface ICrosshairInfoY {\n width: number;\n leftPos: number;\n topPos: number;\n y: number;\n left: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n right: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n}\n\n// 1. crosshair保存上次记录的x和y轴dimension\n// 2. 每次交互触发时,首先转化成dimension保存,然后依据dimension计算x和y绘制\n// 3. 如果同方向同时有多个轴,那么同时保存这些轴的数据\n// 4. 如果同方向的轴有多个离散轴,那么直接不显示\n\nenum LayoutType {\n ALL = 0b0011,\n HORIZONTAL = 0b0010,\n VERTICAL = 0b0001,\n NONE = 0b0000\n}\n\ntype IBound = { x1: number; y1: number; x2: number; y2: number };\ntype IAxisInfo = Map<number, IBound & { axis: IAxis }>;\n\nexport class CartesianCrossHair<T extends ICartesianCrosshairSpec = ICartesianCrosshairSpec> extends BaseCrossHair<T> {\n static type = ComponentTypeEnum.cartesianCrosshair;\n type = ComponentTypeEnum.cartesianCrosshair;\n name: string = ComponentTypeEnum.cartesianCrosshair;\n currValueX: Map<number, { v: StringOrNumber; axis: IAxis }>;\n currValueY: Map<number, { v: StringOrNumber; axis: IAxis }>;\n\n xHair: IHair | undefined;\n yHair: IHair | undefined;\n\n private _cacheXCrossHairInfo: ICrosshairInfoX | undefined;\n private _cacheYCrossHairInfo: ICrosshairInfoY | undefined;\n\n private _xCrosshair: IGroup;\n private _xTopLabel: Tag;\n private _xBottomLabel: Tag;\n\n private _yCrosshair: IGroup;\n private _yLeftLabel: Tag;\n private _yRightLabel: Tag;\n\n static createComponent(spec: any, options: IComponentOption) {\n const crosshairSpec = spec.crosshair || options.defaultSpec;\n if (isNil(crosshairSpec)) {\n return undefined;\n }\n if (!isArray(crosshairSpec)) {\n if (crosshairSpec.xField || crosshairSpec.yField) {\n return new CartesianCrossHair(crosshairSpec, { ...options, specKey: 'crosshair' });\n }\n return undefined;\n }\n const components: CartesianCrossHair[] = [];\n crosshairSpec.forEach((s: ICartesianCrosshairSpec, i: number) => {\n if (s.xField || s.yField) {\n components.push(new CartesianCrossHair(s, { ...options, specIndex: i, specKey: 'crosshair' }));\n }\n });\n return components;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this.currValueX = new Map();\n this.currValueY = new Map();\n }\n\n protected _showDefaultCrosshair() {\n if (!this.showDefault) {\n return;\n }\n const { xField = {}, yField = {} } = this._spec as any; // FIXME: spec 类型需要补全\n if (xField?.visible && xField.defaultSelect) {\n const { axisIndex, datum } = xField.defaultSelect;\n this.defaultCrosshair(axisIndex, datum, LayoutType.VERTICAL, true);\n this.layoutByValue(LayoutType.VERTICAL);\n }\n if (yField?.visible && yField.defaultSelect) {\n const { axisIndex, datum } = yField.defaultSelect;\n this.defaultCrosshair(axisIndex, datum, LayoutType.HORIZONTAL, false);\n this.layoutByValue(LayoutType.HORIZONTAL);\n }\n }\n\n private defaultCrosshair(axisIndex: number, datum: StringOrNumber, tag: number, vertical: boolean) {\n const axis = this._option.getComponentsByKey('axes').find(c => c.getSpecIndex() === axisIndex) as IAxis;\n if (!axis) {\n return;\n }\n // 横轴\n if (vertical) {\n this.currValueX.clear();\n this.currValueX.set(axisIndex, { axis, v: datum });\n } else {\n this.currValueY.clear();\n this.currValueY.set(axisIndex, { axis, v: datum });\n }\n }\n\n /**\n * 查找所有落在x和y区域的轴\n * @param relativeX\n * @param relativeY\n */\n findAllAxisContains(relativeX: number, relativeY: number) {\n const xAxisMap = this._getAxisInfoByField('x') as IAxisInfo;\n const yAxisMap = this._getAxisInfoByField('y') as IAxisInfo;\n return {\n xAxisMap: this._filterAxisByPoint(xAxisMap, relativeX, relativeY),\n yAxisMap: this._filterAxisByPoint(yAxisMap, relativeX, relativeY)\n };\n }\n\n private getValueAt(axis: IAxis, p: number): number | string {\n let value = axis.getScale().invert(p);\n if (isContinuous(axis.getScale().type) && isValidNumber(+value)) {\n value = (+value as number).toFixed(2);\n }\n return value;\n }\n\n /**\n * clear axis value of crosshair\n */\n clearAxisValue() {\n this.currValueX.clear();\n this.currValueY.clear();\n }\n\n /**\n * set axis value of crosshair\n */\n setAxisValue(v: StringOrNumber, axis: IAxis) {\n if (isXAxis(axis.getOrient() as unknown as IOrientType)) {\n this.currValueX.set(axis.getSpecIndex(), {\n v,\n axis\n });\n } else {\n this.currValueX.set(axis.getSpecIndex(), {\n v,\n axis\n });\n }\n }\n /**\n * 根据位置获取所有轴上的value\n * @param axisMap\n * @param p\n * @returns\n */\n private getAllAxisValues(\n axisMap: IAxisInfo,\n p: number,\n currValue: Map<number, { v: StringOrNumber; axis: IAxis }>,\n vertical: boolean\n ): boolean {\n // 首先不能存在两个离散轴\n let discrete = false;\n axisMap.forEach(item => {\n if (isDiscrete(item.axis.getScale().type)) {\n if (!discrete) {\n discrete = true;\n } else {\n this.enable = false;\n }\n }\n });\n if (!this.enable) {\n return false;\n }\n // 获取所有的value\n axisMap.forEach((item, id) => {\n const axis = item.axis;\n currValue.set(id, {\n v: this.getValueAt(\n axis,\n p -\n (vertical\n ? axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x\n : axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y)\n ),\n axis\n });\n });\n return true;\n }\n\n protected _layoutCrosshair(relativeX: number, relativeY: number) {\n // 找到所有的包含这个点的轴\n const { xAxisMap, yAxisMap } = this.findAllAxisContains(relativeX, relativeY);\n if (xAxisMap && xAxisMap.size === 0 && yAxisMap && yAxisMap.size === 0) {\n if (this.enableRemain) {\n return;\n }\n // 隐藏\n this._hide();\n return;\n }\n // 删除之前的currValue\n this.currValueX.clear();\n this.currValueY.clear();\n // 将数据保存到这个对象中,如果不存在,就直接不执行后续逻辑\n xAxisMap && xAxisMap.size && this.getAllAxisValues(xAxisMap, relativeX, this.currValueX, true);\n yAxisMap && yAxisMap.size && this.getAllAxisValues(yAxisMap, relativeY, this.currValueY, false);\n\n this.layoutByValue(LayoutType.ALL);\n }\n\n protected _hide() {\n // 隐藏\n this._xCrosshair && this._xCrosshair.hideAll();\n this._xTopLabel && this._xTopLabel.hideAll();\n this._xBottomLabel && this._xBottomLabel.hideAll();\n\n this._yCrosshair && this._yCrosshair.hideAll();\n this._yLeftLabel && this._yLeftLabel.hideAll();\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n\n private layoutByValue(tag: number = LayoutType.ALL) {\n if (!this.enable) {\n return;\n }\n // 获取axisHelper\n const series = this._firstSeries<ICartesianSeries>();\n if (!series) {\n return;\n }\n let xCrossHairInfo: ICrosshairInfoX = {\n height: 0,\n leftPos: 0,\n topPos: 0,\n x: 0,\n bottom: { visible: false, text: '', dx: 0, dy: 0 },\n top: { visible: false, text: '', dx: 0, dy: 0 },\n visible: false\n };\n let yCrossHairInfo: ICrosshairInfoY = {\n width: 0,\n leftPos: 0,\n topPos: 0,\n y: 0,\n left: { visible: false, text: '', dx: 0, dy: 0 },\n right: { visible: false, text: '', dx: 0, dy: 0 },\n visible: false\n };\n // 计算x轴和y轴对应的region区域\n const getRegionArea = (outRegion: IBound, currentValue: Map<number, { v: StringOrNumber; axis: IAxis }>) => {\n currentValue.forEach(({ axis }) => {\n const regions = axis.getRegions();\n regions.forEach(r => {\n outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x);\n outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y);\n outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width);\n outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);\n });\n });\n };\n // 计算x和y的坐标\n let x = 0;\n let y = 0;\n if (this.currValueX.size) {\n const item = Array.from(this.currValueX.values())[0];\n x = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x;\n }\n if (this.currValueY.size) {\n const item = Array.from(this.currValueY.values())[0];\n y = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y;\n }\n\n xCrossHairInfo.visible = !!this.currValueX.size && Number.isFinite(x);\n yCrossHairInfo.visible = !!this.currValueY.size && Number.isFinite(y);\n\n const xRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n const yRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n getRegionArea(xRegion, this.currValueX);\n getRegionArea(yRegion, this.currValueY);\n\n let indexWidth;\n let valueHeight;\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (this.xHair) {\n this.currValueX.forEach(({ axis, v }) => {\n v = v ?? '';\n const xScale = axis.getScale();\n if (isDiscrete(xScale.type)) {\n const eachBand = (xScale as any)._step;\n indexWidth = axis ? series.getXAxisHelper().getBandwidth?.(0) : eachBand;\n } else if (isContinuous(xScale.type)) {\n const fieldX = series.fieldX[0];\n const fieldX2 = series.fieldX2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldX, fieldX2);\n if (datum) {\n const startX = series.dataToPositionX(datum);\n if (fieldX2) {\n indexWidth = Math.abs(startX - series.dataToPositionX1(datum));\n v = `${datum[fieldX]} ~ ${datum[fieldX2]}`;\n } else {\n indexWidth = 1;\n }\n x = startX;\n }\n }\n if (this.xHair.label?.visible) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'bottom') {\n xCrossHairInfo.bottom.visible = true;\n xCrossHairInfo.bottom.text = v;\n xCrossHairInfo.bottom.dx = 0;\n xCrossHairInfo.bottom.dy = labelOffset;\n } else if (axis.getOrient() === 'top') {\n xCrossHairInfo.top.visible = true;\n xCrossHairInfo.top.text = v;\n xCrossHairInfo.top.dx = 0;\n xCrossHairInfo.top.dy = -labelOffset;\n }\n }\n });\n }\n\n if (this.yHair) {\n this.currValueY.forEach(({ axis, v }) => {\n v = v ?? '';\n const yScale = axis.getScale();\n if (isDiscrete(yScale.type)) {\n const eachBand = (yScale as any)._step;\n valueHeight = yScale ? series.getYAxisHelper().getBandwidth?.(0) : eachBand;\n } else if (isContinuous(yScale.type)) {\n const fieldY = series.fieldY[0];\n const fieldY2 = series.fieldY2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldY, fieldY2);\n if (datum) {\n const startY = series.dataToPositionY(datum);\n if (fieldY2) {\n valueHeight = Math.abs(startY - series.dataToPositionY1(datum));\n v = `${datum[fieldY]} ~ ${datum[fieldY2]}`;\n } else {\n valueHeight = 1;\n }\n y = startY;\n }\n }\n if (this.yHair.label?.visible) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'left') {\n yCrossHairInfo.left.visible = true;\n yCrossHairInfo.left.text = v;\n yCrossHairInfo.left.dx = -labelOffset;\n yCrossHairInfo.left.dy = 0;\n } else if (axis.getOrient() === 'right') {\n yCrossHairInfo.right.visible = true;\n yCrossHairInfo.right.text = v;\n yCrossHairInfo.right.dx = labelOffset;\n yCrossHairInfo.right.dy = 0;\n }\n }\n });\n }\n\n if (this.enableRemain && !xCrossHairInfo.visible && isValid(this._cacheXCrossHairInfo)) {\n xCrossHairInfo = this._cacheXCrossHairInfo;\n } else {\n xCrossHairInfo.leftPos = xRegion.x1;\n xCrossHairInfo.topPos = xRegion.y1;\n xCrossHairInfo.height = xRegion.y2 - xRegion.y1;\n xCrossHairInfo.x = x + this.getLayoutStartPoint().x;\n if (this.xHair?.label?.formatMethod) {\n const { top, bottom } = xCrossHairInfo;\n bottom.visible && (bottom.text = this.xHair.label.formatMethod(bottom.text, 'bottom') as string);\n top.visible && (top.text = this.xHair.label.formatMethod(top.text, 'top') as string);\n }\n }\n\n if (this.enableRemain && !yCrossHairInfo.visible && isValid(this._cacheYCrossHairInfo)) {\n yCrossHairInfo = this._cacheYCrossHairInfo;\n } else {\n yCrossHairInfo.leftPos = yRegion.x1;\n yCrossHairInfo.topPos = yRegion.y1;\n yCrossHairInfo.width = yRegion.x2 - yRegion.x1;\n yCrossHairInfo.y = y + this.getLayoutStartPoint().y;\n if (this.yHair?.label?.formatMethod) {\n const { left, right } = yCrossHairInfo;\n left.visible && (left.text = this.yHair.label.formatMethod(left.text, 'left') as string);\n right.visible && (right.text = this.yHair.label.formatMethod(right.text, 'right') as string);\n }\n }\n\n if (tag) {\n LayoutType.HORIZONTAL && this._layoutHorizontal(yCrossHairInfo, valueHeight ?? 0);\n LayoutType.VERTICAL && this._layoutVertical(xCrossHairInfo, indexWidth ?? 0);\n }\n\n if (this.enableRemain) {\n this._cacheXCrossHairInfo = { ...xCrossHairInfo, _isCache: true };\n this._cacheYCrossHairInfo = { ...yCrossHairInfo, _isCache: true };\n }\n }\n\n private _layoutVertical(crosshairInfo: ICrosshairInfoX, bandWidth: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this.xHair) {\n return;\n }\n\n const { x, topPos, height, top, bottom, visible } = crosshairInfo;\n\n if (visible) {\n // 外部设置的size\n let extend = 0;\n if (this.xHair?.style?.sizePercent) {\n extend = (this.xHair.style.sizePercent - 1) * bandWidth;\n } else if (typeof this.xHair?.style?.size === 'number') {\n extend = this.xHair.style.size - bandWidth;\n }\n const type = this.xHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: x + bandWidth / 2 - extend / 2, y: topPos },\n end: { x: x + bandWidth / 2 + extend / 2, y: topPos + height }\n };\n } else if (type === 'rect') {\n positionAttribute = {\n start: { x: x - extend / 2, y: topPos },\n end: { x: x + bandWidth + extend / 2, y: topPos + height }\n };\n }\n this._updateCrosshair('x', type, positionAttribute);\n // 文本\n if (top.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos,\n ...top,\n ...this.xHair.label,\n textStyle: {\n ...this.xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xTopLabel, updateAttrs, label => {\n label.name = 'crosshair-x-top-label';\n this._xTopLabel = label;\n });\n } else {\n this._xTopLabel && this._xTopLabel.hideAll();\n }\n\n if (bottom.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos + height,\n ...bottom,\n ...this.xHair.label,\n textStyle: {\n ...this.xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'top'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xBottomLabel, updateAttrs, label => {\n label.name = 'crosshair-x-bottom-label';\n this._xBottomLabel = label;\n });\n } else {\n this._xBottomLabel && this._xBottomLabel.hideAll();\n }\n }\n }\n\n private _layoutHorizontal(crosshairInfo: ICrosshairInfoY, bandHeight: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this.yHair) {\n return;\n }\n const { leftPos, width, y, left, right, visible } = crosshairInfo;\n if (visible) {\n let extend = 0;\n if (this.yHair?.style?.sizePercent) {\n extend = (this.yHair.style.sizePercent - 1) * bandHeight;\n } else if (typeof this.yHair?.style?.size === 'number') {\n extend = this.yHair.style.size - bandHeight;\n }\n\n const type = this.yHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: leftPos, y: y + bandHeight / 2 },\n end: { x: leftPos + width, y: y + bandHeight / 2 }\n };\n } else if (type === 'rect') {\n positionAttribute = {\n start: { x: leftPos, y: y - extend / 2 },\n end: { x: leftPos + width, y: y + bandHeight + extend / 2 }\n };\n }\n this._updateCrosshair('y', type, positionAttribute);\n\n // 文本\n if (left.visible) {\n const updateAttrs = {\n x: leftPos,\n y: y + bandHeight / 2,\n ...left,\n ...this.yHair.label,\n textStyle: {\n ...this.yHair.label?.textStyle,\n textAlign: 'right',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n\n this._updateCrosshairLabel(this._yLeftLabel, updateAttrs, label => {\n label.name = 'crosshair-y-left-label';\n this._yLeftLabel = label;\n });\n } else {\n this._yLeftLabel && this._yLeftLabel.hideAll();\n }\n\n if (right.visible) {\n const updateAttrs = {\n x: leftPos + width,\n y: y + bandHeight,\n ...right,\n ...this.yHair.label,\n textStyle: {\n ...this.yHair.label?.textStyle,\n textAlign: 'left',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._yRightLabel, updateAttrs, label => {\n label.name = 'crosshair-y-right-label';\n this._yRightLabel = label;\n });\n } else {\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n }\n }\n\n protected _parseFieldInfo() {\n const { xField, yField } = this._crosshairConfig as ICartesianCrosshairSpec;\n if (xField && xField.visible) {\n this.xHair = this._parseField(xField, 'xField');\n }\n if (yField && yField.visible) {\n this.yHair = this._parseField(yField, 'yField');\n }\n }\n\n private _updateCrosshair(dim: string, type: string, attributes: any) {\n const container = this.getContainer();\n let crosshair;\n let style;\n if (dim === 'x') {\n crosshair = this._xCrosshair;\n style = this.xHair.style;\n } else {\n crosshair = this._yCrosshair;\n style = this.yHair.style;\n }\n if (crosshair) {\n crosshair.setAttributes(attributes);\n } else {\n // 创建\n if (type === 'line') {\n crosshair = new LineCrosshair({\n ...attributes,\n lineStyle: style,\n zIndex: this.gridZIndex + 1 // 样式优化:线盖在面上\n });\n } else if (type === 'rect') {\n crosshair = new RectCrosshair({\n ...attributes,\n rectStyle: style,\n zIndex: this.gridZIndex\n });\n }\n // 添加至场景树\n container?.add(crosshair as unknown as INode);\n if (dim === 'x') {\n this._xCrosshair = crosshair as unknown as IGroup;\n } else {\n this._yCrosshair = crosshair as unknown as IGroup;\n }\n }\n }\n\n private _updateCrosshairLabel(label: Tag, attributes: any, callback: (label: Tag) => void) {\n const container = this.getContainer();\n if (label) {\n label.setAttributes(attributes);\n } else {\n label = new Tag(attributes);\n callback(label);\n container.add(label as unknown as INode);\n }\n limitTagInBounds(label, this._getLimitBounds());\n }\n\n clear() {\n [\n this._xCrosshair,\n this._xTopLabel,\n this._xBottomLabel,\n this._yCrosshair,\n this._yLeftLabel,\n this._yRightLabel\n ].forEach(c => {\n if (c) {\n this._container?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n super.clear();\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { IModelSpec } from '../../../model/interface';
2
1
  import type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';
3
2
  import type { IAxis } from '../../axis/interface';
3
+ import type { IComponentSpec } from '../../base/interface';
4
4
  import type { IComponent } from '../../interface';
5
5
  export interface ICrossHair extends IComponent {
6
6
  clearAxisValue?: () => void;
@@ -8,21 +8,21 @@ export interface ICrossHair extends IComponent {
8
8
  layoutByValue?: (v?: number) => void;
9
9
  }
10
10
  export type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];
11
- export interface ICommonCrosshairSpec {
11
+ export interface ICommonCrosshairSpec extends IComponentSpec {
12
12
  trigger?: CrossHairTrigger;
13
13
  triggerOff?: CrossHairTrigger | 'none';
14
14
  labelZIndex?: number;
15
15
  gridZIndex?: number;
16
16
  }
17
- export interface ICartesianCrosshairSpec extends ICommonCrosshairSpec, IModelSpec {
18
- xField?: ICrosshairXFieldSpec;
19
- yField?: ICrosshairXFieldSpec;
17
+ export interface ICartesianCrosshairSpec extends ICommonCrosshairSpec {
18
+ xField?: ICrosshairCategoryFieldSpec;
19
+ yField?: ICrosshairCategoryFieldSpec;
20
20
  }
21
- export interface IPolarCrosshairSpec extends ICommonCrosshairSpec, IModelSpec {
22
- categoryField?: ICrosshairXFieldSpec;
21
+ export interface IPolarCrosshairSpec extends ICommonCrosshairSpec {
22
+ categoryField?: ICrosshairCategoryFieldSpec;
23
23
  valueField?: ICrosshairValueFieldSpec;
24
24
  }
25
- export interface ICrosshairXFieldSpec extends ICrosshairDataBindSpec {
25
+ export interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {
26
26
  visible: boolean;
27
27
  line?: ICrosshairLineSpec | ICrosshairRectSpec;
28
28
  label?: ICrosshairLabelSpec;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IModelSpec } from '../../../model/interface';\nimport type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';\nimport type { IAxis } from '../../axis/interface';\nimport type { IComponent } from '../../interface';\n\nexport interface ICrossHair extends IComponent {\n clearAxisValue?: () => void;\n setAxisValue?: (v: StringOrNumber, axis: IAxis) => void;\n layoutByValue?: (v?: number) => void;\n}\n\nexport type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];\n\nexport interface ICommonCrosshairSpec {\n /**\n * 是否可以通过 点击 固定住一组 crosshair,也可以同时触发。\n * @default 'hover'\n */\n trigger?: CrossHairTrigger;\n /**\n * 隐藏crosshair的触发方式(目前仅支持和trigger一致的设置以及none)\n */\n triggerOff?: CrossHairTrigger | 'none';\n /**\n * crosshair 文本的显示层级\n */\n labelZIndex?: number;\n /**\n * crosshair 辅助图形的显示层级\n */\n gridZIndex?: number;\n}\n\nexport interface ICartesianCrosshairSpec extends ICommonCrosshairSpec, IModelSpec {\n /**\n * 笛卡尔坐标系下 x 轴上 crosshair 配置\n */\n xField?: ICrosshairXFieldSpec;\n /**\n * 笛卡尔坐标系下 y 轴上 crosshair 配置\n */\n yField?: ICrosshairXFieldSpec;\n}\n\nexport interface IPolarCrosshairSpec extends ICommonCrosshairSpec, IModelSpec {\n /**\n * 极坐标系下 categoryField 字段对应轴上的 crosshair 配置\n */\n categoryField?: ICrosshairXFieldSpec;\n /**\n * 极坐标系下 valueField 字段对应轴上的 crosshair 配置\n */\n valueField?: ICrosshairValueFieldSpec;\n}\nexport interface ICrosshairXFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec | ICrosshairRectSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport interface ICrosshairValueFieldSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport type ICrosshairLineStyle = Pick<\n ILineMarkSpec,\n 'stroke' | 'strokeOpacity' | 'opacity' | 'lineDash' | 'lineWidth'\n>;\nexport type ICrosshairRectStyle = ICrosshairLineStyle & Pick<IRectMarkSpec, 'fill' | 'fillOpacity' | 'cornerRadius'>;\n\nexport interface ICrosshairLineSpec {\n visible?: boolean;\n type?: 'line';\n /**\n * 线宽\n * @default 2\n */\n width?: number;\n /** 极坐标系下是否平滑 */\n smooth?: boolean;\n style?: ICrosshairLineStyle;\n}\n\nexport interface ICrosshairRectSpec {\n visible?: boolean;\n type?: 'rect';\n /**\n * 字符串xx%表示此处是内容区间的百分比,数字表示宽度像素\n * @default '100%''\n */\n width?: number | string;\n style?: ICrosshairRectStyle;\n}\n\nexport interface ICrosshairLabelSpec {\n visible?: boolean;\n /**\n * label 文本格式化方法\n * @param text\n * @returns\n */\n formatMethod?: (text: StringOrNumber | string[]) => string | string[];\n /**\n * 文本样式配置\n */\n style?: Partial<ITextMarkSpec>;\n /**\n * 文本背景相关配置\n */\n labelBackground?: ICrosshairLabelBackgroundSpec;\n}\n\nexport interface ICrosshairLabelBackgroundSpec {\n /**\n * 是否显示背景,默认为 true\n */\n visible?: boolean;\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 内部边距\n */\n padding?: IPadding | number | number[];\n style: Partial<IRectMarkSpec>;\n}\n\nexport interface ICrosshairDataBindSpec {\n /**\n * 声明 crosshair 绑定的轴索引,如果没有声明,则会默认绑定所有同 crosshair 位置相对应的轴。\n */\n bindingAxesIndex?: number[];\n /**\n * crosshair 初始化显示信息,通过该配置可在图表绘制时默认展示 crosshair 组件。\n */\n defaultSelect?: {\n /**\n * 声明要显示数据的轴索引\n */\n axisIndex: number;\n /**\n * 声明显示的数据\n */\n datum: any;\n };\n}\n\nexport type ICrosshairSpec = ICartesianCrosshairSpec | IPolarCrosshairSpec;\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IModelSpec } from '../../../model/interface';\nimport type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';\nimport type { IAxis } from '../../axis/interface';\nimport type { IComponentSpec } from '../../base/interface';\nimport type { IComponent } from '../../interface';\n\nexport interface ICrossHair extends IComponent {\n clearAxisValue?: () => void;\n setAxisValue?: (v: StringOrNumber, axis: IAxis) => void;\n layoutByValue?: (v?: number) => void;\n}\n\nexport type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];\n\nexport interface ICommonCrosshairSpec extends IComponentSpec {\n /**\n * 是否可以通过 点击 固定住一组 crosshair,也可以同时触发。\n * @default 'hover'\n */\n trigger?: CrossHairTrigger;\n /**\n * 隐藏crosshair的触发方式(目前仅支持和trigger一致的设置以及none)\n */\n triggerOff?: CrossHairTrigger | 'none';\n /**\n * crosshair 文本的显示层级\n */\n labelZIndex?: number;\n /**\n * crosshair 辅助图形的显示层级\n */\n gridZIndex?: number;\n}\n\nexport interface ICartesianCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 笛卡尔坐标系下 x 轴上 crosshair 配置\n */\n xField?: ICrosshairCategoryFieldSpec;\n /**\n * 笛卡尔坐标系下 y 轴上 crosshair 配置\n */\n yField?: ICrosshairCategoryFieldSpec;\n}\n\nexport interface IPolarCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 极坐标系下 categoryField 字段对应轴上的 crosshair 配置\n */\n categoryField?: ICrosshairCategoryFieldSpec;\n /**\n * 极坐标系下 valueField 字段对应轴上的 crosshair 配置\n */\n valueField?: ICrosshairValueFieldSpec;\n}\nexport interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec | ICrosshairRectSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport interface ICrosshairValueFieldSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport type ICrosshairLineStyle = Pick<\n ILineMarkSpec,\n 'stroke' | 'strokeOpacity' | 'opacity' | 'lineDash' | 'lineWidth'\n>;\nexport type ICrosshairRectStyle = ICrosshairLineStyle & Pick<IRectMarkSpec, 'fill' | 'fillOpacity' | 'cornerRadius'>;\n\nexport interface ICrosshairLineSpec {\n visible?: boolean;\n type?: 'line';\n /**\n * 线宽\n * @default 2\n */\n width?: number;\n /** 极坐标系下是否平滑 */\n smooth?: boolean;\n style?: ICrosshairLineStyle;\n}\n\nexport interface ICrosshairRectSpec {\n visible?: boolean;\n type?: 'rect';\n /**\n * 字符串xx%表示此处是内容区间的百分比,数字表示宽度像素\n * @default '100%''\n */\n width?: number | string;\n style?: ICrosshairRectStyle;\n}\n\nexport interface ICrosshairLabelSpec {\n visible?: boolean;\n /**\n * label 文本格式化方法\n * @param text\n * @returns\n */\n formatMethod?: (text: StringOrNumber | string[]) => string | string[];\n /**\n * 文本样式配置\n */\n style?: Partial<ITextMarkSpec>;\n /**\n * 文本背景相关配置\n */\n labelBackground?: ICrosshairLabelBackgroundSpec;\n}\n\nexport interface ICrosshairLabelBackgroundSpec {\n /**\n * 是否显示背景,默认为 true\n */\n visible?: boolean;\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 内部边距\n */\n padding?: IPadding | number | number[];\n style: Partial<IRectMarkSpec>;\n}\n\nexport interface ICrosshairDataBindSpec {\n /**\n * 声明 crosshair 绑定的轴索引,如果没有声明,则会默认绑定所有同 crosshair 位置相对应的轴。\n */\n bindingAxesIndex?: number[];\n /**\n * crosshair 初始化显示信息,通过该配置可在图表绘制时默认展示 crosshair 组件。\n */\n defaultSelect?: {\n /**\n * 声明要显示数据的轴索引\n */\n axisIndex: number;\n /**\n * 声明显示的数据\n */\n datum: any;\n };\n}\n\nexport type ICrosshairSpec = ICartesianCrosshairSpec | IPolarCrosshairSpec;\n"]}
@@ -1,5 +1,7 @@
1
- import type { ICartesianCrosshairSpec, ICommonCrosshairSpec, IPolarCrosshairSpec } from '.';
1
+ import type { ICartesianCrosshairSpec, ICommonCrosshairSpec, ICrosshairCategoryFieldSpec, ICrosshairValueFieldSpec, IPolarCrosshairSpec } from '.';
2
2
  export interface ICrosshairTheme extends ICommonCrosshairSpec {
3
+ bandField?: ICrosshairCategoryFieldSpec;
4
+ linearField?: ICrosshairValueFieldSpec;
3
5
  xField?: ICartesianCrosshairSpec['xField'];
4
6
  yField?: ICartesianCrosshairSpec['yField'];
5
7
  categoryField?: IPolarCrosshairSpec['categoryField'];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ICartesianCrosshairSpec, ICommonCrosshairSpec, IPolarCrosshairSpec } from '.';\n\nexport interface ICrosshairTheme extends ICommonCrosshairSpec {\n xField?: ICartesianCrosshairSpec['xField'];\n yField?: ICartesianCrosshairSpec['yField'];\n categoryField?: IPolarCrosshairSpec['categoryField'];\n valueField?: IPolarCrosshairSpec['valueField'];\n}\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type {\n ICartesianCrosshairSpec,\n ICommonCrosshairSpec,\n ICrosshairCategoryFieldSpec,\n ICrosshairValueFieldSpec,\n IPolarCrosshairSpec\n} from '.';\n\nexport interface ICrosshairTheme extends ICommonCrosshairSpec {\n /**\n * band 轴 crosshair 的公共配置\n * @since 1.3.0\n */\n bandField?: ICrosshairCategoryFieldSpec;\n /**\n * linear 轴 crosshair 的公共配置\n * @since 1.3.0\n */\n linearField?: ICrosshairValueFieldSpec;\n xField?: ICartesianCrosshairSpec['xField'];\n yField?: ICartesianCrosshairSpec['yField'];\n categoryField?: IPolarCrosshairSpec['categoryField'];\n valueField?: IPolarCrosshairSpec['valueField'];\n}\n"]}
@@ -14,7 +14,7 @@ type IBound = {
14
14
  type IAxisInfo = Map<number, IBound & {
15
15
  axis: IPolarAxis;
16
16
  }>;
17
- export declare class PolarCrossHair extends BaseCrossHair {
17
+ export declare class PolarCrossHair<T extends IPolarCrosshairSpec = IPolarCrosshairSpec> extends BaseCrossHair<T> {
18
18
  static type: ComponentTypeEnum;
19
19
  type: ComponentTypeEnum;
20
20
  name: string;
@@ -38,8 +38,8 @@ export declare class PolarCrossHair extends BaseCrossHair {
38
38
  private _radiusLabelCrosshair;
39
39
  private _angleCrosshair;
40
40
  private _angleLabelCrosshair;
41
- static createComponent(spec: any, options: IComponentOption): PolarCrossHair | PolarCrossHair[];
42
- constructor(spec: IPolarCrosshairSpec, options: IComponentOption);
41
+ static createComponent(spec: any, options: IComponentOption): PolarCrossHair<any> | PolarCrossHair<IPolarCrosshairSpec>[];
42
+ constructor(spec: T, options: IComponentOption);
43
43
  protected _showDefaultCrosshair(): void;
44
44
  protected _hide(): void;
45
45
  findAllAxisContains(relativeX: number, relativeY: number): {
@@ -8,7 +8,7 @@ var LayoutType, __rest = this && this.__rest || function(s, e) {
8
8
  return t;
9
9
  };
10
10
 
11
- import { isArray, isValid, isValidNumber, merge, isNil, clamp } from "../../util";
11
+ import { isArray, isValid, isValidNumber, mergeSpec, isNil, clamp } from "../../util";
12
12
 
13
13
  import { ComponentTypeEnum } from "../interface";
14
14
 
@@ -26,7 +26,7 @@ import { angleLabelOrientAttribute, radiusLabelOrientAttribute } from "../../uti
26
26
 
27
27
  import { limitTagInBounds } from "./util";
28
28
 
29
- import { getAxisLabelOffset } from "../axis/utils";
29
+ import { getAxisLabelOffset } from "../axis/util";
30
30
 
31
31
  !function(LayoutType) {
32
32
  LayoutType[LayoutType.ALL = 3] = "ALL", LayoutType[LayoutType.HORIZONTAL = 2] = "HORIZONTAL",
@@ -71,10 +71,10 @@ export class PolarCrossHair extends BaseCrossHair {
71
71
  return axisMap.forEach((item => {
72
72
  isDiscrete(item.axis.getScale().type) && (discrete ? this.enable = !1 : discrete = !0);
73
73
  })), !!this.enable && (axisMap.forEach(((item, id) => {
74
- const axis = item.axis;
74
+ const axis = item.axis, {x: axisStartX, y: axisStartY} = item.axis.getLayoutStartPoint(), {x: x, y: y} = this.getLayoutStartPoint();
75
75
  let value = axis.positionToData({
76
- x: point.x - (item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x),
77
- y: point.y - (item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y)
76
+ x: point.x - (axisStartX - x),
77
+ y: point.y - (axisStartY - y)
78
78
  });
79
79
  isContinuous(axis.getScale().type) && isValidNumber(+value) && (value = (+value).toFixed(2));
80
80
  const center = {
@@ -157,7 +157,7 @@ export class PolarCrossHair extends BaseCrossHair {
157
157
  const bandWidth = series.angleAxisHelper.getBandwidth(0);
158
158
  this.currValueX.forEach((_a => {
159
159
  var _b, {axis: axis, v: v, coord: coord} = _a, rest = __rest(_a, [ "axis", "v", "coord" ]);
160
- v = null != v ? v : "", merge(xCrossHairInfo, rest);
160
+ v = null != v ? v : "", mergeSpec(xCrossHairInfo, rest);
161
161
  const angle = series.angleAxisHelper.dataToPosition([ v ]);
162
162
  xCrossHairInfo.angle = angle, (null === (_b = this.xHair.label) || void 0 === _b ? void 0 : _b.visible) && (xCrossHairInfo.label.visible = !0,
163
163
  xCrossHairInfo.label.text = v, xCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())),
@@ -168,7 +168,7 @@ export class PolarCrossHair extends BaseCrossHair {
168
168
  var _b, {axis: axis, v: v, coord: coord} = _a, rest = __rest(_a, [ "axis", "v", "coord" ]);
169
169
  v = null != v ? v : "", (null === (_b = this.yHair.label) || void 0 === _b ? void 0 : _b.visible) && (yCrossHairInfo.label.visible = !0,
170
170
  yCrossHairInfo.label.text = v, yCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())),
171
- yCrossHairInfo.angle = coord.angle, yCrossHairInfo.axis = axis, merge(yCrossHairInfo, rest);
171
+ yCrossHairInfo.angle = coord.angle, yCrossHairInfo.axis = axis, mergeSpec(yCrossHairInfo, rest);
172
172
  }))), this.enableRemain && !xCrossHairInfo.visible && isValid(this._cacheXCrossHairInfo)) xCrossHairInfo = this._cacheXCrossHairInfo; else if ((null === (_b = null === (_a = this.xHair) || void 0 === _a ? void 0 : _a.label) || void 0 === _b ? void 0 : _b.formatMethod) && xCrossHairInfo.label.visible) {
173
173
  const {label: label} = xCrossHairInfo;
174
174
  label.text = this.xHair.label.formatMethod(label.text, "angle");
@@ -246,7 +246,7 @@ export class PolarCrossHair extends BaseCrossHair {
246
246
  let crosshair;
247
247
  crosshair = "polygon" === crosshairType ? new PolygonCrosshair(Object.assign(Object.assign({}, positionAttrs), {
248
248
  lineStyle: this.yHair.style,
249
- zIndex: this.gridZIndex
249
+ zIndex: this.gridZIndex + 1
250
250
  })) : new CircleCrosshair(Object.assign(Object.assign({}, positionAttrs), {
251
251
  lineStyle: this.yHair.style,
252
252
  zIndex: this.gridZIndex
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { IPolarSeries } from '../../series/interface/series';\nimport { isArray, isValid, isValidNumber, merge, isNil, clamp } from '../../util';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { IPolarCrosshairSpec } from './interface';\nimport type { BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isDiscrete, isContinuous } from '@visactor/vscale';\n// import { registerComponent } from '@visactor/vgrammar';\nimport { Tag } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { LineCrosshair, SectorCrosshair, CircleCrosshair, PolygonCrosshair } from '@visactor/vrender-components';\nimport type { IPolarAxis } from '../axis/polar/interface';\nimport type { IPoint, StringOrNumber } from '../../typings';\nimport type { IHair } from './base';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseCrossHair } from './base';\nimport { polarToCartesian, getIntersectPoint, PointService, getAngleByPoint } from '@visactor/vutils';\nimport type { IGroup, INode } from '@visactor/vrender';\nimport { angleLabelOrientAttribute, radiusLabelOrientAttribute } from '../../util/math';\nimport { limitTagInBounds } from './util';\nimport { getAxisLabelOffset } from '../axis/utils';\n\ninterface ICrosshairInfo {\n x: number;\n y: number;\n center: IPoint;\n radius: number;\n distance: number;\n startAngle: number;\n endAngle: number;\n innerRadius: number;\n visible: boolean;\n sides: number;\n angle: number;\n point: IPoint;\n _isCache?: boolean;\n label?: { visible: boolean; text: StringOrNumber; offset: number };\n axis?: IPolarAxis;\n}\n\nenum LayoutType {\n ALL = 0b0011,\n HORIZONTAL = 0b0010,\n VERTICAL = 0b0001,\n NONE = 0b0000\n}\n\ntype IBound = { x1: number; y1: number; x2: number; y2: number };\ntype IAxisInfo = Map<number, IBound & { axis: IPolarAxis }>;\n\nexport class PolarCrossHair extends BaseCrossHair {\n static type = ComponentTypeEnum.polarCrosshair;\n type = ComponentTypeEnum.polarCrosshair;\n name: string = ComponentTypeEnum.polarCrosshair;\n currValueX: Map<number, { v: StringOrNumber; axis: IPolarAxis; [key: string]: any }>;\n currValueY: Map<number, { v: StringOrNumber; axis: IPolarAxis; [key: string]: any }>;\n\n xHair: IHair | undefined;\n yHair: (IHair & { smooth: boolean }) | undefined;\n\n private _cacheXCrossHairInfo: ICrosshairInfo | undefined;\n private _cacheYCrossHairInfo: ICrosshairInfo | undefined;\n\n private _radiusCrosshair: IGroup;\n private _radiusLabelCrosshair: Tag;\n private _angleCrosshair: IGroup;\n private _angleLabelCrosshair: Tag;\n\n static createComponent(spec: any, options: IComponentOption) {\n const crosshairSpec = spec.crosshair || options.defaultSpec;\n if (isNil(crosshairSpec)) {\n return undefined;\n }\n if (!isArray(crosshairSpec)) {\n if (crosshairSpec.categoryField || crosshairSpec.valueField) {\n return new PolarCrossHair(crosshairSpec, { ...options, specKey: 'crosshair' });\n }\n return undefined;\n }\n const components: PolarCrossHair[] = [];\n crosshairSpec.forEach((s: IPolarCrosshairSpec, i: number) => {\n if (s.categoryField || s.valueField) {\n components.push(new PolarCrossHair(s, { ...options, specIndex: i, specKey: 'crosshair' }));\n }\n });\n return components;\n }\n\n constructor(spec: IPolarCrosshairSpec, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this.currValueX = new Map();\n this.currValueY = new Map();\n }\n\n protected _showDefaultCrosshair() {\n if (!this.showDefault) {\n return;\n }\n // TODO: 待支持\n }\n\n protected _hide() {\n this._radiusCrosshair && this._radiusCrosshair.hideAll();\n this._radiusLabelCrosshair && this._radiusLabelCrosshair.hideAll();\n this._angleCrosshair && this._angleCrosshair.hideAll();\n this._angleLabelCrosshair && this._angleLabelCrosshair.hideAll();\n }\n\n /**\n * 查找所有落在x和y区域的轴\n * @param relativeX\n * @param relativeY\n */\n findAllAxisContains(relativeX: number, relativeY: number) {\n const xAxisMap = this._getAxisInfoByField<IPolarAxis>('category');\n const yAxisMap = this._getAxisInfoByField<IPolarAxis>('value');\n return {\n xAxisMap: this._filterAxisByPoint<IPolarAxis>(xAxisMap, relativeX, relativeY),\n yAxisMap: this._filterAxisByPoint<IPolarAxis>(yAxisMap, relativeX, relativeY)\n };\n }\n\n /**\n * 根据位置获取所有轴上的value\n * @param axisMap\n * @param p\n * @returns\n */\n getAllAxisValues(\n axisMap: IAxisInfo,\n point: IPoint,\n currValue: Map<number, { v: StringOrNumber; axis: IPolarAxis; [key: string]: any }>\n ): boolean {\n // 首先不能存在两个离散轴\n let discrete = false;\n axisMap.forEach(item => {\n if (isDiscrete(item.axis.getScale().type)) {\n if (!discrete) {\n discrete = true;\n } else {\n this.enable = false;\n }\n }\n });\n if (!this.enable) {\n return false;\n }\n // 获取所有的value\n axisMap.forEach((item, id) => {\n const axis = item.axis;\n let value = axis.positionToData({\n x: point.x - (item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x),\n y: point.y - (item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y)\n });\n if (isContinuous(axis.getScale().type) && isValidNumber(+value)) {\n value = (+value as number).toFixed(2);\n }\n const center = {\n x: axis.getCenter().x + this.getLayoutStartPoint().x,\n y: axis.getCenter().y + this.getLayoutStartPoint().y\n };\n currValue.set(id, {\n v: value,\n axis: item.axis,\n center,\n innerRadius: axis.getInnerRadius(),\n radius: axis.getOuterRadius(),\n startAngle: axis.startAngle,\n endAngle: axis.endAngle,\n distance: PointService.distancePP(point, axis.getCenter()),\n coord: axis.pointToCoord(point),\n point\n });\n });\n return true;\n }\n\n protected _layoutCrosshair(relativeX: number, relativeY: number) {\n // 找到所有的包含这个点的轴\n const { xAxisMap, yAxisMap } = this.findAllAxisContains(relativeX, relativeY);\n if (xAxisMap.size === 0 && yAxisMap.size === 0) {\n if (this.enableRemain) {\n return;\n }\n // 隐藏\n this._hide();\n return;\n }\n // 删除之前的currValue\n this.currValueX.clear();\n this.currValueY.clear();\n // 将数据保存到这个对象中,如果不存在,就直接不执行后续逻辑\n xAxisMap && this.getAllAxisValues(xAxisMap, { x: relativeX, y: relativeY }, this.currValueX);\n yAxisMap && this.getAllAxisValues(yAxisMap, { x: relativeX, y: relativeY }, this.currValueY);\n\n this.layoutByValue(LayoutType.ALL);\n }\n\n private layoutByValue(tag: number) {\n if (!this.enable) {\n return;\n }\n // 获取axisHelper\n const series = this._firstSeries<IPolarSeries>();\n if (!series) {\n return;\n }\n let xCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n label: { visible: false, text: '', offset: 0 }\n } as ICrosshairInfo;\n let yCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n sides: (series.angleAxisHelper.getScale(0) as BandScale).ticks().length,\n label: { visible: false, text: '', offset: 0 }\n } as ICrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (this.xHair) {\n xCrossHairInfo.visible = !!this.currValueX.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n this.currValueX.forEach(({ axis, v, coord, ...rest }) => {\n v = v ?? '';\n merge(xCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([v]);\n xCrossHairInfo.angle = angle;\n if (this.xHair.label?.visible) {\n xCrossHairInfo.label.visible = true;\n xCrossHairInfo.label.text = v;\n xCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n xCrossHairInfo.startAngle = angle - bandWidth / 2;\n xCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (this.yHair) {\n yCrossHairInfo.visible = !!this.currValueY.size;\n this.currValueY.forEach(({ axis, v, coord, ...rest }) => {\n v = v ?? '';\n if (this.yHair.label?.visible) {\n yCrossHairInfo.label.visible = true;\n yCrossHairInfo.label.text = v;\n yCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n yCrossHairInfo.angle = coord.angle;\n yCrossHairInfo.axis = axis;\n merge(yCrossHairInfo, rest);\n });\n }\n\n if (this.enableRemain && !xCrossHairInfo.visible && isValid(this._cacheXCrossHairInfo)) {\n xCrossHairInfo = this._cacheXCrossHairInfo;\n } else {\n if (this.xHair?.label?.formatMethod && xCrossHairInfo.label.visible) {\n const { label } = xCrossHairInfo;\n label.text = this.xHair.label.formatMethod(label.text, 'angle') as string;\n }\n }\n\n if (this.enableRemain && !yCrossHairInfo.visible && isValid(this._cacheYCrossHairInfo)) {\n yCrossHairInfo = this._cacheYCrossHairInfo;\n } else {\n if (this.yHair?.label?.formatMethod && yCrossHairInfo.label.visible) {\n const { label } = yCrossHairInfo;\n label.text = this.yHair.label.formatMethod(label.text, 'radius') as string;\n }\n }\n\n if (tag) {\n LayoutType.HORIZONTAL && this._layoutHorizontal(yCrossHairInfo);\n LayoutType.VERTICAL && this._layoutVertical(xCrossHairInfo);\n }\n\n if (this.enableRemain) {\n this._cacheXCrossHairInfo = { ...xCrossHairInfo, _isCache: true };\n this._cacheYCrossHairInfo = { ...yCrossHairInfo, _isCache: true };\n }\n }\n\n private _layoutVertical(crosshairInfo: ICrosshairInfo) {\n if (crosshairInfo._isCache && this.enableRemain) {\n return;\n }\n\n const container = this.getContainer();\n const { angle, innerRadius, radius, label, startAngle, endAngle, center, visible } = crosshairInfo;\n if (visible) {\n const crosshairType = this.xHair.type === 'rect' ? 'sector' : 'line';\n let positionAttrs;\n if (crosshairType === 'sector') {\n positionAttrs = {\n center,\n innerRadius,\n radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n } else {\n positionAttrs = {\n start: polarToCartesian(center, innerRadius, angle),\n end: polarToCartesian(center, radius, angle)\n };\n }\n\n if (this._angleCrosshair) {\n this._angleCrosshair.setAttributes(positionAttrs as unknown as any);\n } else {\n let crosshair;\n // 创建\n if (crosshairType === 'line') {\n crosshair = new LineCrosshair({\n ...(positionAttrs as { start: IPoint; end: IPoint }),\n lineStyle: this.xHair.style,\n zIndex: this.gridZIndex\n });\n } else if (crosshairType === 'sector') {\n crosshair = new SectorCrosshair({\n ...(positionAttrs as {\n center: IPoint;\n innerRadius: number;\n radius: number;\n startAngle: number;\n endAngle: number;\n }),\n sectorStyle: this.xHair.style,\n zIndex: this.gridZIndex\n });\n }\n this._angleCrosshair = crosshair as unknown as IGroup;\n // 添加至场景树\n container.add(crosshair as unknown as INode);\n }\n\n // 文本\n if (label.visible) {\n const orient = angleLabelOrientAttribute(angle);\n const labelAttrs = {\n ...polarToCartesian(center, radius + label.offset, angle),\n ...this.xHair.label,\n ...label,\n textStyle: {\n ...this.xHair.label?.textStyle,\n textAlign: orient.align,\n textBaseline: orient.baseline\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._angleLabelCrosshair, labelAttrs, label => {\n label.name = 'crosshair-angle-label';\n this._angleLabelCrosshair = label;\n });\n } else {\n this._angleLabelCrosshair && this._angleLabelCrosshair.hideAll();\n }\n }\n }\n\n private _layoutHorizontal(crosshairInfo: ICrosshairInfo) {\n if (crosshairInfo._isCache && this.enableRemain) {\n return;\n }\n\n const { center, startAngle, endAngle, distance, sides, axis, label, point, radius, innerRadius, visible } =\n crosshairInfo;\n const container = this.getContainer();\n if (visible) {\n const crosshairType = this.yHair.smooth ? 'circle' : 'polygon';\n\n let polygonRadius = distance;\n if (crosshairType === 'polygon') {\n const axisCenter = axis.getCenter();\n // 需要计算半径\n // 获取当前点的角度\n const curAngle = getAngleByPoint(axisCenter, point);\n const stepAngle = (endAngle - startAngle) / sides;\n const index = Math.floor((curAngle - startAngle) / stepAngle);\n const preAngle = index * stepAngle + startAngle;\n const nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle);\n\n const prePoint = polarToCartesian(axisCenter, distance, preAngle);\n const nextPoint = polarToCartesian(axisCenter, distance, nextAngle);\n // 求交点\n const insertPoint = getIntersectPoint(\n [nextPoint.x, nextPoint.y],\n [prePoint.x, prePoint.y],\n [axisCenter.x, axisCenter.y],\n [point.x, point.y]\n );\n if (insertPoint) {\n polygonRadius = clamp(\n PointService.distancePN(point, insertPoint[0], insertPoint[1]) + distance,\n innerRadius,\n radius\n );\n }\n }\n const positionAttrs = {\n center,\n startAngle: startAngle,\n endAngle: endAngle,\n radius: polygonRadius,\n sides\n };\n\n if (this._radiusCrosshair) {\n this._radiusCrosshair.setAttributes(positionAttrs as unknown as any);\n } else {\n let crosshair;\n if (crosshairType === 'polygon') {\n crosshair = new PolygonCrosshair({\n ...positionAttrs,\n lineStyle: this.yHair.style,\n zIndex: this.gridZIndex\n });\n } else {\n crosshair = new CircleCrosshair({\n ...positionAttrs,\n lineStyle: this.yHair.style,\n zIndex: this.gridZIndex\n });\n }\n this._radiusCrosshair = crosshair as unknown as IGroup;\n // 添加至场景树\n container.add(crosshair as unknown as INode);\n }\n\n // 文本\n if (label.visible) {\n const orient = radiusLabelOrientAttribute(startAngle);\n const labelAttrs = {\n ...polarToCartesian(center, polygonRadius, startAngle),\n ...this.yHair.label,\n ...label,\n textStyle: {\n ...this.yHair.label?.textStyle,\n textAlign: orient.align,\n textBaseline: orient.baseline\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._radiusLabelCrosshair, labelAttrs, label => {\n label.name = 'crosshair-radius-label';\n this._radiusLabelCrosshair = label;\n });\n } else {\n this._radiusLabelCrosshair && this._radiusLabelCrosshair.hideAll();\n }\n }\n }\n\n protected _parseFieldInfo() {\n const { categoryField, valueField } = this._crosshairConfig as IPolarCrosshairSpec;\n if (categoryField && categoryField.visible) {\n this.xHair = this._parseField(categoryField, 'categoryField');\n }\n if (valueField && valueField.visible) {\n this.yHair = this._parseField(valueField, 'valueField');\n this.yHair.smooth = valueField?.line?.smooth;\n }\n }\n\n private _updateCrosshairLabel(label: Tag, labelAttrs: any, callback: (label: Tag) => void) {\n // 文本\n const container = this.getContainer();\n if (label) {\n label.setAttributes(labelAttrs);\n } else {\n label = new Tag(labelAttrs);\n container.add(label as unknown as INode);\n callback(label);\n }\n limitTagInBounds(label, this._getLimitBounds());\n }\n\n clear() {\n [(this._radiusCrosshair, this._radiusLabelCrosshair, this._angleCrosshair, this._angleLabelCrosshair)].forEach(\n c => {\n if (c) {\n this._container?.removeChild(c as unknown as INode);\n c = null;\n }\n }\n );\n\n super.clear();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { IPolarSeries } from '../../series/interface/series';\nimport { isArray, isValid, isValidNumber, mergeSpec, isNil, clamp } from '../../util';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { IPolarCrosshairSpec } from './interface';\nimport type { BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isDiscrete, isContinuous } from '@visactor/vscale';\n// import { registerComponent } from '@visactor/vgrammar';\nimport { Tag } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { LineCrosshair, SectorCrosshair, CircleCrosshair, PolygonCrosshair } from '@visactor/vrender-components';\nimport type { IPolarAxis } from '../axis/polar/interface';\nimport type { IPoint, StringOrNumber } from '../../typings';\nimport type { IHair } from './base';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseCrossHair } from './base';\nimport { polarToCartesian, getIntersectPoint, PointService, getAngleByPoint } from '@visactor/vutils';\nimport type { IGroup, INode } from '@visactor/vrender';\nimport { angleLabelOrientAttribute, radiusLabelOrientAttribute } from '../../util/math';\nimport { limitTagInBounds } from './util';\nimport { getAxisLabelOffset } from '../axis/util';\n\ninterface ICrosshairInfo {\n x: number;\n y: number;\n center: IPoint;\n radius: number;\n distance: number;\n startAngle: number;\n endAngle: number;\n innerRadius: number;\n visible: boolean;\n sides: number;\n angle: number;\n point: IPoint;\n _isCache?: boolean;\n label?: { visible: boolean; text: StringOrNumber; offset: number };\n axis?: IPolarAxis;\n}\n\nenum LayoutType {\n ALL = 0b0011,\n HORIZONTAL = 0b0010,\n VERTICAL = 0b0001,\n NONE = 0b0000\n}\n\ntype IBound = { x1: number; y1: number; x2: number; y2: number };\ntype IAxisInfo = Map<number, IBound & { axis: IPolarAxis }>;\n\nexport class PolarCrossHair<T extends IPolarCrosshairSpec = IPolarCrosshairSpec> extends BaseCrossHair<T> {\n static type = ComponentTypeEnum.polarCrosshair;\n type = ComponentTypeEnum.polarCrosshair;\n name: string = ComponentTypeEnum.polarCrosshair;\n currValueX: Map<number, { v: StringOrNumber; axis: IPolarAxis; [key: string]: any }>;\n currValueY: Map<number, { v: StringOrNumber; axis: IPolarAxis; [key: string]: any }>;\n\n xHair: IHair | undefined;\n yHair: (IHair & { smooth: boolean }) | undefined;\n\n private _cacheXCrossHairInfo: ICrosshairInfo | undefined;\n private _cacheYCrossHairInfo: ICrosshairInfo | undefined;\n\n private _radiusCrosshair: IGroup;\n private _radiusLabelCrosshair: Tag;\n private _angleCrosshair: IGroup;\n private _angleLabelCrosshair: Tag;\n\n static createComponent(spec: any, options: IComponentOption) {\n const crosshairSpec = spec.crosshair || options.defaultSpec;\n if (isNil(crosshairSpec)) {\n return undefined;\n }\n if (!isArray(crosshairSpec)) {\n if (crosshairSpec.categoryField || crosshairSpec.valueField) {\n return new PolarCrossHair(crosshairSpec, { ...options, specKey: 'crosshair' });\n }\n return undefined;\n }\n const components: PolarCrossHair[] = [];\n crosshairSpec.forEach((s: IPolarCrosshairSpec, i: number) => {\n if (s.categoryField || s.valueField) {\n components.push(new PolarCrossHair(s, { ...options, specIndex: i, specKey: 'crosshair' }));\n }\n });\n return components;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this.currValueX = new Map();\n this.currValueY = new Map();\n }\n\n protected _showDefaultCrosshair() {\n if (!this.showDefault) {\n return;\n }\n // TODO: 待支持\n }\n\n protected _hide() {\n this._radiusCrosshair && this._radiusCrosshair.hideAll();\n this._radiusLabelCrosshair && this._radiusLabelCrosshair.hideAll();\n this._angleCrosshair && this._angleCrosshair.hideAll();\n this._angleLabelCrosshair && this._angleLabelCrosshair.hideAll();\n }\n\n /**\n * 查找所有落在x和y区域的轴\n * @param relativeX\n * @param relativeY\n */\n findAllAxisContains(relativeX: number, relativeY: number) {\n const xAxisMap = this._getAxisInfoByField<IPolarAxis>('category');\n const yAxisMap = this._getAxisInfoByField<IPolarAxis>('value');\n return {\n xAxisMap: this._filterAxisByPoint<IPolarAxis>(xAxisMap, relativeX, relativeY),\n yAxisMap: this._filterAxisByPoint<IPolarAxis>(yAxisMap, relativeX, relativeY)\n };\n }\n\n /**\n * 根据位置获取所有轴上的value\n * @param axisMap\n * @param p\n * @returns\n */\n getAllAxisValues(\n axisMap: IAxisInfo,\n point: IPoint,\n currValue: Map<number, { v: StringOrNumber; axis: IPolarAxis; [key: string]: any }>\n ): boolean {\n // 首先不能存在两个离散轴\n let discrete = false;\n axisMap.forEach(item => {\n if (isDiscrete(item.axis.getScale().type)) {\n if (!discrete) {\n discrete = true;\n } else {\n this.enable = false;\n }\n }\n });\n if (!this.enable) {\n return false;\n }\n // 获取所有的value\n axisMap.forEach((item, id) => {\n const axis = item.axis;\n const { x: axisStartX, y: axisStartY } = item.axis.getLayoutStartPoint();\n const { x, y } = this.getLayoutStartPoint();\n let value = axis.positionToData({\n x: point.x - (axisStartX - x),\n y: point.y - (axisStartY - y)\n });\n if (isContinuous(axis.getScale().type) && isValidNumber(+value)) {\n value = (+value as number).toFixed(2);\n }\n const center = {\n x: axis.getCenter().x + this.getLayoutStartPoint().x,\n y: axis.getCenter().y + this.getLayoutStartPoint().y\n };\n currValue.set(id, {\n v: value,\n axis: item.axis,\n center,\n innerRadius: axis.getInnerRadius(),\n radius: axis.getOuterRadius(),\n startAngle: axis.startAngle,\n endAngle: axis.endAngle,\n distance: PointService.distancePP(point, axis.getCenter()),\n coord: axis.pointToCoord(point),\n point\n });\n });\n return true;\n }\n\n protected _layoutCrosshair(relativeX: number, relativeY: number) {\n // 找到所有的包含这个点的轴\n const { xAxisMap, yAxisMap } = this.findAllAxisContains(relativeX, relativeY);\n if (xAxisMap.size === 0 && yAxisMap.size === 0) {\n if (this.enableRemain) {\n return;\n }\n // 隐藏\n this._hide();\n return;\n }\n // 删除之前的currValue\n this.currValueX.clear();\n this.currValueY.clear();\n // 将数据保存到这个对象中,如果不存在,就直接不执行后续逻辑\n xAxisMap && this.getAllAxisValues(xAxisMap, { x: relativeX, y: relativeY }, this.currValueX);\n yAxisMap && this.getAllAxisValues(yAxisMap, { x: relativeX, y: relativeY }, this.currValueY);\n\n this.layoutByValue(LayoutType.ALL);\n }\n\n private layoutByValue(tag: number) {\n if (!this.enable) {\n return;\n }\n // 获取axisHelper\n const series = this._firstSeries<IPolarSeries>();\n if (!series) {\n return;\n }\n let xCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n label: { visible: false, text: '', offset: 0 }\n } as ICrosshairInfo;\n let yCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n sides: (series.angleAxisHelper.getScale(0) as BandScale).ticks().length,\n label: { visible: false, text: '', offset: 0 }\n } as ICrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (this.xHair) {\n xCrossHairInfo.visible = !!this.currValueX.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n this.currValueX.forEach(({ axis, v, coord, ...rest }) => {\n v = v ?? '';\n mergeSpec(xCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([v]);\n xCrossHairInfo.angle = angle;\n if (this.xHair.label?.visible) {\n xCrossHairInfo.label.visible = true;\n xCrossHairInfo.label.text = v;\n xCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n xCrossHairInfo.startAngle = angle - bandWidth / 2;\n xCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (this.yHair) {\n yCrossHairInfo.visible = !!this.currValueY.size;\n this.currValueY.forEach(({ axis, v, coord, ...rest }) => {\n v = v ?? '';\n if (this.yHair.label?.visible) {\n yCrossHairInfo.label.visible = true;\n yCrossHairInfo.label.text = v;\n yCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n yCrossHairInfo.angle = coord.angle;\n yCrossHairInfo.axis = axis;\n mergeSpec(yCrossHairInfo, rest);\n });\n }\n\n if (this.enableRemain && !xCrossHairInfo.visible && isValid(this._cacheXCrossHairInfo)) {\n xCrossHairInfo = this._cacheXCrossHairInfo;\n } else {\n if (this.xHair?.label?.formatMethod && xCrossHairInfo.label.visible) {\n const { label } = xCrossHairInfo;\n label.text = this.xHair.label.formatMethod(label.text, 'angle') as string;\n }\n }\n\n if (this.enableRemain && !yCrossHairInfo.visible && isValid(this._cacheYCrossHairInfo)) {\n yCrossHairInfo = this._cacheYCrossHairInfo;\n } else {\n if (this.yHair?.label?.formatMethod && yCrossHairInfo.label.visible) {\n const { label } = yCrossHairInfo;\n label.text = this.yHair.label.formatMethod(label.text, 'radius') as string;\n }\n }\n\n if (tag) {\n LayoutType.HORIZONTAL && this._layoutHorizontal(yCrossHairInfo);\n LayoutType.VERTICAL && this._layoutVertical(xCrossHairInfo);\n }\n\n if (this.enableRemain) {\n this._cacheXCrossHairInfo = { ...xCrossHairInfo, _isCache: true };\n this._cacheYCrossHairInfo = { ...yCrossHairInfo, _isCache: true };\n }\n }\n\n private _layoutVertical(crosshairInfo: ICrosshairInfo) {\n if (crosshairInfo._isCache && this.enableRemain) {\n return;\n }\n\n const container = this.getContainer();\n const { angle, innerRadius, radius, label, startAngle, endAngle, center, visible } = crosshairInfo;\n if (visible) {\n const crosshairType = this.xHair.type === 'rect' ? 'sector' : 'line';\n let positionAttrs;\n if (crosshairType === 'sector') {\n positionAttrs = {\n center,\n innerRadius,\n radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n } else {\n positionAttrs = {\n start: polarToCartesian(center, innerRadius, angle),\n end: polarToCartesian(center, radius, angle)\n };\n }\n\n if (this._angleCrosshair) {\n this._angleCrosshair.setAttributes(positionAttrs as unknown as any);\n } else {\n let crosshair;\n // 创建\n if (crosshairType === 'line') {\n crosshair = new LineCrosshair({\n ...(positionAttrs as { start: IPoint; end: IPoint }),\n lineStyle: this.xHair.style,\n zIndex: this.gridZIndex\n });\n } else if (crosshairType === 'sector') {\n crosshair = new SectorCrosshair({\n ...(positionAttrs as {\n center: IPoint;\n innerRadius: number;\n radius: number;\n startAngle: number;\n endAngle: number;\n }),\n sectorStyle: this.xHair.style,\n zIndex: this.gridZIndex\n });\n }\n this._angleCrosshair = crosshair as unknown as IGroup;\n // 添加至场景树\n container.add(crosshair as unknown as INode);\n }\n\n // 文本\n if (label.visible) {\n const orient = angleLabelOrientAttribute(angle);\n const labelAttrs = {\n ...polarToCartesian(center, radius + label.offset, angle),\n ...this.xHair.label,\n ...label,\n textStyle: {\n ...this.xHair.label?.textStyle,\n textAlign: orient.align,\n textBaseline: orient.baseline\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._angleLabelCrosshair, labelAttrs, label => {\n label.name = 'crosshair-angle-label';\n this._angleLabelCrosshair = label;\n });\n } else {\n this._angleLabelCrosshair && this._angleLabelCrosshair.hideAll();\n }\n }\n }\n\n private _layoutHorizontal(crosshairInfo: ICrosshairInfo) {\n if (crosshairInfo._isCache && this.enableRemain) {\n return;\n }\n\n const { center, startAngle, endAngle, distance, sides, axis, label, point, radius, innerRadius, visible } =\n crosshairInfo;\n const container = this.getContainer();\n if (visible) {\n const crosshairType = this.yHair.smooth ? 'circle' : 'polygon';\n\n let polygonRadius = distance;\n if (crosshairType === 'polygon') {\n const axisCenter = axis.getCenter();\n // 需要计算半径\n // 获取当前点的角度\n const curAngle = getAngleByPoint(axisCenter, point);\n const stepAngle = (endAngle - startAngle) / sides;\n const index = Math.floor((curAngle - startAngle) / stepAngle);\n const preAngle = index * stepAngle + startAngle;\n const nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle);\n\n const prePoint = polarToCartesian(axisCenter, distance, preAngle);\n const nextPoint = polarToCartesian(axisCenter, distance, nextAngle);\n // 求交点\n const insertPoint = getIntersectPoint(\n [nextPoint.x, nextPoint.y],\n [prePoint.x, prePoint.y],\n [axisCenter.x, axisCenter.y],\n [point.x, point.y]\n );\n if (insertPoint) {\n polygonRadius = clamp(\n PointService.distancePN(point, insertPoint[0], insertPoint[1]) + distance,\n innerRadius,\n radius\n );\n }\n }\n const positionAttrs = {\n center,\n startAngle: startAngle,\n endAngle: endAngle,\n radius: polygonRadius,\n sides\n };\n\n if (this._radiusCrosshair) {\n this._radiusCrosshair.setAttributes(positionAttrs as unknown as any);\n } else {\n let crosshair;\n if (crosshairType === 'polygon') {\n crosshair = new PolygonCrosshair({\n ...positionAttrs,\n lineStyle: this.yHair.style,\n zIndex: this.gridZIndex + 1 // 样式优化:线盖在面上\n });\n } else {\n crosshair = new CircleCrosshair({\n ...positionAttrs,\n lineStyle: this.yHair.style,\n zIndex: this.gridZIndex\n });\n }\n this._radiusCrosshair = crosshair as unknown as IGroup;\n // 添加至场景树\n container.add(crosshair as unknown as INode);\n }\n\n // 文本\n if (label.visible) {\n const orient = radiusLabelOrientAttribute(startAngle);\n const labelAttrs = {\n ...polarToCartesian(center, polygonRadius, startAngle),\n ...this.yHair.label,\n ...label,\n textStyle: {\n ...this.yHair.label?.textStyle,\n textAlign: orient.align,\n textBaseline: orient.baseline\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._radiusLabelCrosshair, labelAttrs, label => {\n label.name = 'crosshair-radius-label';\n this._radiusLabelCrosshair = label;\n });\n } else {\n this._radiusLabelCrosshair && this._radiusLabelCrosshair.hideAll();\n }\n }\n }\n\n protected _parseFieldInfo() {\n const { categoryField, valueField } = this._crosshairConfig as IPolarCrosshairSpec;\n if (categoryField && categoryField.visible) {\n this.xHair = this._parseField(categoryField, 'categoryField');\n }\n if (valueField && valueField.visible) {\n this.yHair = this._parseField(valueField, 'valueField');\n this.yHair.smooth = valueField?.line?.smooth;\n }\n }\n\n private _updateCrosshairLabel(label: Tag, labelAttrs: any, callback: (label: Tag) => void) {\n // 文本\n const container = this.getContainer();\n if (label) {\n label.setAttributes(labelAttrs);\n } else {\n label = new Tag(labelAttrs);\n container.add(label as unknown as INode);\n callback(label);\n }\n limitTagInBounds(label, this._getLimitBounds());\n }\n\n clear() {\n [(this._radiusCrosshair, this._radiusLabelCrosshair, this._angleCrosshair, this._angleLabelCrosshair)].forEach(\n c => {\n if (c) {\n this._container?.removeChild(c as unknown as INode);\n c = null;\n }\n }\n );\n\n super.clear();\n }\n}\n"]}
@@ -1,5 +1,10 @@
1
1
  import type { Tag } from '@visactor/vrender-components';
2
2
  import type { IBoundsLike } from '@visactor/vutils';
3
3
  import type { Datum } from '../../typings';
4
+ import type { IChart } from '../../chart/interface';
5
+ import type { ITheme } from '../../theme';
6
+ import type { ICrosshairTheme } from './interface';
4
7
  export declare function limitTagInBounds(shape: Tag, bounds: IBoundsLike): void;
5
8
  export declare function getDatumByValue(data: Datum[], value: number, startField: string, endField?: string): Datum | null;
9
+ export declare const getCartesianCrosshairTheme: (theme: ITheme, chart: IChart) => ICrosshairTheme;
10
+ export declare const getPolarCrosshairTheme: (theme: ITheme, chart: IChart) => ICrosshairTheme;
@@ -1,3 +1,9 @@
1
+ import { isValid, mergeSpec } from "../../util";
2
+
3
+ import { isXAxis, isYAxis } from "../axis/cartesian/util";
4
+
5
+ import { isDiscrete } from "@visactor/vscale";
6
+
1
7
  export function limitTagInBounds(shape, bounds) {
2
8
  const {x1: regionMinX, y1: regionMinY, x2: regionMaxX, y2: regionMaxY} = bounds, {x1: x1, y1: y1, x2: x2, y2: y2} = shape.AABBBounds, {dx: originDx = 0, dy: originDy = 0} = shape.attribute;
3
9
  let dx = 0, dy = 0;
@@ -15,4 +21,32 @@ export function getDatumByValue(data, value, startField, endField) {
15
21
  }
16
22
  return null;
17
23
  }
24
+
25
+ export const getCartesianCrosshairTheme = (theme, chart) => {
26
+ var _a;
27
+ const axes = chart.getAllComponents().filter((component => component.type.includes("Axis"))), {bandField: bandField, linearField: linearField, xField: xField, yField: yField} = null !== (_a = theme.component.crosshair) && void 0 !== _a ? _a : {}, xAxis = axes.find((axis => isXAxis(axis.getOrient())));
28
+ let newXField;
29
+ newXField = isValid(xAxis) ? mergeSpec({}, isDiscrete(xAxis.getScale().type) ? bandField : linearField, xField) : xField;
30
+ const yAxis = axes.find((axis => isYAxis(axis.getOrient())));
31
+ let newYField;
32
+ return newYField = isValid(yAxis) ? mergeSpec({}, isDiscrete(yAxis.getScale().type) ? bandField : linearField, yField) : yField,
33
+ {
34
+ xField: newXField,
35
+ yField: newYField
36
+ };
37
+ };
38
+
39
+ export const getPolarCrosshairTheme = (theme, chart) => {
40
+ var _a;
41
+ const axes = chart.getAllComponents().filter((component => component.type.includes("Axis"))), {bandField: bandField, linearField: linearField, categoryField: categoryField, valueField: valueField} = null !== (_a = theme.component.crosshair) && void 0 !== _a ? _a : {}, angleAxis = axes.find((axis => "angle" === axis.getOrient()));
42
+ let newAngleField;
43
+ newAngleField = isValid(angleAxis) ? mergeSpec({}, isDiscrete(angleAxis.getScale().type) ? bandField : linearField, categoryField) : categoryField;
44
+ const radiusAxis = axes.find((axis => "radius" === axis.getOrient()));
45
+ let newRadiusField;
46
+ return newRadiusField = isValid(radiusAxis) ? mergeSpec({}, isDiscrete(radiusAxis.getScale().type) ? bandField : linearField, valueField) : valueField,
47
+ {
48
+ categoryField: newAngleField,
49
+ valueField: newRadiusField
50
+ };
51
+ };
18
52
  //# sourceMappingURL=util.js.map