@visactor/vchart 1.11.0-alpha.1 → 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 (1154) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +34422 -30672
  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/treemap/treemap-transformer.js.map +1 -1
  40. package/cjs/chart/util.js +4 -3
  41. package/cjs/chart/util.js.map +1 -1
  42. package/cjs/chart/venn/index.d.ts +3 -0
  43. package/cjs/chart/venn/index.js +22 -0
  44. package/cjs/chart/venn/index.js.map +1 -0
  45. package/cjs/chart/venn/interface.d.ts +6 -0
  46. package/cjs/chart/venn/interface.js +6 -0
  47. package/cjs/chart/venn/interface.js.map +1 -0
  48. package/cjs/chart/venn/venn-transformer.d.ts +7 -0
  49. package/cjs/chart/venn/venn-transformer.js +28 -0
  50. package/cjs/chart/venn/venn-transformer.js.map +1 -0
  51. package/cjs/chart/venn/venn.d.ts +14 -0
  52. package/cjs/chart/venn/venn.js +24 -0
  53. package/cjs/chart/venn/venn.js.map +1 -0
  54. package/cjs/compile/data/compilable-data.js +3 -1
  55. package/cjs/compile/data/compilable-data.js.map +1 -1
  56. package/cjs/compile/interface/compiler.d.ts +1 -0
  57. package/cjs/compile/interface/compiler.js.map +1 -1
  58. package/cjs/compile/mark/compilable-mark.d.ts +2 -1
  59. package/cjs/compile/mark/compilable-mark.js +4 -0
  60. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  61. package/cjs/compile/mark/interface.d.ts +1 -0
  62. package/cjs/compile/mark/interface.js.map +1 -1
  63. package/cjs/component/axis/base-axis.d.ts +2 -0
  64. package/cjs/component/axis/base-axis.js +13 -6
  65. package/cjs/component/axis/base-axis.js.map +1 -1
  66. package/cjs/component/axis/cartesian/axis.d.ts +1 -2
  67. package/cjs/component/axis/cartesian/axis.js +30 -38
  68. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  69. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  70. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  71. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  72. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  73. package/cjs/component/axis/interface/spec.d.ts +2 -0
  74. package/cjs/component/axis/interface/spec.js.map +1 -1
  75. package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
  76. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  77. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  78. package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
  79. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  80. package/cjs/component/axis/polar/axis.d.ts +0 -1
  81. package/cjs/component/axis/polar/axis.js +7 -11
  82. package/cjs/component/axis/polar/axis.js.map +1 -1
  83. package/cjs/component/axis/polar/interface/common.d.ts +1 -0
  84. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  85. package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
  86. package/cjs/component/axis/polar/linear-axis.js +5 -1
  87. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  88. package/cjs/component/axis/util.js +3 -3
  89. package/cjs/component/axis/util.js.map +1 -1
  90. package/cjs/component/base/base-component.d.ts +1 -0
  91. package/cjs/component/base/base-component.js +14 -6
  92. package/cjs/component/base/base-component.js.map +1 -1
  93. package/cjs/component/base/util.js +12 -12
  94. package/cjs/component/base/util.js.map +1 -1
  95. package/cjs/component/common/trigger/mobile.js +1 -2
  96. package/cjs/component/common/trigger/mobile.js.map +1 -1
  97. package/cjs/component/crosshair/base.d.ts +1 -2
  98. package/cjs/component/crosshair/base.js +4 -6
  99. package/cjs/component/crosshair/base.js.map +1 -1
  100. package/cjs/component/crosshair/cartesian.js +1 -3
  101. package/cjs/component/crosshair/cartesian.js.map +1 -1
  102. package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
  103. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  104. package/cjs/component/crosshair/interface/polar.d.ts +7 -5
  105. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  106. package/cjs/component/crosshair/polar.js +2 -5
  107. package/cjs/component/crosshair/polar.js.map +1 -1
  108. package/cjs/component/crosshair/utils/cartesian.js +14 -14
  109. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  110. package/cjs/component/crosshair/utils/common.js +6 -5
  111. package/cjs/component/crosshair/utils/common.js.map +1 -1
  112. package/cjs/component/crosshair/utils/polar.js +17 -11
  113. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  114. package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
  115. package/cjs/component/custom-mark/custom-mark.js +43 -12
  116. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  117. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
  118. package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
  119. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  120. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
  121. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  122. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  123. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  124. package/cjs/component/data-zoom/interface.d.ts +1 -4
  125. package/cjs/component/data-zoom/interface.js +1 -5
  126. package/cjs/component/data-zoom/interface.js.map +1 -1
  127. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  128. package/cjs/component/data-zoom/util.js.map +1 -1
  129. package/cjs/component/geo/geo-coordinate.js +2 -2
  130. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  131. package/cjs/component/index.d.ts +5 -5
  132. package/cjs/component/index.js +48 -8
  133. package/cjs/component/index.js.map +1 -1
  134. package/cjs/component/indicator/indicator.js +2 -2
  135. package/cjs/component/indicator/indicator.js.map +1 -1
  136. package/cjs/component/interface/theme.d.ts +4 -0
  137. package/cjs/component/interface/theme.js.map +1 -1
  138. package/cjs/component/interface/type.d.ts +4 -0
  139. package/cjs/component/interface/type.js +3 -1
  140. package/cjs/component/interface/type.js.map +1 -1
  141. package/cjs/component/label/label.js +4 -5
  142. package/cjs/component/label/label.js.map +1 -1
  143. package/cjs/component/label/total-label.js +18 -8
  144. package/cjs/component/label/total-label.js.map +1 -1
  145. package/cjs/component/label/util.d.ts +9 -1
  146. package/cjs/component/label/util.js +25 -9
  147. package/cjs/component/label/util.js.map +1 -1
  148. package/cjs/component/legend/base-legend.js +13 -7
  149. package/cjs/component/legend/base-legend.js.map +1 -1
  150. package/cjs/component/legend/continuous/interface.d.ts +1 -0
  151. package/cjs/component/legend/continuous/interface.js.map +1 -1
  152. package/cjs/component/legend/continuous/legend.js +4 -1
  153. package/cjs/component/legend/continuous/legend.js.map +1 -1
  154. package/cjs/component/legend/continuous/util.js +3 -3
  155. package/cjs/component/legend/continuous/util.js.map +1 -1
  156. package/cjs/component/legend/discrete/interface.d.ts +1 -0
  157. package/cjs/component/legend/discrete/interface.js.map +1 -1
  158. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  159. package/cjs/component/legend/discrete/legend.js +20 -9
  160. package/cjs/component/legend/discrete/legend.js.map +1 -1
  161. package/cjs/component/legend/discrete/util.js +7 -6
  162. package/cjs/component/legend/discrete/util.js.map +1 -1
  163. package/cjs/component/legend/util.d.ts +12 -2
  164. package/cjs/component/legend/util.js +2 -2
  165. package/cjs/component/legend/util.js.map +1 -1
  166. package/cjs/component/map-label/component.js +2 -1
  167. package/cjs/component/map-label/component.js.map +1 -1
  168. package/cjs/component/marker/base-marker.d.ts +30 -44
  169. package/cjs/component/marker/base-marker.js +103 -45
  170. package/cjs/component/marker/base-marker.js.map +1 -1
  171. package/cjs/component/marker/interface.d.ts +40 -13
  172. package/cjs/component/marker/interface.js.map +1 -1
  173. package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
  174. package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
  175. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
  176. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  177. package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
  178. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  179. package/cjs/component/marker/mark-area/index.d.ts +2 -1
  180. package/cjs/component/marker/mark-area/index.js +2 -1
  181. package/cjs/component/marker/mark-area/index.js.map +1 -1
  182. package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
  183. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  184. package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
  185. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  186. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  187. package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
  188. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
  189. package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
  190. package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
  191. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
  192. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  193. package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
  194. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  195. package/cjs/component/marker/mark-line/index.d.ts +2 -1
  196. package/cjs/component/marker/mark-line/index.js +2 -1
  197. package/cjs/component/marker/mark-line/index.js.map +1 -1
  198. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  199. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  200. package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
  201. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  202. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  203. package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
  204. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
  205. package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  206. package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
  207. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
  208. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  209. package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
  210. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  211. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  212. package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
  213. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
  214. package/cjs/component/marker/mark-point/index.d.ts +3 -1
  215. package/cjs/component/marker/mark-point/index.js +2 -1
  216. package/cjs/component/marker/mark-point/index.js.map +1 -1
  217. package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
  218. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  219. package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
  220. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  221. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  222. package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
  223. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
  224. package/cjs/component/marker/utils.d.ts +40 -5
  225. package/cjs/component/marker/utils.js +148 -13
  226. package/cjs/component/marker/utils.js.map +1 -1
  227. package/cjs/component/player/player.d.ts +2 -1
  228. package/cjs/component/player/player.js +16 -9
  229. package/cjs/component/player/player.js.map +1 -1
  230. package/cjs/component/player/utils/transform.js +3 -2
  231. package/cjs/component/player/utils/transform.js.map +1 -1
  232. package/cjs/component/tooltip/constant.d.ts +3 -0
  233. package/cjs/component/tooltip/constant.js +6 -2
  234. package/cjs/component/tooltip/constant.js.map +1 -1
  235. package/cjs/component/tooltip/interface/common.d.ts +10 -5
  236. package/cjs/component/tooltip/interface/common.js.map +1 -1
  237. package/cjs/component/tooltip/interface/spec.d.ts +2 -2
  238. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  239. package/cjs/component/tooltip/processor/base.d.ts +10 -5
  240. package/cjs/component/tooltip/processor/base.js +37 -5
  241. package/cjs/component/tooltip/processor/base.js.map +1 -1
  242. package/cjs/component/tooltip/processor/group-tooltip.d.ts +11 -0
  243. package/cjs/component/tooltip/processor/group-tooltip.js +63 -0
  244. package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -0
  245. package/cjs/component/tooltip/processor/index.d.ts +1 -0
  246. package/cjs/component/tooltip/processor/index.js +2 -2
  247. package/cjs/component/tooltip/processor/index.js.map +1 -1
  248. package/cjs/component/tooltip/processor/interface.d.ts +4 -3
  249. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  250. package/cjs/component/tooltip/processor/mark-tooltip.d.ts +2 -2
  251. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -2
  252. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  253. package/cjs/component/tooltip/processor/util.d.ts +1 -1
  254. package/cjs/component/tooltip/tooltip-transformer.js +3 -2
  255. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  256. package/cjs/component/tooltip/tooltip.d.ts +3 -3
  257. package/cjs/component/tooltip/tooltip.js +46 -29
  258. package/cjs/component/tooltip/tooltip.js.map +1 -1
  259. package/cjs/component/tooltip/utils/common.js +3 -2
  260. package/cjs/component/tooltip/utils/common.js.map +1 -1
  261. package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/compose.d.ts +2 -2
  262. package/cjs/component/tooltip/utils/compose.js +120 -0
  263. package/cjs/component/tooltip/utils/compose.js.map +1 -0
  264. package/cjs/component/tooltip/utils/get-spec.d.ts +5 -0
  265. package/cjs/component/tooltip/utils/get-spec.js +130 -0
  266. package/cjs/component/tooltip/utils/get-spec.js.map +1 -0
  267. package/cjs/component/tooltip/utils/get-value.d.ts +6 -0
  268. package/cjs/component/tooltip/utils/get-value.js +41 -0
  269. package/cjs/component/tooltip/utils/get-value.js.map +1 -0
  270. package/cjs/component/tooltip/utils/index.d.ts +4 -0
  271. package/cjs/component/tooltip/utils/index.js +3 -1
  272. package/cjs/component/tooltip/utils/index.js.map +1 -1
  273. package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  274. package/cjs/component/tooltip/utils/pattern.js.map +1 -0
  275. package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
  276. package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
  277. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  278. package/cjs/core/factory.d.ts +1 -1
  279. package/cjs/core/factory.js +0 -1
  280. package/cjs/core/factory.js.map +1 -1
  281. package/cjs/core/index.d.ts +1 -1
  282. package/cjs/core/index.js +1 -1
  283. package/cjs/core/index.js.map +1 -1
  284. package/cjs/core/interface.d.ts +4 -1
  285. package/cjs/core/interface.js.map +1 -1
  286. package/cjs/core/vchart.d.ts +2 -2
  287. package/cjs/core/vchart.js +48 -25
  288. package/cjs/core/vchart.js.map +1 -1
  289. package/cjs/data/transforms/aggregation.d.ts +12 -7
  290. package/cjs/data/transforms/aggregation.js +16 -1
  291. package/cjs/data/transforms/aggregation.js.map +1 -1
  292. package/cjs/data/transforms/invalid-travel.d.ts +1 -1
  293. package/cjs/data/transforms/invalid-travel.js +4 -2
  294. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  295. package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
  296. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  297. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  298. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  299. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  300. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  301. package/cjs/data/transforms/pie.js +3 -2
  302. package/cjs/data/transforms/pie.js.map +1 -1
  303. package/cjs/data/transforms/waterfall.js +4 -2
  304. package/cjs/data/transforms/waterfall.js.map +1 -1
  305. package/cjs/event/event-dispatcher.js +8 -1
  306. package/cjs/event/event-dispatcher.js.map +1 -1
  307. package/cjs/event/interface.d.ts +2 -0
  308. package/cjs/event/interface.js.map +1 -1
  309. package/cjs/index-lark.js +1 -1
  310. package/cjs/index-lark.js.map +1 -1
  311. package/cjs/index-wx.js +1 -1
  312. package/cjs/index-wx.js.map +1 -1
  313. package/cjs/layout/base-layout.js +6 -5
  314. package/cjs/layout/base-layout.js.map +1 -1
  315. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
  316. package/cjs/layout/grid-layout/grid-layout.js +4 -4
  317. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  318. package/cjs/layout/layout-item.js +1 -1
  319. package/cjs/layout/layout-item.js.map +1 -1
  320. package/cjs/mark/base/base-mark.js +2 -2
  321. package/cjs/mark/base/base-mark.js.map +1 -1
  322. package/cjs/mark/index.d.ts +20 -20
  323. package/cjs/mark/index.js +95 -22
  324. package/cjs/mark/index.js.map +1 -1
  325. package/cjs/model/base-model-transformer.js +2 -2
  326. package/cjs/model/base-model-transformer.js.map +1 -1
  327. package/cjs/model/base-model.js +1 -1
  328. package/cjs/model/base-model.js.map +1 -1
  329. package/cjs/model/interface.d.ts +1 -0
  330. package/cjs/model/interface.js.map +1 -1
  331. package/cjs/model/layout-model.js +3 -2
  332. package/cjs/model/layout-model.js.map +1 -1
  333. package/cjs/model/tooltip-helper.d.ts +4 -2
  334. package/cjs/model/tooltip-helper.js +4 -2
  335. package/cjs/model/tooltip-helper.js.map +1 -1
  336. package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
  337. package/cjs/plugin/base/base-plugin-service.js +11 -1
  338. package/cjs/plugin/base/base-plugin-service.js.map +1 -1
  339. package/cjs/plugin/base/interface.d.ts +3 -0
  340. package/cjs/plugin/base/interface.js.map +1 -1
  341. package/cjs/plugin/chart/media-query/media-query.js +4 -4
  342. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  343. package/cjs/plugin/chart/media-query/util/action.js +4 -3
  344. package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
  345. package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
  346. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  347. package/cjs/plugin/components/tooltip-handler/base.d.ts +5 -10
  348. package/cjs/plugin/components/tooltip-handler/base.js +22 -61
  349. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  350. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +1 -2
  351. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +2 -2
  352. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  353. package/cjs/plugin/components/tooltip-handler/constants.d.ts +0 -3
  354. package/cjs/plugin/components/tooltip-handler/constants.js +3 -6
  355. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -1
  356. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +1 -1
  357. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +10 -9
  358. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  359. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
  360. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  361. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
  362. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  363. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  364. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  365. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
  366. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  367. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
  368. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  369. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  370. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  371. package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +1 -7
  372. package/cjs/plugin/components/tooltip-handler/utils/common.js +4 -39
  373. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  374. package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -3
  375. package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -3
  376. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  377. package/cjs/region/interface.d.ts +2 -0
  378. package/cjs/region/interface.js.map +1 -1
  379. package/cjs/region/region.d.ts +1 -0
  380. package/cjs/region/region.js +5 -1
  381. package/cjs/region/region.js.map +1 -1
  382. package/cjs/series/area/area-transformer.js +6 -5
  383. package/cjs/series/area/area-transformer.js.map +1 -1
  384. package/cjs/series/area/area.js +7 -5
  385. package/cjs/series/area/area.js.map +1 -1
  386. package/cjs/series/bar/bar-3d.js +2 -1
  387. package/cjs/series/bar/bar-3d.js.map +1 -1
  388. package/cjs/series/bar/bar.js +6 -3
  389. package/cjs/series/bar/bar.js.map +1 -1
  390. package/cjs/series/base/base-series-transformer.js +4 -4
  391. package/cjs/series/base/base-series-transformer.js.map +1 -1
  392. package/cjs/series/base/base-series.d.ts +10 -17
  393. package/cjs/series/base/base-series.js +48 -27
  394. package/cjs/series/base/base-series.js.map +1 -1
  395. package/cjs/series/base/tooltip-helper.d.ts +9 -5
  396. package/cjs/series/base/tooltip-helper.js +83 -46
  397. package/cjs/series/base/tooltip-helper.js.map +1 -1
  398. package/cjs/series/box-plot/box-plot.js +2 -1
  399. package/cjs/series/box-plot/box-plot.js.map +1 -1
  400. package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
  401. package/cjs/series/box-plot/tooltip-helper.js +21 -21
  402. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  403. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  404. package/cjs/series/cartesian/cartesian.js +14 -4
  405. package/cjs/series/cartesian/cartesian.js.map +1 -1
  406. package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
  407. package/cjs/series/circle-packing/tooltip-helper.js +1 -1
  408. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  409. package/cjs/series/dot/dot.js +2 -2
  410. package/cjs/series/dot/dot.js.map +1 -1
  411. package/cjs/series/dot/tooltip-helper.js +12 -12
  412. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  413. package/cjs/series/funnel/funnel.js +8 -4
  414. package/cjs/series/funnel/funnel.js.map +1 -1
  415. package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
  416. package/cjs/series/funnel/tooltip-helper.js +3 -3
  417. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  418. package/cjs/series/gauge/gauge-pointer.js +4 -3
  419. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  420. package/cjs/series/gauge/gauge.js +3 -3
  421. package/cjs/series/gauge/gauge.js.map +1 -1
  422. package/cjs/series/geo/geo.d.ts +1 -0
  423. package/cjs/series/geo/geo.js +4 -2
  424. package/cjs/series/geo/geo.js.map +1 -1
  425. package/cjs/series/heatmap/heatmap.js +2 -1
  426. package/cjs/series/heatmap/heatmap.js.map +1 -1
  427. package/cjs/series/index.d.ts +5 -3
  428. package/cjs/series/index.js +16 -2
  429. package/cjs/series/index.js.map +1 -1
  430. package/cjs/series/interface/common.d.ts +3 -2
  431. package/cjs/series/interface/common.js.map +1 -1
  432. package/cjs/series/interface/series.d.ts +8 -0
  433. package/cjs/series/interface/series.js.map +1 -1
  434. package/cjs/series/interface/theme.d.ts +2 -0
  435. package/cjs/series/interface/theme.js +3 -2
  436. package/cjs/series/interface/theme.js.map +1 -1
  437. package/cjs/series/interface/tooltip-helper.d.ts +8 -5
  438. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  439. package/cjs/series/interface/type.d.ts +6 -2
  440. package/cjs/series/interface/type.js +3 -2
  441. package/cjs/series/interface/type.js.map +1 -1
  442. package/cjs/series/line/line.js +7 -4
  443. package/cjs/series/line/line.js.map +1 -1
  444. package/cjs/series/link/link.js +3 -2
  445. package/cjs/series/link/link.js.map +1 -1
  446. package/cjs/series/link/tooltip-helper.js +8 -8
  447. package/cjs/series/link/tooltip-helper.js.map +1 -1
  448. package/cjs/series/liquid/tooltip-helper.js +2 -2
  449. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  450. package/cjs/series/map/geo-source.d.ts +3 -1
  451. package/cjs/series/map/geo-source.js +6 -1
  452. package/cjs/series/map/geo-source.js.map +1 -1
  453. package/cjs/series/map/tooltip-helper.d.ts +1 -1
  454. package/cjs/series/map/tooltip-helper.js +1 -1
  455. package/cjs/series/map/tooltip-helper.js.map +1 -1
  456. package/cjs/series/mixin/line-mixin.js +2 -2
  457. package/cjs/series/mixin/line-mixin.js.map +1 -1
  458. package/cjs/series/pie/pie-transformer.js +4 -4
  459. package/cjs/series/pie/pie-transformer.js.map +1 -1
  460. package/cjs/series/polar/polar.d.ts +2 -2
  461. package/cjs/series/polar/polar.js +17 -6
  462. package/cjs/series/polar/polar.js.map +1 -1
  463. package/cjs/series/progress/circular/circular.js +4 -2
  464. package/cjs/series/progress/circular/circular.js.map +1 -1
  465. package/cjs/series/progress/linear/tooltip-helper.js +9 -2
  466. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  467. package/cjs/series/radar/radar.js +9 -7
  468. package/cjs/series/radar/radar.js.map +1 -1
  469. package/cjs/series/range-area/range-area.d.ts +0 -2
  470. package/cjs/series/range-area/range-area.js +3 -6
  471. package/cjs/series/range-area/range-area.js.map +1 -1
  472. package/cjs/series/range-area/tooltip-helper.js +44 -38
  473. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  474. package/cjs/series/range-column/3d/range-column-3d.js +3 -2
  475. package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
  476. package/cjs/series/range-column/range-column.js +3 -2
  477. package/cjs/series/range-column/range-column.js.map +1 -1
  478. package/cjs/series/range-column/tooltip-helper.js +5 -5
  479. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  480. package/cjs/series/rose/rose.js +3 -2
  481. package/cjs/series/rose/rose.js.map +1 -1
  482. package/cjs/series/sankey/sankey.d.ts +2 -1
  483. package/cjs/series/sankey/sankey.js +51 -118
  484. package/cjs/series/sankey/sankey.js.map +1 -1
  485. package/cjs/series/sankey/tooltip-helper.js +50 -45
  486. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  487. package/cjs/series/scatter/scatter.js +2 -1
  488. package/cjs/series/scatter/scatter.js.map +1 -1
  489. package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
  490. package/cjs/series/sunburst/tooltip-helper.js +1 -1
  491. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  492. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  493. package/cjs/series/treemap/tooltip-helper.js +1 -1
  494. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  495. package/cjs/series/util/stack.js +29 -15
  496. package/cjs/series/util/stack.js.map +1 -1
  497. package/cjs/series/venn/animation.d.ts +6 -0
  498. package/cjs/series/venn/animation.js +76 -0
  499. package/cjs/series/venn/animation.js.map +1 -0
  500. package/cjs/series/venn/constant.d.ts +2 -0
  501. package/cjs/series/venn/constant.js +23 -0
  502. package/cjs/series/venn/constant.js.map +1 -0
  503. package/cjs/series/venn/interface.d.ts +21 -0
  504. package/cjs/series/venn/interface.js +6 -0
  505. package/cjs/series/venn/interface.js.map +1 -0
  506. package/cjs/series/venn/tooltip-helper.d.ts +5 -0
  507. package/cjs/series/venn/tooltip-helper.js +17 -0
  508. package/cjs/series/venn/tooltip-helper.js.map +1 -0
  509. package/cjs/series/venn/util.d.ts +1 -0
  510. package/cjs/series/venn/util.js +11 -0
  511. package/cjs/series/venn/util.js.map +1 -0
  512. package/cjs/series/venn/venn-transform.d.ts +6 -0
  513. package/cjs/series/venn/venn-transform.js +16 -0
  514. package/cjs/series/venn/venn-transform.js.map +1 -0
  515. package/cjs/series/venn/venn.d.ts +63 -0
  516. package/cjs/series/venn/venn.js +219 -0
  517. package/cjs/series/venn/venn.js.map +1 -0
  518. package/cjs/series/waterfall/interface.d.ts +6 -1
  519. package/cjs/series/waterfall/interface.js.map +1 -1
  520. package/cjs/series/waterfall/waterfall.d.ts +9 -0
  521. package/cjs/series/waterfall/waterfall.js +23 -4
  522. package/cjs/series/waterfall/waterfall.js.map +1 -1
  523. package/cjs/series/word-cloud/base.d.ts +2 -0
  524. package/cjs/series/word-cloud/base.js +11 -16
  525. package/cjs/series/word-cloud/base.js.map +1 -1
  526. package/cjs/theme/builtin/common/component/index.js +4 -0
  527. package/cjs/theme/builtin/common/component/index.js.map +1 -1
  528. package/cjs/theme/builtin/common/series/index.js +3 -2
  529. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  530. package/cjs/theme/builtin/common/series/venn.d.ts +2 -0
  531. package/cjs/theme/builtin/common/series/venn.js +60 -0
  532. package/cjs/theme/builtin/common/series/venn.js.map +1 -0
  533. package/cjs/typings/spec/common.d.ts +5 -2
  534. package/cjs/typings/spec/common.js.map +1 -1
  535. package/cjs/typings/tooltip/handler.d.ts +1 -1
  536. package/cjs/typings/tooltip/handler.js.map +1 -1
  537. package/cjs/typings/tooltip/tooltip.d.ts +5 -0
  538. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  539. package/cjs/util/data.d.ts +21 -4
  540. package/cjs/util/data.js +42 -14
  541. package/cjs/util/data.js.map +1 -1
  542. package/cjs/util/index.d.ts +1 -0
  543. package/cjs/util/index.js +4 -4
  544. package/cjs/util/index.js.map +1 -1
  545. package/cjs/util/math.d.ts +1 -1
  546. package/cjs/util/math.js +2 -3
  547. package/cjs/util/math.js.map +1 -1
  548. package/cjs/util/spec/index.d.ts +0 -5
  549. package/cjs/util/spec/index.js +1 -4
  550. package/cjs/util/spec/index.js.map +1 -1
  551. package/cjs/util/spec/transform.js.map +1 -1
  552. package/cjs/util/theme/merge-theme.js +3 -3
  553. package/cjs/util/theme/merge-theme.js.map +1 -1
  554. package/cjs/vchart-all.js +2 -2
  555. package/cjs/vchart-all.js.map +1 -1
  556. package/esm/animation/utils.d.ts +2 -2
  557. package/esm/animation/utils.js +1 -1
  558. package/esm/animation/utils.js.map +1 -1
  559. package/esm/chart/base/base-chart-transformer.js +5 -1
  560. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  561. package/esm/chart/base/base-chart.d.ts +4 -2
  562. package/esm/chart/base/base-chart.js +24 -11
  563. package/esm/chart/base/base-chart.js.map +1 -1
  564. package/esm/chart/cartesian/cartesian-transformer.js +3 -1
  565. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  566. package/esm/chart/common/common-transformer.js +3 -1
  567. package/esm/chart/common/common-transformer.js.map +1 -1
  568. package/esm/chart/common/interface.d.ts +2 -2
  569. package/esm/chart/common/interface.js.map +1 -1
  570. package/esm/chart/index.d.ts +6 -4
  571. package/esm/chart/index.js +5 -3
  572. package/esm/chart/index.js.map +1 -1
  573. package/esm/chart/interface/chart.d.ts +6 -1
  574. package/esm/chart/interface/chart.js.map +1 -1
  575. package/esm/chart/interface/type.d.ts +2 -1
  576. package/esm/chart/interface/type.js +1 -1
  577. package/esm/chart/interface/type.js.map +1 -1
  578. package/esm/chart/polar/polar-transformer.js.map +1 -1
  579. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  580. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  581. package/esm/chart/radar/radar-transformer.js +3 -1
  582. package/esm/chart/radar/radar-transformer.js.map +1 -1
  583. package/esm/chart/range-column/range-column-transformer.js +5 -1
  584. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  585. package/esm/chart/rose/rose-transformer.js +1 -1
  586. package/esm/chart/rose/rose-transformer.js.map +1 -1
  587. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  588. package/esm/chart/sequence/sequence.js +4 -1
  589. package/esm/chart/sequence/sequence.js.map +1 -1
  590. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  591. package/esm/chart/util.js +5 -2
  592. package/esm/chart/util.js.map +1 -1
  593. package/esm/chart/venn/index.d.ts +3 -0
  594. package/esm/chart/venn/index.js +6 -0
  595. package/esm/chart/venn/index.js.map +1 -0
  596. package/esm/chart/venn/interface.d.ts +6 -0
  597. package/esm/chart/venn/interface.js +2 -0
  598. package/esm/chart/venn/interface.js.map +1 -0
  599. package/esm/chart/venn/venn-transformer.d.ts +7 -0
  600. package/esm/chart/venn/venn-transformer.js +20 -0
  601. package/esm/chart/venn/venn-transformer.js.map +1 -0
  602. package/esm/chart/venn/venn.d.ts +14 -0
  603. package/esm/chart/venn/venn.js +24 -0
  604. package/esm/chart/venn/venn.js.map +1 -0
  605. package/esm/compile/data/compilable-data.js +3 -1
  606. package/esm/compile/data/compilable-data.js.map +1 -1
  607. package/esm/compile/interface/compiler.d.ts +1 -0
  608. package/esm/compile/interface/compiler.js.map +1 -1
  609. package/esm/compile/mark/compilable-mark.d.ts +2 -1
  610. package/esm/compile/mark/compilable-mark.js +4 -0
  611. package/esm/compile/mark/compilable-mark.js.map +1 -1
  612. package/esm/compile/mark/interface.d.ts +1 -0
  613. package/esm/compile/mark/interface.js.map +1 -1
  614. package/esm/component/axis/base-axis.d.ts +2 -0
  615. package/esm/component/axis/base-axis.js +8 -1
  616. package/esm/component/axis/base-axis.js.map +1 -1
  617. package/esm/component/axis/cartesian/axis.d.ts +1 -2
  618. package/esm/component/axis/cartesian/axis.js +30 -36
  619. package/esm/component/axis/cartesian/axis.js.map +1 -1
  620. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  621. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  622. package/esm/component/axis/cartesian/time-axis.js +2 -2
  623. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  624. package/esm/component/axis/interface/spec.d.ts +2 -0
  625. package/esm/component/axis/interface/spec.js.map +1 -1
  626. package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
  627. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  628. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  629. package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
  630. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  631. package/esm/component/axis/polar/axis.d.ts +0 -1
  632. package/esm/component/axis/polar/axis.js +7 -11
  633. package/esm/component/axis/polar/axis.js.map +1 -1
  634. package/esm/component/axis/polar/interface/common.d.ts +1 -0
  635. package/esm/component/axis/polar/interface/common.js.map +1 -1
  636. package/esm/component/axis/polar/linear-axis.d.ts +5 -1
  637. package/esm/component/axis/polar/linear-axis.js +5 -1
  638. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  639. package/esm/component/axis/util.js +1 -1
  640. package/esm/component/axis/util.js.map +1 -1
  641. package/esm/component/base/base-component.d.ts +1 -0
  642. package/esm/component/base/base-component.js +14 -6
  643. package/esm/component/base/base-component.js.map +1 -1
  644. package/esm/component/base/util.js +2 -2
  645. package/esm/component/base/util.js.map +1 -1
  646. package/esm/component/common/trigger/mobile.js +1 -2
  647. package/esm/component/common/trigger/mobile.js.map +1 -1
  648. package/esm/component/crosshair/base.d.ts +1 -2
  649. package/esm/component/crosshair/base.js +4 -6
  650. package/esm/component/crosshair/base.js.map +1 -1
  651. package/esm/component/crosshair/cartesian.js +3 -5
  652. package/esm/component/crosshair/cartesian.js.map +1 -1
  653. package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
  654. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  655. package/esm/component/crosshair/interface/polar.d.ts +7 -5
  656. package/esm/component/crosshair/interface/polar.js.map +1 -1
  657. package/esm/component/crosshair/polar.js +4 -7
  658. package/esm/component/crosshair/polar.js.map +1 -1
  659. package/esm/component/crosshair/utils/cartesian.js +14 -14
  660. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  661. package/esm/component/crosshair/utils/common.js +2 -2
  662. package/esm/component/crosshair/utils/common.js.map +1 -1
  663. package/esm/component/crosshair/utils/polar.js +15 -9
  664. package/esm/component/crosshair/utils/polar.js.map +1 -1
  665. package/esm/component/custom-mark/custom-mark.d.ts +11 -4
  666. package/esm/component/custom-mark/custom-mark.js +43 -14
  667. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  668. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
  669. package/esm/component/data-zoom/data-filter-base-component.js +15 -11
  670. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  671. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
  672. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  673. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  674. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  675. package/esm/component/data-zoom/interface.d.ts +1 -4
  676. package/esm/component/data-zoom/interface.js +1 -5
  677. package/esm/component/data-zoom/interface.js.map +1 -1
  678. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  679. package/esm/component/data-zoom/util.js.map +1 -1
  680. package/esm/component/geo/geo-coordinate.js +1 -1
  681. package/esm/component/geo/geo-coordinate.js.map +1 -1
  682. package/esm/component/index.d.ts +5 -5
  683. package/esm/component/index.js +5 -5
  684. package/esm/component/index.js.map +1 -1
  685. package/esm/component/indicator/indicator.js +1 -1
  686. package/esm/component/indicator/indicator.js.map +1 -1
  687. package/esm/component/interface/theme.d.ts +4 -0
  688. package/esm/component/interface/theme.js.map +1 -1
  689. package/esm/component/interface/type.d.ts +4 -0
  690. package/esm/component/interface/type.js +3 -1
  691. package/esm/component/interface/type.js.map +1 -1
  692. package/esm/component/label/label.js +3 -4
  693. package/esm/component/label/label.js.map +1 -1
  694. package/esm/component/label/total-label.js +17 -7
  695. package/esm/component/label/total-label.js.map +1 -1
  696. package/esm/component/label/util.d.ts +9 -1
  697. package/esm/component/label/util.js +21 -6
  698. package/esm/component/label/util.js.map +1 -1
  699. package/esm/component/legend/base-legend.js +9 -4
  700. package/esm/component/legend/base-legend.js.map +1 -1
  701. package/esm/component/legend/continuous/interface.d.ts +1 -0
  702. package/esm/component/legend/continuous/interface.js.map +1 -1
  703. package/esm/component/legend/continuous/legend.js +5 -2
  704. package/esm/component/legend/continuous/legend.js.map +1 -1
  705. package/esm/component/legend/continuous/util.js +1 -1
  706. package/esm/component/legend/continuous/util.js.map +1 -1
  707. package/esm/component/legend/discrete/interface.d.ts +1 -0
  708. package/esm/component/legend/discrete/interface.js.map +1 -1
  709. package/esm/component/legend/discrete/legend.d.ts +4 -1
  710. package/esm/component/legend/discrete/legend.js +20 -9
  711. package/esm/component/legend/discrete/legend.js.map +1 -1
  712. package/esm/component/legend/discrete/util.js +4 -4
  713. package/esm/component/legend/discrete/util.js.map +1 -1
  714. package/esm/component/legend/util.d.ts +12 -2
  715. package/esm/component/legend/util.js +1 -1
  716. package/esm/component/legend/util.js.map +1 -1
  717. package/esm/component/map-label/component.js +2 -1
  718. package/esm/component/map-label/component.js.map +1 -1
  719. package/esm/component/marker/base-marker.d.ts +30 -44
  720. package/esm/component/marker/base-marker.js +101 -42
  721. package/esm/component/marker/base-marker.js.map +1 -1
  722. package/esm/component/marker/interface.d.ts +40 -13
  723. package/esm/component/marker/interface.js.map +1 -1
  724. package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
  725. package/esm/component/marker/mark-area/base-mark-area.js +105 -0
  726. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
  727. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  728. package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
  729. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  730. package/esm/component/marker/mark-area/index.d.ts +2 -1
  731. package/esm/component/marker/mark-area/index.js +3 -1
  732. package/esm/component/marker/mark-area/index.js.map +1 -1
  733. package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
  734. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  735. package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
  736. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  737. package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  738. package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
  739. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
  740. package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
  741. package/esm/component/marker/mark-line/base-mark-line.js +124 -0
  742. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
  743. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  744. package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
  745. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  746. package/esm/component/marker/mark-line/index.d.ts +2 -1
  747. package/esm/component/marker/mark-line/index.js +3 -1
  748. package/esm/component/marker/mark-line/index.js.map +1 -1
  749. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  750. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  751. package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
  752. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  753. package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  754. package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
  755. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
  756. package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  757. package/esm/component/marker/mark-point/base-mark-point.js +139 -0
  758. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
  759. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  760. package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
  761. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  762. package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  763. package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
  764. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
  765. package/esm/component/marker/mark-point/index.d.ts +3 -1
  766. package/esm/component/marker/mark-point/index.js +5 -1
  767. package/esm/component/marker/mark-point/index.js.map +1 -1
  768. package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
  769. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  770. package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
  771. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  772. package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  773. package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
  774. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
  775. package/esm/component/marker/utils.d.ts +40 -5
  776. package/esm/component/marker/utils.js +137 -8
  777. package/esm/component/marker/utils.js.map +1 -1
  778. package/esm/component/player/player.d.ts +2 -1
  779. package/esm/component/player/player.js +16 -9
  780. package/esm/component/player/player.js.map +1 -1
  781. package/esm/component/player/utils/transform.js +3 -2
  782. package/esm/component/player/utils/transform.js.map +1 -1
  783. package/esm/component/tooltip/constant.d.ts +3 -0
  784. package/esm/component/tooltip/constant.js +7 -0
  785. package/esm/component/tooltip/constant.js.map +1 -1
  786. package/esm/component/tooltip/interface/common.d.ts +10 -5
  787. package/esm/component/tooltip/interface/common.js.map +1 -1
  788. package/esm/component/tooltip/interface/spec.d.ts +2 -2
  789. package/esm/component/tooltip/interface/spec.js.map +1 -1
  790. package/esm/component/tooltip/processor/base.d.ts +10 -5
  791. package/esm/component/tooltip/processor/base.js +42 -4
  792. package/esm/component/tooltip/processor/base.js.map +1 -1
  793. package/esm/component/tooltip/processor/group-tooltip.d.ts +11 -0
  794. package/esm/component/tooltip/processor/group-tooltip.js +57 -0
  795. package/esm/component/tooltip/processor/group-tooltip.js.map +1 -0
  796. package/esm/component/tooltip/processor/index.d.ts +1 -0
  797. package/esm/component/tooltip/processor/index.js +2 -0
  798. package/esm/component/tooltip/processor/index.js.map +1 -1
  799. package/esm/component/tooltip/processor/interface.d.ts +4 -3
  800. package/esm/component/tooltip/processor/interface.js.map +1 -1
  801. package/esm/component/tooltip/processor/mark-tooltip.d.ts +2 -2
  802. package/esm/component/tooltip/processor/mark-tooltip.js +2 -2
  803. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  804. package/esm/component/tooltip/processor/util.d.ts +1 -1
  805. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  806. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  807. package/esm/component/tooltip/tooltip.d.ts +3 -3
  808. package/esm/component/tooltip/tooltip.js +42 -27
  809. package/esm/component/tooltip/tooltip.js.map +1 -1
  810. package/esm/component/tooltip/utils/common.js +3 -2
  811. package/esm/component/tooltip/utils/common.js.map +1 -1
  812. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/compose.d.ts +2 -2
  813. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/compose.js +39 -26
  814. package/esm/component/tooltip/utils/compose.js.map +1 -0
  815. package/esm/component/tooltip/utils/get-spec.d.ts +5 -0
  816. package/esm/component/tooltip/utils/get-spec.js +125 -0
  817. package/esm/component/tooltip/utils/get-spec.js.map +1 -0
  818. package/esm/component/tooltip/utils/get-value.d.ts +6 -0
  819. package/esm/component/tooltip/utils/get-value.js +32 -0
  820. package/esm/component/tooltip/utils/get-value.js.map +1 -0
  821. package/esm/component/tooltip/utils/index.d.ts +4 -0
  822. package/esm/component/tooltip/utils/index.js +8 -0
  823. package/esm/component/tooltip/utils/index.js.map +1 -1
  824. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  825. package/esm/component/tooltip/utils/pattern.js.map +1 -0
  826. package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
  827. package/esm/component/tooltip/utils/show-tooltip.js +99 -87
  828. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  829. package/esm/core/factory.d.ts +1 -1
  830. package/esm/core/factory.js +1 -2
  831. package/esm/core/factory.js.map +1 -1
  832. package/esm/core/index.d.ts +1 -1
  833. package/esm/core/index.js +1 -1
  834. package/esm/core/index.js.map +1 -1
  835. package/esm/core/interface.d.ts +4 -1
  836. package/esm/core/interface.js.map +1 -1
  837. package/esm/core/vchart.d.ts +2 -2
  838. package/esm/core/vchart.js +43 -22
  839. package/esm/core/vchart.js.map +1 -1
  840. package/esm/data/transforms/aggregation.d.ts +12 -7
  841. package/esm/data/transforms/aggregation.js +16 -1
  842. package/esm/data/transforms/aggregation.js.map +1 -1
  843. package/esm/data/transforms/invalid-travel.d.ts +1 -1
  844. package/esm/data/transforms/invalid-travel.js +4 -2
  845. package/esm/data/transforms/invalid-travel.js.map +1 -1
  846. package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
  847. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  848. package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
  849. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  850. package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  851. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  852. package/esm/data/transforms/pie.js +2 -1
  853. package/esm/data/transforms/pie.js.map +1 -1
  854. package/esm/data/transforms/waterfall.js +5 -1
  855. package/esm/data/transforms/waterfall.js.map +1 -1
  856. package/esm/event/event-dispatcher.js +8 -1
  857. package/esm/event/event-dispatcher.js.map +1 -1
  858. package/esm/event/interface.d.ts +2 -0
  859. package/esm/event/interface.js.map +1 -1
  860. package/esm/index-lark.js +4 -4
  861. package/esm/index-lark.js.map +1 -1
  862. package/esm/index-wx.js +4 -4
  863. package/esm/index-wx.js.map +1 -1
  864. package/esm/layout/base-layout.js +6 -5
  865. package/esm/layout/base-layout.js.map +1 -1
  866. package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
  867. package/esm/layout/grid-layout/grid-layout.js +4 -4
  868. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  869. package/esm/layout/layout-item.js +1 -1
  870. package/esm/layout/layout-item.js.map +1 -1
  871. package/esm/mark/base/base-mark.js +1 -1
  872. package/esm/mark/base/base-mark.js.map +1 -1
  873. package/esm/mark/index.d.ts +20 -20
  874. package/esm/mark/index.js +25 -20
  875. package/esm/mark/index.js.map +1 -1
  876. package/esm/model/base-model-transformer.js +3 -1
  877. package/esm/model/base-model-transformer.js.map +1 -1
  878. package/esm/model/base-model.js +1 -1
  879. package/esm/model/base-model.js.map +1 -1
  880. package/esm/model/interface.d.ts +1 -0
  881. package/esm/model/interface.js.map +1 -1
  882. package/esm/model/layout-model.js +3 -2
  883. package/esm/model/layout-model.js.map +1 -1
  884. package/esm/model/tooltip-helper.d.ts +4 -2
  885. package/esm/model/tooltip-helper.js +4 -2
  886. package/esm/model/tooltip-helper.js.map +1 -1
  887. package/esm/plugin/base/base-plugin-service.d.ts +2 -0
  888. package/esm/plugin/base/base-plugin-service.js +11 -1
  889. package/esm/plugin/base/base-plugin-service.js.map +1 -1
  890. package/esm/plugin/base/interface.d.ts +3 -0
  891. package/esm/plugin/base/interface.js.map +1 -1
  892. package/esm/plugin/chart/media-query/media-query.js +3 -1
  893. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  894. package/esm/plugin/chart/media-query/util/action.js +2 -2
  895. package/esm/plugin/chart/media-query/util/action.js.map +1 -1
  896. package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
  897. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  898. package/esm/plugin/components/tooltip-handler/base.d.ts +5 -10
  899. package/esm/plugin/components/tooltip-handler/base.js +22 -61
  900. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  901. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +1 -2
  902. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +2 -2
  903. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  904. package/esm/plugin/components/tooltip-handler/constants.d.ts +0 -3
  905. package/esm/plugin/components/tooltip-handler/constants.js +0 -7
  906. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -1
  907. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +1 -1
  908. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +10 -9
  909. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  910. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
  911. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  912. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
  913. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  914. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
  915. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  916. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
  917. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  918. package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
  919. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  920. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  921. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  922. package/esm/plugin/components/tooltip-handler/utils/common.d.ts +1 -7
  923. package/esm/plugin/components/tooltip-handler/utils/common.js +1 -31
  924. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  925. package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -3
  926. package/esm/plugin/components/tooltip-handler/utils/index.js +0 -6
  927. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  928. package/esm/region/interface.d.ts +2 -0
  929. package/esm/region/interface.js.map +1 -1
  930. package/esm/region/region.d.ts +1 -0
  931. package/esm/region/region.js +5 -1
  932. package/esm/region/region.js.map +1 -1
  933. package/esm/series/area/area-transformer.js +1 -1
  934. package/esm/series/area/area-transformer.js.map +1 -1
  935. package/esm/series/area/area.js +8 -4
  936. package/esm/series/area/area.js.map +1 -1
  937. package/esm/series/bar/bar-3d.js +4 -1
  938. package/esm/series/bar/bar-3d.js.map +1 -1
  939. package/esm/series/bar/bar.js +7 -2
  940. package/esm/series/bar/bar.js.map +1 -1
  941. package/esm/series/base/base-series-transformer.js +3 -1
  942. package/esm/series/base/base-series-transformer.js.map +1 -1
  943. package/esm/series/base/base-series.d.ts +10 -17
  944. package/esm/series/base/base-series.js +44 -23
  945. package/esm/series/base/base-series.js.map +1 -1
  946. package/esm/series/base/tooltip-helper.d.ts +9 -5
  947. package/esm/series/base/tooltip-helper.js +83 -46
  948. package/esm/series/base/tooltip-helper.js.map +1 -1
  949. package/esm/series/box-plot/box-plot.js +4 -1
  950. package/esm/series/box-plot/box-plot.js.map +1 -1
  951. package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
  952. package/esm/series/box-plot/tooltip-helper.js +21 -21
  953. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  954. package/esm/series/cartesian/cartesian.d.ts +1 -1
  955. package/esm/series/cartesian/cartesian.js +15 -4
  956. package/esm/series/cartesian/cartesian.js.map +1 -1
  957. package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
  958. package/esm/series/circle-packing/tooltip-helper.js +1 -1
  959. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  960. package/esm/series/dot/dot.js +1 -1
  961. package/esm/series/dot/dot.js.map +1 -1
  962. package/esm/series/dot/tooltip-helper.js +12 -12
  963. package/esm/series/dot/tooltip-helper.js.map +1 -1
  964. package/esm/series/funnel/funnel.js +8 -4
  965. package/esm/series/funnel/funnel.js.map +1 -1
  966. package/esm/series/funnel/tooltip-helper.d.ts +3 -3
  967. package/esm/series/funnel/tooltip-helper.js +3 -3
  968. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  969. package/esm/series/gauge/gauge-pointer.js +4 -1
  970. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  971. package/esm/series/gauge/gauge.js +4 -1
  972. package/esm/series/gauge/gauge.js.map +1 -1
  973. package/esm/series/geo/geo.d.ts +1 -0
  974. package/esm/series/geo/geo.js +4 -2
  975. package/esm/series/geo/geo.js.map +1 -1
  976. package/esm/series/heatmap/heatmap.js +4 -1
  977. package/esm/series/heatmap/heatmap.js.map +1 -1
  978. package/esm/series/index.d.ts +5 -3
  979. package/esm/series/index.js +4 -2
  980. package/esm/series/index.js.map +1 -1
  981. package/esm/series/interface/common.d.ts +3 -2
  982. package/esm/series/interface/common.js.map +1 -1
  983. package/esm/series/interface/series.d.ts +8 -0
  984. package/esm/series/interface/series.js.map +1 -1
  985. package/esm/series/interface/theme.d.ts +2 -0
  986. package/esm/series/interface/theme.js +4 -1
  987. package/esm/series/interface/theme.js.map +1 -1
  988. package/esm/series/interface/tooltip-helper.d.ts +8 -5
  989. package/esm/series/interface/tooltip-helper.js.map +1 -1
  990. package/esm/series/interface/type.d.ts +6 -2
  991. package/esm/series/interface/type.js +3 -2
  992. package/esm/series/interface/type.js.map +1 -1
  993. package/esm/series/line/line.js +8 -3
  994. package/esm/series/line/line.js.map +1 -1
  995. package/esm/series/link/link.js +4 -1
  996. package/esm/series/link/link.js.map +1 -1
  997. package/esm/series/link/tooltip-helper.js +8 -8
  998. package/esm/series/link/tooltip-helper.js.map +1 -1
  999. package/esm/series/liquid/tooltip-helper.js +2 -2
  1000. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  1001. package/esm/series/map/geo-source.d.ts +3 -1
  1002. package/esm/series/map/geo-source.js +7 -2
  1003. package/esm/series/map/geo-source.js.map +1 -1
  1004. package/esm/series/map/tooltip-helper.d.ts +1 -1
  1005. package/esm/series/map/tooltip-helper.js +1 -1
  1006. package/esm/series/map/tooltip-helper.js.map +1 -1
  1007. package/esm/series/mixin/line-mixin.js +1 -1
  1008. package/esm/series/mixin/line-mixin.js.map +1 -1
  1009. package/esm/series/pie/pie-transformer.js +1 -1
  1010. package/esm/series/pie/pie-transformer.js.map +1 -1
  1011. package/esm/series/polar/polar.d.ts +2 -2
  1012. package/esm/series/polar/polar.js +18 -6
  1013. package/esm/series/polar/polar.js.map +1 -1
  1014. package/esm/series/progress/circular/circular.js +5 -2
  1015. package/esm/series/progress/circular/circular.js.map +1 -1
  1016. package/esm/series/progress/linear/tooltip-helper.js +9 -2
  1017. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  1018. package/esm/series/radar/radar.js +9 -5
  1019. package/esm/series/radar/radar.js.map +1 -1
  1020. package/esm/series/range-area/range-area.d.ts +0 -2
  1021. package/esm/series/range-area/range-area.js +3 -5
  1022. package/esm/series/range-area/range-area.js.map +1 -1
  1023. package/esm/series/range-area/tooltip-helper.js +44 -38
  1024. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  1025. package/esm/series/range-column/3d/range-column-3d.js +4 -1
  1026. package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
  1027. package/esm/series/range-column/range-column.js +3 -1
  1028. package/esm/series/range-column/range-column.js.map +1 -1
  1029. package/esm/series/range-column/tooltip-helper.js +5 -5
  1030. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  1031. package/esm/series/rose/rose.js +4 -1
  1032. package/esm/series/rose/rose.js.map +1 -1
  1033. package/esm/series/sankey/sankey.d.ts +2 -1
  1034. package/esm/series/sankey/sankey.js +52 -119
  1035. package/esm/series/sankey/sankey.js.map +1 -1
  1036. package/esm/series/sankey/tooltip-helper.js +50 -45
  1037. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  1038. package/esm/series/scatter/scatter.js +4 -1
  1039. package/esm/series/scatter/scatter.js.map +1 -1
  1040. package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
  1041. package/esm/series/sunburst/tooltip-helper.js +1 -1
  1042. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  1043. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  1044. package/esm/series/treemap/tooltip-helper.js +1 -1
  1045. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  1046. package/esm/series/util/stack.js +28 -15
  1047. package/esm/series/util/stack.js.map +1 -1
  1048. package/esm/series/venn/animation.d.ts +6 -0
  1049. package/esm/series/venn/animation.js +68 -0
  1050. package/esm/series/venn/animation.js.map +1 -0
  1051. package/esm/series/venn/constant.d.ts +2 -0
  1052. package/esm/series/venn/constant.js +17 -0
  1053. package/esm/series/venn/constant.js.map +1 -0
  1054. package/esm/series/venn/interface.d.ts +21 -0
  1055. package/esm/series/venn/interface.js +2 -0
  1056. package/esm/series/venn/interface.js.map +1 -0
  1057. package/esm/series/venn/tooltip-helper.d.ts +5 -0
  1058. package/esm/series/venn/tooltip-helper.js +11 -0
  1059. package/esm/series/venn/tooltip-helper.js.map +1 -0
  1060. package/esm/series/venn/util.d.ts +1 -0
  1061. package/esm/series/venn/util.js +4 -0
  1062. package/esm/series/venn/util.js.map +1 -0
  1063. package/esm/series/venn/venn-transform.d.ts +6 -0
  1064. package/esm/series/venn/venn-transform.js +8 -0
  1065. package/esm/series/venn/venn-transform.js.map +1 -0
  1066. package/esm/series/venn/venn.d.ts +63 -0
  1067. package/esm/series/venn/venn.js +237 -0
  1068. package/esm/series/venn/venn.js.map +1 -0
  1069. package/esm/series/waterfall/interface.d.ts +6 -1
  1070. package/esm/series/waterfall/interface.js.map +1 -1
  1071. package/esm/series/waterfall/waterfall.d.ts +9 -0
  1072. package/esm/series/waterfall/waterfall.js +24 -3
  1073. package/esm/series/waterfall/waterfall.js.map +1 -1
  1074. package/esm/series/word-cloud/base.d.ts +2 -0
  1075. package/esm/series/word-cloud/base.js +12 -17
  1076. package/esm/series/word-cloud/base.js.map +1 -1
  1077. package/esm/theme/builtin/common/component/index.js +4 -0
  1078. package/esm/theme/builtin/common/component/index.js.map +1 -1
  1079. package/esm/theme/builtin/common/series/index.js +4 -1
  1080. package/esm/theme/builtin/common/series/index.js.map +1 -1
  1081. package/esm/theme/builtin/common/series/venn.d.ts +2 -0
  1082. package/esm/theme/builtin/common/series/venn.js +56 -0
  1083. package/esm/theme/builtin/common/series/venn.js.map +1 -0
  1084. package/esm/typings/spec/common.d.ts +5 -2
  1085. package/esm/typings/spec/common.js.map +1 -1
  1086. package/esm/typings/tooltip/handler.d.ts +1 -1
  1087. package/esm/typings/tooltip/handler.js.map +1 -1
  1088. package/esm/typings/tooltip/tooltip.d.ts +5 -0
  1089. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1090. package/esm/util/data.d.ts +21 -4
  1091. package/esm/util/data.js +39 -10
  1092. package/esm/util/data.js.map +1 -1
  1093. package/esm/util/index.d.ts +1 -0
  1094. package/esm/util/index.js +2 -0
  1095. package/esm/util/index.js.map +1 -1
  1096. package/esm/util/math.d.ts +1 -1
  1097. package/esm/util/math.js +2 -3
  1098. package/esm/util/math.js.map +1 -1
  1099. package/esm/util/spec/index.d.ts +0 -5
  1100. package/esm/util/spec/index.js +0 -10
  1101. package/esm/util/spec/index.js.map +1 -1
  1102. package/esm/util/spec/transform.js.map +1 -1
  1103. package/esm/util/theme/merge-theme.js +1 -1
  1104. package/esm/util/theme/merge-theme.js.map +1 -1
  1105. package/esm/vchart-all.js +6 -4
  1106. package/esm/vchart-all.js.map +1 -1
  1107. package/package.json +16 -15
  1108. package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
  1109. package/cjs/component/marker/mark-area/mark-area.js +0 -128
  1110. package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
  1111. package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
  1112. package/cjs/component/marker/mark-line/mark-line.js +0 -198
  1113. package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
  1114. package/cjs/component/marker/mark-point/mark-point.js +0 -138
  1115. package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
  1116. package/cjs/plugin/components/tooltip-handler/utils/compose.js +0 -107
  1117. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +0 -1
  1118. package/cjs/plugin/components/tooltip-handler/utils/get-spec.d.ts +0 -5
  1119. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +0 -106
  1120. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +0 -1
  1121. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1122. package/cjs/util/spec/clone-deep.d.ts +0 -1
  1123. package/cjs/util/spec/clone-deep.js +0 -27
  1124. package/cjs/util/spec/clone-deep.js.map +0 -1
  1125. package/cjs/util/spec/common.d.ts +0 -3
  1126. package/cjs/util/spec/common.js +0 -23
  1127. package/cjs/util/spec/common.js.map +0 -1
  1128. package/cjs/util/spec/merge-spec.d.ts +0 -5
  1129. package/cjs/util/spec/merge-spec.js +0 -69
  1130. package/cjs/util/spec/merge-spec.js.map +0 -1
  1131. package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
  1132. package/esm/component/marker/mark-area/mark-area.js +0 -134
  1133. package/esm/component/marker/mark-area/mark-area.js.map +0 -1
  1134. package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
  1135. package/esm/component/marker/mark-line/mark-line.js +0 -213
  1136. package/esm/component/marker/mark-line/mark-line.js.map +0 -1
  1137. package/esm/component/marker/mark-point/mark-point.js +0 -147
  1138. package/esm/component/marker/mark-point/mark-point.js.map +0 -1
  1139. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +0 -1
  1140. package/esm/plugin/components/tooltip-handler/utils/get-spec.d.ts +0 -5
  1141. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +0 -101
  1142. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +0 -1
  1143. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1144. package/esm/util/spec/clone-deep.d.ts +0 -1
  1145. package/esm/util/spec/clone-deep.js +0 -20
  1146. package/esm/util/spec/clone-deep.js.map +0 -1
  1147. package/esm/util/spec/common.d.ts +0 -3
  1148. package/esm/util/spec/common.js +0 -15
  1149. package/esm/util/spec/common.js.map +0 -1
  1150. package/esm/util/spec/merge-spec.d.ts +0 -5
  1151. package/esm/util/spec/merge-spec.js +0 -57
  1152. package/esm/util/spec/merge-spec.js.map +0 -1
  1153. /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
  1154. /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
