@visactor/vchart 1.11.0-alpha.2 → 1.11.0-alpha.3

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 (1059) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +49567 -46010
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.d.ts +2 -2
  6. package/cjs/animation/utils.js +2 -2
  7. package/cjs/animation/utils.js.map +1 -1
  8. package/cjs/chart/base/base-chart-transformer.js +5 -2
  9. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  10. package/cjs/chart/base/base-chart.d.ts +4 -2
  11. package/cjs/chart/base/base-chart.js +24 -11
  12. package/cjs/chart/base/base-chart.js.map +1 -1
  13. package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
  14. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  15. package/cjs/chart/common/common-transformer.js +3 -2
  16. package/cjs/chart/common/common-transformer.js.map +1 -1
  17. package/cjs/chart/common/interface.d.ts +2 -2
  18. package/cjs/chart/common/interface.js.map +1 -1
  19. package/cjs/chart/index.d.ts +6 -4
  20. package/cjs/chart/index.js +21 -2
  21. package/cjs/chart/index.js.map +1 -1
  22. package/cjs/chart/interface/chart.d.ts +6 -1
  23. package/cjs/chart/interface/chart.js.map +1 -1
  24. package/cjs/chart/interface/type.d.ts +2 -1
  25. package/cjs/chart/interface/type.js +1 -1
  26. package/cjs/chart/interface/type.js.map +1 -1
  27. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  28. package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
  29. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  30. package/cjs/chart/radar/radar-transformer.js +3 -3
  31. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  32. package/cjs/chart/range-column/range-column-transformer.js +5 -1
  33. package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
  34. package/cjs/chart/rose/rose-transformer.js +2 -2
  35. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  36. package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
  37. package/cjs/chart/sequence/sequence.js +3 -2
  38. package/cjs/chart/sequence/sequence.js.map +1 -1
  39. package/cjs/chart/stack.js +2 -1
  40. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  41. package/cjs/chart/util.js +4 -3
  42. package/cjs/chart/util.js.map +1 -1
  43. package/cjs/chart/venn/index.d.ts +3 -0
  44. package/cjs/chart/venn/index.js +22 -0
  45. package/cjs/chart/venn/index.js.map +1 -0
  46. package/cjs/chart/venn/interface.d.ts +6 -0
  47. package/cjs/chart/venn/interface.js +6 -0
  48. package/cjs/chart/venn/interface.js.map +1 -0
  49. package/cjs/chart/venn/venn-transformer.d.ts +7 -0
  50. package/cjs/chart/venn/venn-transformer.js +28 -0
  51. package/cjs/chart/venn/venn-transformer.js.map +1 -0
  52. package/cjs/chart/venn/venn.d.ts +14 -0
  53. package/cjs/chart/venn/venn.js +24 -0
  54. package/cjs/chart/venn/venn.js.map +1 -0
  55. package/cjs/compile/data/compilable-data.js +3 -1
  56. package/cjs/compile/data/compilable-data.js.map +1 -1
  57. package/cjs/compile/grammar-item.js +1 -2
  58. package/cjs/compile/interface/compiler.d.ts +1 -0
  59. package/cjs/compile/interface/compiler.js.map +1 -1
  60. package/cjs/compile/mark/compilable-mark.d.ts +2 -1
  61. package/cjs/compile/mark/compilable-mark.js +4 -0
  62. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  63. package/cjs/compile/mark/interface.d.ts +1 -0
  64. package/cjs/compile/mark/interface.js.map +1 -1
  65. package/cjs/component/axis/base-axis.d.ts +2 -0
  66. package/cjs/component/axis/base-axis.js +13 -6
  67. package/cjs/component/axis/base-axis.js.map +1 -1
  68. package/cjs/component/axis/cartesian/axis.d.ts +1 -2
  69. package/cjs/component/axis/cartesian/axis.js +30 -38
  70. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  71. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  72. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  73. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  74. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  75. package/cjs/component/axis/interface/spec.d.ts +2 -0
  76. package/cjs/component/axis/interface/spec.js.map +1 -1
  77. package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
  78. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  79. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  80. package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
  81. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  82. package/cjs/component/axis/polar/axis.d.ts +0 -1
  83. package/cjs/component/axis/polar/axis.js +7 -11
  84. package/cjs/component/axis/polar/axis.js.map +1 -1
  85. package/cjs/component/axis/polar/interface/common.d.ts +1 -0
  86. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  87. package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
  88. package/cjs/component/axis/polar/linear-axis.js +5 -1
  89. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  90. package/cjs/component/axis/util.js +3 -3
  91. package/cjs/component/axis/util.js.map +1 -1
  92. package/cjs/component/base/base-component.d.ts +1 -0
  93. package/cjs/component/base/base-component.js +14 -6
  94. package/cjs/component/base/base-component.js.map +1 -1
  95. package/cjs/component/base/util.js +12 -12
  96. package/cjs/component/base/util.js.map +1 -1
  97. package/cjs/component/common/trigger/mobile.js +1 -2
  98. package/cjs/component/common/trigger/mobile.js.map +1 -1
  99. package/cjs/component/crosshair/base.d.ts +1 -2
  100. package/cjs/component/crosshair/base.js +4 -6
  101. package/cjs/component/crosshair/base.js.map +1 -1
  102. package/cjs/component/crosshair/cartesian.js +1 -3
  103. package/cjs/component/crosshair/cartesian.js.map +1 -1
  104. package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
  105. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  106. package/cjs/component/crosshair/interface/polar.d.ts +7 -5
  107. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  108. package/cjs/component/crosshair/polar.js +2 -5
  109. package/cjs/component/crosshair/polar.js.map +1 -1
  110. package/cjs/component/crosshair/utils/cartesian.js +14 -14
  111. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  112. package/cjs/component/crosshair/utils/common.js +6 -5
  113. package/cjs/component/crosshair/utils/common.js.map +1 -1
  114. package/cjs/component/crosshair/utils/polar.js +17 -11
  115. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  116. package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
  117. package/cjs/component/custom-mark/custom-mark.js +43 -12
  118. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  119. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
  120. package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
  121. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  122. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
  123. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  124. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  125. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  126. package/cjs/component/data-zoom/interface.d.ts +1 -4
  127. package/cjs/component/data-zoom/interface.js +1 -5
  128. package/cjs/component/data-zoom/interface.js.map +1 -1
  129. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  130. package/cjs/component/data-zoom/util.js.map +1 -1
  131. package/cjs/component/geo/geo-coordinate.js +2 -2
  132. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  133. package/cjs/component/index.d.ts +7 -7
  134. package/cjs/component/index.js +48 -8
  135. package/cjs/component/index.js.map +1 -1
  136. package/cjs/component/indicator/indicator.js +2 -2
  137. package/cjs/component/indicator/indicator.js.map +1 -1
  138. package/cjs/component/interface/theme.d.ts +4 -0
  139. package/cjs/component/interface/theme.js.map +1 -1
  140. package/cjs/component/interface/type.d.ts +4 -0
  141. package/cjs/component/interface/type.js +3 -1
  142. package/cjs/component/interface/type.js.map +1 -1
  143. package/cjs/component/label/label.js +4 -5
  144. package/cjs/component/label/label.js.map +1 -1
  145. package/cjs/component/label/total-label.js +10 -3
  146. package/cjs/component/label/total-label.js.map +1 -1
  147. package/cjs/component/label/util.d.ts +9 -1
  148. package/cjs/component/label/util.js +25 -9
  149. package/cjs/component/label/util.js.map +1 -1
  150. package/cjs/component/legend/base-legend.js +13 -7
  151. package/cjs/component/legend/base-legend.js.map +1 -1
  152. package/cjs/component/legend/continuous/interface.d.ts +1 -0
  153. package/cjs/component/legend/continuous/interface.js.map +1 -1
  154. package/cjs/component/legend/continuous/legend.js +4 -1
  155. package/cjs/component/legend/continuous/legend.js.map +1 -1
  156. package/cjs/component/legend/continuous/util.js +3 -3
  157. package/cjs/component/legend/continuous/util.js.map +1 -1
  158. package/cjs/component/legend/discrete/interface.d.ts +1 -0
  159. package/cjs/component/legend/discrete/interface.js.map +1 -1
  160. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  161. package/cjs/component/legend/discrete/legend.js +20 -9
  162. package/cjs/component/legend/discrete/legend.js.map +1 -1
  163. package/cjs/component/legend/discrete/util.js +7 -6
  164. package/cjs/component/legend/discrete/util.js.map +1 -1
  165. package/cjs/component/legend/util.d.ts +12 -2
  166. package/cjs/component/legend/util.js +2 -2
  167. package/cjs/component/legend/util.js.map +1 -1
  168. package/cjs/component/map-label/component.js +2 -1
  169. package/cjs/component/map-label/component.js.map +1 -1
  170. package/cjs/component/marker/base-marker.d.ts +30 -44
  171. package/cjs/component/marker/base-marker.js +103 -45
  172. package/cjs/component/marker/base-marker.js.map +1 -1
  173. package/cjs/component/marker/interface.d.ts +40 -13
  174. package/cjs/component/marker/interface.js.map +1 -1
  175. package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
  176. package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
  177. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
  178. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  179. package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
  180. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  181. package/cjs/component/marker/mark-area/index.d.ts +2 -1
  182. package/cjs/component/marker/mark-area/index.js +2 -1
  183. package/cjs/component/marker/mark-area/index.js.map +1 -1
  184. package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
  185. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  186. package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
  187. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  188. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  189. package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
  190. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
  191. package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
  192. package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
  193. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
  194. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  195. package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
  196. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  197. package/cjs/component/marker/mark-line/index.d.ts +2 -1
  198. package/cjs/component/marker/mark-line/index.js +2 -1
  199. package/cjs/component/marker/mark-line/index.js.map +1 -1
  200. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  201. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  202. package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
  203. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  204. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  205. package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
  206. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
  207. package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  208. package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
  209. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
  210. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  211. package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
  212. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  213. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  214. package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
  215. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
  216. package/cjs/component/marker/mark-point/index.d.ts +3 -1
  217. package/cjs/component/marker/mark-point/index.js +2 -1
  218. package/cjs/component/marker/mark-point/index.js.map +1 -1
  219. package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
  220. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  221. package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
  222. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  223. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  224. package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
  225. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
  226. package/cjs/component/marker/utils.d.ts +40 -5
  227. package/cjs/component/marker/utils.js +148 -13
  228. package/cjs/component/marker/utils.js.map +1 -1
  229. package/cjs/component/player/player.d.ts +2 -1
  230. package/cjs/component/player/player.js +16 -9
  231. package/cjs/component/player/player.js.map +1 -1
  232. package/cjs/component/player/utils/transform.js +3 -2
  233. package/cjs/component/player/utils/transform.js.map +1 -1
  234. package/cjs/component/tooltip/tooltip-transformer.js +3 -2
  235. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  236. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  237. package/cjs/component/tooltip/tooltip.js +13 -11
  238. package/cjs/component/tooltip/tooltip.js.map +1 -1
  239. package/cjs/component/tooltip/utils/compose.js +3 -3
  240. package/cjs/component/tooltip/utils/compose.js.map +1 -1
  241. package/cjs/component/tooltip/utils/get-spec.js +2 -2
  242. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  243. package/cjs/component/tooltip/utils/index.d.ts +1 -0
  244. package/cjs/component/tooltip/utils/index.js +1 -1
  245. package/cjs/component/tooltip/utils/index.js.map +1 -1
  246. package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  247. package/cjs/component/tooltip/utils/pattern.js.map +1 -0
  248. package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
  249. package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
  250. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  251. package/cjs/core/factory.d.ts +1 -1
  252. package/cjs/core/factory.js +0 -1
  253. package/cjs/core/factory.js.map +1 -1
  254. package/cjs/core/index.d.ts +1 -1
  255. package/cjs/core/index.js +1 -1
  256. package/cjs/core/index.js.map +1 -1
  257. package/cjs/core/interface.d.ts +5 -1
  258. package/cjs/core/interface.js.map +1 -1
  259. package/cjs/core/vchart.d.ts +2 -2
  260. package/cjs/core/vchart.js +47 -24
  261. package/cjs/core/vchart.js.map +1 -1
  262. package/cjs/data/transforms/aggregation.d.ts +12 -7
  263. package/cjs/data/transforms/aggregation.js +16 -1
  264. package/cjs/data/transforms/aggregation.js.map +1 -1
  265. package/cjs/data/transforms/invalid-travel.d.ts +1 -1
  266. package/cjs/data/transforms/invalid-travel.js +4 -2
  267. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  268. package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
  269. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  270. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  271. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  272. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  273. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  274. package/cjs/data/transforms/pie.js +3 -2
  275. package/cjs/data/transforms/pie.js.map +1 -1
  276. package/cjs/data/transforms/waterfall.js +4 -2
  277. package/cjs/data/transforms/waterfall.js.map +1 -1
  278. package/cjs/event/event-dispatcher.js +8 -1
  279. package/cjs/event/event-dispatcher.js.map +1 -1
  280. package/cjs/event/interface.d.ts +2 -0
  281. package/cjs/event/interface.js.map +1 -1
  282. package/cjs/index-lark.js +1 -1
  283. package/cjs/index-lark.js.map +1 -1
  284. package/cjs/index-wx.js +1 -1
  285. package/cjs/index-wx.js.map +1 -1
  286. package/cjs/layout/base-layout.js +6 -5
  287. package/cjs/layout/base-layout.js.map +1 -1
  288. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
  289. package/cjs/layout/grid-layout/grid-layout.js +4 -4
  290. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  291. package/cjs/layout/layout-item.js +1 -1
  292. package/cjs/layout/layout-item.js.map +1 -1
  293. package/cjs/mark/base/base-mark.js +2 -2
  294. package/cjs/mark/base/base-mark.js.map +1 -1
  295. package/cjs/mark/index.d.ts +20 -20
  296. package/cjs/mark/index.js +95 -22
  297. package/cjs/mark/index.js.map +1 -1
  298. package/cjs/model/base-model-transformer.js +2 -2
  299. package/cjs/model/base-model-transformer.js.map +1 -1
  300. package/cjs/model/base-model.js +1 -1
  301. package/cjs/model/base-model.js.map +1 -1
  302. package/cjs/model/interface.d.ts +1 -0
  303. package/cjs/model/interface.js.map +1 -1
  304. package/cjs/model/layout-model.js +3 -2
  305. package/cjs/model/layout-model.js.map +1 -1
  306. package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
  307. package/cjs/plugin/base/base-plugin-service.js +11 -1
  308. package/cjs/plugin/base/base-plugin-service.js.map +1 -1
  309. package/cjs/plugin/base/interface.d.ts +3 -0
  310. package/cjs/plugin/base/interface.js.map +1 -1
  311. package/cjs/plugin/chart/media-query/media-query.js +4 -4
  312. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  313. package/cjs/plugin/chart/media-query/util/action.js +4 -3
  314. package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
  315. package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
  316. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  317. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
  318. package/cjs/plugin/components/tooltip-handler/base.js +3 -3
  319. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  320. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  321. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
  322. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  323. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
  324. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  325. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  326. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  327. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
  328. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  329. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
  330. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  331. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  332. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  333. package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  334. package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -2
  335. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  336. package/cjs/region/interface.d.ts +2 -0
  337. package/cjs/region/interface.js.map +1 -1
  338. package/cjs/region/region.d.ts +1 -0
  339. package/cjs/region/region.js +5 -1
  340. package/cjs/region/region.js.map +1 -1
  341. package/cjs/series/area/area-transformer.js +6 -5
  342. package/cjs/series/area/area-transformer.js.map +1 -1
  343. package/cjs/series/area/area.js +3 -2
  344. package/cjs/series/area/area.js.map +1 -1
  345. package/cjs/series/bar/bar-3d.js +2 -1
  346. package/cjs/series/bar/bar-3d.js.map +1 -1
  347. package/cjs/series/bar/bar.js +3 -2
  348. package/cjs/series/bar/bar.js.map +1 -1
  349. package/cjs/series/base/base-series-transformer.js +4 -4
  350. package/cjs/series/base/base-series-transformer.js.map +1 -1
  351. package/cjs/series/base/base-series.d.ts +9 -17
  352. package/cjs/series/base/base-series.js +45 -27
  353. package/cjs/series/base/base-series.js.map +1 -1
  354. package/cjs/series/base/tooltip-helper.d.ts +8 -5
  355. package/cjs/series/base/tooltip-helper.js +31 -23
  356. package/cjs/series/base/tooltip-helper.js.map +1 -1
  357. package/cjs/series/box-plot/box-plot.js +2 -1
  358. package/cjs/series/box-plot/box-plot.js.map +1 -1
  359. package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
  360. package/cjs/series/box-plot/tooltip-helper.js +21 -21
  361. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  362. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  363. package/cjs/series/cartesian/cartesian.js +14 -4
  364. package/cjs/series/cartesian/cartesian.js.map +1 -1
  365. package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
  366. package/cjs/series/circle-packing/tooltip-helper.js +1 -1
  367. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  368. package/cjs/series/dot/dot.js +2 -2
  369. package/cjs/series/dot/dot.js.map +1 -1
  370. package/cjs/series/dot/tooltip-helper.js +12 -12
  371. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  372. package/cjs/series/funnel/funnel.js +8 -4
  373. package/cjs/series/funnel/funnel.js.map +1 -1
  374. package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
  375. package/cjs/series/funnel/tooltip-helper.js +3 -3
  376. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  377. package/cjs/series/gauge/gauge-pointer.js +4 -3
  378. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  379. package/cjs/series/gauge/gauge.js +3 -3
  380. package/cjs/series/gauge/gauge.js.map +1 -1
  381. package/cjs/series/geo/geo.d.ts +1 -0
  382. package/cjs/series/geo/geo.js +4 -2
  383. package/cjs/series/geo/geo.js.map +1 -1
  384. package/cjs/series/heatmap/heatmap.js +2 -1
  385. package/cjs/series/heatmap/heatmap.js.map +1 -1
  386. package/cjs/series/index.d.ts +7 -3
  387. package/cjs/series/index.js +30 -2
  388. package/cjs/series/index.js.map +1 -1
  389. package/cjs/series/interface/common.d.ts +3 -2
  390. package/cjs/series/interface/common.js.map +1 -1
  391. package/cjs/series/interface/series.d.ts +7 -0
  392. package/cjs/series/interface/series.js.map +1 -1
  393. package/cjs/series/interface/theme.d.ts +2 -0
  394. package/cjs/series/interface/theme.js +3 -2
  395. package/cjs/series/interface/theme.js.map +1 -1
  396. package/cjs/series/interface/tooltip-helper.d.ts +8 -5
  397. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  398. package/cjs/series/interface/type.d.ts +6 -2
  399. package/cjs/series/interface/type.js +3 -2
  400. package/cjs/series/interface/type.js.map +1 -1
  401. package/cjs/series/line/line.js +3 -2
  402. package/cjs/series/line/line.js.map +1 -1
  403. package/cjs/series/link/link.js +3 -2
  404. package/cjs/series/link/link.js.map +1 -1
  405. package/cjs/series/link/tooltip-helper.js +8 -8
  406. package/cjs/series/link/tooltip-helper.js.map +1 -1
  407. package/cjs/series/liquid/tooltip-helper.js +2 -2
  408. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  409. package/cjs/series/map/geo-source.d.ts +3 -1
  410. package/cjs/series/map/geo-source.js +6 -1
  411. package/cjs/series/map/geo-source.js.map +1 -1
  412. package/cjs/series/map/tooltip-helper.d.ts +1 -1
  413. package/cjs/series/map/tooltip-helper.js +1 -1
  414. package/cjs/series/map/tooltip-helper.js.map +1 -1
  415. package/cjs/series/mixin/line-mixin.js +2 -2
  416. package/cjs/series/mixin/line-mixin.js.map +1 -1
  417. package/cjs/series/pie/pie-transformer.js +4 -4
  418. package/cjs/series/pie/pie-transformer.js.map +1 -1
  419. package/cjs/series/polar/polar.d.ts +2 -2
  420. package/cjs/series/polar/polar.js +17 -6
  421. package/cjs/series/polar/polar.js.map +1 -1
  422. package/cjs/series/progress/circular/circular.js +4 -2
  423. package/cjs/series/progress/circular/circular.js.map +1 -1
  424. package/cjs/series/radar/radar.js +5 -4
  425. package/cjs/series/radar/radar.js.map +1 -1
  426. package/cjs/series/range-area/range-area.d.ts +0 -2
  427. package/cjs/series/range-area/range-area.js +3 -6
  428. package/cjs/series/range-area/range-area.js.map +1 -1
  429. package/cjs/series/range-area/tooltip-helper.js +10 -10
  430. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  431. package/cjs/series/range-column/3d/range-column-3d.js +3 -2
  432. package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
  433. package/cjs/series/range-column/range-column.js +3 -2
  434. package/cjs/series/range-column/range-column.js.map +1 -1
  435. package/cjs/series/range-column/tooltip-helper.js +5 -5
  436. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  437. package/cjs/series/rose/rose.js +3 -2
  438. package/cjs/series/rose/rose.js.map +1 -1
  439. package/cjs/series/sankey/sankey.d.ts +2 -1
  440. package/cjs/series/sankey/sankey.js +51 -118
  441. package/cjs/series/sankey/sankey.js.map +1 -1
  442. package/cjs/series/sankey/tooltip-helper.js +9 -9
  443. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  444. package/cjs/series/scatter/scatter.js +2 -1
  445. package/cjs/series/scatter/scatter.js.map +1 -1
  446. package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
  447. package/cjs/series/sunburst/tooltip-helper.js +1 -1
  448. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  449. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  450. package/cjs/series/treemap/tooltip-helper.js +1 -1
  451. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  452. package/cjs/series/util/stack.js +29 -15
  453. package/cjs/series/util/stack.js.map +1 -1
  454. package/cjs/series/venn/animation.d.ts +6 -0
  455. package/cjs/series/venn/animation.js +76 -0
  456. package/cjs/series/venn/animation.js.map +1 -0
  457. package/cjs/series/venn/constant.d.ts +2 -0
  458. package/cjs/series/venn/constant.js +23 -0
  459. package/cjs/series/venn/constant.js.map +1 -0
  460. package/cjs/series/venn/interface.d.ts +21 -0
  461. package/cjs/series/venn/interface.js +6 -0
  462. package/cjs/series/venn/interface.js.map +1 -0
  463. package/cjs/series/venn/tooltip-helper.d.ts +5 -0
  464. package/cjs/series/venn/tooltip-helper.js +17 -0
  465. package/cjs/series/venn/tooltip-helper.js.map +1 -0
  466. package/cjs/series/venn/util.d.ts +1 -0
  467. package/cjs/series/venn/util.js +11 -0
  468. package/cjs/series/venn/util.js.map +1 -0
  469. package/cjs/series/venn/venn-transform.d.ts +6 -0
  470. package/cjs/series/venn/venn-transform.js +16 -0
  471. package/cjs/series/venn/venn-transform.js.map +1 -0
  472. package/cjs/series/venn/venn.d.ts +63 -0
  473. package/cjs/series/venn/venn.js +219 -0
  474. package/cjs/series/venn/venn.js.map +1 -0
  475. package/cjs/series/waterfall/interface.d.ts +6 -1
  476. package/cjs/series/waterfall/interface.js.map +1 -1
  477. package/cjs/series/waterfall/waterfall.d.ts +9 -0
  478. package/cjs/series/waterfall/waterfall.js +23 -4
  479. package/cjs/series/waterfall/waterfall.js.map +1 -1
  480. package/cjs/series/word-cloud/base.d.ts +2 -0
  481. package/cjs/series/word-cloud/base.js +11 -16
  482. package/cjs/series/word-cloud/base.js.map +1 -1
  483. package/cjs/theme/builtin/common/component/index.js +4 -0
  484. package/cjs/theme/builtin/common/component/index.js.map +1 -1
  485. package/cjs/theme/builtin/common/series/index.js +3 -2
  486. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  487. package/cjs/theme/builtin/common/series/venn.d.ts +2 -0
  488. package/cjs/theme/builtin/common/series/venn.js +60 -0
  489. package/cjs/theme/builtin/common/series/venn.js.map +1 -0
  490. package/cjs/typings/spec/chart.d.ts +2 -0
  491. package/cjs/typings/spec/chart.js.map +1 -1
  492. package/cjs/typings/spec/common.d.ts +5 -2
  493. package/cjs/typings/spec/common.js.map +1 -1
  494. package/cjs/typings/tooltip/tooltip.d.ts +1 -0
  495. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  496. package/cjs/util/data.d.ts +21 -4
  497. package/cjs/util/data.js +42 -14
  498. package/cjs/util/data.js.map +1 -1
  499. package/cjs/util/index.d.ts +1 -0
  500. package/cjs/util/index.js +4 -4
  501. package/cjs/util/index.js.map +1 -1
  502. package/cjs/util/math.d.ts +1 -1
  503. package/cjs/util/math.js +2 -3
  504. package/cjs/util/math.js.map +1 -1
  505. package/cjs/util/spec/index.d.ts +0 -5
  506. package/cjs/util/spec/index.js +1 -4
  507. package/cjs/util/spec/index.js.map +1 -1
  508. package/cjs/util/spec/transform.js.map +1 -1
  509. package/cjs/util/theme/merge-theme.js +3 -3
  510. package/cjs/util/theme/merge-theme.js.map +1 -1
  511. package/cjs/vchart-all.js +2 -2
  512. package/cjs/vchart-all.js.map +1 -1
  513. package/esm/animation/utils.d.ts +2 -2
  514. package/esm/animation/utils.js +1 -1
  515. package/esm/animation/utils.js.map +1 -1
  516. package/esm/chart/base/base-chart-transformer.js +5 -1
  517. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  518. package/esm/chart/base/base-chart.d.ts +4 -2
  519. package/esm/chart/base/base-chart.js +24 -11
  520. package/esm/chart/base/base-chart.js.map +1 -1
  521. package/esm/chart/cartesian/cartesian-transformer.js +3 -1
  522. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  523. package/esm/chart/common/common-transformer.js +3 -1
  524. package/esm/chart/common/common-transformer.js.map +1 -1
  525. package/esm/chart/common/interface.d.ts +2 -2
  526. package/esm/chart/common/interface.js.map +1 -1
  527. package/esm/chart/index.d.ts +6 -4
  528. package/esm/chart/index.js +5 -3
  529. package/esm/chart/index.js.map +1 -1
  530. package/esm/chart/interface/chart.d.ts +6 -1
  531. package/esm/chart/interface/chart.js.map +1 -1
  532. package/esm/chart/interface/type.d.ts +2 -1
  533. package/esm/chart/interface/type.js +1 -1
  534. package/esm/chart/interface/type.js.map +1 -1
  535. package/esm/chart/polar/polar-transformer.js.map +1 -1
  536. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  537. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  538. package/esm/chart/radar/radar-transformer.js +3 -1
  539. package/esm/chart/radar/radar-transformer.js.map +1 -1
  540. package/esm/chart/range-column/range-column-transformer.js +5 -1
  541. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  542. package/esm/chart/rose/rose-transformer.js +1 -1
  543. package/esm/chart/rose/rose-transformer.js.map +1 -1
  544. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  545. package/esm/chart/sequence/sequence.js +4 -1
  546. package/esm/chart/sequence/sequence.js.map +1 -1
  547. package/esm/chart/stack.js +2 -1
  548. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  549. package/esm/chart/util.js +5 -2
  550. package/esm/chart/util.js.map +1 -1
  551. package/esm/chart/venn/index.d.ts +3 -0
  552. package/esm/chart/venn/index.js +6 -0
  553. package/esm/chart/venn/index.js.map +1 -0
  554. package/esm/chart/venn/interface.d.ts +6 -0
  555. package/esm/chart/venn/interface.js +2 -0
  556. package/esm/chart/venn/interface.js.map +1 -0
  557. package/esm/chart/venn/venn-transformer.d.ts +7 -0
  558. package/esm/chart/venn/venn-transformer.js +20 -0
  559. package/esm/chart/venn/venn-transformer.js.map +1 -0
  560. package/esm/chart/venn/venn.d.ts +14 -0
  561. package/esm/chart/venn/venn.js +24 -0
  562. package/esm/chart/venn/venn.js.map +1 -0
  563. package/esm/compile/data/compilable-data.js +3 -1
  564. package/esm/compile/data/compilable-data.js.map +1 -1
  565. package/esm/compile/grammar-item.js +1 -2
  566. package/esm/compile/interface/compiler.d.ts +1 -0
  567. package/esm/compile/interface/compiler.js.map +1 -1
  568. package/esm/compile/mark/compilable-mark.d.ts +2 -1
  569. package/esm/compile/mark/compilable-mark.js +4 -0
  570. package/esm/compile/mark/compilable-mark.js.map +1 -1
  571. package/esm/compile/mark/interface.d.ts +1 -0
  572. package/esm/compile/mark/interface.js.map +1 -1
  573. package/esm/component/axis/base-axis.d.ts +2 -0
  574. package/esm/component/axis/base-axis.js +8 -1
  575. package/esm/component/axis/base-axis.js.map +1 -1
  576. package/esm/component/axis/cartesian/axis.d.ts +1 -2
  577. package/esm/component/axis/cartesian/axis.js +30 -36
  578. package/esm/component/axis/cartesian/axis.js.map +1 -1
  579. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  580. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  581. package/esm/component/axis/cartesian/time-axis.js +2 -2
  582. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  583. package/esm/component/axis/interface/spec.d.ts +2 -0
  584. package/esm/component/axis/interface/spec.js.map +1 -1
  585. package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
  586. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  587. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  588. package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
  589. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  590. package/esm/component/axis/polar/axis.d.ts +0 -1
  591. package/esm/component/axis/polar/axis.js +7 -11
  592. package/esm/component/axis/polar/axis.js.map +1 -1
  593. package/esm/component/axis/polar/interface/common.d.ts +1 -0
  594. package/esm/component/axis/polar/interface/common.js.map +1 -1
  595. package/esm/component/axis/polar/linear-axis.d.ts +5 -1
  596. package/esm/component/axis/polar/linear-axis.js +5 -1
  597. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  598. package/esm/component/axis/util.js +1 -1
  599. package/esm/component/axis/util.js.map +1 -1
  600. package/esm/component/base/base-component.d.ts +1 -0
  601. package/esm/component/base/base-component.js +14 -6
  602. package/esm/component/base/base-component.js.map +1 -1
  603. package/esm/component/base/util.js +2 -2
  604. package/esm/component/base/util.js.map +1 -1
  605. package/esm/component/common/trigger/mobile.js +1 -2
  606. package/esm/component/common/trigger/mobile.js.map +1 -1
  607. package/esm/component/crosshair/base.d.ts +1 -2
  608. package/esm/component/crosshair/base.js +4 -6
  609. package/esm/component/crosshair/base.js.map +1 -1
  610. package/esm/component/crosshair/cartesian.js +3 -5
  611. package/esm/component/crosshair/cartesian.js.map +1 -1
  612. package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
  613. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  614. package/esm/component/crosshair/interface/polar.d.ts +7 -5
  615. package/esm/component/crosshair/interface/polar.js.map +1 -1
  616. package/esm/component/crosshair/polar.js +4 -7
  617. package/esm/component/crosshair/polar.js.map +1 -1
  618. package/esm/component/crosshair/utils/cartesian.js +14 -14
  619. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  620. package/esm/component/crosshair/utils/common.js +2 -2
  621. package/esm/component/crosshair/utils/common.js.map +1 -1
  622. package/esm/component/crosshair/utils/polar.js +15 -9
  623. package/esm/component/crosshair/utils/polar.js.map +1 -1
  624. package/esm/component/custom-mark/custom-mark.d.ts +11 -4
  625. package/esm/component/custom-mark/custom-mark.js +43 -14
  626. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  627. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
  628. package/esm/component/data-zoom/data-filter-base-component.js +15 -11
  629. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  630. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
  631. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  632. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  633. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  634. package/esm/component/data-zoom/interface.d.ts +1 -4
  635. package/esm/component/data-zoom/interface.js +1 -5
  636. package/esm/component/data-zoom/interface.js.map +1 -1
  637. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  638. package/esm/component/data-zoom/util.js.map +1 -1
  639. package/esm/component/geo/geo-coordinate.js +1 -1
  640. package/esm/component/geo/geo-coordinate.js.map +1 -1
  641. package/esm/component/index.d.ts +7 -7
  642. package/esm/component/index.js +5 -5
  643. package/esm/component/index.js.map +1 -1
  644. package/esm/component/indicator/indicator.js +1 -1
  645. package/esm/component/indicator/indicator.js.map +1 -1
  646. package/esm/component/interface/theme.d.ts +4 -0
  647. package/esm/component/interface/theme.js.map +1 -1
  648. package/esm/component/interface/type.d.ts +4 -0
  649. package/esm/component/interface/type.js +3 -1
  650. package/esm/component/interface/type.js.map +1 -1
  651. package/esm/component/label/label.js +3 -4
  652. package/esm/component/label/label.js.map +1 -1
  653. package/esm/component/label/total-label.js +9 -2
  654. package/esm/component/label/total-label.js.map +1 -1
  655. package/esm/component/label/util.d.ts +9 -1
  656. package/esm/component/label/util.js +21 -6
  657. package/esm/component/label/util.js.map +1 -1
  658. package/esm/component/legend/base-legend.js +9 -4
  659. package/esm/component/legend/base-legend.js.map +1 -1
  660. package/esm/component/legend/continuous/interface.d.ts +1 -0
  661. package/esm/component/legend/continuous/interface.js.map +1 -1
  662. package/esm/component/legend/continuous/legend.js +5 -2
  663. package/esm/component/legend/continuous/legend.js.map +1 -1
  664. package/esm/component/legend/continuous/util.js +1 -1
  665. package/esm/component/legend/continuous/util.js.map +1 -1
  666. package/esm/component/legend/discrete/interface.d.ts +1 -0
  667. package/esm/component/legend/discrete/interface.js.map +1 -1
  668. package/esm/component/legend/discrete/legend.d.ts +4 -1
  669. package/esm/component/legend/discrete/legend.js +20 -9
  670. package/esm/component/legend/discrete/legend.js.map +1 -1
  671. package/esm/component/legend/discrete/util.js +4 -4
  672. package/esm/component/legend/discrete/util.js.map +1 -1
  673. package/esm/component/legend/util.d.ts +12 -2
  674. package/esm/component/legend/util.js +1 -1
  675. package/esm/component/legend/util.js.map +1 -1
  676. package/esm/component/map-label/component.js +2 -1
  677. package/esm/component/map-label/component.js.map +1 -1
  678. package/esm/component/marker/base-marker.d.ts +30 -44
  679. package/esm/component/marker/base-marker.js +101 -42
  680. package/esm/component/marker/base-marker.js.map +1 -1
  681. package/esm/component/marker/interface.d.ts +40 -13
  682. package/esm/component/marker/interface.js.map +1 -1
  683. package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
  684. package/esm/component/marker/mark-area/base-mark-area.js +105 -0
  685. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
  686. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  687. package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
  688. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  689. package/esm/component/marker/mark-area/index.d.ts +2 -1
  690. package/esm/component/marker/mark-area/index.js +3 -1
  691. package/esm/component/marker/mark-area/index.js.map +1 -1
  692. package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
  693. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  694. package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
  695. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  696. package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  697. package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
  698. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
  699. package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
  700. package/esm/component/marker/mark-line/base-mark-line.js +124 -0
  701. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
  702. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  703. package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
  704. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  705. package/esm/component/marker/mark-line/index.d.ts +2 -1
  706. package/esm/component/marker/mark-line/index.js +3 -1
  707. package/esm/component/marker/mark-line/index.js.map +1 -1
  708. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  709. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  710. package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
  711. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  712. package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  713. package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
  714. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
  715. package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  716. package/esm/component/marker/mark-point/base-mark-point.js +139 -0
  717. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
  718. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  719. package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
  720. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  721. package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  722. package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
  723. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
  724. package/esm/component/marker/mark-point/index.d.ts +3 -1
  725. package/esm/component/marker/mark-point/index.js +5 -1
  726. package/esm/component/marker/mark-point/index.js.map +1 -1
  727. package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
  728. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  729. package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
  730. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  731. package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  732. package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
  733. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
  734. package/esm/component/marker/utils.d.ts +40 -5
  735. package/esm/component/marker/utils.js +137 -8
  736. package/esm/component/marker/utils.js.map +1 -1
  737. package/esm/component/player/player.d.ts +2 -1
  738. package/esm/component/player/player.js +16 -9
  739. package/esm/component/player/player.js.map +1 -1
  740. package/esm/component/player/utils/transform.js +3 -2
  741. package/esm/component/player/utils/transform.js.map +1 -1
  742. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  743. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  744. package/esm/component/tooltip/tooltip.d.ts +1 -1
  745. package/esm/component/tooltip/tooltip.js +13 -11
  746. package/esm/component/tooltip/tooltip.js.map +1 -1
  747. package/esm/component/tooltip/utils/compose.js +3 -3
  748. package/esm/component/tooltip/utils/compose.js.map +1 -1
  749. package/esm/component/tooltip/utils/get-spec.js +2 -2
  750. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  751. package/esm/component/tooltip/utils/index.d.ts +1 -0
  752. package/esm/component/tooltip/utils/index.js +2 -0
  753. package/esm/component/tooltip/utils/index.js.map +1 -1
  754. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  755. package/esm/component/tooltip/utils/pattern.js.map +1 -0
  756. package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
  757. package/esm/component/tooltip/utils/show-tooltip.js +99 -87
  758. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  759. package/esm/core/factory.d.ts +1 -1
  760. package/esm/core/factory.js +1 -2
  761. package/esm/core/factory.js.map +1 -1
  762. package/esm/core/index.d.ts +1 -1
  763. package/esm/core/index.js +1 -1
  764. package/esm/core/index.js.map +1 -1
  765. package/esm/core/interface.d.ts +5 -1
  766. package/esm/core/interface.js.map +1 -1
  767. package/esm/core/vchart.d.ts +2 -2
  768. package/esm/core/vchart.js +42 -21
  769. package/esm/core/vchart.js.map +1 -1
  770. package/esm/data/transforms/aggregation.d.ts +12 -7
  771. package/esm/data/transforms/aggregation.js +16 -1
  772. package/esm/data/transforms/aggregation.js.map +1 -1
  773. package/esm/data/transforms/invalid-travel.d.ts +1 -1
  774. package/esm/data/transforms/invalid-travel.js +4 -2
  775. package/esm/data/transforms/invalid-travel.js.map +1 -1
  776. package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
  777. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  778. package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
  779. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  780. package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  781. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  782. package/esm/data/transforms/pie.js +2 -1
  783. package/esm/data/transforms/pie.js.map +1 -1
  784. package/esm/data/transforms/waterfall.js +5 -1
  785. package/esm/data/transforms/waterfall.js.map +1 -1
  786. package/esm/event/event-dispatcher.js +8 -1
  787. package/esm/event/event-dispatcher.js.map +1 -1
  788. package/esm/event/interface.d.ts +2 -0
  789. package/esm/event/interface.js.map +1 -1
  790. package/esm/index-lark.js +4 -4
  791. package/esm/index-lark.js.map +1 -1
  792. package/esm/index-wx.js +4 -4
  793. package/esm/index-wx.js.map +1 -1
  794. package/esm/layout/base-layout.js +6 -5
  795. package/esm/layout/base-layout.js.map +1 -1
  796. package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
  797. package/esm/layout/grid-layout/grid-layout.js +4 -4
  798. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  799. package/esm/layout/layout-item.js +1 -1
  800. package/esm/layout/layout-item.js.map +1 -1
  801. package/esm/mark/base/base-mark.js +1 -1
  802. package/esm/mark/base/base-mark.js.map +1 -1
  803. package/esm/mark/index.d.ts +20 -20
  804. package/esm/mark/index.js +25 -20
  805. package/esm/mark/index.js.map +1 -1
  806. package/esm/model/base-model-transformer.js +3 -1
  807. package/esm/model/base-model-transformer.js.map +1 -1
  808. package/esm/model/base-model.js +1 -1
  809. package/esm/model/base-model.js.map +1 -1
  810. package/esm/model/interface.d.ts +1 -0
  811. package/esm/model/interface.js.map +1 -1
  812. package/esm/model/layout-model.js +3 -2
  813. package/esm/model/layout-model.js.map +1 -1
  814. package/esm/plugin/base/base-plugin-service.d.ts +2 -0
  815. package/esm/plugin/base/base-plugin-service.js +11 -1
  816. package/esm/plugin/base/base-plugin-service.js.map +1 -1
  817. package/esm/plugin/base/interface.d.ts +3 -0
  818. package/esm/plugin/base/interface.js.map +1 -1
  819. package/esm/plugin/chart/media-query/media-query.js +3 -1
  820. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  821. package/esm/plugin/chart/media-query/util/action.js +2 -2
  822. package/esm/plugin/chart/media-query/util/action.js.map +1 -1
  823. package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
  824. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  825. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
  826. package/esm/plugin/components/tooltip-handler/base.js +3 -3
  827. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  828. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  829. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
  830. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  831. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
  832. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  833. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
  834. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  835. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
  836. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  837. package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
  838. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  839. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  840. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  841. package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  842. package/esm/plugin/components/tooltip-handler/utils/index.js +0 -2
  843. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  844. package/esm/region/interface.d.ts +2 -0
  845. package/esm/region/interface.js.map +1 -1
  846. package/esm/region/region.d.ts +1 -0
  847. package/esm/region/region.js +5 -1
  848. package/esm/region/region.js.map +1 -1
  849. package/esm/series/area/area-transformer.js +1 -1
  850. package/esm/series/area/area-transformer.js.map +1 -1
  851. package/esm/series/area/area.js +4 -1
  852. package/esm/series/area/area.js.map +1 -1
  853. package/esm/series/bar/bar-3d.js +4 -1
  854. package/esm/series/bar/bar-3d.js.map +1 -1
  855. package/esm/series/bar/bar.js +4 -1
  856. package/esm/series/bar/bar.js.map +1 -1
  857. package/esm/series/base/base-series-transformer.js +3 -1
  858. package/esm/series/base/base-series-transformer.js.map +1 -1
  859. package/esm/series/base/base-series.d.ts +9 -17
  860. package/esm/series/base/base-series.js +41 -23
  861. package/esm/series/base/base-series.js.map +1 -1
  862. package/esm/series/base/tooltip-helper.d.ts +8 -5
  863. package/esm/series/base/tooltip-helper.js +31 -23
  864. package/esm/series/base/tooltip-helper.js.map +1 -1
  865. package/esm/series/box-plot/box-plot.js +4 -1
  866. package/esm/series/box-plot/box-plot.js.map +1 -1
  867. package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
  868. package/esm/series/box-plot/tooltip-helper.js +21 -21
  869. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  870. package/esm/series/cartesian/cartesian.d.ts +1 -1
  871. package/esm/series/cartesian/cartesian.js +15 -4
  872. package/esm/series/cartesian/cartesian.js.map +1 -1
  873. package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
  874. package/esm/series/circle-packing/tooltip-helper.js +1 -1
  875. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  876. package/esm/series/dot/dot.js +1 -1
  877. package/esm/series/dot/dot.js.map +1 -1
  878. package/esm/series/dot/tooltip-helper.js +12 -12
  879. package/esm/series/dot/tooltip-helper.js.map +1 -1
  880. package/esm/series/funnel/funnel.js +8 -4
  881. package/esm/series/funnel/funnel.js.map +1 -1
  882. package/esm/series/funnel/tooltip-helper.d.ts +3 -3
  883. package/esm/series/funnel/tooltip-helper.js +3 -3
  884. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  885. package/esm/series/gauge/gauge-pointer.js +4 -1
  886. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  887. package/esm/series/gauge/gauge.js +4 -1
  888. package/esm/series/gauge/gauge.js.map +1 -1
  889. package/esm/series/geo/geo.d.ts +1 -0
  890. package/esm/series/geo/geo.js +4 -2
  891. package/esm/series/geo/geo.js.map +1 -1
  892. package/esm/series/heatmap/heatmap.js +4 -1
  893. package/esm/series/heatmap/heatmap.js.map +1 -1
  894. package/esm/series/index.d.ts +7 -3
  895. package/esm/series/index.js +6 -2
  896. package/esm/series/index.js.map +1 -1
  897. package/esm/series/interface/common.d.ts +3 -2
  898. package/esm/series/interface/common.js.map +1 -1
  899. package/esm/series/interface/series.d.ts +7 -0
  900. package/esm/series/interface/series.js.map +1 -1
  901. package/esm/series/interface/theme.d.ts +2 -0
  902. package/esm/series/interface/theme.js +4 -1
  903. package/esm/series/interface/theme.js.map +1 -1
  904. package/esm/series/interface/tooltip-helper.d.ts +8 -5
  905. package/esm/series/interface/tooltip-helper.js.map +1 -1
  906. package/esm/series/interface/type.d.ts +6 -2
  907. package/esm/series/interface/type.js +3 -2
  908. package/esm/series/interface/type.js.map +1 -1
  909. package/esm/series/line/line.js +4 -1
  910. package/esm/series/line/line.js.map +1 -1
  911. package/esm/series/link/link.js +4 -1
  912. package/esm/series/link/link.js.map +1 -1
  913. package/esm/series/link/tooltip-helper.js +8 -8
  914. package/esm/series/link/tooltip-helper.js.map +1 -1
  915. package/esm/series/liquid/tooltip-helper.js +2 -2
  916. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  917. package/esm/series/map/geo-source.d.ts +3 -1
  918. package/esm/series/map/geo-source.js +7 -2
  919. package/esm/series/map/geo-source.js.map +1 -1
  920. package/esm/series/map/tooltip-helper.d.ts +1 -1
  921. package/esm/series/map/tooltip-helper.js +1 -1
  922. package/esm/series/map/tooltip-helper.js.map +1 -1
  923. package/esm/series/mixin/line-mixin.js +1 -1
  924. package/esm/series/mixin/line-mixin.js.map +1 -1
  925. package/esm/series/pie/pie-transformer.js +1 -1
  926. package/esm/series/pie/pie-transformer.js.map +1 -1
  927. package/esm/series/polar/polar.d.ts +2 -2
  928. package/esm/series/polar/polar.js +18 -6
  929. package/esm/series/polar/polar.js.map +1 -1
  930. package/esm/series/progress/circular/circular.js +5 -2
  931. package/esm/series/progress/circular/circular.js.map +1 -1
  932. package/esm/series/radar/radar.js +5 -2
  933. package/esm/series/radar/radar.js.map +1 -1
  934. package/esm/series/range-area/range-area.d.ts +0 -2
  935. package/esm/series/range-area/range-area.js +3 -5
  936. package/esm/series/range-area/range-area.js.map +1 -1
  937. package/esm/series/range-area/tooltip-helper.js +10 -10
  938. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  939. package/esm/series/range-column/3d/range-column-3d.js +4 -1
  940. package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
  941. package/esm/series/range-column/range-column.js +3 -1
  942. package/esm/series/range-column/range-column.js.map +1 -1
  943. package/esm/series/range-column/tooltip-helper.js +5 -5
  944. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  945. package/esm/series/rose/rose.js +4 -1
  946. package/esm/series/rose/rose.js.map +1 -1
  947. package/esm/series/sankey/sankey.d.ts +2 -1
  948. package/esm/series/sankey/sankey.js +52 -119
  949. package/esm/series/sankey/sankey.js.map +1 -1
  950. package/esm/series/sankey/tooltip-helper.js +9 -9
  951. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  952. package/esm/series/scatter/scatter.js +4 -1
  953. package/esm/series/scatter/scatter.js.map +1 -1
  954. package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
  955. package/esm/series/sunburst/tooltip-helper.js +1 -1
  956. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  957. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  958. package/esm/series/treemap/tooltip-helper.js +1 -1
  959. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  960. package/esm/series/util/stack.js +28 -15
  961. package/esm/series/util/stack.js.map +1 -1
  962. package/esm/series/venn/animation.d.ts +6 -0
  963. package/esm/series/venn/animation.js +68 -0
  964. package/esm/series/venn/animation.js.map +1 -0
  965. package/esm/series/venn/constant.d.ts +2 -0
  966. package/esm/series/venn/constant.js +17 -0
  967. package/esm/series/venn/constant.js.map +1 -0
  968. package/esm/series/venn/interface.d.ts +21 -0
  969. package/esm/series/venn/interface.js +2 -0
  970. package/esm/series/venn/interface.js.map +1 -0
  971. package/esm/series/venn/tooltip-helper.d.ts +5 -0
  972. package/esm/series/venn/tooltip-helper.js +11 -0
  973. package/esm/series/venn/tooltip-helper.js.map +1 -0
  974. package/esm/series/venn/util.d.ts +1 -0
  975. package/esm/series/venn/util.js +4 -0
  976. package/esm/series/venn/util.js.map +1 -0
  977. package/esm/series/venn/venn-transform.d.ts +6 -0
  978. package/esm/series/venn/venn-transform.js +8 -0
  979. package/esm/series/venn/venn-transform.js.map +1 -0
  980. package/esm/series/venn/venn.d.ts +63 -0
  981. package/esm/series/venn/venn.js +237 -0
  982. package/esm/series/venn/venn.js.map +1 -0
  983. package/esm/series/waterfall/interface.d.ts +6 -1
  984. package/esm/series/waterfall/interface.js.map +1 -1
  985. package/esm/series/waterfall/waterfall.d.ts +9 -0
  986. package/esm/series/waterfall/waterfall.js +24 -3
  987. package/esm/series/waterfall/waterfall.js.map +1 -1
  988. package/esm/series/word-cloud/base.d.ts +2 -0
  989. package/esm/series/word-cloud/base.js +12 -17
  990. package/esm/series/word-cloud/base.js.map +1 -1
  991. package/esm/theme/builtin/common/component/index.js +4 -0
  992. package/esm/theme/builtin/common/component/index.js.map +1 -1
  993. package/esm/theme/builtin/common/series/index.js +4 -1
  994. package/esm/theme/builtin/common/series/index.js.map +1 -1
  995. package/esm/theme/builtin/common/series/venn.d.ts +2 -0
  996. package/esm/theme/builtin/common/series/venn.js +56 -0
  997. package/esm/theme/builtin/common/series/venn.js.map +1 -0
  998. package/esm/typings/spec/chart.d.ts +2 -0
  999. package/esm/typings/spec/chart.js.map +1 -1
  1000. package/esm/typings/spec/common.d.ts +5 -2
  1001. package/esm/typings/spec/common.js.map +1 -1
  1002. package/esm/typings/tooltip/tooltip.d.ts +1 -0
  1003. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1004. package/esm/util/data.d.ts +21 -4
  1005. package/esm/util/data.js +39 -10
  1006. package/esm/util/data.js.map +1 -1
  1007. package/esm/util/index.d.ts +1 -0
  1008. package/esm/util/index.js +2 -0
  1009. package/esm/util/index.js.map +1 -1
  1010. package/esm/util/math.d.ts +1 -1
  1011. package/esm/util/math.js +2 -3
  1012. package/esm/util/math.js.map +1 -1
  1013. package/esm/util/spec/index.d.ts +0 -5
  1014. package/esm/util/spec/index.js +0 -10
  1015. package/esm/util/spec/index.js.map +1 -1
  1016. package/esm/util/spec/transform.js.map +1 -1
  1017. package/esm/util/theme/merge-theme.js +1 -1
  1018. package/esm/util/theme/merge-theme.js.map +1 -1
  1019. package/esm/vchart-all.js +6 -4
  1020. package/esm/vchart-all.js.map +1 -1
  1021. package/package.json +16 -15
  1022. package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
  1023. package/cjs/component/marker/mark-area/mark-area.js +0 -128
  1024. package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
  1025. package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
  1026. package/cjs/component/marker/mark-line/mark-line.js +0 -198
  1027. package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
  1028. package/cjs/component/marker/mark-point/mark-point.js +0 -138
  1029. package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
  1030. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1031. package/cjs/util/spec/clone-deep.d.ts +0 -1
  1032. package/cjs/util/spec/clone-deep.js +0 -27
  1033. package/cjs/util/spec/clone-deep.js.map +0 -1
  1034. package/cjs/util/spec/common.d.ts +0 -3
  1035. package/cjs/util/spec/common.js +0 -23
  1036. package/cjs/util/spec/common.js.map +0 -1
  1037. package/cjs/util/spec/merge-spec.d.ts +0 -5
  1038. package/cjs/util/spec/merge-spec.js +0 -69
  1039. package/cjs/util/spec/merge-spec.js.map +0 -1
  1040. package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
  1041. package/esm/component/marker/mark-area/mark-area.js +0 -134
  1042. package/esm/component/marker/mark-area/mark-area.js.map +0 -1
  1043. package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
  1044. package/esm/component/marker/mark-line/mark-line.js +0 -213
  1045. package/esm/component/marker/mark-line/mark-line.js.map +0 -1
  1046. package/esm/component/marker/mark-point/mark-point.js +0 -147
  1047. package/esm/component/marker/mark-point/mark-point.js.map +0 -1
  1048. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1049. package/esm/util/spec/clone-deep.d.ts +0 -1
  1050. package/esm/util/spec/clone-deep.js +0 -20
  1051. package/esm/util/spec/clone-deep.js.map +0 -1
  1052. package/esm/util/spec/common.d.ts +0 -3
  1053. package/esm/util/spec/common.js +0 -15
  1054. package/esm/util/spec/common.js.map +0 -1
  1055. package/esm/util/spec/merge-spec.d.ts +0 -5
  1056. package/esm/util/spec/merge-spec.js +0 -57
  1057. package/esm/util/spec/merge-spec.js.map +0 -1
  1058. /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
  1059. /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/utils/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { Tag } from '@visactor/vrender-components';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { Datum } from '../../../typings';\nimport type { ICrosshairTheme } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid } from '@visactor/vutils';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { isXAxis, isYAxis } from '../../axis/cartesian/util/common';\nimport { isDiscrete } from '@visactor/vscale';\nimport type { ICartesianAxisCommonSpec, IPolarAxisCommonSpec } from '../../axis';\nimport { getComponentThemeFromOption } from '../../util';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport type { ITheme } from '../../../theme';\nimport { isDiscreteAxis } from '../../axis/util';\n\nexport function limitTagInBounds(shape: Tag, bounds: IBoundsLike) {\n const { x1: regionMinX, y1: regionMinY, x2: regionMaxX, y2: regionMaxY } = bounds;\n const { x1, y1, x2, y2 } = shape.AABBBounds;\n const { dx: originDx = 0, dy: originDy = 0 } = shape.attribute;\n\n let dx = 0;\n let dy = 0;\n if (x1 < regionMinX) {\n // 超出左侧\n dx = regionMinX - x1;\n }\n if (y1 < regionMinY) {\n // 超出顶部\n dy = regionMinY - y1;\n }\n\n if (x2 > regionMaxX) {\n // 超出右侧\n dx = regionMaxX - x2;\n }\n\n if (y2 > regionMaxY) {\n // 整体超出顶部\n dy = regionMaxY - y2;\n }\n if (dx) {\n shape.setAttribute('dx', dx + originDx);\n }\n if (dy) {\n shape.setAttribute('dy', dy + originDy);\n }\n}\n\n// 二分查找数据\nexport function getDatumByValue(data: Datum[], value: number, startField: string, endField?: string): Datum | null {\n let left = 0;\n let right = data.length - 1;\n\n while (left <= right) {\n const mid = Math.floor((left + right) / 2);\n const record = data[mid];\n\n if (record[startField] <= value && record[endField || startField] >= value) {\n return record;\n }\n\n if (record[startField] > value) {\n right = mid - 1;\n } else {\n left = mid + 1;\n }\n }\n\n return null;\n}\n\nexport const getCartesianCrosshairTheme = (chartTheme: ITheme, chartSpec: any): ICrosshairTheme => {\n const axes: ICartesianAxisCommonSpec[] = array(chartSpec.axes ?? []);\n const { bandField, linearField, xField, yField } =\n getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme) ?? {};\n\n const xAxis = axes.find(axis => isXAxis(axis.orient));\n let newXField;\n if (isValid(xAxis)) {\n newXField = mergeSpec({}, isDiscreteAxis(xAxis.type) ? bandField : linearField, xField);\n } else {\n newXField = xField;\n }\n\n const yAxis = axes.find(axis => isYAxis(axis.orient));\n let newYField;\n if (isValid(yAxis)) {\n newYField = mergeSpec({}, isDiscrete(yAxis.type) ? bandField : linearField, yField);\n } else {\n newYField = yField;\n }\n\n return {\n xField: newXField,\n yField: newYField\n };\n};\n\nexport const getPolarCrosshairTheme = (chartTheme: ITheme, chartSpec: any): ICrosshairTheme => {\n const axes: IPolarAxisCommonSpec[] = array(chartSpec.axes ?? []);\n const { bandField, linearField, categoryField, valueField } =\n getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme) ?? {};\n\n const angleAxis = axes.find(axis => axis.orient === 'angle');\n let newAngleField;\n if (isValid(angleAxis)) {\n newAngleField = mergeSpec({}, isDiscreteAxis(angleAxis.type) ? bandField : linearField, categoryField);\n } else {\n newAngleField = categoryField;\n }\n\n const radiusAxis = axes.find(axis => axis.orient === 'radius');\n let newRadiusField;\n if (isValid(radiusAxis)) {\n newRadiusField = mergeSpec({}, isDiscrete(radiusAxis.type) ? bandField : linearField, valueField);\n } else {\n newRadiusField = valueField;\n }\n\n return {\n categoryField: newAngleField,\n valueField: newRadiusField\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/utils/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { Tag } from '@visactor/vrender-components';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { Datum } from '../../../typings';\nimport type { ICrosshairTheme } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid } from '@visactor/vutils';\nimport { isXAxis, isYAxis } from '../../axis/cartesian/util/common';\nimport { isDiscrete } from '@visactor/vscale';\nimport type { ICartesianAxisCommonSpec, IPolarAxisCommonSpec } from '../../axis';\nimport { getComponentThemeFromOption } from '../../util';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport type { ITheme } from '../../../theme';\nimport { isDiscreteAxis } from '../../axis/util';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport function limitTagInBounds(shape: Tag, bounds: IBoundsLike) {\n const { x1: regionMinX, y1: regionMinY, x2: regionMaxX, y2: regionMaxY } = bounds;\n const { x1, y1, x2, y2 } = shape.AABBBounds;\n const { dx: originDx = 0, dy: originDy = 0 } = shape.attribute;\n\n let dx = 0;\n let dy = 0;\n if (x1 < regionMinX) {\n // 超出左侧\n dx = regionMinX - x1;\n }\n if (y1 < regionMinY) {\n // 超出顶部\n dy = regionMinY - y1;\n }\n\n if (x2 > regionMaxX) {\n // 超出右侧\n dx = regionMaxX - x2;\n }\n\n if (y2 > regionMaxY) {\n // 整体超出顶部\n dy = regionMaxY - y2;\n }\n if (dx) {\n shape.setAttribute('dx', dx + originDx);\n }\n if (dy) {\n shape.setAttribute('dy', dy + originDy);\n }\n}\n\n// 二分查找数据\nexport function getDatumByValue(data: Datum[], value: number, startField: string, endField?: string): Datum | null {\n let left = 0;\n let right = data.length - 1;\n\n while (left <= right) {\n const mid = Math.floor((left + right) / 2);\n const record = data[mid];\n\n if (record[startField] <= value && record[endField || startField] >= value) {\n return record;\n }\n\n if (record[startField] > value) {\n right = mid - 1;\n } else {\n left = mid + 1;\n }\n }\n\n return null;\n}\n\nexport const getCartesianCrosshairTheme = (chartTheme: ITheme, chartSpec: any): ICrosshairTheme => {\n const axes: ICartesianAxisCommonSpec[] = array(chartSpec.axes ?? []);\n const { bandField, linearField, xField, yField } =\n getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme) ?? {};\n\n const xAxis = axes.find(axis => isXAxis(axis.orient));\n let newXField;\n if (isValid(xAxis)) {\n newXField = mergeSpec({}, isDiscreteAxis(xAxis.type) ? bandField : linearField, xField);\n } else {\n newXField = xField;\n }\n\n const yAxis = axes.find(axis => isYAxis(axis.orient));\n let newYField;\n if (isValid(yAxis)) {\n newYField = mergeSpec({}, isDiscrete(yAxis.type) ? bandField : linearField, yField);\n } else {\n newYField = yField;\n }\n\n return {\n xField: newXField,\n yField: newYField\n };\n};\n\nexport const getPolarCrosshairTheme = (chartTheme: ITheme, chartSpec: any): ICrosshairTheme => {\n const axes: IPolarAxisCommonSpec[] = array(chartSpec.axes ?? []);\n const { bandField, linearField, categoryField, valueField } =\n getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme) ?? {};\n\n const angleAxis = axes.find(axis => axis.orient === 'angle');\n let newAngleField;\n if (isValid(angleAxis)) {\n newAngleField = mergeSpec({}, isDiscreteAxis(angleAxis.type) ? bandField : linearField, categoryField);\n } else {\n newAngleField = categoryField;\n }\n\n const radiusAxis = axes.find(axis => axis.orient === 'radius');\n let newRadiusField;\n if (isValid(radiusAxis)) {\n newRadiusField = mergeSpec({}, isDiscrete(radiusAxis.type) ? bandField : linearField, valueField);\n } else {\n newRadiusField = valueField;\n }\n\n return {\n categoryField: newAngleField,\n valueField: newRadiusField\n };\n};\n"]}
@@ -12,7 +12,7 @@ import { getAxisLabelOffset } from "../../axis/util";
12
12
 
13
13
  import { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from "@visactor/vutils";
14
14
 
15
- import { mergeSpec } from "../../../util";
15
+ import { mergeSpec } from "@visactor/vutils-extension";
16
16
 
17
17
  import { getFormatFunction } from "../../util";
18
18
 
@@ -62,29 +62,35 @@ export const layoutByValue = (series, currValueAngle, currValueRadius, angleHair
62
62
  var _b, {axis: axis, value: value, coord: coord} = _a, rest = __rest(_a, [ "axis", "value", "coord" ]);
63
63
  value = null != value ? value : "", mergeSpec(angleCrossHairInfo, rest);
64
64
  const angle = series.angleAxisHelper.dataToPosition([ value ]);
65
- angleCrossHairInfo.angle = angle, (null === (_b = angleHair.label) || void 0 === _b ? void 0 : _b.visible) && (angleCrossHairInfo.label.visible = !0,
66
- angleCrossHairInfo.label.text = value, angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())),
67
- angleCrossHairInfo.startAngle = angle - bandWidth / 2, angleCrossHairInfo.endAngle = angle + bandWidth / 2;
65
+ angleCrossHairInfo.angle = angle;
66
+ const niceLabelFormatter = axis.niceLabelFormatter;
67
+ (null === (_b = angleHair.label) || void 0 === _b ? void 0 : _b.visible) && (angleCrossHairInfo.label.visible = !0,
68
+ angleCrossHairInfo.label.defaultFormatter = niceLabelFormatter, angleCrossHairInfo.label.text = value,
69
+ angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())), angleCrossHairInfo.startAngle = angle - bandWidth / 2,
70
+ angleCrossHairInfo.endAngle = angle + bandWidth / 2;
68
71
  }));
