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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1059) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +49567 -46010
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.d.ts +2 -2
  6. package/cjs/animation/utils.js +2 -2
  7. package/cjs/animation/utils.js.map +1 -1
  8. package/cjs/chart/base/base-chart-transformer.js +5 -2
  9. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  10. package/cjs/chart/base/base-chart.d.ts +4 -2
  11. package/cjs/chart/base/base-chart.js +24 -11
  12. package/cjs/chart/base/base-chart.js.map +1 -1
  13. package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
  14. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  15. package/cjs/chart/common/common-transformer.js +3 -2
  16. package/cjs/chart/common/common-transformer.js.map +1 -1
  17. package/cjs/chart/common/interface.d.ts +2 -2
  18. package/cjs/chart/common/interface.js.map +1 -1
  19. package/cjs/chart/index.d.ts +6 -4
  20. package/cjs/chart/index.js +21 -2
  21. package/cjs/chart/index.js.map +1 -1
  22. package/cjs/chart/interface/chart.d.ts +6 -1
  23. package/cjs/chart/interface/chart.js.map +1 -1
  24. package/cjs/chart/interface/type.d.ts +2 -1
  25. package/cjs/chart/interface/type.js +1 -1
  26. package/cjs/chart/interface/type.js.map +1 -1
  27. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  28. package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
  29. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  30. package/cjs/chart/radar/radar-transformer.js +3 -3
  31. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  32. package/cjs/chart/range-column/range-column-transformer.js +5 -1
  33. package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
  34. package/cjs/chart/rose/rose-transformer.js +2 -2
  35. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  36. package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
  37. package/cjs/chart/sequence/sequence.js +3 -2
  38. package/cjs/chart/sequence/sequence.js.map +1 -1
  39. package/cjs/chart/stack.js +2 -1
  40. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  41. package/cjs/chart/util.js +4 -3
  42. package/cjs/chart/util.js.map +1 -1
  43. package/cjs/chart/venn/index.d.ts +3 -0
  44. package/cjs/chart/venn/index.js +22 -0
  45. package/cjs/chart/venn/index.js.map +1 -0
  46. package/cjs/chart/venn/interface.d.ts +6 -0
  47. package/cjs/chart/venn/interface.js +6 -0
  48. package/cjs/chart/venn/interface.js.map +1 -0
  49. package/cjs/chart/venn/venn-transformer.d.ts +7 -0
  50. package/cjs/chart/venn/venn-transformer.js +28 -0
  51. package/cjs/chart/venn/venn-transformer.js.map +1 -0
  52. package/cjs/chart/venn/venn.d.ts +14 -0
  53. package/cjs/chart/venn/venn.js +24 -0
  54. package/cjs/chart/venn/venn.js.map +1 -0
  55. package/cjs/compile/data/compilable-data.js +3 -1
  56. package/cjs/compile/data/compilable-data.js.map +1 -1
  57. package/cjs/compile/grammar-item.js +1 -2
  58. package/cjs/compile/interface/compiler.d.ts +1 -0
  59. package/cjs/compile/interface/compiler.js.map +1 -1
  60. package/cjs/compile/mark/compilable-mark.d.ts +2 -1
  61. package/cjs/compile/mark/compilable-mark.js +4 -0
  62. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  63. package/cjs/compile/mark/interface.d.ts +1 -0
  64. package/cjs/compile/mark/interface.js.map +1 -1
  65. package/cjs/component/axis/base-axis.d.ts +2 -0
  66. package/cjs/component/axis/base-axis.js +13 -6
  67. package/cjs/component/axis/base-axis.js.map +1 -1
  68. package/cjs/component/axis/cartesian/axis.d.ts +1 -2
  69. package/cjs/component/axis/cartesian/axis.js +30 -38
  70. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  71. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  72. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  73. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  74. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  75. package/cjs/component/axis/interface/spec.d.ts +2 -0
  76. package/cjs/component/axis/interface/spec.js.map +1 -1
  77. package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
  78. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  79. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  80. package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
  81. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  82. package/cjs/component/axis/polar/axis.d.ts +0 -1
  83. package/cjs/component/axis/polar/axis.js +7 -11
  84. package/cjs/component/axis/polar/axis.js.map +1 -1
  85. package/cjs/component/axis/polar/interface/common.d.ts +1 -0
  86. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  87. package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
  88. package/cjs/component/axis/polar/linear-axis.js +5 -1
  89. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  90. package/cjs/component/axis/util.js +3 -3
  91. package/cjs/component/axis/util.js.map +1 -1
  92. package/cjs/component/base/base-component.d.ts +1 -0
  93. package/cjs/component/base/base-component.js +14 -6
  94. package/cjs/component/base/base-component.js.map +1 -1
  95. package/cjs/component/base/util.js +12 -12
  96. package/cjs/component/base/util.js.map +1 -1
  97. package/cjs/component/common/trigger/mobile.js +1 -2
  98. package/cjs/component/common/trigger/mobile.js.map +1 -1
  99. package/cjs/component/crosshair/base.d.ts +1 -2
  100. package/cjs/component/crosshair/base.js +4 -6
  101. package/cjs/component/crosshair/base.js.map +1 -1
  102. package/cjs/component/crosshair/cartesian.js +1 -3
  103. package/cjs/component/crosshair/cartesian.js.map +1 -1
  104. package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
  105. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  106. package/cjs/component/crosshair/interface/polar.d.ts +7 -5
  107. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  108. package/cjs/component/crosshair/polar.js +2 -5
  109. package/cjs/component/crosshair/polar.js.map +1 -1
  110. package/cjs/component/crosshair/utils/cartesian.js +14 -14
  111. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  112. package/cjs/component/crosshair/utils/common.js +6 -5
  113. package/cjs/component/crosshair/utils/common.js.map +1 -1
  114. package/cjs/component/crosshair/utils/polar.js +17 -11
  115. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  116. package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
  117. package/cjs/component/custom-mark/custom-mark.js +43 -12
  118. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  119. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
  120. package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
  121. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  122. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
  123. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  124. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  125. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  126. package/cjs/component/data-zoom/interface.d.ts +1 -4
  127. package/cjs/component/data-zoom/interface.js +1 -5
  128. package/cjs/component/data-zoom/interface.js.map +1 -1
  129. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  130. package/cjs/component/data-zoom/util.js.map +1 -1
  131. package/cjs/component/geo/geo-coordinate.js +2 -2
  132. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  133. package/cjs/component/index.d.ts +7 -7
  134. package/cjs/component/index.js +48 -8
  135. package/cjs/component/index.js.map +1 -1
  136. package/cjs/component/indicator/indicator.js +2 -2
  137. package/cjs/component/indicator/indicator.js.map +1 -1
  138. package/cjs/component/interface/theme.d.ts +4 -0
  139. package/cjs/component/interface/theme.js.map +1 -1
  140. package/cjs/component/interface/type.d.ts +4 -0
  141. package/cjs/component/interface/type.js +3 -1
  142. package/cjs/component/interface/type.js.map +1 -1
  143. package/cjs/component/label/label.js +4 -5
  144. package/cjs/component/label/label.js.map +1 -1
  145. package/cjs/component/label/total-label.js +10 -3
  146. package/cjs/component/label/total-label.js.map +1 -1
  147. package/cjs/component/label/util.d.ts +9 -1
  148. package/cjs/component/label/util.js +25 -9
  149. package/cjs/component/label/util.js.map +1 -1
  150. package/cjs/component/legend/base-legend.js +13 -7
  151. package/cjs/component/legend/base-legend.js.map +1 -1
  152. package/cjs/component/legend/continuous/interface.d.ts +1 -0
  153. package/cjs/component/legend/continuous/interface.js.map +1 -1
  154. package/cjs/component/legend/continuous/legend.js +4 -1
  155. package/cjs/component/legend/continuous/legend.js.map +1 -1
  156. package/cjs/component/legend/continuous/util.js +3 -3
  157. package/cjs/component/legend/continuous/util.js.map +1 -1
  158. package/cjs/component/legend/discrete/interface.d.ts +1 -0
  159. package/cjs/component/legend/discrete/interface.js.map +1 -1
  160. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  161. package/cjs/component/legend/discrete/legend.js +20 -9
  162. package/cjs/component/legend/discrete/legend.js.map +1 -1
  163. package/cjs/component/legend/discrete/util.js +7 -6
  164. package/cjs/component/legend/discrete/util.js.map +1 -1
  165. package/cjs/component/legend/util.d.ts +12 -2
  166. package/cjs/component/legend/util.js +2 -2
  167. package/cjs/component/legend/util.js.map +1 -1
  168. package/cjs/component/map-label/component.js +2 -1
  169. package/cjs/component/map-label/component.js.map +1 -1
  170. package/cjs/component/marker/base-marker.d.ts +30 -44
  171. package/cjs/component/marker/base-marker.js +103 -45
  172. package/cjs/component/marker/base-marker.js.map +1 -1
  173. package/cjs/component/marker/interface.d.ts +40 -13
  174. package/cjs/component/marker/interface.js.map +1 -1
  175. package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
  176. package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
  177. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
  178. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  179. package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
  180. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  181. package/cjs/component/marker/mark-area/index.d.ts +2 -1
  182. package/cjs/component/marker/mark-area/index.js +2 -1
  183. package/cjs/component/marker/mark-area/index.js.map +1 -1
  184. package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
  185. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  186. package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
  187. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  188. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  189. package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
  190. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
  191. package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
  192. package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
  193. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
  194. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  195. package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
  196. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  197. package/cjs/component/marker/mark-line/index.d.ts +2 -1
  198. package/cjs/component/marker/mark-line/index.js +2 -1
  199. package/cjs/component/marker/mark-line/index.js.map +1 -1
  200. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  201. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  202. package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
  203. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  204. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  205. package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
  206. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
  207. package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  208. package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
  209. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
  210. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  211. package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
  212. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  213. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  214. package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
  215. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
  216. package/cjs/component/marker/mark-point/index.d.ts +3 -1
  217. package/cjs/component/marker/mark-point/index.js +2 -1
  218. package/cjs/component/marker/mark-point/index.js.map +1 -1
  219. package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
  220. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  221. package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
  222. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  223. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  224. package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
  225. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
  226. package/cjs/component/marker/utils.d.ts +40 -5
  227. package/cjs/component/marker/utils.js +148 -13
  228. package/cjs/component/marker/utils.js.map +1 -1
  229. package/cjs/component/player/player.d.ts +2 -1
  230. package/cjs/component/player/player.js +16 -9
  231. package/cjs/component/player/player.js.map +1 -1
  232. package/cjs/component/player/utils/transform.js +3 -2
  233. package/cjs/component/player/utils/transform.js.map +1 -1
  234. package/cjs/component/tooltip/tooltip-transformer.js +3 -2
  235. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  236. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  237. package/cjs/component/tooltip/tooltip.js +13 -11
  238. package/cjs/component/tooltip/tooltip.js.map +1 -1
  239. package/cjs/component/tooltip/utils/compose.js +3 -3
  240. package/cjs/component/tooltip/utils/compose.js.map +1 -1
  241. package/cjs/component/tooltip/utils/get-spec.js +2 -2
  242. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  243. package/cjs/component/tooltip/utils/index.d.ts +1 -0
  244. package/cjs/component/tooltip/utils/index.js +1 -1
  245. package/cjs/component/tooltip/utils/index.js.map +1 -1
  246. package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  247. package/cjs/component/tooltip/utils/pattern.js.map +1 -0
  248. package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
  249. package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
  250. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  251. package/cjs/core/factory.d.ts +1 -1
  252. package/cjs/core/factory.js +0 -1
  253. package/cjs/core/factory.js.map +1 -1
  254. package/cjs/core/index.d.ts +1 -1
  255. package/cjs/core/index.js +1 -1
  256. package/cjs/core/index.js.map +1 -1
  257. package/cjs/core/interface.d.ts +5 -1
  258. package/cjs/core/interface.js.map +1 -1
  259. package/cjs/core/vchart.d.ts +2 -2
  260. package/cjs/core/vchart.js +47 -24
  261. package/cjs/core/vchart.js.map +1 -1
  262. package/cjs/data/transforms/aggregation.d.ts +12 -7
  263. package/cjs/data/transforms/aggregation.js +16 -1
  264. package/cjs/data/transforms/aggregation.js.map +1 -1
  265. package/cjs/data/transforms/invalid-travel.d.ts +1 -1
  266. package/cjs/data/transforms/invalid-travel.js +4 -2
  267. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  268. package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
  269. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  270. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  271. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  272. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  273. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  274. package/cjs/data/transforms/pie.js +3 -2
  275. package/cjs/data/transforms/pie.js.map +1 -1
  276. package/cjs/data/transforms/waterfall.js +4 -2
  277. package/cjs/data/transforms/waterfall.js.map +1 -1
  278. package/cjs/event/event-dispatcher.js +8 -1
  279. package/cjs/event/event-dispatcher.js.map +1 -1
  280. package/cjs/event/interface.d.ts +2 -0
  281. package/cjs/event/interface.js.map +1 -1
  282. package/cjs/index-lark.js +1 -1
  283. package/cjs/index-lark.js.map +1 -1
  284. package/cjs/index-wx.js +1 -1
  285. package/cjs/index-wx.js.map +1 -1
  286. package/cjs/layout/base-layout.js +6 -5
  287. package/cjs/layout/base-layout.js.map +1 -1
  288. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
  289. package/cjs/layout/grid-layout/grid-layout.js +4 -4
  290. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  291. package/cjs/layout/layout-item.js +1 -1
  292. package/cjs/layout/layout-item.js.map +1 -1
  293. package/cjs/mark/base/base-mark.js +2 -2
  294. package/cjs/mark/base/base-mark.js.map +1 -1
  295. package/cjs/mark/index.d.ts +20 -20
  296. package/cjs/mark/index.js +95 -22
  297. package/cjs/mark/index.js.map +1 -1
  298. package/cjs/model/base-model-transformer.js +2 -2
  299. package/cjs/model/base-model-transformer.js.map +1 -1
  300. package/cjs/model/base-model.js +1 -1
  301. package/cjs/model/base-model.js.map +1 -1
  302. package/cjs/model/interface.d.ts +1 -0
  303. package/cjs/model/interface.js.map +1 -1
  304. package/cjs/model/layout-model.js +3 -2
  305. package/cjs/model/layout-model.js.map +1 -1
  306. package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
  307. package/cjs/plugin/base/base-plugin-service.js +11 -1
  308. package/cjs/plugin/base/base-plugin-service.js.map +1 -1
  309. package/cjs/plugin/base/interface.d.ts +3 -0
  310. package/cjs/plugin/base/interface.js.map +1 -1
  311. package/cjs/plugin/chart/media-query/media-query.js +4 -4
  312. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  313. package/cjs/plugin/chart/media-query/util/action.js +4 -3
  314. package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
  315. package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
  316. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  317. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
  318. package/cjs/plugin/components/tooltip-handler/base.js +3 -3
  319. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  320. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  321. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
  322. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  323. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
  324. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  325. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  326. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  327. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
  328. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  329. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
  330. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  331. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  332. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  333. package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  334. package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -2
  335. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  336. package/cjs/region/interface.d.ts +2 -0
  337. package/cjs/region/interface.js.map +1 -1
  338. package/cjs/region/region.d.ts +1 -0
  339. package/cjs/region/region.js +5 -1
  340. package/cjs/region/region.js.map +1 -1
  341. package/cjs/series/area/area-transformer.js +6 -5
  342. package/cjs/series/area/area-transformer.js.map +1 -1
  343. package/cjs/series/area/area.js +3 -2
  344. package/cjs/series/area/area.js.map +1 -1
  345. package/cjs/series/bar/bar-3d.js +2 -1
  346. package/cjs/series/bar/bar-3d.js.map +1 -1
  347. package/cjs/series/bar/bar.js +3 -2
  348. package/cjs/series/bar/bar.js.map +1 -1
  349. package/cjs/series/base/base-series-transformer.js +4 -4
  350. package/cjs/series/base/base-series-transformer.js.map +1 -1
  351. package/cjs/series/base/base-series.d.ts +9 -17
  352. package/cjs/series/base/base-series.js +45 -27
  353. package/cjs/series/base/base-series.js.map +1 -1
  354. package/cjs/series/base/tooltip-helper.d.ts +8 -5
  355. package/cjs/series/base/tooltip-helper.js +31 -23
  356. package/cjs/series/base/tooltip-helper.js.map +1 -1
  357. package/cjs/series/box-plot/box-plot.js +2 -1
  358. package/cjs/series/box-plot/box-plot.js.map +1 -1
  359. package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
  360. package/cjs/series/box-plot/tooltip-helper.js +21 -21
  361. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  362. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  363. package/cjs/series/cartesian/cartesian.js +14 -4
  364. package/cjs/series/cartesian/cartesian.js.map +1 -1
  365. package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
  366. package/cjs/series/circle-packing/tooltip-helper.js +1 -1
  367. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  368. package/cjs/series/dot/dot.js +2 -2
  369. package/cjs/series/dot/dot.js.map +1 -1
  370. package/cjs/series/dot/tooltip-helper.js +12 -12
  371. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  372. package/cjs/series/funnel/funnel.js +8 -4
  373. package/cjs/series/funnel/funnel.js.map +1 -1
  374. package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
  375. package/cjs/series/funnel/tooltip-helper.js +3 -3
  376. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  377. package/cjs/series/gauge/gauge-pointer.js +4 -3
  378. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  379. package/cjs/series/gauge/gauge.js +3 -3
  380. package/cjs/series/gauge/gauge.js.map +1 -1
  381. package/cjs/series/geo/geo.d.ts +1 -0
  382. package/cjs/series/geo/geo.js +4 -2
  383. package/cjs/series/geo/geo.js.map +1 -1
  384. package/cjs/series/heatmap/heatmap.js +2 -1
  385. package/cjs/series/heatmap/heatmap.js.map +1 -1
  386. package/cjs/series/index.d.ts +7 -3
  387. package/cjs/series/index.js +30 -2
  388. package/cjs/series/index.js.map +1 -1
  389. package/cjs/series/interface/common.d.ts +3 -2
  390. package/cjs/series/interface/common.js.map +1 -1
  391. package/cjs/series/interface/series.d.ts +7 -0
  392. package/cjs/series/interface/series.js.map +1 -1
  393. package/cjs/series/interface/theme.d.ts +2 -0
  394. package/cjs/series/interface/theme.js +3 -2
  395. package/cjs/series/interface/theme.js.map +1 -1
  396. package/cjs/series/interface/tooltip-helper.d.ts +8 -5
  397. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  398. package/cjs/series/interface/type.d.ts +6 -2
  399. package/cjs/series/interface/type.js +3 -2
  400. package/cjs/series/interface/type.js.map +1 -1
  401. package/cjs/series/line/line.js +3 -2
  402. package/cjs/series/line/line.js.map +1 -1
  403. package/cjs/series/link/link.js +3 -2
  404. package/cjs/series/link/link.js.map +1 -1
  405. package/cjs/series/link/tooltip-helper.js +8 -8
  406. package/cjs/series/link/tooltip-helper.js.map +1 -1
  407. package/cjs/series/liquid/tooltip-helper.js +2 -2
  408. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  409. package/cjs/series/map/geo-source.d.ts +3 -1
  410. package/cjs/series/map/geo-source.js +6 -1
  411. package/cjs/series/map/geo-source.js.map +1 -1
  412. package/cjs/series/map/tooltip-helper.d.ts +1 -1
  413. package/cjs/series/map/tooltip-helper.js +1 -1
  414. package/cjs/series/map/tooltip-helper.js.map +1 -1
  415. package/cjs/series/mixin/line-mixin.js +2 -2
  416. package/cjs/series/mixin/line-mixin.js.map +1 -1
  417. package/cjs/series/pie/pie-transformer.js +4 -4
  418. package/cjs/series/pie/pie-transformer.js.map +1 -1
  419. package/cjs/series/polar/polar.d.ts +2 -2
  420. package/cjs/series/polar/polar.js +17 -6
  421. package/cjs/series/polar/polar.js.map +1 -1
  422. package/cjs/series/progress/circular/circular.js +4 -2
  423. package/cjs/series/progress/circular/circular.js.map +1 -1
  424. package/cjs/series/radar/radar.js +5 -4
  425. package/cjs/series/radar/radar.js.map +1 -1
  426. package/cjs/series/range-area/range-area.d.ts +0 -2
  427. package/cjs/series/range-area/range-area.js +3 -6
  428. package/cjs/series/range-area/range-area.js.map +1 -1
  429. package/cjs/series/range-area/tooltip-helper.js +10 -10
  430. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  431. package/cjs/series/range-column/3d/range-column-3d.js +3 -2
  432. package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
  433. package/cjs/series/range-column/range-column.js +3 -2
  434. package/cjs/series/range-column/range-column.js.map +1 -1
  435. package/cjs/series/range-column/tooltip-helper.js +5 -5
  436. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  437. package/cjs/series/rose/rose.js +3 -2
  438. package/cjs/series/rose/rose.js.map +1 -1
  439. package/cjs/series/sankey/sankey.d.ts +2 -1
  440. package/cjs/series/sankey/sankey.js +51 -118
  441. package/cjs/series/sankey/sankey.js.map +1 -1
  442. package/cjs/series/sankey/tooltip-helper.js +9 -9
  443. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  444. package/cjs/series/scatter/scatter.js +2 -1
  445. package/cjs/series/scatter/scatter.js.map +1 -1
  446. package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
  447. package/cjs/series/sunburst/tooltip-helper.js +1 -1
  448. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  449. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  450. package/cjs/series/treemap/tooltip-helper.js +1 -1
  451. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  452. package/cjs/series/util/stack.js +29 -15
  453. package/cjs/series/util/stack.js.map +1 -1
  454. package/cjs/series/venn/animation.d.ts +6 -0
  455. package/cjs/series/venn/animation.js +76 -0
  456. package/cjs/series/venn/animation.js.map +1 -0
  457. package/cjs/series/venn/constant.d.ts +2 -0
  458. package/cjs/series/venn/constant.js +23 -0
  459. package/cjs/series/venn/constant.js.map +1 -0
  460. package/cjs/series/venn/interface.d.ts +21 -0
  461. package/cjs/series/venn/interface.js +6 -0
  462. package/cjs/series/venn/interface.js.map +1 -0
  463. package/cjs/series/venn/tooltip-helper.d.ts +5 -0
  464. package/cjs/series/venn/tooltip-helper.js +17 -0
  465. package/cjs/series/venn/tooltip-helper.js.map +1 -0
  466. package/cjs/series/venn/util.d.ts +1 -0
  467. package/cjs/series/venn/util.js +11 -0
  468. package/cjs/series/venn/util.js.map +1 -0
  469. package/cjs/series/venn/venn-transform.d.ts +6 -0
  470. package/cjs/series/venn/venn-transform.js +16 -0
  471. package/cjs/series/venn/venn-transform.js.map +1 -0
  472. package/cjs/series/venn/venn.d.ts +63 -0
  473. package/cjs/series/venn/venn.js +219 -0
  474. package/cjs/series/venn/venn.js.map +1 -0
  475. package/cjs/series/waterfall/interface.d.ts +6 -1
  476. package/cjs/series/waterfall/interface.js.map +1 -1
  477. package/cjs/series/waterfall/waterfall.d.ts +9 -0
  478. package/cjs/series/waterfall/waterfall.js +23 -4
  479. package/cjs/series/waterfall/waterfall.js.map +1 -1
  480. package/cjs/series/word-cloud/base.d.ts +2 -0
  481. package/cjs/series/word-cloud/base.js +11 -16
  482. package/cjs/series/word-cloud/base.js.map +1 -1
  483. package/cjs/theme/builtin/common/component/index.js +4 -0
  484. package/cjs/theme/builtin/common/component/index.js.map +1 -1
  485. package/cjs/theme/builtin/common/series/index.js +3 -2
  486. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  487. package/cjs/theme/builtin/common/series/venn.d.ts +2 -0
  488. package/cjs/theme/builtin/common/series/venn.js +60 -0
  489. package/cjs/theme/builtin/common/series/venn.js.map +1 -0
  490. package/cjs/typings/spec/chart.d.ts +2 -0
  491. package/cjs/typings/spec/chart.js.map +1 -1
  492. package/cjs/typings/spec/common.d.ts +5 -2
  493. package/cjs/typings/spec/common.js.map +1 -1
  494. package/cjs/typings/tooltip/tooltip.d.ts +1 -0
  495. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  496. package/cjs/util/data.d.ts +21 -4
  497. package/cjs/util/data.js +42 -14
  498. package/cjs/util/data.js.map +1 -1
  499. package/cjs/util/index.d.ts +1 -0
  500. package/cjs/util/index.js +4 -4
  501. package/cjs/util/index.js.map +1 -1
  502. package/cjs/util/math.d.ts +1 -1
  503. package/cjs/util/math.js +2 -3
  504. package/cjs/util/math.js.map +1 -1
  505. package/cjs/util/spec/index.d.ts +0 -5
  506. package/cjs/util/spec/index.js +1 -4
  507. package/cjs/util/spec/index.js.map +1 -1
  508. package/cjs/util/spec/transform.js.map +1 -1
  509. package/cjs/util/theme/merge-theme.js +3 -3
  510. package/cjs/util/theme/merge-theme.js.map +1 -1
  511. package/cjs/vchart-all.js +2 -2
  512. package/cjs/vchart-all.js.map +1 -1
  513. package/esm/animation/utils.d.ts +2 -2
  514. package/esm/animation/utils.js +1 -1
  515. package/esm/animation/utils.js.map +1 -1
  516. package/esm/chart/base/base-chart-transformer.js +5 -1
  517. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  518. package/esm/chart/base/base-chart.d.ts +4 -2
  519. package/esm/chart/base/base-chart.js +24 -11
  520. package/esm/chart/base/base-chart.js.map +1 -1
  521. package/esm/chart/cartesian/cartesian-transformer.js +3 -1
  522. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  523. package/esm/chart/common/common-transformer.js +3 -1
  524. package/esm/chart/common/common-transformer.js.map +1 -1
  525. package/esm/chart/common/interface.d.ts +2 -2
  526. package/esm/chart/common/interface.js.map +1 -1
  527. package/esm/chart/index.d.ts +6 -4
  528. package/esm/chart/index.js +5 -3
  529. package/esm/chart/index.js.map +1 -1
  530. package/esm/chart/interface/chart.d.ts +6 -1
  531. package/esm/chart/interface/chart.js.map +1 -1
  532. package/esm/chart/interface/type.d.ts +2 -1
  533. package/esm/chart/interface/type.js +1 -1
  534. package/esm/chart/interface/type.js.map +1 -1
  535. package/esm/chart/polar/polar-transformer.js.map +1 -1
  536. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  537. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  538. package/esm/chart/radar/radar-transformer.js +3 -1
  539. package/esm/chart/radar/radar-transformer.js.map +1 -1
  540. package/esm/chart/range-column/range-column-transformer.js +5 -1
  541. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  542. package/esm/chart/rose/rose-transformer.js +1 -1
  543. package/esm/chart/rose/rose-transformer.js.map +1 -1
  544. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  545. package/esm/chart/sequence/sequence.js +4 -1
  546. package/esm/chart/sequence/sequence.js.map +1 -1
  547. package/esm/chart/stack.js +2 -1
  548. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  549. package/esm/chart/util.js +5 -2
  550. package/esm/chart/util.js.map +1 -1
  551. package/esm/chart/venn/index.d.ts +3 -0
  552. package/esm/chart/venn/index.js +6 -0
  553. package/esm/chart/venn/index.js.map +1 -0
  554. package/esm/chart/venn/interface.d.ts +6 -0
  555. package/esm/chart/venn/interface.js +2 -0
  556. package/esm/chart/venn/interface.js.map +1 -0
  557. package/esm/chart/venn/venn-transformer.d.ts +7 -0
  558. package/esm/chart/venn/venn-transformer.js +20 -0
  559. package/esm/chart/venn/venn-transformer.js.map +1 -0
  560. package/esm/chart/venn/venn.d.ts +14 -0
  561. package/esm/chart/venn/venn.js +24 -0
  562. package/esm/chart/venn/venn.js.map +1 -0
  563. package/esm/compile/data/compilable-data.js +3 -1
  564. package/esm/compile/data/compilable-data.js.map +1 -1
  565. package/esm/compile/grammar-item.js +1 -2
  566. package/esm/compile/interface/compiler.d.ts +1 -0
  567. package/esm/compile/interface/compiler.js.map +1 -1
  568. package/esm/compile/mark/compilable-mark.d.ts +2 -1
  569. package/esm/compile/mark/compilable-mark.js +4 -0
  570. package/esm/compile/mark/compilable-mark.js.map +1 -1
  571. package/esm/compile/mark/interface.d.ts +1 -0
  572. package/esm/compile/mark/interface.js.map +1 -1
  573. package/esm/component/axis/base-axis.d.ts +2 -0
  574. package/esm/component/axis/base-axis.js +8 -1
  575. package/esm/component/axis/base-axis.js.map +1 -1
  576. package/esm/component/axis/cartesian/axis.d.ts +1 -2
  577. package/esm/component/axis/cartesian/axis.js +30 -36
  578. package/esm/component/axis/cartesian/axis.js.map +1 -1
  579. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  580. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  581. package/esm/component/axis/cartesian/time-axis.js +2 -2
  582. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  583. package/esm/component/axis/interface/spec.d.ts +2 -0
  584. package/esm/component/axis/interface/spec.js.map +1 -1
  585. package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
  586. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  587. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  588. package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
  589. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  590. package/esm/component/axis/polar/axis.d.ts +0 -1
  591. package/esm/component/axis/polar/axis.js +7 -11
  592. package/esm/component/axis/polar/axis.js.map +1 -1
  593. package/esm/component/axis/polar/interface/common.d.ts +1 -0
  594. package/esm/component/axis/polar/interface/common.js.map +1 -1
  595. package/esm/component/axis/polar/linear-axis.d.ts +5 -1
  596. package/esm/component/axis/polar/linear-axis.js +5 -1
  597. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  598. package/esm/component/axis/util.js +1 -1
  599. package/esm/component/axis/util.js.map +1 -1
  600. package/esm/component/base/base-component.d.ts +1 -0
  601. package/esm/component/base/base-component.js +14 -6
  602. package/esm/component/base/base-component.js.map +1 -1
  603. package/esm/component/base/util.js +2 -2
  604. package/esm/component/base/util.js.map +1 -1
  605. package/esm/component/common/trigger/mobile.js +1 -2
  606. package/esm/component/common/trigger/mobile.js.map +1 -1
  607. package/esm/component/crosshair/base.d.ts +1 -2
  608. package/esm/component/crosshair/base.js +4 -6
  609. package/esm/component/crosshair/base.js.map +1 -1
  610. package/esm/component/crosshair/cartesian.js +3 -5
  611. package/esm/component/crosshair/cartesian.js.map +1 -1
  612. package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
  613. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  614. package/esm/component/crosshair/interface/polar.d.ts +7 -5
  615. package/esm/component/crosshair/interface/polar.js.map +1 -1
  616. package/esm/component/crosshair/polar.js +4 -7
  617. package/esm/component/crosshair/polar.js.map +1 -1
  618. package/esm/component/crosshair/utils/cartesian.js +14 -14
  619. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  620. package/esm/component/crosshair/utils/common.js +2 -2
  621. package/esm/component/crosshair/utils/common.js.map +1 -1
  622. package/esm/component/crosshair/utils/polar.js +15 -9
  623. package/esm/component/crosshair/utils/polar.js.map +1 -1
  624. package/esm/component/custom-mark/custom-mark.d.ts +11 -4
  625. package/esm/component/custom-mark/custom-mark.js +43 -14
  626. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  627. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
  628. package/esm/component/data-zoom/data-filter-base-component.js +15 -11
  629. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  630. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
  631. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  632. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  633. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  634. package/esm/component/data-zoom/interface.d.ts +1 -4
  635. package/esm/component/data-zoom/interface.js +1 -5
  636. package/esm/component/data-zoom/interface.js.map +1 -1
  637. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  638. package/esm/component/data-zoom/util.js.map +1 -1
  639. package/esm/component/geo/geo-coordinate.js +1 -1
  640. package/esm/component/geo/geo-coordinate.js.map +1 -1
  641. package/esm/component/index.d.ts +7 -7
  642. package/esm/component/index.js +5 -5
  643. package/esm/component/index.js.map +1 -1
  644. package/esm/component/indicator/indicator.js +1 -1
  645. package/esm/component/indicator/indicator.js.map +1 -1
  646. package/esm/component/interface/theme.d.ts +4 -0
  647. package/esm/component/interface/theme.js.map +1 -1
  648. package/esm/component/interface/type.d.ts +4 -0
  649. package/esm/component/interface/type.js +3 -1
  650. package/esm/component/interface/type.js.map +1 -1
  651. package/esm/component/label/label.js +3 -4
  652. package/esm/component/label/label.js.map +1 -1
  653. package/esm/component/label/total-label.js +9 -2
  654. package/esm/component/label/total-label.js.map +1 -1
  655. package/esm/component/label/util.d.ts +9 -1
  656. package/esm/component/label/util.js +21 -6
  657. package/esm/component/label/util.js.map +1 -1
  658. package/esm/component/legend/base-legend.js +9 -4
  659. package/esm/component/legend/base-legend.js.map +1 -1
  660. package/esm/component/legend/continuous/interface.d.ts +1 -0
  661. package/esm/component/legend/continuous/interface.js.map +1 -1
  662. package/esm/component/legend/continuous/legend.js +5 -2
  663. package/esm/component/legend/continuous/legend.js.map +1 -1
  664. package/esm/component/legend/continuous/util.js +1 -1
  665. package/esm/component/legend/continuous/util.js.map +1 -1
  666. package/esm/component/legend/discrete/interface.d.ts +1 -0
  667. package/esm/component/legend/discrete/interface.js.map +1 -1
  668. package/esm/component/legend/discrete/legend.d.ts +4 -1
  669. package/esm/component/legend/discrete/legend.js +20 -9
  670. package/esm/component/legend/discrete/legend.js.map +1 -1
  671. package/esm/component/legend/discrete/util.js +4 -4
  672. package/esm/component/legend/discrete/util.js.map +1 -1
  673. package/esm/component/legend/util.d.ts +12 -2
  674. package/esm/component/legend/util.js +1 -1
  675. package/esm/component/legend/util.js.map +1 -1
  676. package/esm/component/map-label/component.js +2 -1
  677. package/esm/component/map-label/component.js.map +1 -1
  678. package/esm/component/marker/base-marker.d.ts +30 -44
  679. package/esm/component/marker/base-marker.js +101 -42
  680. package/esm/component/marker/base-marker.js.map +1 -1
  681. package/esm/component/marker/interface.d.ts +40 -13
  682. package/esm/component/marker/interface.js.map +1 -1
  683. package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
  684. package/esm/component/marker/mark-area/base-mark-area.js +105 -0
  685. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
  686. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  687. package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
  688. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  689. package/esm/component/marker/mark-area/index.d.ts +2 -1
  690. package/esm/component/marker/mark-area/index.js +3 -1
  691. package/esm/component/marker/mark-area/index.js.map +1 -1
  692. package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
  693. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  694. package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
  695. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  696. package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  697. package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
  698. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
  699. package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
  700. package/esm/component/marker/mark-line/base-mark-line.js +124 -0
  701. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
  702. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  703. package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
  704. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  705. package/esm/component/marker/mark-line/index.d.ts +2 -1
  706. package/esm/component/marker/mark-line/index.js +3 -1
  707. package/esm/component/marker/mark-line/index.js.map +1 -1
  708. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  709. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  710. package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
  711. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  712. package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  713. package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
  714. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
  715. package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  716. package/esm/component/marker/mark-point/base-mark-point.js +139 -0
  717. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
  718. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  719. package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
  720. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  721. package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  722. package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
  723. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
  724. package/esm/component/marker/mark-point/index.d.ts +3 -1
  725. package/esm/component/marker/mark-point/index.js +5 -1
  726. package/esm/component/marker/mark-point/index.js.map +1 -1
  727. package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
  728. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  729. package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
  730. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  731. package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  732. package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
  733. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
  734. package/esm/component/marker/utils.d.ts +40 -5
  735. package/esm/component/marker/utils.js +137 -8
  736. package/esm/component/marker/utils.js.map +1 -1
  737. package/esm/component/player/player.d.ts +2 -1
  738. package/esm/component/player/player.js +16 -9
  739. package/esm/component/player/player.js.map +1 -1
  740. package/esm/component/player/utils/transform.js +3 -2
  741. package/esm/component/player/utils/transform.js.map +1 -1
  742. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  743. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  744. package/esm/component/tooltip/tooltip.d.ts +1 -1
  745. package/esm/component/tooltip/tooltip.js +13 -11
  746. package/esm/component/tooltip/tooltip.js.map +1 -1
  747. package/esm/component/tooltip/utils/compose.js +3 -3
  748. package/esm/component/tooltip/utils/compose.js.map +1 -1
  749. package/esm/component/tooltip/utils/get-spec.js +2 -2
  750. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  751. package/esm/component/tooltip/utils/index.d.ts +1 -0
  752. package/esm/component/tooltip/utils/index.js +2 -0
  753. package/esm/component/tooltip/utils/index.js.map +1 -1
  754. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  755. package/esm/component/tooltip/utils/pattern.js.map +1 -0
  756. package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
  757. package/esm/component/tooltip/utils/show-tooltip.js +99 -87
  758. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  759. package/esm/core/factory.d.ts +1 -1
  760. package/esm/core/factory.js +1 -2
  761. package/esm/core/factory.js.map +1 -1
  762. package/esm/core/index.d.ts +1 -1
  763. package/esm/core/index.js +1 -1
  764. package/esm/core/index.js.map +1 -1
  765. package/esm/core/interface.d.ts +5 -1
  766. package/esm/core/interface.js.map +1 -1
  767. package/esm/core/vchart.d.ts +2 -2
  768. package/esm/core/vchart.js +42 -21
  769. package/esm/core/vchart.js.map +1 -1
  770. package/esm/data/transforms/aggregation.d.ts +12 -7
  771. package/esm/data/transforms/aggregation.js +16 -1
  772. package/esm/data/transforms/aggregation.js.map +1 -1
  773. package/esm/data/transforms/invalid-travel.d.ts +1 -1
  774. package/esm/data/transforms/invalid-travel.js +4 -2
  775. package/esm/data/transforms/invalid-travel.js.map +1 -1
  776. package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
  777. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  778. package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
  779. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  780. package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  781. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  782. package/esm/data/transforms/pie.js +2 -1
  783. package/esm/data/transforms/pie.js.map +1 -1
  784. package/esm/data/transforms/waterfall.js +5 -1
  785. package/esm/data/transforms/waterfall.js.map +1 -1
  786. package/esm/event/event-dispatcher.js +8 -1
  787. package/esm/event/event-dispatcher.js.map +1 -1
  788. package/esm/event/interface.d.ts +2 -0
  789. package/esm/event/interface.js.map +1 -1
  790. package/esm/index-lark.js +4 -4
  791. package/esm/index-lark.js.map +1 -1
  792. package/esm/index-wx.js +4 -4
  793. package/esm/index-wx.js.map +1 -1
  794. package/esm/layout/base-layout.js +6 -5
  795. package/esm/layout/base-layout.js.map +1 -1
  796. package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
  797. package/esm/layout/grid-layout/grid-layout.js +4 -4
  798. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  799. package/esm/layout/layout-item.js +1 -1
  800. package/esm/layout/layout-item.js.map +1 -1
  801. package/esm/mark/base/base-mark.js +1 -1
  802. package/esm/mark/base/base-mark.js.map +1 -1
  803. package/esm/mark/index.d.ts +20 -20
  804. package/esm/mark/index.js +25 -20
  805. package/esm/mark/index.js.map +1 -1
  806. package/esm/model/base-model-transformer.js +3 -1
  807. package/esm/model/base-model-transformer.js.map +1 -1
  808. package/esm/model/base-model.js +1 -1
  809. package/esm/model/base-model.js.map +1 -1
  810. package/esm/model/interface.d.ts +1 -0
  811. package/esm/model/interface.js.map +1 -1
  812. package/esm/model/layout-model.js +3 -2
  813. package/esm/model/layout-model.js.map +1 -1
  814. package/esm/plugin/base/base-plugin-service.d.ts +2 -0
  815. package/esm/plugin/base/base-plugin-service.js +11 -1
  816. package/esm/plugin/base/base-plugin-service.js.map +1 -1
  817. package/esm/plugin/base/interface.d.ts +3 -0
  818. package/esm/plugin/base/interface.js.map +1 -1
  819. package/esm/plugin/chart/media-query/media-query.js +3 -1
  820. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  821. package/esm/plugin/chart/media-query/util/action.js +2 -2
  822. package/esm/plugin/chart/media-query/util/action.js.map +1 -1
  823. package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
  824. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  825. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
  826. package/esm/plugin/components/tooltip-handler/base.js +3 -3
  827. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  828. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  829. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
  830. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  831. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
  832. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  833. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
  834. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  835. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
  836. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  837. package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
  838. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  839. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  840. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  841. package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  842. package/esm/plugin/components/tooltip-handler/utils/index.js +0 -2
  843. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  844. package/esm/region/interface.d.ts +2 -0
  845. package/esm/region/interface.js.map +1 -1
  846. package/esm/region/region.d.ts +1 -0
  847. package/esm/region/region.js +5 -1
  848. package/esm/region/region.js.map +1 -1
  849. package/esm/series/area/area-transformer.js +1 -1
  850. package/esm/series/area/area-transformer.js.map +1 -1
  851. package/esm/series/area/area.js +4 -1
  852. package/esm/series/area/area.js.map +1 -1
  853. package/esm/series/bar/bar-3d.js +4 -1
  854. package/esm/series/bar/bar-3d.js.map +1 -1
  855. package/esm/series/bar/bar.js +4 -1
  856. package/esm/series/bar/bar.js.map +1 -1
  857. package/esm/series/base/base-series-transformer.js +3 -1
  858. package/esm/series/base/base-series-transformer.js.map +1 -1
  859. package/esm/series/base/base-series.d.ts +9 -17
  860. package/esm/series/base/base-series.js +41 -23
  861. package/esm/series/base/base-series.js.map +1 -1
  862. package/esm/series/base/tooltip-helper.d.ts +8 -5
  863. package/esm/series/base/tooltip-helper.js +31 -23
  864. package/esm/series/base/tooltip-helper.js.map +1 -1
  865. package/esm/series/box-plot/box-plot.js +4 -1
  866. package/esm/series/box-plot/box-plot.js.map +1 -1
  867. package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
  868. package/esm/series/box-plot/tooltip-helper.js +21 -21
  869. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  870. package/esm/series/cartesian/cartesian.d.ts +1 -1
  871. package/esm/series/cartesian/cartesian.js +15 -4
  872. package/esm/series/cartesian/cartesian.js.map +1 -1
  873. package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
  874. package/esm/series/circle-packing/tooltip-helper.js +1 -1
  875. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  876. package/esm/series/dot/dot.js +1 -1
  877. package/esm/series/dot/dot.js.map +1 -1
  878. package/esm/series/dot/tooltip-helper.js +12 -12
  879. package/esm/series/dot/tooltip-helper.js.map +1 -1
  880. package/esm/series/funnel/funnel.js +8 -4
  881. package/esm/series/funnel/funnel.js.map +1 -1
  882. package/esm/series/funnel/tooltip-helper.d.ts +3 -3
  883. package/esm/series/funnel/tooltip-helper.js +3 -3
  884. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  885. package/esm/series/gauge/gauge-pointer.js +4 -1
  886. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  887. package/esm/series/gauge/gauge.js +4 -1
  888. package/esm/series/gauge/gauge.js.map +1 -1
  889. package/esm/series/geo/geo.d.ts +1 -0
  890. package/esm/series/geo/geo.js +4 -2
  891. package/esm/series/geo/geo.js.map +1 -1
  892. package/esm/series/heatmap/heatmap.js +4 -1
  893. package/esm/series/heatmap/heatmap.js.map +1 -1
  894. package/esm/series/index.d.ts +7 -3
  895. package/esm/series/index.js +6 -2
  896. package/esm/series/index.js.map +1 -1
  897. package/esm/series/interface/common.d.ts +3 -2
  898. package/esm/series/interface/common.js.map +1 -1
  899. package/esm/series/interface/series.d.ts +7 -0
  900. package/esm/series/interface/series.js.map +1 -1
  901. package/esm/series/interface/theme.d.ts +2 -0
  902. package/esm/series/interface/theme.js +4 -1
  903. package/esm/series/interface/theme.js.map +1 -1
  904. package/esm/series/interface/tooltip-helper.d.ts +8 -5
  905. package/esm/series/interface/tooltip-helper.js.map +1 -1
  906. package/esm/series/interface/type.d.ts +6 -2
  907. package/esm/series/interface/type.js +3 -2
  908. package/esm/series/interface/type.js.map +1 -1
  909. package/esm/series/line/line.js +4 -1
  910. package/esm/series/line/line.js.map +1 -1
  911. package/esm/series/link/link.js +4 -1
  912. package/esm/series/link/link.js.map +1 -1
  913. package/esm/series/link/tooltip-helper.js +8 -8
  914. package/esm/series/link/tooltip-helper.js.map +1 -1
  915. package/esm/series/liquid/tooltip-helper.js +2 -2
  916. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  917. package/esm/series/map/geo-source.d.ts +3 -1
  918. package/esm/series/map/geo-source.js +7 -2
  919. package/esm/series/map/geo-source.js.map +1 -1
  920. package/esm/series/map/tooltip-helper.d.ts +1 -1
  921. package/esm/series/map/tooltip-helper.js +1 -1
  922. package/esm/series/map/tooltip-helper.js.map +1 -1
  923. package/esm/series/mixin/line-mixin.js +1 -1
  924. package/esm/series/mixin/line-mixin.js.map +1 -1
  925. package/esm/series/pie/pie-transformer.js +1 -1
  926. package/esm/series/pie/pie-transformer.js.map +1 -1
  927. package/esm/series/polar/polar.d.ts +2 -2
  928. package/esm/series/polar/polar.js +18 -6
  929. package/esm/series/polar/polar.js.map +1 -1
  930. package/esm/series/progress/circular/circular.js +5 -2
  931. package/esm/series/progress/circular/circular.js.map +1 -1
  932. package/esm/series/radar/radar.js +5 -2
  933. package/esm/series/radar/radar.js.map +1 -1
  934. package/esm/series/range-area/range-area.d.ts +0 -2
  935. package/esm/series/range-area/range-area.js +3 -5
  936. package/esm/series/range-area/range-area.js.map +1 -1
  937. package/esm/series/range-area/tooltip-helper.js +10 -10
  938. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  939. package/esm/series/range-column/3d/range-column-3d.js +4 -1
  940. package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
  941. package/esm/series/range-column/range-column.js +3 -1
  942. package/esm/series/range-column/range-column.js.map +1 -1
  943. package/esm/series/range-column/tooltip-helper.js +5 -5
  944. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  945. package/esm/series/rose/rose.js +4 -1
  946. package/esm/series/rose/rose.js.map +1 -1
  947. package/esm/series/sankey/sankey.d.ts +2 -1
  948. package/esm/series/sankey/sankey.js +52 -119
  949. package/esm/series/sankey/sankey.js.map +1 -1
  950. package/esm/series/sankey/tooltip-helper.js +9 -9
  951. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  952. package/esm/series/scatter/scatter.js +4 -1
  953. package/esm/series/scatter/scatter.js.map +1 -1
  954. package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
  955. package/esm/series/sunburst/tooltip-helper.js +1 -1
  956. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  957. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  958. package/esm/series/treemap/tooltip-helper.js +1 -1
  959. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  960. package/esm/series/util/stack.js +28 -15
  961. package/esm/series/util/stack.js.map +1 -1
  962. package/esm/series/venn/animation.d.ts +6 -0
  963. package/esm/series/venn/animation.js +68 -0
  964. package/esm/series/venn/animation.js.map +1 -0
  965. package/esm/series/venn/constant.d.ts +2 -0
  966. package/esm/series/venn/constant.js +17 -0
  967. package/esm/series/venn/constant.js.map +1 -0
  968. package/esm/series/venn/interface.d.ts +21 -0
  969. package/esm/series/venn/interface.js +2 -0
  970. package/esm/series/venn/interface.js.map +1 -0
  971. package/esm/series/venn/tooltip-helper.d.ts +5 -0
  972. package/esm/series/venn/tooltip-helper.js +11 -0
  973. package/esm/series/venn/tooltip-helper.js.map +1 -0
  974. package/esm/series/venn/util.d.ts +1 -0
  975. package/esm/series/venn/util.js +4 -0
  976. package/esm/series/venn/util.js.map +1 -0
  977. package/esm/series/venn/venn-transform.d.ts +6 -0
  978. package/esm/series/venn/venn-transform.js +8 -0
  979. package/esm/series/venn/venn-transform.js.map +1 -0
  980. package/esm/series/venn/venn.d.ts +63 -0
  981. package/esm/series/venn/venn.js +237 -0
  982. package/esm/series/venn/venn.js.map +1 -0
  983. package/esm/series/waterfall/interface.d.ts +6 -1
  984. package/esm/series/waterfall/interface.js.map +1 -1
  985. package/esm/series/waterfall/waterfall.d.ts +9 -0
  986. package/esm/series/waterfall/waterfall.js +24 -3
  987. package/esm/series/waterfall/waterfall.js.map +1 -1
  988. package/esm/series/word-cloud/base.d.ts +2 -0
  989. package/esm/series/word-cloud/base.js +12 -17
  990. package/esm/series/word-cloud/base.js.map +1 -1
  991. package/esm/theme/builtin/common/component/index.js +4 -0
  992. package/esm/theme/builtin/common/component/index.js.map +1 -1
  993. package/esm/theme/builtin/common/series/index.js +4 -1
  994. package/esm/theme/builtin/common/series/index.js.map +1 -1
  995. package/esm/theme/builtin/common/series/venn.d.ts +2 -0
  996. package/esm/theme/builtin/common/series/venn.js +56 -0
  997. package/esm/theme/builtin/common/series/venn.js.map +1 -0
  998. package/esm/typings/spec/chart.d.ts +2 -0
  999. package/esm/typings/spec/chart.js.map +1 -1
  1000. package/esm/typings/spec/common.d.ts +5 -2
  1001. package/esm/typings/spec/common.js.map +1 -1
  1002. package/esm/typings/tooltip/tooltip.d.ts +1 -0
  1003. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1004. package/esm/util/data.d.ts +21 -4
  1005. package/esm/util/data.js +39 -10
  1006. package/esm/util/data.js.map +1 -1
  1007. package/esm/util/index.d.ts +1 -0
  1008. package/esm/util/index.js +2 -0
  1009. package/esm/util/index.js.map +1 -1
  1010. package/esm/util/math.d.ts +1 -1
  1011. package/esm/util/math.js +2 -3
  1012. package/esm/util/math.js.map +1 -1
  1013. package/esm/util/spec/index.d.ts +0 -5
  1014. package/esm/util/spec/index.js +0 -10
  1015. package/esm/util/spec/index.js.map +1 -1
  1016. package/esm/util/spec/transform.js.map +1 -1
  1017. package/esm/util/theme/merge-theme.js +1 -1
  1018. package/esm/util/theme/merge-theme.js.map +1 -1
  1019. package/esm/vchart-all.js +6 -4
  1020. package/esm/vchart-all.js.map +1 -1
  1021. package/package.json +16 -15
  1022. package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
  1023. package/cjs/component/marker/mark-area/mark-area.js +0 -128
  1024. package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
  1025. package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
  1026. package/cjs/component/marker/mark-line/mark-line.js +0 -198
  1027. package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
  1028. package/cjs/component/marker/mark-point/mark-point.js +0 -138
  1029. package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
  1030. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1031. package/cjs/util/spec/clone-deep.d.ts +0 -1
  1032. package/cjs/util/spec/clone-deep.js +0 -27
  1033. package/cjs/util/spec/clone-deep.js.map +0 -1
  1034. package/cjs/util/spec/common.d.ts +0 -3
  1035. package/cjs/util/spec/common.js +0 -23
  1036. package/cjs/util/spec/common.js.map +0 -1
  1037. package/cjs/util/spec/merge-spec.d.ts +0 -5
  1038. package/cjs/util/spec/merge-spec.js +0 -69
  1039. package/cjs/util/spec/merge-spec.js.map +0 -1
  1040. package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
  1041. package/esm/component/marker/mark-area/mark-area.js +0 -134
  1042. package/esm/component/marker/mark-area/mark-area.js.map +0 -1
  1043. package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
  1044. package/esm/component/marker/mark-line/mark-line.js +0 -213
  1045. package/esm/component/marker/mark-line/mark-line.js.map +0 -1
  1046. package/esm/component/marker/mark-point/mark-point.js +0 -147
  1047. package/esm/component/marker/mark-point/mark-point.js.map +0 -1
  1048. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1049. package/esm/util/spec/clone-deep.d.ts +0 -1
  1050. package/esm/util/spec/clone-deep.js +0 -20
  1051. package/esm/util/spec/clone-deep.js.map +0 -1
  1052. package/esm/util/spec/common.d.ts +0 -3
  1053. package/esm/util/spec/common.js +0 -15
  1054. package/esm/util/spec/common.js.map +0 -1
  1055. package/esm/util/spec/merge-spec.d.ts +0 -5
  1056. package/esm/util/spec/merge-spec.js +0 -57
  1057. package/esm/util/spec/merge-spec.js.map +0 -1
  1058. /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
  1059. /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isFunction, isNil, isValidNumber, isArray, get } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, IModelSpecInfo } from '../../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { eachSeries } from '../../../util/model';\nimport { getFieldAlias } from '../../../util/data';\nimport { isDataDomainSpec } from '../../../util/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { LegendItemDatum } from '@visactor/vrender-components';\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport { TransformLevel } from '../../../data/initialize';\nimport type { ILayoutRect } from '../../../typings/layout';\nimport type { Datum } from '../../../typings';\nimport { getFormatFunction } from '../../util';\n\nexport class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {\n static specKey = 'legends';\n\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const legendSpec = chartSpec[this.specKey];\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (!legendSpec.type || legendSpec.type === 'discrete') {\n return [\n {\n spec: legendSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.discreteLegend\n }\n ];\n }\n return undefined;\n }\n const specInfos: IModelSpecInfo[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (!s.type || s.type === 'discrete') {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.discreteLegend\n });\n }\n });\n return specInfos;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => this._getSeriesLegendField(s),\n data: () => this._getLegendDefaultData()\n },\n level: TransformLevel.legendFilter\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n const result: ISeries[] = [];\n eachSeries(\n this._regions,\n s => {\n result.push(s);\n },\n {\n specIndex: this._spec.seriesIndex,\n userId: this._spec.seriesId\n }\n );\n return result;\n },\n seriesField: (s: ISeries) => this._getSeriesLegendField(s)\n }\n });\n\n return legendData;\n }\n\n protected _getSeriesLegendField(s: ISeries) {\n const defaultField = s.getSeriesField();\n if (!this._spec.scaleName) {\n return defaultField;\n }\n if (!s.getRawData()) {\n return defaultField;\n }\n const scaleSpec = this._option.globalScale.getScaleSpec(this._spec.scaleName);\n if (!scaleSpec) {\n return defaultField;\n }\n\n // field是只在图例指定了scale的情况下生效\n if (this._spec.field) {\n return this._spec.field;\n }\n\n if (!isDataDomainSpec(scaleSpec.domain)) {\n return defaultField;\n }\n const seriesData = scaleSpec.domain.find(d => d.dataId === s.getRawData().name);\n if (!seriesData) {\n return defaultField;\n }\n return seriesData.fields?.[0] ?? defaultField;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._getLegendDefaultData();\n }\n }\n\n private _getLegendDefaultData() {\n if (isFunction(this._spec.data)) {\n return this._getLegendItems().map((obj: LegendItemDatum) => obj.label);\n }\n\n return this._legendData.getLatestData().map((obj: Datum) => obj.key);\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n ...getLegendAttributes(this._spec, rect),\n // maxWidth 和 maxHeight 已经在布局模块处理了,所以 rect 的优先级最高\n maxWidth: rect.width,\n maxHeight: rect.height\n };\n this._addDefaultTitleText(attrs);\n this._addLegendItemFormatMethods(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n\n return {\n label: datum.key,\n shape: {\n symbolType: datum.style('symbolType') ?? datum.shapeType ?? 'circle',\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n texture,\n fill: datum.style('fill'),\n stroke: datum.style('stroke'),\n textureColor: datum.style('textureColor'),\n innerBorder: datum.style('innerBorder'),\n outerBorder: datum.style('outerBorder'),\n lineDash: datum.style('lineDash'),\n lineDashOffset: datum.style('lineDashOffset'),\n lineWidth: datum.style('lineWidth')\n }\n };\n });\n const legendItems = isFunction(this._spec.data)\n ? this._spec.data(originData, this._option.globalScale.getScale('color'), this._option.globalScale)\n : originData;\n return legendItems;\n }\n\n private _addLegendItemFormatMethods(attrs: any) {\n const { formatMethod: labelFormatMethod, formatter: labelFormatter } = this._spec.item?.label ?? {};\n const { formatMethod: valueFormatMethod, formatter: valueFormatter } = this._spec.item?.value ?? {};\n\n const { formatFunc: labelFormatFunc } = getFormatFunction(labelFormatMethod, labelFormatter);\n if (labelFormatter && !labelFormatMethod && labelFormatFunc) {\n attrs.item.label.formatMethod = (value: string, datum: any) => {\n return labelFormatFunc(value, datum, labelFormatter);\n };\n }\n const { formatFunc: valueFormatFunc } = getFormatFunction(valueFormatMethod, valueFormatter);\n if (valueFormatter && !valueFormatMethod && valueFormatFunc) {\n attrs.item.value.formatMethod = (value: string, datum: any) => {\n return valueFormatFunc(valueFormatter, value, datum, labelFormatter);\n };\n }\n }\n}\n\nexport const registerDiscreteLegend = () => {\n Factory.registerComponent(DiscreteLegend.type, DiscreteLegend);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isFunction, isNil, isValidNumber, isArray, get } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, IModelSpecInfo } from '../../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { eachSeries } from '../../../util/model';\nimport { getFieldAlias } from '../../../util/data';\nimport { isDataDomainSpec } from '../../../util/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { LegendItemDatum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport { TransformLevel } from '../../../data/initialize';\nimport type { ILayoutRect } from '../../../typings/layout';\nimport type { StringOrNumber } from '../../../typings';\nimport { getFormatFunction } from '../../util';\nimport type { IDiscreteLegendData } from '../../../data/transforms/legend-data/discrete';\n\nexport class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {\n static specKey = 'legends';\n\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n protected _unselectedData: StringOrNumber[];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const legendSpec = chartSpec[this.specKey];\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (!legendSpec.type || legendSpec.type === 'discrete') {\n return [\n {\n spec: legendSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.discreteLegend\n }\n ];\n }\n return undefined;\n }\n const specInfos: IModelSpecInfo[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (!s.type || s.type === 'discrete') {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.discreteLegend\n });\n }\n });\n return specInfos;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n series: s,\n selected: () => this._selectedData,\n field: () => this._getSeriesLegendField(s),\n data: () => this.getLegendDefaultData()\n },\n level: TransformLevel.legendFilter\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n const result: ISeries[] = [];\n eachSeries(\n this._regions,\n s => {\n result.push(s);\n },\n {\n specIndex: this._spec.seriesIndex,\n userId: this._spec.seriesId\n }\n );\n return result;\n },\n seriesField: (s: ISeries) => this._getSeriesLegendField(s)\n }\n });\n\n return legendData;\n }\n\n protected _getSeriesLegendField(s: ISeries) {\n const defaultField = s.getSeriesField();\n const specifyScaleId = this._spec.scaleName ?? this._spec.scale;\n\n if (isNil(specifyScaleId)) {\n return defaultField;\n }\n if (!s.getRawData()) {\n return defaultField;\n }\n const scaleSpec = this._option.globalScale.getScaleSpec(specifyScaleId);\n if (!scaleSpec) {\n return defaultField;\n }\n\n // field是只在图例指定了scale的情况下生效\n if (this._spec.field) {\n return this._spec.field;\n }\n\n if (!isDataDomainSpec(scaleSpec.domain)) {\n return defaultField;\n }\n const seriesData = scaleSpec.domain.find(d => d.dataId === s.getRawData().name);\n if (!seriesData) {\n return defaultField;\n }\n return seriesData.fields?.[0] ?? defaultField;\n }\n\n protected _initSelectedData(): void {\n const fullSelectedData = this.getLegendDefaultData();\n\n if (this._unselectedData) {\n const selected: StringOrNumber[] = [];\n const unselected: StringOrNumber[] = [];\n\n fullSelectedData.forEach((entry: StringOrNumber) => {\n if (this._unselectedData.includes(entry)) {\n unselected.push(entry);\n } else {\n selected.push(entry);\n }\n });\n this._selectedData = selected;\n this._unselectedData = unselected;\n } else if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = fullSelectedData;\n }\n }\n\n getLegendDefaultData(originalData?: boolean) {\n if (isFunction(this._spec.data)) {\n return this._getLegendItems().map((obj: LegendItemDatum) => obj.label);\n }\n\n return this._legendData\n .getLatestData()\n .map(originalData ? (obj: IDiscreteLegendData) => obj.originalKey : (obj: IDiscreteLegendData) => obj.key);\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n ...getLegendAttributes(this._spec, rect),\n // maxWidth 和 maxHeight 已经在布局模块处理了,所以 rect 的优先级最高\n maxWidth: rect.width,\n maxHeight: rect.height\n };\n this._addDefaultTitleText(attrs);\n this._addLegendItemFormatMethods(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n setSelectedData(selectedData: StringOrNumber[]) {\n if (selectedData) {\n this._unselectedData = this.getLegendDefaultData().filter(\n (entry: StringOrNumber) => !selectedData.includes(entry)\n );\n }\n\n super.setSelectedData(selectedData);\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n\n return {\n label: datum.key,\n shape: {\n symbolType: datum.style('symbolType') ?? datum.shapeType ?? 'circle',\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n texture,\n fill: datum.style('fill'),\n stroke: datum.style('stroke'),\n textureColor: datum.style('textureColor'),\n innerBorder: datum.style('innerBorder'),\n outerBorder: datum.style('outerBorder'),\n lineDash: datum.style('lineDash'),\n lineDashOffset: datum.style('lineDashOffset'),\n lineWidth: datum.style('lineWidth')\n }\n };\n });\n const legendItems = isFunction(this._spec.data)\n ? this._spec.data(originData, this._option.globalScale.getScale('color'), this._option.globalScale)\n : originData;\n return legendItems;\n }\n\n private _addLegendItemFormatMethods(attrs: any) {\n const { formatMethod: labelFormatMethod, formatter: labelFormatter } = this._spec.item?.label ?? {};\n const { formatMethod: valueFormatMethod, formatter: valueFormatter } = this._spec.item?.value ?? {};\n\n const { formatFunc: labelFormatFunc } = getFormatFunction(labelFormatMethod, labelFormatter);\n if (labelFormatter && !labelFormatMethod && labelFormatFunc) {\n attrs.item.label.formatMethod = (value: string, datum: any) => {\n return labelFormatFunc(value, datum, labelFormatter);\n };\n }\n const { formatFunc: valueFormatFunc } = getFormatFunction(valueFormatMethod, valueFormatter);\n if (valueFormatter && !valueFormatMethod && valueFormatFunc) {\n attrs.item.value.formatMethod = (value: string, datum: any) => {\n return valueFormatFunc(valueFormatter, value, datum, labelFormatter);\n };\n }\n }\n}\n\nexport const registerDiscreteLegend = () => {\n Factory.registerComponent(DiscreteLegend.type, DiscreteLegend);\n};\n"]}
@@ -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":"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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 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;