@@ -14,23 +14,24 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.getLegendAttributes = void 0;
16
16
 
17
- const vutils_1 = require("@visactor/vutils"), space_1 = require("../../../util/space"), merge_spec_1 = require("../../../util/spec/merge-spec"), style_1 = require("../../../util/style"), util_1 = require("../util");
17
+ const vutils_1 = require("@visactor/vutils"), space_1 = require("../../../util/space"), vutils_extension_1 = require("@visactor/vutils-extension"), style_1 = require("../../../util/style"), util_1 = require("../util");
18
18
 
19
19
  function getLegendAttributes(spec, rect) {
20
20
  const {title: title = {}, item: item = {}, pager: pager = {}, background: background = {}, type: type, id: id, visible: visible, orient: orient, position: position, data: data, filter: filter, regionId: regionId, regionIndex: regionIndex, seriesIndex: seriesIndex, seriesId: seriesId, padding: padding} = spec, attrs = __rest(spec, [ "title", "item", "pager", "background", "type", "id", "visible", "orient", "position", "data", "filter", "regionId", "regionIndex", "seriesIndex", "seriesId", "padding" ]);
21
21
  return title.visible && (attrs.title = (0, util_1.transformLegendTitleAttributes)(title)),
22
22
  (0, vutils_1.isEmpty)(item.focusIconStyle) || (0, style_1.transformToGraphic)(item.focusIconStyle),
23
- item.shape = (0, style_1.transformComponentStyle)(item.shape), item.label = (0,
24
- style_1.transformComponentStyle)(item.label), item.value = (0, style_1.transformComponentStyle)(item.value),
25
- item.background = (0, style_1.transformComponentStyle)(item.background), (0, space_1.isPercent)(item.maxWidth) && (item.maxWidth = Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width / 100),
23
+ item.shape && (item.shape = (0, style_1.transformComponentStyle)(item.shape)), item.label && (item.label = (0,
24
+ style_1.transformComponentStyle)(item.label)), item.value && (item.value = (0, style_1.transformComponentStyle)(item.value)),
25
+ item.background && (item.background = (0, style_1.transformComponentStyle)(item.background)),
26
+ (0, space_1.isPercent)(item.maxWidth) && (item.maxWidth = Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width / 100),
26
27
  (0, space_1.isPercent)(item.width) && (item.width = Number(item.width.substring(0, item.width.length - 1)) * rect.width / 100),
27
28
  (0, space_1.isPercent)(item.height) && (item.height = Number(item.height.substring(0, item.height.length - 1)) * rect.width / 100),
28
29
  attrs.item = item, "scrollbar" === pager.type ? ((0, vutils_1.isEmpty)(pager.railStyle) || (0,
29
30
  style_1.transformToGraphic)(pager.railStyle), (0, vutils_1.isEmpty)(pager.sliderStyle) || (0,
30
31
  style_1.transformToGraphic)(pager.sliderStyle)) : ((0, vutils_1.isEmpty)(pager.textStyle) || (0,
31
- style_1.transformToGraphic)(pager.textStyle), (0, style_1.transformComponentStyle)(pager.handler)),
32
+ style_1.transformToGraphic)(pager.textStyle), pager.handler && (0, style_1.transformComponentStyle)(pager.handler)),
32
33
  attrs.pager = pager, background.visible && !(0, vutils_1.isEmpty)(background.style) && ((0,
33
- merge_spec_1.mergeSpec)(attrs, background.style), (0, vutils_1.isValid)(background.padding) && (attrs.padding = background.padding)),
34
+ vutils_extension_1.mergeSpec)(attrs, background.style), (0, vutils_1.isValid)(background.padding) && (attrs.padding = background.padding)),
34
35
  attrs;