69
72
  }
70
73
  if (radiusHair && (radiusCrossHairInfo.visible = !!currValueRadius.size, currValueRadius.forEach((_a => {
71
74
  var _b, {axis: axis, value: value, coord: coord} = _a, rest = __rest(_a, [ "axis", "value", "coord" ]);
72
- value = null != value ? value : "", (null === (_b = radiusHair.label) || void 0 === _b ? void 0 : _b.visible) && (radiusCrossHairInfo.label.visible = !0,
73
- radiusCrossHairInfo.label.text = value, radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())),
74
- radiusCrossHairInfo.angle = coord.angle, radiusCrossHairInfo.axis = axis, mergeSpec(radiusCrossHairInfo, rest);
75
+ value = null != value ? value : "";
76
+ const niceLabelFormatter = axis.niceLabelFormatter;
77
+ (null === (_b = radiusHair.label) || void 0 === _b ? void 0 : _b.visible) && (radiusCrossHairInfo.label.visible = !0,
78
+ radiusCrossHairInfo.label.defaultFormatter = niceLabelFormatter, radiusCrossHairInfo.label.text = value,
79
+ radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())), radiusCrossHairInfo.angle = coord.angle,
80
+ radiusCrossHairInfo.axis = axis, mergeSpec(radiusCrossHairInfo, rest);
75
81
  }))), enableRemain && !angleCrossHairInfo.visible && isValid(cacheAngleCrossHairInfo)) angleCrossHairInfo = cacheAngleCrossHairInfo; else if (angleCrossHairInfo.label.visible && angleHair && angleHair.label) {
76
82
  const {label: label} = angleCrossHairInfo, {formatMethod: formatMethod, formatter: formatter} = angleHair.label, {formatFunc: formatFunc, args: args} = getFormatFunction(formatMethod, formatter, label.text, {
77
83
  label: label.text,
78
84
  orient: "angle"
79
85
  });
80
- formatFunc && (label.text = formatFunc(...args));
86
+ formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
81
87
  }