35
36
  }
36
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { isPercent } from '../../../util/space';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec, ILegendScrollbar, IPager } from './interface';\nimport type { ILayoutRect } from '../../../typings/layout';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = spec;\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n item.shape = transformComponentStyle(item.shape);\n item.label = transformComponentStyle(item.label);\n item.value = transformComponentStyle(item.value);\n item.background = transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n if ((pager as ILegendScrollbar).type === 'scrollbar') {\n if (!isEmpty((pager as ILegendScrollbar).railStyle)) {\n transformToGraphic((pager as ILegendScrollbar).railStyle);\n }\n if (!isEmpty((pager as ILegendScrollbar).sliderStyle)) {\n transformToGraphic((pager as ILegendScrollbar).sliderStyle);\n }\n } else {\n // transform pager\n if (!isEmpty((pager as IPager).textStyle)) {\n transformToGraphic((pager as IPager).textStyle);\n }\n transformComponentStyle((pager as IPager).handler);\n }\n\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n mergeSpec(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { isPercent } from '../../../util/space';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec, ILegendScrollbar, IPager } from './interface';\nimport type { ILayoutRect } from '../../../typings/layout';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = spec;\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n if (item.shape) {\n item.shape = transformComponentStyle(item.shape);\n }\n if (item.label) {\n item.label = transformComponentStyle(item.label);\n }\n if (item.value) {\n item.value = transformComponentStyle(item.value);\n }\n if (item.background) {\n item.background = transformComponentStyle(item.background);\n }\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n if ((pager as ILegendScrollbar).type === 'scrollbar') {\n if (!isEmpty((pager as ILegendScrollbar).railStyle)) {\n transformToGraphic((pager as ILegendScrollbar).railStyle);\n }\n if (!isEmpty((pager as ILegendScrollbar).sliderStyle)) {\n transformToGraphic((pager as ILegendScrollbar).sliderStyle);\n }\n } else {\n // transform pager\n if (!isEmpty((pager as IPager).textStyle)) {\n transformToGraphic((pager as IPager).textStyle);\n }\n\n if ((pager as IPager).handler) {\n transformComponentStyle((pager as IPager).handler);\n }\n }\n\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n mergeSpec(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
@@ -15,12 +15,22 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
15
15
  visible?: boolean;
16
16
  style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "visible" | "width" | "height">;
17
17
  };