82
88
  if (enableRemain && !radiusCrossHairInfo.visible && isValid(cacheRadiusCrossHairInfo)) radiusCrossHairInfo = cacheRadiusCrossHairInfo; else if (radiusCrossHairInfo.label.visible && radiusHair && radiusHair.label) {
83
89
  const {label: label} = radiusCrossHairInfo, {formatMethod: formatMethod, formatter: formatter} = radiusHair.label, {formatFunc: formatFunc, args: args} = getFormatFunction(formatMethod, formatter, label.text, {
84
90
  label: label.text,
85
91
  orient: "radius"
86
92
  });
87
- formatFunc && (label.text = formatFunc(...args));
93
+ formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
88
94
  }
89
95
  return {
90
96
  angle: angleCrossHairInfo,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/utils/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { IPolarSeries } from '../../../series';\nimport type { IHair, IHairRadius } from '../base';\nimport type { AxisCurrentValueMap, IPolarCrosshairInfo } from '../interface';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from '@visactor/vutils';\nimport type { IPolarAxis } from '../../axis';\nimport { mergeSpec } from '../../../util';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n series: IPolarSeries,\n currValueAngle: AxisCurrentValueMap,\n currValueRadius: AxisCurrentValueMap,\n angleHair: IHair,\n radiusHair: IHair,\n enableRemain: boolean = false,\n cacheAngleCrossHairInfo?: IPolarCrosshairInfo,\n cacheRadiusCrossHairInfo?: IPolarCrosshairInfo\n) => {\n let angleCrossHairInfo = {\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 IPolarCrosshairInfo;\n let radiusCrossHairInfo = {\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).domain().length,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (angleHair) {\n angleCrossHairInfo.visible = !!currValueAngle.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n currValueAngle.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n mergeSpec(angleCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([value]);\n angleCrossHairInfo.angle = angle;\n if (angleHair.label?.visible) {\n angleCrossHairInfo.label.visible = true;\n angleCrossHairInfo.label.text = value;\n angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n angleCrossHairInfo.startAngle = angle - bandWidth / 2;\n angleCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (radiusHair) {\n radiusCrossHairInfo.visible = !!currValueRadius.size;\n currValueRadius.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n if (radiusHair.label?.visible) {\n radiusCrossHairInfo.label.visible = true;\n radiusCrossHairInfo.label.text = value;\n radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n radiusCrossHairInfo.angle = coord.angle;\n radiusCrossHairInfo.axis = axis as IPolarAxis;\n mergeSpec(radiusCrossHairInfo, rest);\n });\n }\n\n if (enableRemain && !angleCrossHairInfo.visible && isValid(cacheAngleCrossHairInfo)) {\n angleCrossHairInfo = cacheAngleCrossHairInfo;\n } else {\n if (angleCrossHairInfo.label.visible) {\n if (angleHair && angleHair.label) {\n const { label } = angleCrossHairInfo;\n const { formatMethod, formatter } = angleHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'angle'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n }\n }\n }\n }\n\n if (enableRemain && !radiusCrossHairInfo.visible && isValid(cacheRadiusCrossHairInfo)) {\n radiusCrossHairInfo = cacheRadiusCrossHairInfo;\n } else {\n if (radiusCrossHairInfo.label.visible) {\n if (radiusHair && radiusHair.label) {\n const { label } = radiusCrossHairInfo;\n const { formatMethod, formatter } = radiusHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'radius'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n }\n }\n }\n }\n\n return {\n angle: angleCrossHairInfo,\n radius: radiusCrossHairInfo\n };\n};\n\nexport const layoutAngleCrosshair = (angleHair: IHair, crosshairInfo: IPolarCrosshairInfo) => {\n const { angle, innerRadius, radius, startAngle, endAngle, center } = crosshairInfo;\n\n const crosshairType = angleHair.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 return positionAttrs;\n};\n\nexport const layoutRadiusCrosshair = (radiusHair: IHairRadius, crosshairInfo: IPolarCrosshairInfo) => {\n const { center, startAngle, endAngle, distance, sides, axis, point, radius, innerRadius } = crosshairInfo;\n\n const crosshairType = radiusHair.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 return positionAttrs;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/utils/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { IPolarSeries } from '../../../series';\nimport type { IHair, IHairRadius } from '../base';\nimport type { AxisCurrentValueMap, IPolarCrosshairInfo } from '../interface';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from '@visactor/vutils';\nimport type { ILinearAxis, IPolarAxis } from '../../axis';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n series: IPolarSeries,\n currValueAngle: AxisCurrentValueMap,\n currValueRadius: AxisCurrentValueMap,\n angleHair: IHair,\n radiusHair: IHair,\n enableRemain: boolean = false,\n cacheAngleCrossHairInfo?: IPolarCrosshairInfo,\n cacheRadiusCrossHairInfo?: IPolarCrosshairInfo\n) => {\n let angleCrossHairInfo = {\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 IPolarCrosshairInfo;\n let radiusCrossHairInfo = {\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).domain().length,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (angleHair) {\n angleCrossHairInfo.visible = !!currValueAngle.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n currValueAngle.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n mergeSpec(angleCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([value]);\n angleCrossHairInfo.angle = angle;\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n if (angleHair.label?.visible) {\n angleCrossHairInfo.label.visible = true;\n angleCrossHairInfo.label.defaultFormatter = niceLabelFormatter;\n angleCrossHairInfo.label.text = value;\n angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n angleCrossHairInfo.startAngle = angle - bandWidth / 2;\n angleCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (radiusHair) {\n radiusCrossHairInfo.visible = !!currValueRadius.size;\n currValueRadius.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n if (radiusHair.label?.visible) {\n radiusCrossHairInfo.label.visible = true;\n radiusCrossHairInfo.label.defaultFormatter = niceLabelFormatter;\n radiusCrossHairInfo.label.text = value;\n radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n radiusCrossHairInfo.angle = coord.angle;\n radiusCrossHairInfo.axis = axis as IPolarAxis;\n mergeSpec(radiusCrossHairInfo, rest);\n });\n }\n\n if (enableRemain && !angleCrossHairInfo.visible && isValid(cacheAngleCrossHairInfo)) {\n angleCrossHairInfo = cacheAngleCrossHairInfo;\n } else {\n if (angleCrossHairInfo.label.visible) {\n if (angleHair && angleHair.label) {\n const { label } = angleCrossHairInfo;\n const { formatMethod, formatter } = angleHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'angle'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n if (enableRemain && !radiusCrossHairInfo.visible && isValid(cacheRadiusCrossHairInfo)) {\n radiusCrossHairInfo = cacheRadiusCrossHairInfo;\n } else {\n if (radiusCrossHairInfo.label.visible) {\n if (radiusHair && radiusHair.label) {\n const { label } = radiusCrossHairInfo;\n const { formatMethod, formatter } = radiusHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'radius'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n return {\n angle: angleCrossHairInfo,\n radius: radiusCrossHairInfo\n };\n};\n\nexport const layoutAngleCrosshair = (angleHair: IHair, crosshairInfo: IPolarCrosshairInfo) => {\n const { angle, innerRadius, radius, startAngle, endAngle, center } = crosshairInfo;\n\n const crosshairType = angleHair.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 return positionAttrs;\n};\n\nexport const layoutRadiusCrosshair = (radiusHair: IHairRadius, crosshairInfo: IPolarCrosshairInfo) => {\n const { center, startAngle, endAngle, distance, sides, axis, point, radius, innerRadius } = crosshairInfo;\n\n const crosshairType = radiusHair.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 return positionAttrs;\n};\n"]}
@@ -2,11 +2,11 @@ import { BaseComponent } from '../base/base-component';
2
2
  import { ComponentTypeEnum } from '../interface/type';
3
3
  import type { IRegion } from '../../region/interface';
4
4
  import type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';
5
- import type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec } from '../../typings';
5
+ import type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';
6
6
  import type { Maybe } from '@visactor/vutils';
7
7
  import type { IGraphic } from '@visactor/vrender-core';
8
8
  import type { IModelMarkAttributeContext } from '../../compile/mark/interface';
9
- export declare class CustomMark<T = any> extends BaseComponent<any> {
9
+ export declare class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {
10
10
  static type: ComponentTypeEnum;
11
11
  type: ComponentTypeEnum;
12
12
  static specKey: string;
@@ -14,7 +14,7 @@ export declare class CustomMark<T = any> extends BaseComponent<any> {
14
14
  layoutType: 'none';
15
15
  layoutZIndex: number;
16
16
  layoutLevel: number;
17
- protected _spec: (ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec)[];
17
+ protected _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;
18
18
  static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
19
19
  created(): void;
20
20
  protected _markAttributeContext: IModelMarkAttributeContext;
@@ -23,7 +23,7 @@ export declare class CustomMark<T = any> extends BaseComponent<any> {
23
23
  protected initMarks(): void;
24
24
  private _createExtensionMark;
25
25
  initEvent(): void;
26
- _compareSpec(spec: T, prevSpec: T): {
26
+ _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>): {
27
27
  change: boolean;
28
28
  reMake: boolean;
29
29
  reRender: boolean;
@@ -35,5 +35,12 @@ export declare class CustomMark<T = any> extends BaseComponent<any> {
35
35
  onRender(ctx: IModelRenderOption): void;
36
36
  afterCompile(): void;
37
37
  private _getMarkAttributeContext;
38
+ private _getLayoutRect;
39
+ getBoundsInRect(rect: ILayoutRect): {
40
+ x1: number;
41
+ y1: number;
42
+ x2: number;
43
+ y2: number;
44
+ };
38
45
  }
39
46
  export declare const registerCustomMark: () => void;
@@ -4,12 +4,10 @@ import { ComponentTypeEnum } from "../interface/type";
4
4
 
5
5
  import { LayoutLevel, LayoutZIndex, PREFIX } from "../../constant";
6
6
 
7
- import { isEqual, isNil, isValid, isValidNumber } from "@visactor/vutils";
7
+ import { Bounds, isArray, isEqual, isNil, isValid, isValidNumber } from "@visactor/vutils";
8
8
 
9
9
  import { Factory } from "../../core/factory";
10
10
 
11
- import { registerImageMark } from "../../mark/image";
12
-
13
11
  import { HOOK_EVENT } from "@visactor/vgrammar-core";
14
12
 
15
13
  import { animationConfig, userAnimationConfig } from "../../animation/utils";
@@ -21,7 +19,12 @@ export class CustomMark extends BaseComponent {
21
19
  }
22
20
  static getSpecInfo(chartSpec) {
23
21
  const spec = chartSpec[this.specKey];
24
- return spec ? [ {
22
+ return spec ? isArray(spec) ? spec.map(((specItem, i) => ({
23
+ spec: specItem,
24
+ specPath: [ this.specKey, i ],
25
+ specInfoPath: [ "component", this.specKey, i ],
26
+ type: ComponentTypeEnum.customMark
27
+ }))) : [ {
25
28
  spec: spec,
26
29
  specPath: [ this.specKey ],
27
30
  specInfoPath: [ "component", this.specKey, 0 ],
@@ -51,18 +54,16 @@ export class CustomMark extends BaseComponent {
51
54
  marks && marks.length && marks.forEach((mark => {
52
55
  depend.push(mark);
53
56
  }));
54
- })), this._spec.forEach(((m, i) => {
55
- this._createExtensionMark(m, null, `${PREFIX}_series_${this.id}_extensionMark`, i, {
56
- depend: depend,
57
- hasAnimation: hasAnimation
58
- });
59
- }));
57
+ })), this._createExtensionMark(this._spec, null, `${PREFIX}_series_${this.id}_extensionMark`, 0, {
58
+ depend: depend,
59
+ hasAnimation: hasAnimation
60
+ });
60
61
  }
61
- _createExtensionMark(spec, parentMark, namePrefix, index, options) {
62
+ _createExtensionMark(spec, parentMark, namePrefix, index = 0, options) {
62
63
  var _a;
63
64
  const mark = this._createMark({
64
65
  type: spec.type,
65
- name: `${PREFIX}_${index}`
66
+ name: `${namePrefix}_${index}`
66
67
  }, {
67
68
  skipBeforeLayouted: !0,
68
69
  attributeContext: this._getMarkAttributeContext(),
@@ -70,7 +71,7 @@ export class CustomMark extends BaseComponent {
70
71
  key: spec.dataKey
71
72
  });
72
73
  if (mark) {
73
- if (options.hasAnimation) {
74
+ if (options.hasAnimation && spec.animation) {
74
75
  const config = animationConfig({}, userAnimationConfig(spec.type, spec, this._markAttributeContext));
75
76
  mark.setAnimationConfig(config);
76
77
  }
@@ -112,17 +113,45 @@ export class CustomMark extends BaseComponent {
112
113
  _getMarkAttributeContext() {
113
114
  return {
114
115
  vchart: this._option.globalInstance,
116
+ chart: this.getChart(),
115
117
  globalScale: (key, value) => {
116
118
  var _a;
117
119
  return null === (_a = this._option.globalScale.getScale(key)) || void 0 === _a ? void 0 : _a.scale(value);
120
+ },
121
+ getLayoutBounds: () => {
122
+ const {x: x, y: y} = this.getLayoutStartPoint(), {width: width, height: height} = this.getLayoutRect();
123
+ return (new Bounds).set(x, y, x + width, y + height);
118
124
  }
119
125
  };
120
126
  }
127
+ _getLayoutRect() {
128
+ const bounds = new Bounds;
129
+ return this.getMarks().forEach((mark => {
130
+ const product = mark.getProduct();
131
+ product && bounds.union(product.getBounds());
132
+ })), bounds.empty() ? {
133
+ width: 0,
134
+ height: 0
135
+ } : {
136
+ width: bounds.width(),
137
+ height: bounds.height()
138
+ };
139
+ }
140
+ getBoundsInRect(rect) {
141
+ this.setLayoutRect(rect);
142
+ const result = this._getLayoutRect(), {x: x, y: y} = this.getLayoutStartPoint();
143
+ return {
144
+ x1: x,
145
+ y1: y,
146
+ x2: x + result.width,
147
+ y2: y + result.height
148
+ };
149
+ }
121
150
  }
122
151
 
123
152
  CustomMark.type = ComponentTypeEnum.customMark, CustomMark.specKey = "customMark";
124
153
 
125
154
  export const registerCustomMark = () => {
126
- registerImageMark(), Factory.registerComponent(CustomMark.type, CustomMark);
155
+ Factory.registerComponent(CustomMark.type, CustomMark);
127
156
  };
128
157
  //# sourceMappingURL=custom-mark.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex, PREFIX } from '../../constant';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec } from '../../typings';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IMark } from '../../mark/interface';\nimport type { LooseFunction, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport { registerImageMark } from '../../mark/image';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark<T = any> extends BaseComponent<any> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: (ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec)[];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const spec = chartSpec[this.specKey];\n if (!spec) {\n return null;\n }\n return [\n {\n spec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.customMark\n }\n ];\n }\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n const series = this._option && this._option.getAllSeries();\n const hasAnimation = this._option.animation !== false;\n const depend: IMark[] = [];\n\n if (series && series.length) {\n series.forEach(s => {\n const marks = s && s.getMarksWithoutRoot();\n\n if (marks && marks.length) {\n marks.forEach(mark => {\n depend.push(mark);\n });\n }\n });\n }\n\n this._spec.forEach((m, i) => {\n this._createExtensionMark(m, null, `${PREFIX}_series_${this.id}_extensionMark`, i, { depend, hasAnimation });\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number,\n options: { hasAnimation?: boolean; depend?: IMark[] }\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: `${PREFIX}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (options.hasAnimation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (options.depend && options.depend.length) {\n mark.setDepend(...options.depend);\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i, options);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n\n afterCompile() {\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n const component = product.getGroupGraphicItem();\n // TODO: 待 vgrammar 提供接口后进行优化 @zwx\n if (component.listenerCount('*') === 0) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n });\n }\n });\n }\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n}\n\nexport const registerCustomMark = () => {\n registerImageMark();\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex, PREFIX } from '../../constant';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IMark } from '../../mark/interface';\nimport type { LooseFunction, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isArray, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const spec = chartSpec[this.specKey];\n if (!spec) {\n return null;\n }\n\n if (!isArray(spec)) {\n return [\n {\n spec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.customMark\n }\n ];\n }\n\n return (spec as ICustomMarkSpec<EnableMarkType>[]).map((specItem, i) => {\n return {\n spec: specItem,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.customMark\n };\n });\n }\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n const series = this._option && this._option.getAllSeries();\n const hasAnimation = this._option.animation !== false;\n const depend: IMark[] = [];\n\n if (series && series.length) {\n series.forEach(s => {\n const marks = s && s.getMarksWithoutRoot();\n\n if (marks && marks.length) {\n marks.forEach(mark => {\n depend.push(mark);\n });\n }\n });\n }\n\n this._createExtensionMark(this._spec, null, `${PREFIX}_series_${this.id}_extensionMark`, 0, {\n depend,\n hasAnimation\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0,\n options: { hasAnimation?: boolean; depend?: IMark[] }\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (options.hasAnimation && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (options.depend && options.depend.length) {\n mark.setDepend(...options.depend);\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i, options);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n\n afterCompile() {\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n const component = product.getGroupGraphicItem();\n // TODO: 待 vgrammar 提供接口后进行优化 @zwx\n if (component.listenerCount('*') === 0) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n });\n }\n });\n }\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.getBounds());\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
@@ -5,7 +5,7 @@ import type { AdaptiveSpec, ILayoutRect, ILayoutType, IOrientType, IRect, String
5
5
  import type { IBaseScale } from '@visactor/vscale';
6
6
  import type { ICartesianBandAxisSpec } from '../axis/cartesian';
7
7
  import type { IBoundsLike } from '@visactor/vutils';
8
- import { IFilterMode } from './interface';
8
+ import type { IFilterMode } from './interface';
9
9
  import type { IDataFilterComponent, IDataFilterComponentSpec, IRoamDragSpec, IRoamScrollSpec, IRoamZoomSpec } from './interface';
10
10
  import type { BaseEventParams } from '../../event/interface';
11
11
  import type { AbstractComponent } from '@visactor/vrender-components';
@@ -19,6 +19,7 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
19
19
  protected _fixedBandSize?: number;
20
20
  protected _cacheRect?: ILayoutRect;
21
21
  protected _cacheVisibility?: boolean;
22
+ protected _dataUpdating: boolean;
22
23
  protected _stateScale: IBaseScale;
23
24
  protected _relatedAxisComponent: IComponent;
24
25
  protected _originalStateFields: Record<number, string | number>;
@@ -110,7 +111,7 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
110
111
  scrollY: number;
111
112
  }, e: BaseEventParams['event']) => boolean;
112
113
  protected _handleChartDrag: (delta: [number, number], e: BaseEventParams['event']) => void;
113
- protected _handleChartMove: (value: number, rate: number) => void;
114
+ protected _handleChartMove: (value: number, rate: number) => boolean;
114
115
  protected _initCommonEvent(): void;
115
116
  updateLayoutAttribute(): void;
116
117
  onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void;
@@ -54,8 +54,8 @@ export class DataFilterBaseComponent extends BaseComponent {
54
54
  }
55
55
  _handleChange(start, end, updateComponent) {
56
56
  var _a, _b;
57
- null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.zoomLock) && void 0 !== _b && _b || end - start !== this._spanCache && (end - start < this._minSpan || end - start > this._maxSpan) ? this._shouldChange = !1 : this._shouldChange = !0,
58
- this._spanCache = end - start;
57
+ null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.zoomLock) && void 0 !== _b && _b || end - start !== this._spanCache && (end - start < this._minSpan || end - start > this._maxSpan) ? this._shouldChange = !1 : (this._shouldChange = !0,
58
+ this._spanCache = end - start);
59
59
  }
60
60
  _isReverse() {
61
61
  const axis = this._relatedAxisComponent;
@@ -97,7 +97,8 @@ export class DataFilterBaseComponent extends BaseComponent {
97
97
  }
98
98
  constructor(spec, options) {
99
99
  super(spec, options), this.layoutType = "none", this._orient = "left", this._cacheVisibility = void 0,
100
- this._shouldChange = !0, this._stateField = "x", this._activeRoam = !0, this._zoomAttr = {
100
+ this._dataUpdating = !1, this._shouldChange = !0, this._stateField = "x", this._activeRoam = !0,
101
+ this._zoomAttr = {
101
102
  enable: !0,
102
103
  rate: 1,
103
104
  focus: !0
@@ -158,8 +159,9 @@ export class DataFilterBaseComponent extends BaseComponent {
158
159
  const {scrollX: scrollX, scrollY: scrollY} = params;
159
160
  let value = this._isHorizontal ? scrollX : scrollY;
160
161
  const active = this._isHorizontal ? abs(scrollX / scrollY) >= .5 : abs(scrollY / scrollX) >= .5;
161
- return this._scrollAttr.reverse || (value = -value), active && this._handleChartMove(value, null !== (_a = this._scrollAttr.rate) && void 0 !== _a ? _a : 1),
162
- active;
162
+ this._scrollAttr.reverse || (value = -value), active && this._handleChartMove(value, null !== (_a = this._scrollAttr.rate) && void 0 !== _a ? _a : 1);
163
+ const hasChange = 0 !== this._start && 1 !== this._end;
164
+ return active && hasChange;
163
165
  }, this._handleChartDrag = (delta, e) => {
164
166
  var _a;
165
167
  if (!this._activeRoam) return;
@@ -175,6 +177,7 @@ export class DataFilterBaseComponent extends BaseComponent {
175
177
  const moveDelta = Math.max(-this._start, value / totalValue) * rate;
176
178
  this._handleChange(this._start + moveDelta, this._end + moveDelta, !0);
177
179
  }
180
+ return !1;
178
181
  }, this._orient = getOrient(spec), this._isHorizontal = "horizontal" === getDirectionByOrient(this._orient);
179
182
  }
180
183
  created() {
@@ -218,8 +221,10 @@ export class DataFilterBaseComponent extends BaseComponent {
218
221
  } else ;
219
222
  }
220
223
  onDataUpdate() {
224
+ var _a;
221
225
  const domain = this._computeDomainOfStateScale(isContinuous(this._stateScale.type));
222
- this._stateScale.domain(domain, !0), this._handleChange(this._start, this._end, !0);
226
+ this._stateScale.domain(domain, !0), this._handleChange(this._start, this._end, !0),
227
+ this._spec.auto && (this._dataUpdating = !0, null === (_a = this.getChart()) || void 0 === _a || _a.setLayoutTag(!0, null, !1));
223
228
  }
224
229
  _computeDomainOfStateScale(isContinuous) {
225
230
  if (this._spec.customDomain) return this._spec.customDomain;
@@ -235,7 +240,6 @@ export class DataFilterBaseComponent extends BaseComponent {
235
240
  }
236
241
  _initData() {
237
242
  const dataCollection = [], stateFields = [], valueFields = [];
238
- let hasValidateValueField = !1;
239
243
  if (this._relatedAxisComponent) {
240
244
  const originalStateFields = {};
241
245
  eachSeries(this._regions, (s => {
@@ -243,7 +247,7 @@ export class DataFilterBaseComponent extends BaseComponent {
243
247
  const xAxisHelper = "cartesian" === s.coordinate ? s.getXAxisHelper() : "polar" === s.coordinate ? s.angleAxisHelper : null, yAxisHelper = "cartesian" === s.coordinate ? s.getYAxisHelper() : "polar" === s.coordinate ? s.radiusAxisHelper : null;
244
248
  if (!xAxisHelper || !yAxisHelper) return;
245
249
  const stateAxisHelper = xAxisHelper.getAxisId() === this._relatedAxisComponent.id ? xAxisHelper : yAxisHelper.getAxisId() === this._relatedAxisComponent.id ? yAxisHelper : this._isHorizontal ? xAxisHelper : yAxisHelper, valueAxisHelper = stateAxisHelper === xAxisHelper ? yAxisHelper : xAxisHelper, isValidateValueAxis = isContinuous(valueAxisHelper.getScale(0).type);
246
- isValidateValueAxis && (hasValidateValueField = !0), dataCollection.push(s.getRawData());
250
+ dataCollection.push(s.getRawData());
247
251
  const seriesSpec = s.getSpec(), xFields = array(seriesSpec.xField), yFields = array(seriesSpec.yField), xField = "cartesian" === s.coordinate ? xFields[0] : null !== (_a = seriesSpec.angleField) && void 0 !== _a ? _a : seriesSpec.categoryField, yField = "cartesian" === s.coordinate ? yFields[0] : null !== (_b = seriesSpec.radiusField) && void 0 !== _b ? _b : seriesSpec.valueField;
248
252
  if (originalStateFields[s.id] = "link" === s.type ? "from_xField" : stateAxisHelper === xAxisHelper ? xField : yField,
249
253
  stateFields.push(originalStateFields[s.id]), this._valueField) {
@@ -254,7 +258,7 @@ export class DataFilterBaseComponent extends BaseComponent {
254
258
  userId: this._seriesUserId,
255
259
  specIndex: this._seriesIndex
256
260
  }), this._originalStateFields = originalStateFields;
257
- } else hasValidateValueField = isNil(this._spec.valueField), eachSeries(this._regions, (s => {
261
+ } else eachSeries(this._regions, (s => {
258
262
  dataCollection.push(s.getRawData()), stateFields.push(this._field), this._valueField && valueFields.push(this._spec.valueField);
259
263
  }), {
260
264
  userId: this._seriesUserId,
@@ -401,7 +405,7 @@ export class DataFilterBaseComponent extends BaseComponent {
401
405
  [sizeKey]: isShown ? this[`_${sizeKey}`] : 0
402
406
  }, {
403
407
  [sizeKey]: AttributeLevel.Built_In
404
- });
408
+ }), this._dataUpdating = !1;
405
409
  }
406
410
  getBoundsInRect(rect) {
407
411
  const result = {
@@ -433,7 +437,7 @@ export class DataFilterBaseComponent extends BaseComponent {
433
437
  var _a, _b, _c, _d, _e, _f;
434
438
  if (!this._auto) return this._cacheVisibility = void 0, !0;
435
439
  const axis = this._relatedAxisComponent, axisSpec = null == axis ? void 0 : axis.getSpec(), axisScale = null == axis ? void 0 : axis.getScale(), bandSizeResult = this._getAxisBandSize(axisSpec);
436
- if (isDiscrete(axisScale.type) && (null == rect ? void 0 : rect.height) === (null === (_a = this._cacheRect) || void 0 === _a ? void 0 : _a.height) && (null == rect ? void 0 : rect.width) === (null === (_b = this._cacheRect) || void 0 === _b ? void 0 : _b.width) && this._fixedBandSize === (null == bandSizeResult ? void 0 : bandSizeResult.bandSize)) return this._cacheVisibility;
440
+ if (!this._dataUpdating && isDiscrete(axisScale.type) && (null == rect ? void 0 : rect.height) === (null === (_a = this._cacheRect) || void 0 === _a ? void 0 : _a.height) && (null == rect ? void 0 : rect.width) === (null === (_b = this._cacheRect) || void 0 === _b ? void 0 : _b.width) && this._fixedBandSize === (null == bandSizeResult ? void 0 : bandSizeResult.bandSize)) return this._cacheVisibility;
437
441
  let isShown = !0;
438
442
  if (this._isHorizontal && (null == rect ? void 0 : rect.width) !== (null === (_c = this._cacheRect) || void 0 === _c ? void 0 : _c.width) ? axisScale.range(axis.getInverse() ? [ rect.width, 0 ] : [ 0, rect.width ]) : (null == rect ? void 0 : rect.height) !== (null === (_d = this._cacheRect) || void 0 === _d ? void 0 : _d.height) && axisScale.range(axis.getInverse() ? [ 0, rect.height ] : [ rect.height, 0 ]),
439
443
  this._cacheRect = {