18
- text?: string | number | string[] | number[] | {
18
+ text?: string | number | number[] | string[] | {
19
19
  type?: "text";
20
- text: string | number | string[] | number[];
20
+ text: string | number | number[] | string[];
21
21
  } | {
22
22
  type: "rich";
23
23
  text: import("@visactor/vrender-core").IRichTextCharacter[];
24
+ } | {
25
+ type: "html";
26
+ text: {
27
+ dom: string | HTMLElement;
28
+ } & import("@visactor/vrender-core").SimpleDomStyleOptions & import("@visactor/vrender-core").CommonDomOptions;
29
+ } | {
30
+ type: "react";
31
+ text: {
32
+ element: any;
33
+ } & import("@visactor/vrender-core").SimpleDomStyleOptions & import("@visactor/vrender-core").CommonDomOptions;
24
34
  };
25
35
  visible?: boolean;
26
36
  padding?: import("@visactor/vrender-components").Padding;
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.transformLegendTitleAttributes = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), merge_spec_1 = require("../../util/spec/merge-spec"), style_1 = require("../../util/style");
7
+ const vutils_1 = require("@visactor/vutils"), vutils_extension_1 = require("@visactor/vutils-extension"), style_1 = require("../../util/style");
8
8
 
9
9
  function transformLegendTitleAttributes(title) {
10
10
  var _a, _b;
11
11
  const transformedTitle = Object.assign({}, title);
12
12
  return (0, vutils_1.isEmpty)(title.style) || (transformedTitle.textStyle = (0, style_1.transformToGraphic)(title.style)),
13
- (0, vutils_1.isEmpty)(title.textStyle) || (0, merge_spec_1.mergeSpec)(transformedTitle.textStyle, (0,
13
+ (0, vutils_1.isEmpty)(title.textStyle) || (0, vutils_extension_1.mergeSpec)(transformedTitle.textStyle, (0,
14
14
  style_1.transformToGraphic)(title.textStyle)), (null === (_a = title.shape) || void 0 === _a ? void 0 : _a.style) && (0,
15
15
  style_1.transformToGraphic)(transformedTitle.shape.style), (null === (_b = title.background) || void 0 === _b ? void 0 : _b.style) && (0,
16
16
  style_1.transformToGraphic)(transformedTitle.background.style), transformedTitle;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAC3C,2DAAuD;AACvD,4CAAsD;AAEtD,SAAgB,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAA,sBAAS,EAAC,gBAAgB,CAAC,SAAS,EAAE,IAAA,0BAAkB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5E;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAnBD,wEAmBC","file":"util.js","sourcesContent":["import type { ILegendCommonSpec, ITitle } from './interface';\nimport { isEmpty } from '@visactor/vutils';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n mergeSpec(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAC3C,iEAAuD;AACvD,4CAAsD;AAEtD,SAAgB,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAA,4BAAS,EAAC,gBAAgB,CAAC,SAAS,EAAE,IAAA,0BAAkB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5E;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAnBD,wEAmBC","file":"util.js","sourcesContent":["import type { ITitle } from './interface';\nimport { isEmpty } from '@visactor/vutils';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n mergeSpec(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n"]}
@@ -105,7 +105,8 @@ class MapLabelComponent extends base_component_1.BaseComponent {
105
105
  this._markerComponents || (this._markerComponents = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData().map(((data, index) => {
106
106
  var _a;
107
107
  const cmp = new vrender_components_1.MarkPoint({
108
- position: void 0
108
+ position: void 0,
109
+ animation: !1
109
110
  });
110
111
  return cmp && (cmp.name = `${this.name}_marker_${index}`, cmp.id = null !== (_a = this._spec.id) && void 0 !== _a ? _a : `${this.name}_marker_${this.id}`,
111
112
  cmp.setAttribute("zIndex", this.layoutZIndex)), cmp;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base/base-component';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { LayoutZIndex } from '../../constant';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\n\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, IModelSpecInfo } from '../../model/interface';\nimport { Factory } from '../../core/factory';\nimport { TransformLevel } from '../../data/initialize';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n // TODO: 限制mapSeries使用\n const labelSpec = chartSpec[this.specKey];\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return [\n {\n spec: labelSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.mapLabel\n }\n ];\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n const view = this.getCompiler()?.getVGrammarView();\n\n if (!view) {\n return;\n }\n\n if (trigger === 'hover') {\n view.addEventListener('element-highlight:start', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-highlight:reset', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n view.addEventListener('element-select:start', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('elementSelectReset', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = () => {\n Factory.registerComponent(MapLabelComponent.type, MapLabelComponent);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAC9C,2DAAuD;AAGvD,4CAAsD;AACtD,6CAA8C;AAM9C,qCAA4E;AAE5E,wEAAoE;AACpE,4CAA8D;AAC9D,qEAAyD;AAEzD,yDAA2F;AAC3F,4CAAsD;AAGtD,6CAA2C;AAG3C,gDAA6C;AAC7C,sDAAuD;AAEvD,MAAa,iBAAkB,SAAQ,8BAA4B;IAAnE;;QAEE,SAAI,GAAG,wBAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,wBAAiB,CAAC,QAAQ,CAAC;QAG1C,YAAO,GAAG,UAAU,CAAC;QAErB,eAAU,GAAW,MAAM,CAAC;QAE5B,iBAAY,GAAG,uBAAY,CAAC,SAAS,CAAC;QAY9B,iBAAY,GAAY,EAAE,CAAC;IAsZrC,CAAC;IApZC,MAAM,CAAC,WAAW,CAAC,SAAc;QAE/B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAA,gBAAO,EAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACjE,OAAO,IAAI,CAAC;SACb;QACD,OAAO;YACL;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB,YAAY,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,IAAI,EAAE,wBAAiB,CAAC,QAAQ;aACjC;SACF,CAAC;IACJ,CAAC;IAED,eAAe;;QACb,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAqB,CAAC;QACnG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;YAEnC,IAAI,CAAC,IAAI,GAAG,MAAA,MAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAgB,0CAAE,cAAc,EAAE,0CAAE,UAAU,CAAC;YAErG,IAAI,CAAC,eAAe,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,kDAAI,0CAAE,cAAc,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,kDAAI,0CAAE,aAAa,CAAC;SACnE;IACH,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,UAAU,EAAE;YACd,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE;gBACvB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,2BAAc,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAEpF,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;oBACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,SAAS;;QACP,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;YACnF,IAAI,CAAC,UAAU,CAAC,CAA8B,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;YACtF,IAAI,CAAC,SAAS,CAAC,CAA6B,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO;SACR;QAED,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,eAAe,EAAE,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC/D,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAClD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC/D,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,OAAO,KAAK,OAAO,EAAE;YAC9B,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAClD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC1D,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACnD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,SAAS,CAAC,CAAgB;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACtC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,CAAiB;QAC1B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEO,YAAY,CAAC,KAAc;QACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;YAC/C,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,GAAG,KAAK,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC3C,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACtC;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAU;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB;;QACnB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO;SACR;QACD,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC9B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAES,4BAA4B;;QACpC,MAAM,cAAc,GAAgB,EAAE,CAAC;QACvC,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,GAAG,GAAG,CAAC,CAAC,IAAW,EAAE,KAAa,EAAE,EAAE;;gBACtF,MAAM,GAAG,GAAG,IAAI,8BAAS,CAAC;oBACxB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,WAAW,KAAK,EAAE,CAAC;oBAC1C,GAAG,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,GAAG,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC3D,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC/C;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;SACJ;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YAClG,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAES,eAAe,CAAC,IAAW,EAAE,KAAa;;QAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjC,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,CAAa,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACpC,YAAY,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;QAC7D,aAAa,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,CAAC,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAyB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAA,0BAAW,EAAC,EAAE,CAAC,CAAC;QAClC,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,yBAAyB,KAAK,EAAE,CAAC;QAC9D,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;QAEnC,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,EAAE;YAClC,MAAM,eAAe,GAAG,IAAA,yBAAU,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YAC3F,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC5C,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC;YAC/C,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACxC;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,OAAO,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,MAAM,UAAU,GAAG,MAAA,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,KAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,MAAA,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,KAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACrD,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,aAAa,GAAG,UAAU,CAAC;YAC3B,YAAY,IAAI,SAAS,CAAC;YAC1B,gBAAgB,EAAE,CAAC;SACpB;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,EAAE;YACjC,MAAM,SAAS,GAAG,IAAA,yBAAU,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC,CAAC;YACpF,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACtC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC;YAC5C,MAAM,eAAe,GAAG,MAAA,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,KAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACrE,MAAM,cAAc,GAAG,MAAA,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,KAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACpE,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;YACnC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAEjC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzD,YAAY,IAAI,cAAc,CAAC;YAC/B,gBAAgB,EAAE,CAAC;SACpB;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,KAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;YACpE,MAAM,UAAU,GAAG,IAAA,yBAAU,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YACtF,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACvC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC;YAC9C,MAAM,gBAAgB,GAAG,MAAA,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,KAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACxE,MAAM,eAAe,GAAG,MAAA,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,KAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACvE,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAElC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YAC1D,YAAY,IAAI,eAAe,CAAC;YAChC,gBAAgB,EAAE,CAAC;SACpB;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAExF,MAAM,MAAM,GAAW;YACrB,CAAC,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,oBAAoB,CAAC,GAAG,CAAC;YAC5C,CAAC,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,oBAAoB,CAAC,GAAG,CAAC;SAC7C,CAAC;QACF,MAAM,QAAQ,GAAG;YACf,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,QAAQ,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC9E,QAAQ,CAAC,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;QAEhD,MAAM,QAAQ,GAAc;YAC1B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;YACb,KAAK;SACN,CAAC;QAEF,IAAI,QAAQ,KAAK,OAAO,EAAE;YACxB,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,GAAG,IAAA,0BAAiB,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,OAAO,GAAG,OAAwB,CAAC;YAC5C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;SAC1B;aAAM;YACL,QAAQ,CAAC,UAAU,GAAG;gBACpB,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,eAAe,CAAC,CAAA;gBAChC,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,cAAc,CAAC,CAAA;aAChC,CAAC;SACH;QACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IAES,cAAc,CAAC,eAAwB,EAAE,YAAoC;;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;gBAC3C,OAAO;aACR;YACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpF,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,CAAa,CAAC;YACvF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAEpC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,IAAI,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,CAAC;YAC9B,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;gBACpD,IAAI,IAAI,EAAE;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAG1B,MAAM,IAAI,CAAC,MAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAC5C;oBACD,IAAI,CAAC,aAAa,CAAC;wBACjB,CAAC,EAAE,IAAI,GAAG,MAAM;wBAChB,CAAC,EAAE,IAAI;qBACR,CAAC,CAAC;oBAEH,IAAI,IAAI,MAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,mCAAI,CAAC,CAAC;oBACnC,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,IAAI,IAAI,KAAK,CAAC;qBACf;iBACF;YACH,CAAC,CAAC,CAAC;YACF,eAAgC,aAAhC,eAAe,uBAAf,eAAe,CAAmB,aAAa,CAAC;gBAC/C,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,CAAC;gBACvB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;gBACvB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,OAAO,KAAI,CAAC,IAAI,IAAI,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACd,CAAC,EAAE,SAAS,CAAC,CAAC;gBACd,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC1C,WAAW,EAAE;oBACX,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAA8B;oBAC1D,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBACnD,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;iBACrD;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAA,0BAAkB,oBAAM,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,KAAK,EAAG;oBAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;iBAChC;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC7D,OAAO;SACR;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAqB,CAAC,CAAC;SACxE;IACH,CAAC;IAES,aAAa,CAAC,KAAkB;QACxC,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI;YAC1C,CAAC,CAAC,IAAA,oBAAW,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAe,EAAE,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC1B,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aAChC,CAAC,CACH;YACH,CAAC,CAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;QAE9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,KAAa;;QACpC,MAAM,EAAE,GACN,MAAA,MAAC,IAAI,CAAC,OAA4B,CAAC,cAAc,EAAE,0CAAE,SAAS,EAAE,mCAChE,MAAC,IAAI,CAAC,OAAsB,CAAC,mBAAmB,EAAE,0CAAE,eAAe,EAAE,CAAC;QACxE,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,MAAK,EAAE,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,MAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,aAAa;IAEb,CAAC;IAES,8BAA8B;QACtC,OAAO,IAAI,CAAC,iBAAwC,CAAC;IACvD,CAAC;;AA3aH,8CA4aC;AA3aQ,sBAAI,GAAG,wBAAiB,CAAC,QAAQ,CAAC;AAIlC,yBAAO,GAAG,UAAU,CAAC;AAyavB,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base/base-component';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { LayoutZIndex } from '../../constant';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\n\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, IModelSpecInfo } from '../../model/interface';\nimport { Factory } from '../../core/factory';\nimport { TransformLevel } from '../../data/initialize';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n // TODO: 限制mapSeries使用\n const labelSpec = chartSpec[this.specKey];\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return [\n {\n spec: labelSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.mapLabel\n }\n ];\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n const view = this.getCompiler()?.getVGrammarView();\n\n if (!view) {\n return;\n }\n\n if (trigger === 'hover') {\n view.addEventListener('element-highlight:start', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-highlight:reset', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n view.addEventListener('element-select:start', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('elementSelectReset', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = () => {\n Factory.registerComponent(MapLabelComponent.type, MapLabelComponent);\n};\n"]}
@@ -1,67 +1,53 @@
1
- import type { DataView } from '@visactor/vdataset';
2
- import type { IModelRenderOption } from '../../model/interface';
1
+ import { DataView } from '@visactor/vdataset';
2
+ import type { Maybe } from '@visactor/vutils';
3
+ import type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';
3
4
  import type { IRegion } from '../../region/interface';
4
- import type { ICartesianSeries } from '../../series/interface';
5
5
  import type { ILayoutRect, ILayoutType, IRect } from '../../typings';
6
6
  import { BaseComponent } from '../base/base-component';
7
- import type { IAggrType, IDataPos, IDataPosCallback, IMarkerSpec } from './interface';
7
+ import type { IDataPos, IDataPosCallback, IMarkerSpec, IMarkerSupportSeries } from './interface';
8
8
  import type { IGraphic, IGroup } from '@visactor/vrender-core';
9
9
  export declare abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {
10
10
  layoutType: ILayoutType | 'none';
11
- protected _startRelativeSeries: ICartesianSeries;
12
- protected _endRelativeSeries: ICartesianSeries;
13
- protected _relativeSeries: ICartesianSeries;
14
- getRelativeSeries(): ICartesianSeries;
11
+ static specKey: string;
12
+ static type: string;
13
+ static coordinateType: string;
14
+ coordinateType: string;
15
+ protected _startRelativeSeries: IMarkerSupportSeries;
16
+ protected _endRelativeSeries: IMarkerSupportSeries;
17
+ protected _relativeSeries: IMarkerSupportSeries;
18
+ protected _specifiedDataSeries: IMarkerSupportSeries | IMarkerSupportSeries[];
19
+ getRelativeSeries(): IMarkerSupportSeries;
15
20
  protected _markerData: DataView;
21
+ getMarkerData(): DataView;
16
22
  protected _markerComponent: any;
17
23
  protected _layoutOffsetX: number;
18
24
  protected _layoutOffsetY: number;
19
25
  private _firstSeries;
26
+ protected abstract _initDataView(): void;
27
+ protected abstract _createMarkerComponent(): IGroup;
28
+ protected abstract _markerLayout(): void;
29
+ static _getMarkerCoordinateType(markerSpec: any): string;
30
+ static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
20
31
  created(): void;
21
32
  protected _getAllRelativeSeries(): {
22
- getRelativeSeries: () => ICartesianSeries;
23
- getStartRelativeSeries: () => ICartesianSeries;
24
- getEndRelativeSeries: () => ICartesianSeries;
33
+ getRelativeSeries: () => IMarkerSupportSeries;
34
+ getStartRelativeSeries: () => IMarkerSupportSeries;
35
+ getEndRelativeSeries: () => IMarkerSupportSeries;
25
36
  };
26
37
  private _getFieldInfoFromSpec;
27
- protected _processSpecX(specX: IDataPos | IDataPosCallback): {
28
- getRelativeSeries: () => ICartesianSeries;
29
- getStartRelativeSeries: () => ICartesianSeries;
30
- getEndRelativeSeries: () => ICartesianSeries;
31
- x: string | number | IDataPosCallback | {
32
- field: any;
33
- aggrType: IAggrType;
34
- };
35
- };
36
- protected _processSpecY(specY: IDataPos | IDataPosCallback): {
37
- getRelativeSeries: () => ICartesianSeries;
38
- getStartRelativeSeries: () => ICartesianSeries;
39
- getEndRelativeSeries: () => ICartesianSeries;
40
- y: string | number | IDataPosCallback | {
41
- field: any;
42
- aggrType: IAggrType;
43
- };
44
- };
45
- protected _processSpecXY(specX: IDataPos | IDataPosCallback, specY: IDataPos | IDataPosCallback): {
46
- getRelativeSeries: () => ICartesianSeries;
47
- getStartRelativeSeries: () => ICartesianSeries;
48
- getEndRelativeSeries: () => ICartesianSeries;
49
- x: string | number | IDataPosCallback | {
50
- field: any;
51
- aggrType: IAggrType;
52
- };
53
- y: string | number | IDataPosCallback | {
54
- field: any;
55
- aggrType: IAggrType;
56
- };
38
+ protected _processSpecByDims(dimSpec: {
39
+ dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';
40
+ specValue: IDataPos | IDataPosCallback;
41
+ }[]): {
42
+ getRelativeSeries: () => IMarkerSupportSeries;
43
+ getStartRelativeSeries: () => IMarkerSupportSeries;
44
+ getEndRelativeSeries: () => IMarkerSupportSeries;
57
45
  };
58
46
  protected _processSpecCoo(spec: any): any;
47
+ protected _getRelativeDataView(): DataView;
59
48
  updateLayoutAttribute(): void;
60
49
  private _getSeriesByIdOrIndex;
61
50
  protected _bindSeries(): void;
62
- protected abstract _initDataView(): void;
63
- protected abstract _createMarkerComponent(): IGroup;
64
- protected abstract _markerLayout(): void;
65
51
  protected initEvent(): void;
66
52
  onRender(ctx: IModelRenderOption): void;
67
53
  changeRegions(regions: IRegion[]): void;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.BaseMarker = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), base_component_1 = require("../base/base-component"), space_1 = require("../../util/space"), utils_1 = require("./utils"), util_1 = require("../../util");
7
+ const vdataset_1 = require("@visactor/vdataset"), vutils_1 = require("@visactor/vutils"), base_component_1 = require("../base/base-component"), space_1 = require("../../util/space"), utils_1 = require("./utils"), util_1 = require("../../util"), array_1 = require("../../data/parser/array");
8
8
 
9
9
  class BaseMarker extends base_component_1.BaseComponent {
10
10
  constructor() {
@@ -13,8 +13,33 @@ class BaseMarker extends base_component_1.BaseComponent {
13
13
  getRelativeSeries() {
14
14
  return this._relativeSeries;
15
15
  }
16
+ getMarkerData() {
17
+ return this._markerData;
18
+ }
19
+ static _getMarkerCoordinateType(markerSpec) {
20
+ return "cartesian";
21
+ }
22
+ static getSpecInfo(chartSpec) {
23
+ const markerSpec = chartSpec[this.specKey];
24
+ if ((0, vutils_1.isEmpty)(markerSpec)) return;
25
+ if (!(0, vutils_1.isArray)(markerSpec) && !1 !== markerSpec.visible && this._getMarkerCoordinateType(markerSpec) === this.coordinateType) return [ {
26
+ spec: markerSpec,
27
+ specPath: [ this.specKey ],
28
+ specInfoPath: [ "component", this.specKey, 0 ],
29
+ type: this.type
30
+ } ];
31
+ const specInfos = [];
32
+ return (0, vutils_1.array)(markerSpec).forEach(((m, i) => {
33
+ !1 !== m.visible && this._getMarkerCoordinateType(m) === this.coordinateType && specInfos.push({
34
+ spec: m,
35
+ specPath: [ this.specKey, i ],
36
+ specInfoPath: [ "component", this.specKey, i ],
37
+ type: this.type
38
+ });
39
+ })), specInfos;
40
+ }
16
41
  created() {
17
- super.created(), this.initEvent(), this._bindSeries(), this._initDataView();
42
+ super.created(), this._bindSeries(), this._initDataView(), this.initEvent();
18
43
  }
19
44
  _getAllRelativeSeries() {
20
45
  return {
@@ -24,56 +49,83 @@ class BaseMarker extends base_component_1.BaseComponent {
24
49
  };
25
50
  }
26
51
  _getFieldInfoFromSpec(dim, spec, relativeSeries) {
27
- const field = "x" === dim ? relativeSeries.getSpec().xField : relativeSeries.getSpec().yField;
52
+ const specKeyByDim = {
53
+ x: "xField",
54
+ y: "yField",
55
+ radius: "valueField",
56
+ angle: "categoryField",
57
+ areaName: "nameField"
58
+ };
28
59
  return (0, vutils_1.isString)(spec) && (0, utils_1.isAggrSpec)(spec) ? {
29
- field: field,
60
+ field: relativeSeries.getSpec()[specKeyByDim[dim]],
30
61
  aggrType: spec
31
62
  } : spec;
32
63
  }
33
- _processSpecX(specX) {
34
- const relativeSeries = this._relativeSeries;
35
- return Object.assign({
36
- x: this._getFieldInfoFromSpec("x", specX, relativeSeries)
37
- }, this._getAllRelativeSeries());
38
- }
39
- _processSpecY(specY) {
40
- const relativeSeries = this._relativeSeries;
41
- return Object.assign({
42
- y: this._getFieldInfoFromSpec("y", specY, relativeSeries)
43
- }, this._getAllRelativeSeries());
44
- }
45
- _processSpecXY(specX, specY) {
46
- const relativeSeries = this._relativeSeries;
47
- return Object.assign({
48
- x: this._getFieldInfoFromSpec("x", specX, relativeSeries),
49
- y: this._getFieldInfoFromSpec("y", specY, relativeSeries)
50
- }, this._getAllRelativeSeries());
64
+ _processSpecByDims(dimSpec) {
65
+ const relativeSeries = this._relativeSeries, dimMap = {};
66
+ return dimSpec.forEach((d => dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries))),
67
+ Object.assign(Object.assign({}, dimMap), this._getAllRelativeSeries());
51
68
  }
52
69
  _processSpecCoo(spec) {
53
70
  var _a;
71
+ let option;
54
72
  return (null !== (_a = spec.coordinates) && void 0 !== _a ? _a : (0, vutils_1.array)(spec.coordinate)).map((coordinate => {
55
- const refRelativeSeries = this._getSeriesByIdOrIndex(coordinate.refRelativeSeriesId, coordinate.refRelativeSeriesIndex), {xField: xField, yField: yField} = refRelativeSeries.getSpec(), {xFieldDim: xFieldDim, xFieldIndex: xFieldIndex, yFieldDim: yFieldDim, yFieldIndex: yFieldIndex} = coordinate;
56
- let bindXField = xField;
57
- (0, vutils_1.isValid)(xFieldIndex) && (bindXField = (0, vutils_1.array)(xField)[xFieldIndex]),
58
- xFieldDim && (0, vutils_1.array)(xField).includes(xFieldDim) && (bindXField = xFieldDim);
59
- let bindYField = yField;
60
- (0, vutils_1.isValid)(yFieldIndex) && (bindYField = (0, vutils_1.array)(yField)[yFieldIndex]),
61
- yFieldDim && (0, vutils_1.array)(yField).includes(yFieldDim) && (bindYField = yFieldDim);
62
- const option = Object.assign({
63
- x: void 0,
64
- y: void 0
65
- }, this._getAllRelativeSeries());
66
- return (0, vutils_1.isString)(coordinate[bindXField]) && (0, utils_1.isAggrSpec)(coordinate[bindXField]) ? option.x = {
67
- field: bindXField,
68
- aggrType: coordinate[bindXField]
69
- } : option.x = (0, vutils_1.array)(bindXField).map((field => coordinate[field])),
70
- (0, vutils_1.isString)(coordinate[bindYField]) && (0, utils_1.isAggrSpec)(coordinate[bindYField]) ? option.y = {
71
- field: bindYField,
72
- aggrType: coordinate[bindYField]
73
- } : option.y = (0, vutils_1.array)(bindYField).map((field => coordinate[field])),
74
- option.getRefRelativeSeries = () => refRelativeSeries, option;
73
+ const refRelativeSeries = this._getSeriesByIdOrIndex(coordinate.refRelativeSeriesId, coordinate.refRelativeSeriesIndex);
74
+ if ("cartesian" === this.coordinateType) {
75
+ const {xField: xField, yField: yField} = refRelativeSeries.getSpec(), {xFieldDim: xFieldDim, xFieldIndex: xFieldIndex, yFieldDim: yFieldDim, yFieldIndex: yFieldIndex} = coordinate;
76
+ let bindXField = xField;
77
+ (0, vutils_1.isValid)(xFieldIndex) && (bindXField = (0, vutils_1.array)(xField)[xFieldIndex]),
78
+ xFieldDim && (0, vutils_1.array)(xField).includes(xFieldDim) && (bindXField = xFieldDim);
79
+ let bindYField = yField;
80
+ (0, vutils_1.isValid)(yFieldIndex) && (bindYField = (0, vutils_1.array)(yField)[yFieldIndex]),
81
+ yFieldDim && (0, vutils_1.array)(yField).includes(yFieldDim) && (bindYField = yFieldDim),
82
+ option = Object.assign({
83
+ x: void 0,
84
+ y: void 0
85
+ }, this._getAllRelativeSeries()), (0, vutils_1.isString)(coordinate[bindXField]) && (0,
86
+ utils_1.isAggrSpec)(coordinate[bindXField]) ? option.x = {
87
+ field: bindXField,
88
+ aggrType: coordinate[bindXField]
89
+ } : option.x = (0, vutils_1.array)(bindXField).map((field => coordinate[field])),
90
+ (0, vutils_1.isString)(coordinate[bindYField]) && (0, utils_1.isAggrSpec)(coordinate[bindYField]) ? option.y = {
91
+ field: bindYField,
92
+ aggrType: coordinate[bindYField]
93
+ } : option.y = (0, vutils_1.array)(bindYField).map((field => coordinate[field]));
94
+ } else if ("polar" === this.coordinateType) {
95
+ const {valueField: radiusField, categoryField: angleField} = refRelativeSeries.getSpec(), {angleFieldDim: angleFieldDim, angleFieldIndex: angleFieldIndex} = coordinate;
96
+ let bindAngleField = angleField;
97
+ (0, vutils_1.isValid)(angleFieldIndex) && (bindAngleField = (0, vutils_1.array)(angleField)[angleFieldIndex]),
98
+ angleFieldDim && (0, vutils_1.array)(angleField).includes(angleFieldDim) && (bindAngleField = angleFieldDim);
99
+ const bindRadiusField = radiusField;
100
+ option = Object.assign({
101
+ angle: void 0,
102
+ radius: void 0
103
+ }, this._getAllRelativeSeries()), (0, vutils_1.isString)(coordinate[bindAngleField]) && (0,
104
+ utils_1.isAggrSpec)(coordinate[bindAngleField]) ? option.angle = {
105
+ field: bindAngleField,
106
+ aggrType: coordinate[bindAngleField]
107
+ } : option.angle = (0, vutils_1.array)(bindAngleField).map((field => coordinate[field])),
108
+ (0, vutils_1.isString)(coordinate[bindRadiusField]) && (0, utils_1.isAggrSpec)(coordinate[bindRadiusField]) ? option.radius = {
109
+ field: bindRadiusField,
110
+ aggrType: coordinate[bindRadiusField]
111
+ } : option.radius = (0, vutils_1.array)(bindRadiusField).map((field => coordinate[field]));
112
+ }
113
+ return option.getRefRelativeSeries = () => refRelativeSeries, option;
75
114
  }));
76
115
  }
116
+ _getRelativeDataView() {
117
+ if (this._specifiedDataSeries) {
118
+ let resultData = [];
119
+ (0, vutils_1.array)(this._specifiedDataSeries).forEach((series => {
120
+ resultData = resultData.concat(series.getViewData().latestData);
121
+ }));
122
+ const dataSet = new vdataset_1.DataSet;
123
+ return dataSet.registerParser("array", array_1.arrayParser), new vdataset_1.DataView(dataSet).parse(resultData, {
124
+ type: "array"
125
+ });
126
+ }
127
+ return this._relativeSeries.getViewData();
128
+ }
77
129
  updateLayoutAttribute() {
78
130
  var _a, _b, _c;
79
131
  if (null === (_a = this._spec.visible) || void 0 === _a || _a) {
@@ -82,7 +134,9 @@ class BaseMarker extends base_component_1.BaseComponent {
82
134
  markerComponent.name = null !== (_b = this._spec.name) && void 0 !== _b ? _b : this.type,
83
135
  markerComponent.id = null !== (_c = this._spec.id) && void 0 !== _c ? _c : `${this.type}-${this.id}`,
84
136
  this._markerComponent = markerComponent, this.getContainer().add(this._markerComponent),
85
- this._markerComponent.on("*", ((event, type) => this._delegateEvent(this._markerComponent, event, type)));
137
+ this._markerComponent.on("*", ((event, type) => {
138
+ this._delegateEvent(this._markerComponent, event, type, null, this.getMarkerData.bind(this));
139
+ }));
86
140
  }
87
141
  this._markerLayout();
88
142
  }
@@ -99,9 +153,13 @@ class BaseMarker extends base_component_1.BaseComponent {
99
153
  const spec = this._spec;
100
154
  this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex),
101
155
  this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex),
102
- this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);
156
+ this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex),
157
+ spec.specifiedDataSeriesIndex && "all" === spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId && "all" === spec.specifiedDataSeriesId ? this._specifiedDataSeries = this._option.getAllSeries() : (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) && (this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex));
158
+ }
159
+ initEvent() {
160
+ "cartesian" !== this._relativeSeries.coordinate && (this._relativeSeries.event.on("zoom", this._markerLayout.bind(this)),
161
+ this._relativeSeries.event.on("panmove", this._markerLayout.bind(this)), this._relativeSeries.event.on("scroll", this._markerLayout.bind(this)));
103
162
  }
104
- initEvent() {}
105
163
  onRender(ctx) {}
106
164
  changeRegions(regions) {}
107
165
  clear() {