@visactor/vchart 1.11.0-alpha.2 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1095) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +44800 -41150
  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 +7 -2
  11. package/cjs/chart/base/base-chart.js +35 -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 +9 -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/sankey/sankey-transformer.js +5 -0
  37. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  38. package/cjs/chart/sankey/sankey.d.ts +5 -0
  39. package/cjs/chart/sankey/sankey.js +23 -1
  40. package/cjs/chart/sankey/sankey.js.map +1 -1
  41. package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
  42. package/cjs/chart/sequence/sequence.js +3 -2
  43. package/cjs/chart/sequence/sequence.js.map +1 -1
  44. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  45. package/cjs/chart/util.js +4 -3
  46. package/cjs/chart/util.js.map +1 -1
  47. package/cjs/chart/venn/index.d.ts +3 -0
  48. package/cjs/chart/venn/index.js +22 -0
  49. package/cjs/chart/venn/index.js.map +1 -0
  50. package/cjs/chart/venn/interface.d.ts +6 -0
  51. package/cjs/chart/venn/interface.js +6 -0
  52. package/cjs/chart/venn/interface.js.map +1 -0
  53. package/cjs/chart/venn/venn-transformer.d.ts +7 -0
  54. package/cjs/chart/venn/venn-transformer.js +28 -0
  55. package/cjs/chart/venn/venn-transformer.js.map +1 -0
  56. package/cjs/chart/venn/venn.d.ts +14 -0
  57. package/cjs/chart/venn/venn.js +24 -0
  58. package/cjs/chart/venn/venn.js.map +1 -0
  59. package/cjs/compile/compiler.d.ts +3 -3
  60. package/cjs/compile/compiler.js +8 -5
  61. package/cjs/compile/compiler.js.map +1 -1
  62. package/cjs/compile/data/compilable-data.js +3 -1
  63. package/cjs/compile/data/compilable-data.js.map +1 -1
  64. package/cjs/compile/interface/compiler.d.ts +1 -0
  65. package/cjs/compile/interface/compiler.js.map +1 -1
  66. package/cjs/compile/mark/compilable-mark.d.ts +2 -1
  67. package/cjs/compile/mark/compilable-mark.js +4 -0
  68. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  69. package/cjs/compile/mark/interface.d.ts +4 -1
  70. package/cjs/compile/mark/interface.js +2 -1
  71. package/cjs/compile/mark/interface.js.map +1 -1
  72. package/cjs/component/axis/base-axis.d.ts +2 -0
  73. package/cjs/component/axis/base-axis.js +13 -6
  74. package/cjs/component/axis/base-axis.js.map +1 -1
  75. package/cjs/component/axis/cartesian/axis.d.ts +1 -2
  76. package/cjs/component/axis/cartesian/axis.js +30 -38
  77. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  78. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  79. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  80. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  81. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  82. package/cjs/component/axis/interface/spec.d.ts +2 -0
  83. package/cjs/component/axis/interface/spec.js.map +1 -1
  84. package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
  85. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  86. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  87. package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
  88. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  89. package/cjs/component/axis/polar/axis.d.ts +0 -1
  90. package/cjs/component/axis/polar/axis.js +7 -11
  91. package/cjs/component/axis/polar/axis.js.map +1 -1
  92. package/cjs/component/axis/polar/interface/common.d.ts +1 -0
  93. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  94. package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
  95. package/cjs/component/axis/polar/linear-axis.js +5 -1
  96. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  97. package/cjs/component/axis/util.js +3 -3
  98. package/cjs/component/axis/util.js.map +1 -1
  99. package/cjs/component/base/base-component.d.ts +1 -0
  100. package/cjs/component/base/base-component.js +14 -6
  101. package/cjs/component/base/base-component.js.map +1 -1
  102. package/cjs/component/base/util.js +12 -12
  103. package/cjs/component/base/util.js.map +1 -1
  104. package/cjs/component/common/trigger/mobile.js +1 -2
  105. package/cjs/component/common/trigger/mobile.js.map +1 -1
  106. package/cjs/component/crosshair/base.d.ts +1 -2
  107. package/cjs/component/crosshair/base.js +4 -6
  108. package/cjs/component/crosshair/base.js.map +1 -1
  109. package/cjs/component/crosshair/cartesian.js +1 -3
  110. package/cjs/component/crosshair/cartesian.js.map +1 -1
  111. package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
  112. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  113. package/cjs/component/crosshair/interface/polar.d.ts +7 -5
  114. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  115. package/cjs/component/crosshair/polar.js +2 -5
  116. package/cjs/component/crosshair/polar.js.map +1 -1
  117. package/cjs/component/crosshair/utils/cartesian.js +14 -14
  118. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  119. package/cjs/component/crosshair/utils/common.js +6 -5
  120. package/cjs/component/crosshair/utils/common.js.map +1 -1
  121. package/cjs/component/crosshair/utils/polar.js +17 -11
  122. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  123. package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
  124. package/cjs/component/custom-mark/custom-mark.js +43 -12
  125. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  126. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
  127. package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
  128. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  129. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
  130. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  131. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  132. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  133. package/cjs/component/data-zoom/interface.d.ts +1 -4
  134. package/cjs/component/data-zoom/interface.js +1 -5
  135. package/cjs/component/data-zoom/interface.js.map +1 -1
  136. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  137. package/cjs/component/data-zoom/util.js.map +1 -1
  138. package/cjs/component/geo/geo-coordinate.js +2 -2
  139. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  140. package/cjs/component/index.d.ts +7 -7
  141. package/cjs/component/index.js +48 -8
  142. package/cjs/component/index.js.map +1 -1
  143. package/cjs/component/indicator/indicator.js +2 -2
  144. package/cjs/component/indicator/indicator.js.map +1 -1
  145. package/cjs/component/interface/theme.d.ts +4 -0
  146. package/cjs/component/interface/theme.js.map +1 -1
  147. package/cjs/component/interface/type.d.ts +4 -0
  148. package/cjs/component/interface/type.js +3 -1
  149. package/cjs/component/interface/type.js.map +1 -1
  150. package/cjs/component/label/label.js +4 -5
  151. package/cjs/component/label/label.js.map +1 -1
  152. package/cjs/component/label/total-label.js +10 -3
  153. package/cjs/component/label/total-label.js.map +1 -1
  154. package/cjs/component/label/util.d.ts +9 -1
  155. package/cjs/component/label/util.js +25 -9
  156. package/cjs/component/label/util.js.map +1 -1
  157. package/cjs/component/legend/base-legend.js +13 -7
  158. package/cjs/component/legend/base-legend.js.map +1 -1
  159. package/cjs/component/legend/continuous/interface.d.ts +1 -0
  160. package/cjs/component/legend/continuous/interface.js.map +1 -1
  161. package/cjs/component/legend/continuous/legend.js +4 -1
  162. package/cjs/component/legend/continuous/legend.js.map +1 -1
  163. package/cjs/component/legend/continuous/util.js +3 -3
  164. package/cjs/component/legend/continuous/util.js.map +1 -1
  165. package/cjs/component/legend/discrete/interface.d.ts +1 -0
  166. package/cjs/component/legend/discrete/interface.js.map +1 -1
  167. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  168. package/cjs/component/legend/discrete/legend.js +20 -9
  169. package/cjs/component/legend/discrete/legend.js.map +1 -1
  170. package/cjs/component/legend/discrete/util.js +7 -6
  171. package/cjs/component/legend/discrete/util.js.map +1 -1
  172. package/cjs/component/legend/util.d.ts +12 -2
  173. package/cjs/component/legend/util.js +2 -2
  174. package/cjs/component/legend/util.js.map +1 -1
  175. package/cjs/component/map-label/component.js +2 -1
  176. package/cjs/component/map-label/component.js.map +1 -1
  177. package/cjs/component/marker/base-marker.d.ts +30 -44
  178. package/cjs/component/marker/base-marker.js +103 -45
  179. package/cjs/component/marker/base-marker.js.map +1 -1
  180. package/cjs/component/marker/interface.d.ts +40 -13
  181. package/cjs/component/marker/interface.js.map +1 -1
  182. package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
  183. package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
  184. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
  185. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  186. package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
  187. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  188. package/cjs/component/marker/mark-area/index.d.ts +2 -1
  189. package/cjs/component/marker/mark-area/index.js +2 -1
  190. package/cjs/component/marker/mark-area/index.js.map +1 -1
  191. package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
  192. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  193. package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
  194. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  195. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  196. package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
  197. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
  198. package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
  199. package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
  200. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
  201. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  202. package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
  203. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  204. package/cjs/component/marker/mark-line/index.d.ts +2 -1
  205. package/cjs/component/marker/mark-line/index.js +2 -1
  206. package/cjs/component/marker/mark-line/index.js.map +1 -1
  207. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  208. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  209. package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
  210. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  211. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  212. package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
  213. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
  214. package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  215. package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
  216. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
  217. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  218. package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
  219. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  220. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  221. package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
  222. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
  223. package/cjs/component/marker/mark-point/index.d.ts +3 -1
  224. package/cjs/component/marker/mark-point/index.js +2 -1
  225. package/cjs/component/marker/mark-point/index.js.map +1 -1
  226. package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
  227. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  228. package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
  229. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  230. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  231. package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
  232. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
  233. package/cjs/component/marker/utils.d.ts +40 -5
  234. package/cjs/component/marker/utils.js +148 -13
  235. package/cjs/component/marker/utils.js.map +1 -1
  236. package/cjs/component/player/player.d.ts +2 -1
  237. package/cjs/component/player/player.js +16 -9
  238. package/cjs/component/player/player.js.map +1 -1
  239. package/cjs/component/player/utils/transform.js +3 -2
  240. package/cjs/component/player/utils/transform.js.map +1 -1
  241. package/cjs/component/tooltip/tooltip-transformer.js +3 -2
  242. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  243. package/cjs/component/tooltip/tooltip.d.ts +2 -6
  244. package/cjs/component/tooltip/tooltip.js +13 -11
  245. package/cjs/component/tooltip/tooltip.js.map +1 -1
  246. package/cjs/component/tooltip/utils/compose.d.ts +2 -2
  247. package/cjs/component/tooltip/utils/compose.js +5 -5
  248. package/cjs/component/tooltip/utils/compose.js.map +1 -1
  249. package/cjs/component/tooltip/utils/get-spec.js +7 -7
  250. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  251. package/cjs/component/tooltip/utils/index.d.ts +1 -0
  252. package/cjs/component/tooltip/utils/index.js +1 -1
  253. package/cjs/component/tooltip/utils/index.js.map +1 -1
  254. package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  255. package/cjs/component/tooltip/utils/pattern.js.map +1 -0
  256. package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
  257. package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
  258. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  259. package/cjs/core/factory.d.ts +1 -1
  260. package/cjs/core/factory.js +0 -1
  261. package/cjs/core/factory.js.map +1 -1
  262. package/cjs/core/index.d.ts +1 -1
  263. package/cjs/core/index.js +1 -1
  264. package/cjs/core/index.js.map +1 -1
  265. package/cjs/core/interface.d.ts +8 -1
  266. package/cjs/core/interface.js.map +1 -1
  267. package/cjs/core/vchart.d.ts +5 -2
  268. package/cjs/core/vchart.js +56 -24
  269. package/cjs/core/vchart.js.map +1 -1
  270. package/cjs/data/transforms/aggregation.d.ts +12 -7
  271. package/cjs/data/transforms/aggregation.js +16 -1
  272. package/cjs/data/transforms/aggregation.js.map +1 -1
  273. package/cjs/data/transforms/invalid-travel.d.ts +1 -1
  274. package/cjs/data/transforms/invalid-travel.js +4 -2
  275. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  276. package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
  277. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  278. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  279. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  280. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  281. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  282. package/cjs/data/transforms/pie.js +3 -2
  283. package/cjs/data/transforms/pie.js.map +1 -1
  284. package/cjs/data/transforms/sankey.js +1 -14
  285. package/cjs/data/transforms/sankey.js.map +1 -1
  286. package/cjs/data/transforms/waterfall.js +4 -2
  287. package/cjs/data/transforms/waterfall.js.map +1 -1
  288. package/cjs/event/event-dispatcher.js +8 -1
  289. package/cjs/event/event-dispatcher.js.map +1 -1
  290. package/cjs/event/interface.d.ts +2 -0
  291. package/cjs/event/interface.js.map +1 -1
  292. package/cjs/index-lark.js +1 -1
  293. package/cjs/index-lark.js.map +1 -1
  294. package/cjs/index-wx.js +1 -1
  295. package/cjs/index-wx.js.map +1 -1
  296. package/cjs/layout/base-layout.js +6 -5
  297. package/cjs/layout/base-layout.js.map +1 -1
  298. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
  299. package/cjs/layout/grid-layout/grid-layout.js +4 -4
  300. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  301. package/cjs/layout/layout-item.js +1 -1
  302. package/cjs/layout/layout-item.js.map +1 -1
  303. package/cjs/mark/base/base-mark.js +2 -2
  304. package/cjs/mark/base/base-mark.js.map +1 -1
  305. package/cjs/mark/index.d.ts +20 -20
  306. package/cjs/mark/index.js +95 -22
  307. package/cjs/mark/index.js.map +1 -1
  308. package/cjs/model/base-model-transformer.js +2 -2
  309. package/cjs/model/base-model-transformer.js.map +1 -1
  310. package/cjs/model/base-model.js +1 -1
  311. package/cjs/model/base-model.js.map +1 -1
  312. package/cjs/model/interface.d.ts +1 -0
  313. package/cjs/model/interface.js.map +1 -1
  314. package/cjs/model/layout-model.js +3 -2
  315. package/cjs/model/layout-model.js.map +1 -1
  316. package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
  317. package/cjs/plugin/base/base-plugin-service.js +11 -1
  318. package/cjs/plugin/base/base-plugin-service.js.map +1 -1
  319. package/cjs/plugin/base/interface.d.ts +3 -0
  320. package/cjs/plugin/base/interface.js.map +1 -1
  321. package/cjs/plugin/chart/formatter/formatter.js +3 -3
  322. package/cjs/plugin/chart/formatter/formatter.js.map +1 -1
  323. package/cjs/plugin/chart/media-query/media-query.js +4 -4
  324. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  325. package/cjs/plugin/chart/media-query/util/action.js +4 -3
  326. package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
  327. package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
  328. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  329. package/cjs/plugin/components/register.js +2 -2
  330. package/cjs/plugin/components/register.js.map +1 -1
  331. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
  332. package/cjs/plugin/components/tooltip-handler/base.js +3 -3
  333. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  334. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  335. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
  336. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  337. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
  338. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  339. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  340. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  341. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
  342. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  343. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
  344. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  345. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  346. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  347. package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  348. package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -2
  349. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  350. package/cjs/region/interface.d.ts +2 -0
  351. package/cjs/region/interface.js.map +1 -1
  352. package/cjs/region/region.d.ts +1 -0
  353. package/cjs/region/region.js +5 -1
  354. package/cjs/region/region.js.map +1 -1
  355. package/cjs/series/area/area-transformer.js +6 -5
  356. package/cjs/series/area/area-transformer.js.map +1 -1
  357. package/cjs/series/area/area.js +3 -2
  358. package/cjs/series/area/area.js.map +1 -1
  359. package/cjs/series/bar/bar-3d.js +2 -1
  360. package/cjs/series/bar/bar-3d.js.map +1 -1
  361. package/cjs/series/bar/bar.js +3 -2
  362. package/cjs/series/bar/bar.js.map +1 -1
  363. package/cjs/series/base/base-series-transformer.js +4 -4
  364. package/cjs/series/base/base-series-transformer.js.map +1 -1
  365. package/cjs/series/base/base-series.d.ts +9 -17
  366. package/cjs/series/base/base-series.js +49 -31
  367. package/cjs/series/base/base-series.js.map +1 -1
  368. package/cjs/series/base/tooltip-helper.d.ts +8 -5
  369. package/cjs/series/base/tooltip-helper.js +31 -23
  370. package/cjs/series/base/tooltip-helper.js.map +1 -1
  371. package/cjs/series/box-plot/box-plot.js +2 -1
  372. package/cjs/series/box-plot/box-plot.js.map +1 -1
  373. package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
  374. package/cjs/series/box-plot/tooltip-helper.js +21 -21
  375. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  376. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  377. package/cjs/series/cartesian/cartesian.js +14 -4
  378. package/cjs/series/cartesian/cartesian.js.map +1 -1
  379. package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
  380. package/cjs/series/circle-packing/tooltip-helper.js +1 -1
  381. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  382. package/cjs/series/dot/dot.js +2 -2
  383. package/cjs/series/dot/dot.js.map +1 -1
  384. package/cjs/series/dot/tooltip-helper.js +12 -12
  385. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  386. package/cjs/series/funnel/funnel.js +8 -4
  387. package/cjs/series/funnel/funnel.js.map +1 -1
  388. package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
  389. package/cjs/series/funnel/tooltip-helper.js +3 -3
  390. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  391. package/cjs/series/gauge/gauge-pointer.js +4 -3
  392. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  393. package/cjs/series/gauge/gauge.js +3 -3
  394. package/cjs/series/gauge/gauge.js.map +1 -1
  395. package/cjs/series/geo/geo.d.ts +1 -0
  396. package/cjs/series/geo/geo.js +4 -2
  397. package/cjs/series/geo/geo.js.map +1 -1
  398. package/cjs/series/heatmap/heatmap.js +2 -1
  399. package/cjs/series/heatmap/heatmap.js.map +1 -1
  400. package/cjs/series/index.d.ts +7 -3
  401. package/cjs/series/index.js +30 -2
  402. package/cjs/series/index.js.map +1 -1
  403. package/cjs/series/interface/common.d.ts +3 -2
  404. package/cjs/series/interface/common.js.map +1 -1
  405. package/cjs/series/interface/series.d.ts +7 -0
  406. package/cjs/series/interface/series.js.map +1 -1
  407. package/cjs/series/interface/theme.d.ts +2 -0
  408. package/cjs/series/interface/theme.js +3 -2
  409. package/cjs/series/interface/theme.js.map +1 -1
  410. package/cjs/series/interface/tooltip-helper.d.ts +8 -5
  411. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  412. package/cjs/series/interface/type.d.ts +6 -2
  413. package/cjs/series/interface/type.js +3 -2
  414. package/cjs/series/interface/type.js.map +1 -1
  415. package/cjs/series/line/line.js +3 -2
  416. package/cjs/series/line/line.js.map +1 -1
  417. package/cjs/series/link/link.js +3 -2
  418. package/cjs/series/link/link.js.map +1 -1
  419. package/cjs/series/link/tooltip-helper.js +8 -8
  420. package/cjs/series/link/tooltip-helper.js.map +1 -1
  421. package/cjs/series/liquid/tooltip-helper.js +2 -2
  422. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  423. package/cjs/series/map/geo-source.d.ts +3 -1
  424. package/cjs/series/map/geo-source.js +6 -1
  425. package/cjs/series/map/geo-source.js.map +1 -1
  426. package/cjs/series/map/tooltip-helper.d.ts +1 -1
  427. package/cjs/series/map/tooltip-helper.js +1 -1
  428. package/cjs/series/map/tooltip-helper.js.map +1 -1
  429. package/cjs/series/mixin/line-mixin.js +2 -2
  430. package/cjs/series/mixin/line-mixin.js.map +1 -1
  431. package/cjs/series/pie/pie-transformer.js +4 -4
  432. package/cjs/series/pie/pie-transformer.js.map +1 -1
  433. package/cjs/series/polar/polar.d.ts +2 -2
  434. package/cjs/series/polar/polar.js +17 -6
  435. package/cjs/series/polar/polar.js.map +1 -1
  436. package/cjs/series/progress/circular/circular.js +4 -2
  437. package/cjs/series/progress/circular/circular.js.map +1 -1
  438. package/cjs/series/radar/radar.js +5 -4
  439. package/cjs/series/radar/radar.js.map +1 -1
  440. package/cjs/series/range-area/range-area.d.ts +0 -2
  441. package/cjs/series/range-area/range-area.js +3 -6
  442. package/cjs/series/range-area/range-area.js.map +1 -1
  443. package/cjs/series/range-area/tooltip-helper.js +10 -10
  444. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  445. package/cjs/series/range-column/3d/range-column-3d.js +3 -2
  446. package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
  447. package/cjs/series/range-column/range-column.js +3 -2
  448. package/cjs/series/range-column/range-column.js.map +1 -1
  449. package/cjs/series/range-column/tooltip-helper.js +5 -5
  450. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  451. package/cjs/series/rose/rose.js +3 -2
  452. package/cjs/series/rose/rose.js.map +1 -1
  453. package/cjs/series/sankey/interface.d.ts +5 -0
  454. package/cjs/series/sankey/interface.js.map +1 -1
  455. package/cjs/series/sankey/sankey.d.ts +10 -4
  456. package/cjs/series/sankey/sankey.js +129 -160
  457. package/cjs/series/sankey/sankey.js.map +1 -1
  458. package/cjs/series/sankey/tooltip-helper.js +10 -10
  459. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  460. package/cjs/series/scatter/scatter.js +3 -2
  461. package/cjs/series/scatter/scatter.js.map +1 -1
  462. package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
  463. package/cjs/series/sunburst/tooltip-helper.js +1 -1
  464. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  465. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  466. package/cjs/series/treemap/tooltip-helper.js +1 -1
  467. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  468. package/cjs/series/util/stack.js +29 -15
  469. package/cjs/series/util/stack.js.map +1 -1
  470. package/cjs/series/venn/animation.d.ts +6 -0
  471. package/cjs/series/venn/animation.js +76 -0
  472. package/cjs/series/venn/animation.js.map +1 -0
  473. package/cjs/series/venn/constant.d.ts +2 -0
  474. package/cjs/series/venn/constant.js +23 -0
  475. package/cjs/series/venn/constant.js.map +1 -0
  476. package/cjs/series/venn/interface.d.ts +21 -0
  477. package/cjs/series/venn/interface.js +6 -0
  478. package/cjs/series/venn/interface.js.map +1 -0
  479. package/cjs/series/venn/tooltip-helper.d.ts +5 -0
  480. package/cjs/series/venn/tooltip-helper.js +17 -0
  481. package/cjs/series/venn/tooltip-helper.js.map +1 -0
  482. package/cjs/series/venn/util.d.ts +1 -0
  483. package/cjs/series/venn/util.js +11 -0
  484. package/cjs/series/venn/util.js.map +1 -0
  485. package/cjs/series/venn/venn-transform.d.ts +6 -0
  486. package/cjs/series/venn/venn-transform.js +16 -0
  487. package/cjs/series/venn/venn-transform.js.map +1 -0
  488. package/cjs/series/venn/venn.d.ts +63 -0
  489. package/cjs/series/venn/venn.js +219 -0
  490. package/cjs/series/venn/venn.js.map +1 -0
  491. package/cjs/series/waterfall/interface.d.ts +6 -1
  492. package/cjs/series/waterfall/interface.js.map +1 -1
  493. package/cjs/series/waterfall/waterfall.d.ts +9 -0
  494. package/cjs/series/waterfall/waterfall.js +23 -4
  495. package/cjs/series/waterfall/waterfall.js.map +1 -1
  496. package/cjs/series/word-cloud/base.d.ts +2 -0
  497. package/cjs/series/word-cloud/base.js +11 -16
  498. package/cjs/series/word-cloud/base.js.map +1 -1
  499. package/cjs/theme/builtin/common/component/index.js +4 -0
  500. package/cjs/theme/builtin/common/component/index.js.map +1 -1
  501. package/cjs/theme/builtin/common/series/index.js +3 -2
  502. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  503. package/cjs/theme/builtin/common/series/venn.d.ts +2 -0
  504. package/cjs/theme/builtin/common/series/venn.js +60 -0
  505. package/cjs/theme/builtin/common/series/venn.js.map +1 -0
  506. package/cjs/typings/spec/chart.d.ts +2 -0
  507. package/cjs/typings/spec/chart.js.map +1 -1
  508. package/cjs/typings/spec/common.d.ts +5 -2
  509. package/cjs/typings/spec/common.js.map +1 -1
  510. package/cjs/typings/tooltip/line.d.ts +4 -0
  511. package/cjs/typings/tooltip/line.js.map +1 -1
  512. package/cjs/typings/tooltip/tooltip.d.ts +1 -0
  513. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  514. package/cjs/util/data.d.ts +21 -4
  515. package/cjs/util/data.js +42 -14
  516. package/cjs/util/data.js.map +1 -1
  517. package/cjs/util/index.d.ts +1 -0
  518. package/cjs/util/index.js +4 -4
  519. package/cjs/util/index.js.map +1 -1
  520. package/cjs/util/math.d.ts +1 -1
  521. package/cjs/util/math.js +2 -3
  522. package/cjs/util/math.js.map +1 -1
  523. package/cjs/util/spec/index.d.ts +0 -5
  524. package/cjs/util/spec/index.js +1 -4
  525. package/cjs/util/spec/index.js.map +1 -1
  526. package/cjs/util/spec/transform.js.map +1 -1
  527. package/cjs/util/theme/merge-theme.js +3 -3
  528. package/cjs/util/theme/merge-theme.js.map +1 -1
  529. package/cjs/vchart-all.js +2 -2
  530. package/cjs/vchart-all.js.map +1 -1
  531. package/esm/animation/utils.d.ts +2 -2
  532. package/esm/animation/utils.js +1 -1
  533. package/esm/animation/utils.js.map +1 -1
  534. package/esm/chart/base/base-chart-transformer.js +5 -1
  535. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  536. package/esm/chart/base/base-chart.d.ts +7 -2
  537. package/esm/chart/base/base-chart.js +35 -11
  538. package/esm/chart/base/base-chart.js.map +1 -1
  539. package/esm/chart/cartesian/cartesian-transformer.js +3 -1
  540. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  541. package/esm/chart/common/common-transformer.js +3 -1
  542. package/esm/chart/common/common-transformer.js.map +1 -1
  543. package/esm/chart/common/interface.d.ts +2 -2
  544. package/esm/chart/common/interface.js.map +1 -1
  545. package/esm/chart/index.d.ts +6 -4
  546. package/esm/chart/index.js +5 -3
  547. package/esm/chart/index.js.map +1 -1
  548. package/esm/chart/interface/chart.d.ts +9 -1
  549. package/esm/chart/interface/chart.js.map +1 -1
  550. package/esm/chart/interface/type.d.ts +2 -1
  551. package/esm/chart/interface/type.js +1 -1
  552. package/esm/chart/interface/type.js.map +1 -1
  553. package/esm/chart/polar/polar-transformer.js.map +1 -1
  554. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  555. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  556. package/esm/chart/radar/radar-transformer.js +3 -1
  557. package/esm/chart/radar/radar-transformer.js.map +1 -1
  558. package/esm/chart/range-column/range-column-transformer.js +5 -1
  559. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  560. package/esm/chart/rose/rose-transformer.js +1 -1
  561. package/esm/chart/rose/rose-transformer.js.map +1 -1
  562. package/esm/chart/sankey/sankey-transformer.js +5 -0
  563. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  564. package/esm/chart/sankey/sankey.d.ts +5 -0
  565. package/esm/chart/sankey/sankey.js +24 -0
  566. package/esm/chart/sankey/sankey.js.map +1 -1
  567. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  568. package/esm/chart/sequence/sequence.js +4 -1
  569. package/esm/chart/sequence/sequence.js.map +1 -1
  570. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  571. package/esm/chart/util.js +5 -2
  572. package/esm/chart/util.js.map +1 -1
  573. package/esm/chart/venn/index.d.ts +3 -0
  574. package/esm/chart/venn/index.js +6 -0
  575. package/esm/chart/venn/index.js.map +1 -0
  576. package/esm/chart/venn/interface.d.ts +6 -0
  577. package/esm/chart/venn/interface.js +2 -0
  578. package/esm/chart/venn/interface.js.map +1 -0
  579. package/esm/chart/venn/venn-transformer.d.ts +7 -0
  580. package/esm/chart/venn/venn-transformer.js +20 -0
  581. package/esm/chart/venn/venn-transformer.js.map +1 -0
  582. package/esm/chart/venn/venn.d.ts +14 -0
  583. package/esm/chart/venn/venn.js +24 -0
  584. package/esm/chart/venn/venn.js.map +1 -0
  585. package/esm/compile/compiler.d.ts +3 -3
  586. package/esm/compile/compiler.js +7 -5
  587. package/esm/compile/compiler.js.map +1 -1
  588. package/esm/compile/data/compilable-data.js +3 -1
  589. package/esm/compile/data/compilable-data.js.map +1 -1
  590. package/esm/compile/interface/compiler.d.ts +1 -0
  591. package/esm/compile/interface/compiler.js.map +1 -1
  592. package/esm/compile/mark/compilable-mark.d.ts +2 -1
  593. package/esm/compile/mark/compilable-mark.js +4 -0
  594. package/esm/compile/mark/compilable-mark.js.map +1 -1
  595. package/esm/compile/mark/interface.d.ts +4 -1
  596. package/esm/compile/mark/interface.js +2 -1
  597. package/esm/compile/mark/interface.js.map +1 -1
  598. package/esm/component/axis/base-axis.d.ts +2 -0
  599. package/esm/component/axis/base-axis.js +8 -1
  600. package/esm/component/axis/base-axis.js.map +1 -1
  601. package/esm/component/axis/cartesian/axis.d.ts +1 -2
  602. package/esm/component/axis/cartesian/axis.js +30 -36
  603. package/esm/component/axis/cartesian/axis.js.map +1 -1
  604. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  605. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  606. package/esm/component/axis/cartesian/time-axis.js +2 -2
  607. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  608. package/esm/component/axis/interface/spec.d.ts +2 -0
  609. package/esm/component/axis/interface/spec.js.map +1 -1
  610. package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
  611. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  612. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
  613. package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
  614. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  615. package/esm/component/axis/polar/axis.d.ts +0 -1
  616. package/esm/component/axis/polar/axis.js +7 -11
  617. package/esm/component/axis/polar/axis.js.map +1 -1
  618. package/esm/component/axis/polar/interface/common.d.ts +1 -0
  619. package/esm/component/axis/polar/interface/common.js.map +1 -1
  620. package/esm/component/axis/polar/linear-axis.d.ts +5 -1
  621. package/esm/component/axis/polar/linear-axis.js +5 -1
  622. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  623. package/esm/component/axis/util.js +1 -1
  624. package/esm/component/axis/util.js.map +1 -1
  625. package/esm/component/base/base-component.d.ts +1 -0
  626. package/esm/component/base/base-component.js +14 -6
  627. package/esm/component/base/base-component.js.map +1 -1
  628. package/esm/component/base/util.js +2 -2
  629. package/esm/component/base/util.js.map +1 -1
  630. package/esm/component/common/trigger/mobile.js +1 -2
  631. package/esm/component/common/trigger/mobile.js.map +1 -1
  632. package/esm/component/crosshair/base.d.ts +1 -2
  633. package/esm/component/crosshair/base.js +4 -6
  634. package/esm/component/crosshair/base.js.map +1 -1
  635. package/esm/component/crosshair/cartesian.js +3 -5
  636. package/esm/component/crosshair/cartesian.js.map +1 -1
  637. package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
  638. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  639. package/esm/component/crosshair/interface/polar.d.ts +7 -5
  640. package/esm/component/crosshair/interface/polar.js.map +1 -1
  641. package/esm/component/crosshair/polar.js +4 -7
  642. package/esm/component/crosshair/polar.js.map +1 -1
  643. package/esm/component/crosshair/utils/cartesian.js +14 -14
  644. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  645. package/esm/component/crosshair/utils/common.js +2 -2
  646. package/esm/component/crosshair/utils/common.js.map +1 -1
  647. package/esm/component/crosshair/utils/polar.js +15 -9
  648. package/esm/component/crosshair/utils/polar.js.map +1 -1
  649. package/esm/component/custom-mark/custom-mark.d.ts +11 -4
  650. package/esm/component/custom-mark/custom-mark.js +43 -14
  651. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  652. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
  653. package/esm/component/data-zoom/data-filter-base-component.js +15 -11
  654. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  655. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
  656. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  657. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  658. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  659. package/esm/component/data-zoom/interface.d.ts +1 -4
  660. package/esm/component/data-zoom/interface.js +1 -5
  661. package/esm/component/data-zoom/interface.js.map +1 -1
  662. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  663. package/esm/component/data-zoom/util.js.map +1 -1
  664. package/esm/component/geo/geo-coordinate.js +1 -1
  665. package/esm/component/geo/geo-coordinate.js.map +1 -1
  666. package/esm/component/index.d.ts +7 -7
  667. package/esm/component/index.js +5 -5
  668. package/esm/component/index.js.map +1 -1
  669. package/esm/component/indicator/indicator.js +1 -1
  670. package/esm/component/indicator/indicator.js.map +1 -1
  671. package/esm/component/interface/theme.d.ts +4 -0
  672. package/esm/component/interface/theme.js.map +1 -1
  673. package/esm/component/interface/type.d.ts +4 -0
  674. package/esm/component/interface/type.js +3 -1
  675. package/esm/component/interface/type.js.map +1 -1
  676. package/esm/component/label/label.js +3 -4
  677. package/esm/component/label/label.js.map +1 -1
  678. package/esm/component/label/total-label.js +9 -2
  679. package/esm/component/label/total-label.js.map +1 -1
  680. package/esm/component/label/util.d.ts +9 -1
  681. package/esm/component/label/util.js +21 -6
  682. package/esm/component/label/util.js.map +1 -1
  683. package/esm/component/legend/base-legend.js +9 -4
  684. package/esm/component/legend/base-legend.js.map +1 -1
  685. package/esm/component/legend/continuous/interface.d.ts +1 -0
  686. package/esm/component/legend/continuous/interface.js.map +1 -1
  687. package/esm/component/legend/continuous/legend.js +5 -2
  688. package/esm/component/legend/continuous/legend.js.map +1 -1
  689. package/esm/component/legend/continuous/util.js +1 -1
  690. package/esm/component/legend/continuous/util.js.map +1 -1
  691. package/esm/component/legend/discrete/interface.d.ts +1 -0
  692. package/esm/component/legend/discrete/interface.js.map +1 -1
  693. package/esm/component/legend/discrete/legend.d.ts +4 -1
  694. package/esm/component/legend/discrete/legend.js +20 -9
  695. package/esm/component/legend/discrete/legend.js.map +1 -1
  696. package/esm/component/legend/discrete/util.js +4 -4
  697. package/esm/component/legend/discrete/util.js.map +1 -1
  698. package/esm/component/legend/util.d.ts +12 -2
  699. package/esm/component/legend/util.js +1 -1
  700. package/esm/component/legend/util.js.map +1 -1
  701. package/esm/component/map-label/component.js +2 -1
  702. package/esm/component/map-label/component.js.map +1 -1
  703. package/esm/component/marker/base-marker.d.ts +30 -44
  704. package/esm/component/marker/base-marker.js +101 -42
  705. package/esm/component/marker/base-marker.js.map +1 -1
  706. package/esm/component/marker/interface.d.ts +40 -13
  707. package/esm/component/marker/interface.js.map +1 -1
  708. package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
  709. package/esm/component/marker/mark-area/base-mark-area.js +105 -0
  710. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
  711. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
  712. package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
  713. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
  714. package/esm/component/marker/mark-area/index.d.ts +2 -1
  715. package/esm/component/marker/mark-area/index.js +3 -1
  716. package/esm/component/marker/mark-area/index.js.map +1 -1
  717. package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
  718. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  719. package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
  720. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  721. package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
  722. package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
  723. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
  724. package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
  725. package/esm/component/marker/mark-line/base-mark-line.js +124 -0
  726. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
  727. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
  728. package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
  729. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
  730. package/esm/component/marker/mark-line/index.d.ts +2 -1
  731. package/esm/component/marker/mark-line/index.js +3 -1
  732. package/esm/component/marker/mark-line/index.js.map +1 -1
  733. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  734. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  735. package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
  736. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  737. package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
  738. package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
  739. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
  740. package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
  741. package/esm/component/marker/mark-point/base-mark-point.js +139 -0
  742. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
  743. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
  744. package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
  745. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
  746. package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
  747. package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
  748. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
  749. package/esm/component/marker/mark-point/index.d.ts +3 -1
  750. package/esm/component/marker/mark-point/index.js +5 -1
  751. package/esm/component/marker/mark-point/index.js.map +1 -1
  752. package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
  753. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  754. package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
  755. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  756. package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
  757. package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
  758. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
  759. package/esm/component/marker/utils.d.ts +40 -5
  760. package/esm/component/marker/utils.js +137 -8
  761. package/esm/component/marker/utils.js.map +1 -1
  762. package/esm/component/player/player.d.ts +2 -1
  763. package/esm/component/player/player.js +16 -9
  764. package/esm/component/player/player.js.map +1 -1
  765. package/esm/component/player/utils/transform.js +3 -2
  766. package/esm/component/player/utils/transform.js.map +1 -1
  767. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  768. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  769. package/esm/component/tooltip/tooltip.d.ts +2 -6
  770. package/esm/component/tooltip/tooltip.js +13 -11
  771. package/esm/component/tooltip/tooltip.js.map +1 -1
  772. package/esm/component/tooltip/utils/compose.d.ts +2 -2
  773. package/esm/component/tooltip/utils/compose.js +4 -4
  774. package/esm/component/tooltip/utils/compose.js.map +1 -1
  775. package/esm/component/tooltip/utils/get-spec.js +3 -3
  776. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  777. package/esm/component/tooltip/utils/index.d.ts +1 -0
  778. package/esm/component/tooltip/utils/index.js +2 -0
  779. package/esm/component/tooltip/utils/index.js.map +1 -1
  780. package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
  781. package/esm/component/tooltip/utils/pattern.js.map +1 -0
  782. package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
  783. package/esm/component/tooltip/utils/show-tooltip.js +99 -87
  784. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  785. package/esm/core/factory.d.ts +1 -1
  786. package/esm/core/factory.js +1 -2
  787. package/esm/core/factory.js.map +1 -1
  788. package/esm/core/index.d.ts +1 -1
  789. package/esm/core/index.js +1 -1
  790. package/esm/core/index.js.map +1 -1
  791. package/esm/core/interface.d.ts +8 -1
  792. package/esm/core/interface.js.map +1 -1
  793. package/esm/core/vchart.d.ts +5 -2
  794. package/esm/core/vchart.js +51 -21
  795. package/esm/core/vchart.js.map +1 -1
  796. package/esm/data/transforms/aggregation.d.ts +12 -7
  797. package/esm/data/transforms/aggregation.js +16 -1
  798. package/esm/data/transforms/aggregation.js.map +1 -1
  799. package/esm/data/transforms/invalid-travel.d.ts +1 -1
  800. package/esm/data/transforms/invalid-travel.js +4 -2
  801. package/esm/data/transforms/invalid-travel.js.map +1 -1
  802. package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
  803. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  804. package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
  805. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  806. package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
  807. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  808. package/esm/data/transforms/pie.js +2 -1
  809. package/esm/data/transforms/pie.js.map +1 -1
  810. package/esm/data/transforms/sankey.js +1 -16
  811. package/esm/data/transforms/sankey.js.map +1 -1
  812. package/esm/data/transforms/waterfall.js +5 -1
  813. package/esm/data/transforms/waterfall.js.map +1 -1
  814. package/esm/event/event-dispatcher.js +8 -1
  815. package/esm/event/event-dispatcher.js.map +1 -1
  816. package/esm/event/interface.d.ts +2 -0
  817. package/esm/event/interface.js.map +1 -1
  818. package/esm/index-lark.js +4 -4
  819. package/esm/index-lark.js.map +1 -1
  820. package/esm/index-wx.js +4 -4
  821. package/esm/index-wx.js.map +1 -1
  822. package/esm/layout/base-layout.js +6 -5
  823. package/esm/layout/base-layout.js.map +1 -1
  824. package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
  825. package/esm/layout/grid-layout/grid-layout.js +4 -4
  826. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  827. package/esm/layout/layout-item.js +1 -1
  828. package/esm/layout/layout-item.js.map +1 -1
  829. package/esm/mark/base/base-mark.js +1 -1
  830. package/esm/mark/base/base-mark.js.map +1 -1
  831. package/esm/mark/index.d.ts +20 -20
  832. package/esm/mark/index.js +25 -20
  833. package/esm/mark/index.js.map +1 -1
  834. package/esm/model/base-model-transformer.js +3 -1
  835. package/esm/model/base-model-transformer.js.map +1 -1
  836. package/esm/model/base-model.js +1 -1
  837. package/esm/model/base-model.js.map +1 -1
  838. package/esm/model/interface.d.ts +1 -0
  839. package/esm/model/interface.js.map +1 -1
  840. package/esm/model/layout-model.js +3 -2
  841. package/esm/model/layout-model.js.map +1 -1
  842. package/esm/plugin/base/base-plugin-service.d.ts +2 -0
  843. package/esm/plugin/base/base-plugin-service.js +11 -1
  844. package/esm/plugin/base/base-plugin-service.js.map +1 -1
  845. package/esm/plugin/base/interface.d.ts +3 -0
  846. package/esm/plugin/base/interface.js.map +1 -1
  847. package/esm/plugin/chart/formatter/formatter.js +3 -1
  848. package/esm/plugin/chart/formatter/formatter.js.map +1 -1
  849. package/esm/plugin/chart/media-query/media-query.js +3 -1
  850. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  851. package/esm/plugin/chart/media-query/util/action.js +2 -2
  852. package/esm/plugin/chart/media-query/util/action.js.map +1 -1
  853. package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
  854. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  855. package/esm/plugin/components/register.js +1 -1
  856. package/esm/plugin/components/register.js.map +1 -1
  857. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
  858. package/esm/plugin/components/tooltip-handler/base.js +3 -3
  859. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  860. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  861. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
  862. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  863. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
  864. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  865. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
  866. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  867. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
  868. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  869. package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
  870. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  871. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  872. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  873. package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
  874. package/esm/plugin/components/tooltip-handler/utils/index.js +0 -2
  875. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
  876. package/esm/region/interface.d.ts +2 -0
  877. package/esm/region/interface.js.map +1 -1
  878. package/esm/region/region.d.ts +1 -0
  879. package/esm/region/region.js +5 -1
  880. package/esm/region/region.js.map +1 -1
  881. package/esm/series/area/area-transformer.js +1 -1
  882. package/esm/series/area/area-transformer.js.map +1 -1
  883. package/esm/series/area/area.js +4 -1
  884. package/esm/series/area/area.js.map +1 -1
  885. package/esm/series/bar/bar-3d.js +4 -1
  886. package/esm/series/bar/bar-3d.js.map +1 -1
  887. package/esm/series/bar/bar.js +4 -1
  888. package/esm/series/bar/bar.js.map +1 -1
  889. package/esm/series/base/base-series-transformer.js +3 -1
  890. package/esm/series/base/base-series-transformer.js.map +1 -1
  891. package/esm/series/base/base-series.d.ts +9 -17
  892. package/esm/series/base/base-series.js +44 -27
  893. package/esm/series/base/base-series.js.map +1 -1
  894. package/esm/series/base/tooltip-helper.d.ts +8 -5
  895. package/esm/series/base/tooltip-helper.js +31 -23
  896. package/esm/series/base/tooltip-helper.js.map +1 -1
  897. package/esm/series/box-plot/box-plot.js +4 -1
  898. package/esm/series/box-plot/box-plot.js.map +1 -1
  899. package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
  900. package/esm/series/box-plot/tooltip-helper.js +21 -21
  901. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  902. package/esm/series/cartesian/cartesian.d.ts +1 -1
  903. package/esm/series/cartesian/cartesian.js +15 -4
  904. package/esm/series/cartesian/cartesian.js.map +1 -1
  905. package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
  906. package/esm/series/circle-packing/tooltip-helper.js +1 -1
  907. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  908. package/esm/series/dot/dot.js +1 -1
  909. package/esm/series/dot/dot.js.map +1 -1
  910. package/esm/series/dot/tooltip-helper.js +12 -12
  911. package/esm/series/dot/tooltip-helper.js.map +1 -1
  912. package/esm/series/funnel/funnel.js +8 -4
  913. package/esm/series/funnel/funnel.js.map +1 -1
  914. package/esm/series/funnel/tooltip-helper.d.ts +3 -3
  915. package/esm/series/funnel/tooltip-helper.js +3 -3
  916. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  917. package/esm/series/gauge/gauge-pointer.js +4 -1
  918. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  919. package/esm/series/gauge/gauge.js +4 -1
  920. package/esm/series/gauge/gauge.js.map +1 -1
  921. package/esm/series/geo/geo.d.ts +1 -0
  922. package/esm/series/geo/geo.js +4 -2
  923. package/esm/series/geo/geo.js.map +1 -1
  924. package/esm/series/heatmap/heatmap.js +4 -1
  925. package/esm/series/heatmap/heatmap.js.map +1 -1
  926. package/esm/series/index.d.ts +7 -3
  927. package/esm/series/index.js +6 -2
  928. package/esm/series/index.js.map +1 -1
  929. package/esm/series/interface/common.d.ts +3 -2
  930. package/esm/series/interface/common.js.map +1 -1
  931. package/esm/series/interface/series.d.ts +7 -0
  932. package/esm/series/interface/series.js.map +1 -1
  933. package/esm/series/interface/theme.d.ts +2 -0
  934. package/esm/series/interface/theme.js +4 -1
  935. package/esm/series/interface/theme.js.map +1 -1
  936. package/esm/series/interface/tooltip-helper.d.ts +8 -5
  937. package/esm/series/interface/tooltip-helper.js.map +1 -1
  938. package/esm/series/interface/type.d.ts +6 -2
  939. package/esm/series/interface/type.js +3 -2
  940. package/esm/series/interface/type.js.map +1 -1
  941. package/esm/series/line/line.js +4 -1
  942. package/esm/series/line/line.js.map +1 -1
  943. package/esm/series/link/link.js +4 -1
  944. package/esm/series/link/link.js.map +1 -1
  945. package/esm/series/link/tooltip-helper.js +8 -8
  946. package/esm/series/link/tooltip-helper.js.map +1 -1
  947. package/esm/series/liquid/tooltip-helper.js +2 -2
  948. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  949. package/esm/series/map/geo-source.d.ts +3 -1
  950. package/esm/series/map/geo-source.js +7 -2
  951. package/esm/series/map/geo-source.js.map +1 -1
  952. package/esm/series/map/tooltip-helper.d.ts +1 -1
  953. package/esm/series/map/tooltip-helper.js +1 -1
  954. package/esm/series/map/tooltip-helper.js.map +1 -1
  955. package/esm/series/mixin/line-mixin.js +1 -1
  956. package/esm/series/mixin/line-mixin.js.map +1 -1
  957. package/esm/series/pie/pie-transformer.js +1 -1
  958. package/esm/series/pie/pie-transformer.js.map +1 -1
  959. package/esm/series/polar/polar.d.ts +2 -2
  960. package/esm/series/polar/polar.js +18 -6
  961. package/esm/series/polar/polar.js.map +1 -1
  962. package/esm/series/progress/circular/circular.js +5 -2
  963. package/esm/series/progress/circular/circular.js.map +1 -1
  964. package/esm/series/radar/radar.js +5 -2
  965. package/esm/series/radar/radar.js.map +1 -1
  966. package/esm/series/range-area/range-area.d.ts +0 -2
  967. package/esm/series/range-area/range-area.js +3 -5
  968. package/esm/series/range-area/range-area.js.map +1 -1
  969. package/esm/series/range-area/tooltip-helper.js +10 -10
  970. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  971. package/esm/series/range-column/3d/range-column-3d.js +4 -1
  972. package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
  973. package/esm/series/range-column/range-column.js +3 -1
  974. package/esm/series/range-column/range-column.js.map +1 -1
  975. package/esm/series/range-column/tooltip-helper.js +5 -5
  976. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  977. package/esm/series/rose/rose.js +4 -1
  978. package/esm/series/rose/rose.js.map +1 -1
  979. package/esm/series/sankey/interface.d.ts +5 -0
  980. package/esm/series/sankey/interface.js.map +1 -1
  981. package/esm/series/sankey/sankey.d.ts +10 -4
  982. package/esm/series/sankey/sankey.js +130 -162
  983. package/esm/series/sankey/sankey.js.map +1 -1
  984. package/esm/series/sankey/tooltip-helper.js +10 -10
  985. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  986. package/esm/series/scatter/scatter.js +5 -2
  987. package/esm/series/scatter/scatter.js.map +1 -1
  988. package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
  989. package/esm/series/sunburst/tooltip-helper.js +1 -1
  990. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  991. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  992. package/esm/series/treemap/tooltip-helper.js +1 -1
  993. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  994. package/esm/series/util/stack.js +28 -15
  995. package/esm/series/util/stack.js.map +1 -1
  996. package/esm/series/venn/animation.d.ts +6 -0
  997. package/esm/series/venn/animation.js +68 -0
  998. package/esm/series/venn/animation.js.map +1 -0
  999. package/esm/series/venn/constant.d.ts +2 -0
  1000. package/esm/series/venn/constant.js +17 -0
  1001. package/esm/series/venn/constant.js.map +1 -0
  1002. package/esm/series/venn/interface.d.ts +21 -0
  1003. package/esm/series/venn/interface.js +2 -0
  1004. package/esm/series/venn/interface.js.map +1 -0
  1005. package/esm/series/venn/tooltip-helper.d.ts +5 -0
  1006. package/esm/series/venn/tooltip-helper.js +11 -0
  1007. package/esm/series/venn/tooltip-helper.js.map +1 -0
  1008. package/esm/series/venn/util.d.ts +1 -0
  1009. package/esm/series/venn/util.js +4 -0
  1010. package/esm/series/venn/util.js.map +1 -0
  1011. package/esm/series/venn/venn-transform.d.ts +6 -0
  1012. package/esm/series/venn/venn-transform.js +8 -0
  1013. package/esm/series/venn/venn-transform.js.map +1 -0
  1014. package/esm/series/venn/venn.d.ts +63 -0
  1015. package/esm/series/venn/venn.js +237 -0
  1016. package/esm/series/venn/venn.js.map +1 -0
  1017. package/esm/series/waterfall/interface.d.ts +6 -1
  1018. package/esm/series/waterfall/interface.js.map +1 -1
  1019. package/esm/series/waterfall/waterfall.d.ts +9 -0
  1020. package/esm/series/waterfall/waterfall.js +24 -3
  1021. package/esm/series/waterfall/waterfall.js.map +1 -1
  1022. package/esm/series/word-cloud/base.d.ts +2 -0
  1023. package/esm/series/word-cloud/base.js +12 -17
  1024. package/esm/series/word-cloud/base.js.map +1 -1
  1025. package/esm/theme/builtin/common/component/index.js +4 -0
  1026. package/esm/theme/builtin/common/component/index.js.map +1 -1
  1027. package/esm/theme/builtin/common/series/index.js +4 -1
  1028. package/esm/theme/builtin/common/series/index.js.map +1 -1
  1029. package/esm/theme/builtin/common/series/venn.d.ts +2 -0
  1030. package/esm/theme/builtin/common/series/venn.js +56 -0
  1031. package/esm/theme/builtin/common/series/venn.js.map +1 -0
  1032. package/esm/typings/spec/chart.d.ts +2 -0
  1033. package/esm/typings/spec/chart.js.map +1 -1
  1034. package/esm/typings/spec/common.d.ts +5 -2
  1035. package/esm/typings/spec/common.js.map +1 -1
  1036. package/esm/typings/tooltip/line.d.ts +4 -0
  1037. package/esm/typings/tooltip/line.js.map +1 -1
  1038. package/esm/typings/tooltip/tooltip.d.ts +1 -0
  1039. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1040. package/esm/util/data.d.ts +21 -4
  1041. package/esm/util/data.js +39 -10
  1042. package/esm/util/data.js.map +1 -1
  1043. package/esm/util/index.d.ts +1 -0
  1044. package/esm/util/index.js +2 -0
  1045. package/esm/util/index.js.map +1 -1
  1046. package/esm/util/math.d.ts +1 -1
  1047. package/esm/util/math.js +2 -3
  1048. package/esm/util/math.js.map +1 -1
  1049. package/esm/util/spec/index.d.ts +0 -5
  1050. package/esm/util/spec/index.js +0 -10
  1051. package/esm/util/spec/index.js.map +1 -1
  1052. package/esm/util/spec/transform.js.map +1 -1
  1053. package/esm/util/theme/merge-theme.js +1 -1
  1054. package/esm/util/theme/merge-theme.js.map +1 -1
  1055. package/esm/vchart-all.js +6 -4
  1056. package/esm/vchart-all.js.map +1 -1
  1057. package/package.json +16 -15
  1058. package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
  1059. package/cjs/component/marker/mark-area/mark-area.js +0 -128
  1060. package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
  1061. package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
  1062. package/cjs/component/marker/mark-line/mark-line.js +0 -198
  1063. package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
  1064. package/cjs/component/marker/mark-point/mark-point.js +0 -138
  1065. package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
  1066. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1067. package/cjs/util/spec/clone-deep.d.ts +0 -1
  1068. package/cjs/util/spec/clone-deep.js +0 -27
  1069. package/cjs/util/spec/clone-deep.js.map +0 -1
  1070. package/cjs/util/spec/common.d.ts +0 -3
  1071. package/cjs/util/spec/common.js +0 -23
  1072. package/cjs/util/spec/common.js.map +0 -1
  1073. package/cjs/util/spec/merge-spec.d.ts +0 -5
  1074. package/cjs/util/spec/merge-spec.js +0 -69
  1075. package/cjs/util/spec/merge-spec.js.map +0 -1
  1076. package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
  1077. package/esm/component/marker/mark-area/mark-area.js +0 -134
  1078. package/esm/component/marker/mark-area/mark-area.js.map +0 -1
  1079. package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
  1080. package/esm/component/marker/mark-line/mark-line.js +0 -213
  1081. package/esm/component/marker/mark-line/mark-line.js.map +0 -1
  1082. package/esm/component/marker/mark-point/mark-point.js +0 -147
  1083. package/esm/component/marker/mark-point/mark-point.js.map +0 -1
  1084. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
  1085. package/esm/util/spec/clone-deep.d.ts +0 -1
  1086. package/esm/util/spec/clone-deep.js +0 -20
  1087. package/esm/util/spec/clone-deep.js.map +0 -1
  1088. package/esm/util/spec/common.d.ts +0 -3
  1089. package/esm/util/spec/common.js +0 -15
  1090. package/esm/util/spec/common.js.map +0 -1
  1091. package/esm/util/spec/merge-spec.d.ts +0 -5
  1092. package/esm/util/spec/merge-spec.js +0 -57
  1093. package/esm/util/spec/merge-spec.js.map +0 -1
  1094. /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
  1095. /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/map/geo-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AA4BzC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;AAExD,IAAI,UAA0B,CAAC;AAE/B,SAAS,cAAc;IACrB,IAAI,UAAU,EAAE;QACd,OAAO;KACR;IACD,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACpE,6BAA6B,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACtE,gCAAgC,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,MAAqB,EACrB,SAA0B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE7D,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,CAAC,gBAAgB,GAAG,wCAAwC,CAAC,CAAC;KACnE;IACD,cAAc,EAAE,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAoB,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9B,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,UAAU;YAChB,OAAO;SACR,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,OAAO;SACR,CAAC,CAAC;KACJ;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE;QAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KAC1C;IAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC1B,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,CAAC;QAC9C,OAAO;KACR;IACD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC","file":"geo-source.js","sourcesContent":["import { DataSet, DataView, geoJSONParser, simplify, topoJSONParser } from '@visactor/vdataset';\nimport { warn } from '../../util/debug';\nimport type { GeoSourceType } from '../../typings/geo';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { merge } from '@visactor/vutils';\n\nexport interface IGeoJsonOption {\n type?: 'geojson';\n /** 计算中心点 */\n /** @default true */\n centroid?: boolean;\n /** 地图简化 */\n /** @default false */\n simplify?: boolean;\n /** 逆时针回绕(Multi)LineString或(Multi)Polygon的外部环,内部环顺时针。*/\n /** @default false */\n rewind?:\n | boolean\n | {\n /** 启用反向绕行 */\n /** @default false */\n reverse?: boolean;\n };\n}\n\nexport interface ITopoJsonOption extends Omit<IGeoJsonOption, 'type'> {\n type: 'topojson';\n object: string;\n}\n\nexport type GeoSourceOption = IGeoJsonOption | ITopoJsonOption;\n\nexport const geoSourceMap = new Map<string, DataView>();\n\nlet mapDataSet: DataSet | null;\n\nfunction initMapDataSet() {\n if (mapDataSet) {\n return;\n }\n mapDataSet = new DataSet();\n registerDataSetInstanceParser(mapDataSet, 'geojson', geoJSONParser);\n registerDataSetInstanceParser(mapDataSet, 'topojson', topoJSONParser);\n registerDataSetInstanceTransform(mapDataSet, 'simplify', simplify);\n}\n\n/**\n * 1. 这个和mapSeries强绑定,后续可以考虑动态注册API\n * 2. 存成dataView而不是原始数据,是考虑减少parser的开销\n */\nexport function registerMapSource(\n key: string,\n source: GeoSourceType,\n option: GeoSourceOption = { type: 'geojson', centroid: true }\n) {\n if (geoSourceMap.has(key)) {\n warn(`map type of '${key}' already exists, will be overwritten.`);\n }\n initMapDataSet();\n const dataView = new DataView(mapDataSet!);\n const options: GeoSourceOption = merge({}, { centroid: true, simplify: false }, option);\n if (option.type === 'topojson') {\n dataView.parse(source, {\n type: 'topojson',\n options\n });\n } else {\n dataView.parse(source, {\n type: 'geojson',\n options\n });\n }\n\n if (option.simplify === true) {\n dataView.transform({ type: 'simplify' });\n }\n\n geoSourceMap.set(key, dataView);\n}\n\nexport function unregisterMapSource(key: string) {\n if (!geoSourceMap.has(key)) {\n warn(`map type of '${key}' does not exists.`);\n return;\n }\n geoSourceMap.delete(key);\n}\n\nexport function getMapSource(type: string) {\n return geoSourceMap.get(type);\n}\n\nexport function clearMapSource() {\n geoSourceMap.clear();\n mapDataSet = null;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/map/geo-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAsCnD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;AAExD,IAAI,UAA0B,CAAC;AAE/B,SAAS,cAAc;IACrB,IAAI,UAAU,EAAE;QACd,OAAO;KACR;IACD,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACpE,6BAA6B,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACtE,gCAAgC,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,MAAqB,EACrB,SAA0B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE7D,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,CAAC,gBAAgB,GAAG,wCAAwC,CAAC,CAAC;KACnE;IACD,cAAc,EAAE,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAoB,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9B,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,UAAU;YAChB,OAAO;SACR,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,OAAO;SACR,CAAC,CAAC;KACJ;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,IAAI,QAAQ,KAAK,IAAI,EAAE;QACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KAC1C;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC7D;IAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC1B,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,CAAC;QAC9C,OAAO;KACR;IACD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC","file":"geo-source.js","sourcesContent":["import { DataSet, DataView, geoJSONParser, simplify, topoJSONParser } from '@visactor/vdataset';\nimport { warn } from '../../util/debug';\nimport type { GeoSourceType } from '../../typings/geo';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { isObject, merge } from '@visactor/vutils';\n\nexport interface IGeoJsonOption {\n type?: 'geojson';\n /** 计算中心点 */\n /** @default true */\n centroid?: boolean;\n /** 地图简化 */\n /** @default false */\n simplify?:\n | boolean\n | {\n /**\n * A number in degrees(e.g. lat/lon distance).\n * 1 degree is roughly equivalent to 69 miles. the default is 0.001, which is around a city block long.\n * @default 0.01\n * @since 1.11.0\n */\n tolerance: number;\n };\n /** 逆时针回绕(Multi)LineString或(Multi)Polygon的外部环,内部环顺时针。*/\n /** @default false */\n rewind?:\n | boolean\n | {\n /** 启用反向绕行 */\n /** @default false */\n reverse?: boolean;\n };\n}\n\nexport interface ITopoJsonOption extends Omit<IGeoJsonOption, 'type'> {\n type: 'topojson';\n object: string;\n}\n\nexport type GeoSourceOption = IGeoJsonOption | ITopoJsonOption;\n\nexport const geoSourceMap = new Map<string, DataView>();\n\nlet mapDataSet: DataSet | null;\n\nfunction initMapDataSet() {\n if (mapDataSet) {\n return;\n }\n mapDataSet = new DataSet();\n registerDataSetInstanceParser(mapDataSet, 'geojson', geoJSONParser);\n registerDataSetInstanceParser(mapDataSet, 'topojson', topoJSONParser);\n registerDataSetInstanceTransform(mapDataSet, 'simplify', simplify);\n}\n\n/**\n * 1. 这个和mapSeries强绑定,后续可以考虑动态注册API\n * 2. 存成dataView而不是原始数据,是考虑减少parser的开销\n */\nexport function registerMapSource(\n key: string,\n source: GeoSourceType,\n option: GeoSourceOption = { type: 'geojson', centroid: true }\n) {\n if (geoSourceMap.has(key)) {\n warn(`map type of '${key}' already exists, will be overwritten.`);\n }\n initMapDataSet();\n const dataView = new DataView(mapDataSet!);\n const options: GeoSourceOption = merge({}, { centroid: true, simplify: false }, option);\n if (option.type === 'topojson') {\n dataView.parse(source, {\n type: 'topojson',\n options\n });\n } else {\n dataView.parse(source, {\n type: 'geojson',\n options\n });\n }\n\n const { simplify } = option;\n if (simplify === true) {\n dataView.transform({ type: 'simplify' });\n } else if (isObject(simplify)) {\n dataView.transform({ type: 'simplify', options: simplify });\n }\n\n geoSourceMap.set(key, dataView);\n}\n\nexport function unregisterMapSource(key: string) {\n if (!geoSourceMap.has(key)) {\n warn(`map type of '${key}' does not exists.`);\n return;\n }\n geoSourceMap.delete(key);\n}\n\nexport function getMapSource(type: string) {\n return geoSourceMap.get(type);\n}\n\nexport function clearMapSource() {\n geoSourceMap.clear();\n mapDataSet = null;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ISeriesTooltipHelper } from '../interface';
2
2
  import { BaseSeriesTooltipHelper } from '../base/tooltip-helper';
3
3
  export declare class MapSeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {
4
- titleValueCallback: (datum: any) => any;
4
+ dimensionTooltipTitleCallback: (datum: any) => any;
5
5
  }
@@ -2,7 +2,7 @@ import { BaseSeriesTooltipHelper } from "../base/tooltip-helper";
2
2
 
3
3
  export class MapSeriesTooltipHelper extends BaseSeriesTooltipHelper {
4
4
  constructor() {
5
- super(...arguments), this.titleValueCallback = datum => {
5
+ super(...arguments), this.dimensionTooltipTitleCallback = datum => {
6
6
  var _a;
7
7
  const series = this.series;
8
8
  return null !== (_a = this._getDimensionData(datum)) && void 0 !== _a ? _a : series.getDatumName(datum);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/map/tooltip-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAAnE;;QACE,uBAAkB,GAAG,CAAC,KAAU,EAAE,EAAE;;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAmB,CAAC;YACxC,OAAO,MAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,mCAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport type { MapSeries } from './map';\n\nexport class MapSeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n titleValueCallback = (datum: any) => {\n const series = this.series as MapSeries;\n return this._getDimensionData(datum) ?? series.getDatumName(datum);\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/series/map/tooltip-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAAnE;;QACE,kCAA6B,GAAG,CAAC,KAAU,EAAE,EAAE;;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAmB,CAAC;YACxC,OAAO,MAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,mCAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport type { MapSeries } from './map';\n\nexport class MapSeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n dimensionTooltipTitleCallback = (datum: any) => {\n const series = this.series as MapSeries;\n return this._getDimensionData(datum) ?? series.getDatumName(datum);\n };\n}\n"]}
@@ -18,7 +18,7 @@ import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
18
18
 
19
19
  import { lineLikeSeriesMark } from "./constant";
20
20
 
21
- import { mergeSpec } from "../../util/spec";
21
+ import { mergeSpec } from "@visactor/vutils-extension";
22
22
 
23
23
  export class LineLikeSeriesMixin {
24
24
  addSamplingCompile() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/mixin/line-mixin.ts"],"names":[],"mappings":"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","file":"line-mixin.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ISeriesOption } from '../interface/common';\nimport { DataView } from '@visactor/vdataset';\nimport { ChartEvent } from '../../constant/event';\nimport type { ISeries } from '../interface/series';\nimport { AttributeLevel } from '../../constant';\n\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { ILineMark } from '../../mark/line';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type {\n DirectionType,\n IInvalidType,\n InterpolateType,\n ILineMarkSpec,\n ISymbolMarkSpec,\n Maybe,\n Datum,\n IMarkTheme,\n ILayoutRect\n} from '../../typings';\nimport { DEFAULT_LINEAR_INTERPOLATE, DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_CLOSE_STROKE_JOIN } from '../../typings/line-stroke';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo, ISeriesMarkInitOption, ISeriesTooltipHelper } from '../interface';\nimport type { ILabelSpec } from '../../component/label';\nimport { shouldMarkDoMorph } from '../../animation/utils';\nimport type { DimensionEventParams } from '../../event/events/dimension';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionEventEnum } from '../../event/events/dimension';\nimport type { EventCallback, EventParams } from '../../event/interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { lineLikeSeriesMark } from './constant';\nimport type { ILabelMark } from '../../mark/label';\nimport type { Functional } from '@visactor/vrender-components';\nimport type { IRegion } from '../../region/interface';\nimport type { SeriesData } from '../base/series-data';\nimport { mergeSpec } from '../../util/spec';\n\nexport interface ILineLikeSeriesTheme {\n line?: Partial<IMarkTheme<ILineMarkSpec>>;\n point?: Partial<IMarkTheme<ISymbolMarkSpec>> & { visibleInActive?: boolean };\n label?: Partial<ILineLikeLabelSpec>;\n}\n\nexport type ILineLikeLabelSpec = Omit<ILabelSpec, 'position'> & {\n /** 标签位置\n * @since 1.6.0\n * 支持以函数形式配置\n */\n position?: Functional<\n 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center'\n >;\n};\n\nexport interface LineLikeSeriesMixin extends ISeries {\n _spec: any;\n _option: ISeriesOption;\n _seriesField: string;\n _theme: Maybe<ILineLikeSeriesTheme>;\n _tooltipHelper: ISeriesTooltipHelper;\n _invalidType: IInvalidType;\n _region: IRegion;\n _direction: DirectionType;\n _data: SeriesData;\n\n _lineMark: ILineMark;\n _symbolMark: ISymbolMark;\n _symbolActiveMark: ISymbolMark;\n _labelMark: ITextMark;\n _fieldX?: string[];\n _fieldY?: string[];\n _fieldZ?: string[];\n\n _createMark: (markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption) => IMark;\n _getInvalidDefined: () => boolean;\n _getInvalidConnectType: () => IInvalidType;\n\n getLayoutRect: () => ILayoutRect;\n}\n\nexport class LineLikeSeriesMixin {\n addSamplingCompile(): void {\n if (this._spec.sampling) {\n const { width, height } = this._region.getLayoutRect();\n const samplingTrans = [];\n const fieldsY = this._fieldY;\n const fieldsX = this._fieldX;\n\n samplingTrans.push({\n type: 'sampling',\n size: this._direction === Direction.horizontal ? height : width,\n factor: this._spec.samplingFactor,\n yfield: this._direction === Direction.horizontal ? fieldsX[0] : fieldsY[0],\n groupBy: this._seriesField,\n mode: this._spec.sampling\n });\n this._data.getProduct().transform(samplingTrans);\n }\n }\n\n addOverlapCompile(): void {\n if (this._spec.markOverlap) {\n const overlapTrans = [];\n overlapTrans.push({\n type: 'markoverlap',\n direction: this._direction === Direction.horizontal && this.coordinate === 'cartesian' ? 2 : 1,\n delta: this._spec.pointDis,\n deltaMul: this._spec.pointDisMul,\n groupBy: this._seriesField\n });\n this._symbolMark?.getProduct().transform(overlapTrans);\n }\n }\n\n reCompileSampling(): void {\n if (this._spec.sampling) {\n this.compile();\n }\n }\n\n initLineMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n this._lineMark = this._createMark(lineLikeSeriesMark.line, {\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: isSeriesMark ?? true,\n progressive,\n customShape: this._spec.line?.customShape,\n stateSort: this._spec.line?.stateSort\n }) as ILineMark;\n return this._lineMark;\n }\n\n initLineMarkStyle(direction?: DirectionType, areaCurveType?: InterpolateType) {\n const lineMark = this._lineMark;\n if (lineMark) {\n this.setMarkStyle(\n lineMark,\n {\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n lineMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(lineMark, 'defined');\n });\n if (this.coordinate === 'polar') {\n // 极坐标系下需要关闭\n this.setMarkStyle(\n lineMark,\n {\n lineJoin: DEFAULT_CLOSE_STROKE_JOIN,\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const userCurveType = areaCurveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n this.setMarkStyle(\n lineMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n\n this.setMarkStyle(\n lineMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n return lineMark;\n }\n\n protected _getEventElement(params: DimensionEventParams, reverse: boolean = false): Datum[] {\n // items 修改遍历方法从 mark\n let data: Datum[] = [];\n params.dimensionInfo.some(df => {\n df.data.some(dd => {\n if (dd.series === this) {\n data = dd.datum;\n return true;\n }\n return false;\n });\n return !data.length;\n });\n return data;\n }\n\n protected _dimensionTrigger(params: DimensionEventParams) {\n const elements = this._getEventElement(params);\n\n switch (params.action) {\n case 'enter':\n this._symbolActiveMark.getDataView().parse(elements);\n this._symbolActiveMark.getData().updateData(false);\n break;\n case 'leave':\n this._symbolActiveMark.getDataView().parse([]);\n this._symbolActiveMark.getData().updateData(false);\n case 'click':\n case 'move':\n default:\n break;\n }\n }\n\n initSymbolMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n const pointSpec = this._spec.point || {};\n\n if (pointSpec.visible !== false) {\n this._symbolMark = this._createMark(lineLikeSeriesMark.point, {\n morph: shouldMarkDoMorph(this._spec, lineLikeSeriesMark.point.name),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n progressive,\n isSeriesMark: !!isSeriesMark,\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }) as ISymbolMark;\n }\n\n if (this._spec.activePoint === true) {\n const activeData = new DataView(this._option.dataSet, { name: `${PREFIX}_series_${this.id}_active_point` });\n activeData.parse([]);\n this._symbolActiveMark = this._createMark(\n { name: `active_point_${this.id}`, type: MarkTypeEnum.symbol },\n {\n morph: false,\n groupKey: this._seriesField,\n isSeriesMark: false,\n dataView: activeData,\n parent: this._region.getInteractionMark(),\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }\n ) as ISymbolMark;\n this._symbolActiveMark.setVisible(false);\n }\n\n return this._symbolMark;\n }\n\n initSymbolMarkStyle() {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n this._initSymbolActiveMarkAlone();\n return symbolMark;\n }\n // 设置基础样式\n this._initSymbolMark(symbolMark);\n\n // setStyle to active point\n if (this._symbolActiveMark && this._symbolMark.stateStyle.dimension_hover) {\n // active point will show\n this._symbolActiveMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n for (const state in this._symbolMark.stateStyle) {\n this._symbolActiveMark.stateStyle[state] = {};\n for (const key in this._symbolMark.stateStyle[state]) {\n this._symbolActiveMark.stateStyle[state][key] = {\n style: null,\n level: AttributeLevel.Series,\n referer: symbolMark\n };\n }\n }\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n\n return symbolMark;\n }\n\n private _initSymbolMark(symbolMark: ISymbolMark) {\n if (!symbolMark) {\n return;\n }\n this.setMarkStyle(\n symbolMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n symbolMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(symbolMark, 'visible');\n });\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n private _initSymbolActiveMarkAlone() {\n const symbolMark = this._symbolActiveMark;\n if (!symbolMark) {\n return;\n }\n this._initSymbolMark(symbolMark);\n\n // 这里应该不能讲trigger-mark改为activeMark,activeMark数据会变,并且目前不支持selected等操作改变它的数据\n // this._trigger.registerMark(symbolMark);\n\n // setStyle to active point\n if (symbolMark && this._spec[lineLikeSeriesMark.point.name]?.state?.dimension_hover) {\n // active point will show\n symbolMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n this.initMarkStyleWithSpec(\n symbolMark,\n mergeSpec({}, this._spec[lineLikeSeriesMark.point.name], { visible: true })\n );\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n }\n\n initLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n if (labelMark.getTarget()?.type !== 'symbol') {\n labelMark.setRule('line-data');\n }\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(labelMark, 'visible');\n });\n }\n\n initLineLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getSeriesField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n encodeDefined(mark: IMark, attr: string) {\n if (!mark) {\n return;\n }\n const allValid = this._isFieldAllValid();\n if (this._invalidType === 'zero' || allValid) {\n if (mark.stateStyle.normal?.[attr]?.style === true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: true }, 'normal', AttributeLevel.Series);\n } else {\n if (mark.stateStyle.normal?.[attr]?.style !== true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: this._getInvalidDefined.bind(this) }, 'normal', AttributeLevel.Series);\n }\n // if has produce, reCompile encode to set attribute to product\n if (mark.getProduct()) {\n mark.compileEncode();\n }\n }\n\n protected _isFieldAllValid() {\n const viewStatistics = this.getViewDataStatistics();\n const field = this.getStackValueField();\n if (viewStatistics && viewStatistics.latestData && field) {\n return viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/mixin/line-mixin.ts"],"names":[],"mappings":"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","file":"line-mixin.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ISeriesOption } from '../interface/common';\nimport { DataView } from '@visactor/vdataset';\nimport { ChartEvent } from '../../constant/event';\nimport type { ISeries } from '../interface/series';\nimport { AttributeLevel } from '../../constant';\n\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { ILineMark } from '../../mark/line';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type {\n DirectionType,\n IInvalidType,\n InterpolateType,\n ILineMarkSpec,\n ISymbolMarkSpec,\n Maybe,\n Datum,\n IMarkTheme,\n ILayoutRect\n} from '../../typings';\nimport { DEFAULT_LINEAR_INTERPOLATE, DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_CLOSE_STROKE_JOIN } from '../../typings/line-stroke';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo, ISeriesMarkInitOption, ISeriesTooltipHelper } from '../interface';\nimport type { ILabelSpec } from '../../component/label';\nimport { shouldMarkDoMorph } from '../../animation/utils';\nimport type { DimensionEventParams } from '../../event/events/dimension';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionEventEnum } from '../../event/events/dimension';\nimport type { EventCallback, EventParams } from '../../event/interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { lineLikeSeriesMark } from './constant';\nimport type { ILabelMark } from '../../mark/label';\nimport type { Functional } from '@visactor/vrender-components';\nimport type { IRegion } from '../../region/interface';\nimport type { SeriesData } from '../base/series-data';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport interface ILineLikeSeriesTheme {\n line?: Partial<IMarkTheme<ILineMarkSpec>>;\n point?: Partial<IMarkTheme<ISymbolMarkSpec>> & { visibleInActive?: boolean };\n label?: Partial<ILineLikeLabelSpec>;\n}\n\nexport type ILineLikeLabelSpec = Omit<ILabelSpec, 'position'> & {\n /** 标签位置\n * @since 1.6.0\n * 支持以函数形式配置\n */\n position?: Functional<\n 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center'\n >;\n};\n\nexport interface LineLikeSeriesMixin extends ISeries {\n _spec: any;\n _option: ISeriesOption;\n _seriesField: string;\n _theme: Maybe<ILineLikeSeriesTheme>;\n _tooltipHelper: ISeriesTooltipHelper;\n _invalidType: IInvalidType;\n _region: IRegion;\n _direction: DirectionType;\n _data: SeriesData;\n\n _lineMark: ILineMark;\n _symbolMark: ISymbolMark;\n _symbolActiveMark: ISymbolMark;\n _labelMark: ITextMark;\n _fieldX?: string[];\n _fieldY?: string[];\n _fieldZ?: string[];\n\n _createMark: (markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption) => IMark;\n _getInvalidDefined: () => boolean;\n _getInvalidConnectType: () => IInvalidType;\n\n getLayoutRect: () => ILayoutRect;\n}\n\nexport class LineLikeSeriesMixin {\n addSamplingCompile(): void {\n if (this._spec.sampling) {\n const { width, height } = this._region.getLayoutRect();\n const samplingTrans = [];\n const fieldsY = this._fieldY;\n const fieldsX = this._fieldX;\n\n samplingTrans.push({\n type: 'sampling',\n size: this._direction === Direction.horizontal ? height : width,\n factor: this._spec.samplingFactor,\n yfield: this._direction === Direction.horizontal ? fieldsX[0] : fieldsY[0],\n groupBy: this._seriesField,\n mode: this._spec.sampling\n });\n this._data.getProduct().transform(samplingTrans);\n }\n }\n\n addOverlapCompile(): void {\n if (this._spec.markOverlap) {\n const overlapTrans = [];\n overlapTrans.push({\n type: 'markoverlap',\n direction: this._direction === Direction.horizontal && this.coordinate === 'cartesian' ? 2 : 1,\n delta: this._spec.pointDis,\n deltaMul: this._spec.pointDisMul,\n groupBy: this._seriesField\n });\n this._symbolMark?.getProduct().transform(overlapTrans);\n }\n }\n\n reCompileSampling(): void {\n if (this._spec.sampling) {\n this.compile();\n }\n }\n\n initLineMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n this._lineMark = this._createMark(lineLikeSeriesMark.line, {\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: isSeriesMark ?? true,\n progressive,\n customShape: this._spec.line?.customShape,\n stateSort: this._spec.line?.stateSort\n }) as ILineMark;\n return this._lineMark;\n }\n\n initLineMarkStyle(direction?: DirectionType, areaCurveType?: InterpolateType) {\n const lineMark = this._lineMark;\n if (lineMark) {\n this.setMarkStyle(\n lineMark,\n {\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n lineMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(lineMark, 'defined');\n });\n if (this.coordinate === 'polar') {\n // 极坐标系下需要关闭\n this.setMarkStyle(\n lineMark,\n {\n lineJoin: DEFAULT_CLOSE_STROKE_JOIN,\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const userCurveType = areaCurveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n this.setMarkStyle(\n lineMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n\n this.setMarkStyle(\n lineMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n return lineMark;\n }\n\n protected _getEventElement(params: DimensionEventParams, reverse: boolean = false): Datum[] {\n // items 修改遍历方法从 mark\n let data: Datum[] = [];\n params.dimensionInfo.some(df => {\n df.data.some(dd => {\n if (dd.series === this) {\n data = dd.datum;\n return true;\n }\n return false;\n });\n return !data.length;\n });\n return data;\n }\n\n protected _dimensionTrigger(params: DimensionEventParams) {\n const elements = this._getEventElement(params);\n\n switch (params.action) {\n case 'enter':\n this._symbolActiveMark.getDataView().parse(elements);\n this._symbolActiveMark.getData().updateData(false);\n break;\n case 'leave':\n this._symbolActiveMark.getDataView().parse([]);\n this._symbolActiveMark.getData().updateData(false);\n case 'click':\n case 'move':\n default:\n break;\n }\n }\n\n initSymbolMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n const pointSpec = this._spec.point || {};\n\n if (pointSpec.visible !== false) {\n this._symbolMark = this._createMark(lineLikeSeriesMark.point, {\n morph: shouldMarkDoMorph(this._spec, lineLikeSeriesMark.point.name),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n progressive,\n isSeriesMark: !!isSeriesMark,\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }) as ISymbolMark;\n }\n\n if (this._spec.activePoint === true) {\n const activeData = new DataView(this._option.dataSet, { name: `${PREFIX}_series_${this.id}_active_point` });\n activeData.parse([]);\n this._symbolActiveMark = this._createMark(\n { name: `active_point_${this.id}`, type: MarkTypeEnum.symbol },\n {\n morph: false,\n groupKey: this._seriesField,\n isSeriesMark: false,\n dataView: activeData,\n parent: this._region.getInteractionMark(),\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }\n ) as ISymbolMark;\n this._symbolActiveMark.setVisible(false);\n }\n\n return this._symbolMark;\n }\n\n initSymbolMarkStyle() {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n this._initSymbolActiveMarkAlone();\n return symbolMark;\n }\n // 设置基础样式\n this._initSymbolMark(symbolMark);\n\n // setStyle to active point\n if (this._symbolActiveMark && this._symbolMark.stateStyle.dimension_hover) {\n // active point will show\n this._symbolActiveMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n for (const state in this._symbolMark.stateStyle) {\n this._symbolActiveMark.stateStyle[state] = {};\n for (const key in this._symbolMark.stateStyle[state]) {\n this._symbolActiveMark.stateStyle[state][key] = {\n style: null,\n level: AttributeLevel.Series,\n referer: symbolMark\n };\n }\n }\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n\n return symbolMark;\n }\n\n private _initSymbolMark(symbolMark: ISymbolMark) {\n if (!symbolMark) {\n return;\n }\n this.setMarkStyle(\n symbolMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n symbolMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(symbolMark, 'visible');\n });\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n private _initSymbolActiveMarkAlone() {\n const symbolMark = this._symbolActiveMark;\n if (!symbolMark) {\n return;\n }\n this._initSymbolMark(symbolMark);\n\n // 这里应该不能讲trigger-mark改为activeMark,activeMark数据会变,并且目前不支持selected等操作改变它的数据\n // this._trigger.registerMark(symbolMark);\n\n // setStyle to active point\n if (symbolMark && this._spec[lineLikeSeriesMark.point.name]?.state?.dimension_hover) {\n // active point will show\n symbolMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n this.initMarkStyleWithSpec(\n symbolMark,\n mergeSpec({}, this._spec[lineLikeSeriesMark.point.name], { visible: true })\n );\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n }\n\n initLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n if (labelMark.getTarget()?.type !== 'symbol') {\n labelMark.setRule('line-data');\n }\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(labelMark, 'visible');\n });\n }\n\n initLineLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getSeriesField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n encodeDefined(mark: IMark, attr: string) {\n if (!mark) {\n return;\n }\n const allValid = this._isFieldAllValid();\n if (this._invalidType === 'zero' || allValid) {\n if (mark.stateStyle.normal?.[attr]?.style === true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: true }, 'normal', AttributeLevel.Series);\n } else {\n if (mark.stateStyle.normal?.[attr]?.style !== true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: this._getInvalidDefined.bind(this) }, 'normal', AttributeLevel.Series);\n }\n // if has produce, reCompile encode to set attribute to product\n if (mark.getProduct()) {\n mark.compileEncode();\n }\n }\n\n protected _isFieldAllValid() {\n const viewStatistics = this.getViewDataStatistics();\n const field = this.getStackValueField();\n if (viewStatistics && viewStatistics.latestData && field) {\n return viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid;\n }\n return false;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { isArray, isValid } from "@visactor/vutils";
2
2
 
3
- import { mergeSpec } from "../../util";
3
+ import { mergeSpec } from "@visactor/vutils-extension";
4
4
 
5
5
  import { BaseSeriesSpecTransformer } from "../base";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/pie/pie-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAIpD,MAAM,OAAO,wBAGX,SAAQ,yBAA+B;IAC7B,mBAAmB,CAAC,IAAO;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,QAAyB,CAAC;IACvD,CAAC;IAGS,iBAAiB,CAAC,IAAO,EAAE,SAAc;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAI/D,OAAO,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAQ,CAAC;YAEjE,MAAM,kBAAkB,GAAG,CAAC,QAAmC,EAAE,KAAoB,EAAE,EAAE;gBACvF,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACzB,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACrD;gBACD,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC;YAEF,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;aACvF;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3E;SACF;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB,CAAC,SAAc;;QAC/C,MAAM,IAAI,GAAG,MAAC,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAS,mCAAI,EAAE,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;CACF","file":"pie-transformer.js","sourcesContent":["import { isArray, isValid } from '@visactor/vutils';\nimport { mergeSpec } from '../../util';\nimport { BaseSeriesSpecTransformer } from '../base';\nimport { SeriesMarkNameEnum } from '../interface';\nimport type { IArcLabelSpec, IBasePieSeriesSpec, IPieSeriesTheme } from './interface';\n\nexport class PieSeriesSpecTransformer<\n T extends IBasePieSeriesSpec = IBasePieSeriesSpec,\n K extends IPieSeriesTheme = IPieSeriesTheme\n> extends BaseSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.pie);\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec(spec: T, chartSpec: any): { spec: T; theme: K } {\n const theme = this._theme;\n let newSpec = spec;\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(chartSpec);\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n // 动态处理 label 样式,对于展示在内部的 label 默认使用 innerLabel 样式\n newSpec = mergeSpec({}, this._theme, specFromChart, spec) as any;\n\n const getMergedLabelSpec = (position: IArcLabelSpec['position'], label: IArcLabelSpec) => {\n if (position === 'inside') {\n return mergeSpec({}, this._theme.innerLabel, label);\n }\n return mergeSpec({}, this._theme.outerLabel, label);\n };\n\n if (isArray(newSpec.label)) {\n newSpec.label = newSpec.label.map(label => getMergedLabelSpec(label.position, label));\n } else {\n newSpec.label = getMergedLabelSpec(newSpec.label.position, newSpec.label);\n }\n }\n\n return { spec: newSpec, theme };\n }\n\n protected _getDefaultSpecFromChart(chartSpec: any): any {\n const spec = (super._getDefaultSpecFromChart(chartSpec) as any) ?? {};\n const { centerX, centerY } = chartSpec;\n if (isValid(centerX)) {\n spec.centerX = centerX;\n }\n if (isValid(centerY)) {\n spec.centerY = centerY;\n }\n return Object.keys(spec).length > 0 ? spec : undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/pie/pie-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAIpD,MAAM,OAAO,wBAGX,SAAQ,yBAA+B;IAC7B,mBAAmB,CAAC,IAAO;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,QAAyB,CAAC;IACvD,CAAC;IAGS,iBAAiB,CAAC,IAAO,EAAE,SAAc;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAI/D,OAAO,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAQ,CAAC;YAEjE,MAAM,kBAAkB,GAAG,CAAC,QAAmC,EAAE,KAAoB,EAAE,EAAE;gBACvF,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACzB,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACrD;gBACD,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC;YAEF,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;aACvF;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3E;SACF;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB,CAAC,SAAc;;QAC/C,MAAM,IAAI,GAAG,MAAC,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAS,mCAAI,EAAE,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;CACF","file":"pie-transformer.js","sourcesContent":["import { isArray, isValid } from '@visactor/vutils';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { BaseSeriesSpecTransformer } from '../base';\nimport { SeriesMarkNameEnum } from '../interface';\nimport type { IArcLabelSpec, IBasePieSeriesSpec, IPieSeriesTheme } from './interface';\n\nexport class PieSeriesSpecTransformer<\n T extends IBasePieSeriesSpec = IBasePieSeriesSpec,\n K extends IPieSeriesTheme = IPieSeriesTheme\n> extends BaseSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.pie);\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec(spec: T, chartSpec: any): { spec: T; theme: K } {\n const theme = this._theme;\n let newSpec = spec;\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(chartSpec);\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n // 动态处理 label 样式,对于展示在内部的 label 默认使用 innerLabel 样式\n newSpec = mergeSpec({}, this._theme, specFromChart, spec) as any;\n\n const getMergedLabelSpec = (position: IArcLabelSpec['position'], label: IArcLabelSpec) => {\n if (position === 'inside') {\n return mergeSpec({}, this._theme.innerLabel, label);\n }\n return mergeSpec({}, this._theme.outerLabel, label);\n };\n\n if (isArray(newSpec.label)) {\n newSpec.label = newSpec.label.map(label => getMergedLabelSpec(label.position, label));\n } else {\n newSpec.label = getMergedLabelSpec(newSpec.label.position, newSpec.label);\n }\n }\n\n return { spec: newSpec, theme };\n }\n\n protected _getDefaultSpecFromChart(chartSpec: any): any {\n const spec = (super._getDefaultSpecFromChart(chartSpec) as any) ?? {};\n const { centerX, centerY } = chartSpec;\n if (isValid(centerX)) {\n spec.centerX = centerX;\n }\n if (isValid(centerY)) {\n spec.centerY = centerY;\n }\n return Object.keys(spec).length > 0 ? spec : undefined;\n }\n}\n"]}
@@ -54,7 +54,7 @@ export declare abstract class PolarSeries<T extends IPolarSeriesSpec = IPolarSer
54
54
  onAngleAxisHelperUpdate(): void;
55
55
  afterInitMark(): void;
56
56
  protected _computeLayoutRadius(): number;
57
- fillData(): void;
57
+ protected initEvent(): void;
58
58
  _sortDataInAxisDomain(): void;
59
- protected _getInvalidDefined(datum: Datum): boolean;
59
+ protected getInvalidCheckFields(): string[];
60
60
  }
@@ -1,7 +1,5 @@
1
1
  import { array, isValid, isNil } from "@visactor/vutils";
2
2
 
3
- import { couldBeValidNumber } from "../../util/type";
4
-
5
3
  import { isContinuous } from "@visactor/vscale";
6
4
 
7
5
  import { POLAR_DEFAULT_RADIUS } from "../../constant/polar";
@@ -10,6 +8,8 @@ import { BaseSeries } from "../base/base-series";
10
8
 
11
9
  import { sortDataInAxisHelper } from "../util/utils";
12
10
 
11
+ import { ChartEvent } from "../../constant";
12
+
13
13
  export class PolarSeries extends BaseSeries {
14
14
  constructor() {
15
15
  super(...arguments), this.coordinate = "polar", this._outerRadius = POLAR_DEFAULT_RADIUS,
@@ -135,15 +135,27 @@ export class PolarSeries extends BaseSeries {
135
135
  const {width: width, height: height} = this._region.getLayoutRect();
136
136
  return Math.min(width / 2, height / 2);
137
137
  }
138
- fillData() {
139
- super.fillData(), this.sortDataByAxis && this._sortDataInAxisDomain();
138
+ initEvent() {
139
+ super.initEvent(), this.sortDataByAxis && this.event.on(ChartEvent.scaleDomainUpdate, {
140
+ filter: param => {
141
+ var _a;
142
+ return param.model.id === (null === (_a = this._angleAxisHelper) || void 0 === _a ? void 0 : _a.getAxisId());
143
+ }
144
+ }, (() => {
145
+ this._sortDataInAxisDomain();
146
+ }));
140
147
  }
141
148
  _sortDataInAxisDomain() {
142
149
  var _a, _b;
143
150
  (null === (_b = null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b.length) && sortDataInAxisHelper(this.angleAxisHelper, this._angleField[0], this.getViewData().latestData);
144
151
  }
145
- _getInvalidDefined(datum) {
146
- return !(this.angleAxisHelper.isContinuous && !couldBeValidNumber(datum[this._angleField[0]])) && !(this.radiusAxisHelper.isContinuous && !couldBeValidNumber(datum[this._radiusField[0]]));
152
+ getInvalidCheckFields() {
153
+ const fields = [];
154
+ return this.angleAxisHelper.isContinuous && this._angleField.forEach((f => {
155
+ fields.push(f);
156
+ })), this.radiusAxisHelper.isContinuous && this._radiusField.forEach((f => {
157
+ fields.push(f);
158
+ })), fields;
147
159
  }
148
160
  }
149
161
  //# sourceMappingURL=polar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/polar/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IPolarSeries } from '../interface';\nimport { array, isValid, isNil } from '@visactor/vutils';\nimport { couldBeValidNumber } from '../../util/type';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { POLAR_DEFAULT_RADIUS } from '../../constant/polar';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPolarSeriesSpec } from './interface';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { sortDataInAxisHelper } from '../util/utils';\n\nexport abstract class PolarSeries<T extends IPolarSeriesSpec = IPolarSeriesSpec>\n extends BaseSeries<T>\n implements IPolarSeries\n{\n readonly coordinate: 'polar' = 'polar';\n\n protected _outerRadius: number = POLAR_DEFAULT_RADIUS;\n public get outerRadius() {\n return this._outerRadius;\n }\n\n protected _innerRadius: number = 0;\n public get innerRadius() {\n return this._innerRadius;\n }\n\n protected _angleField: string[] = [];\n getAngleField() {\n return this._angleField;\n }\n setAngleField(f: string | string[]): string[] {\n this._angleField = isValid(f) ? array(f) : [];\n return this._angleField;\n }\n\n protected _radiusField: string[] = [];\n getRadiusField() {\n return this._radiusField;\n }\n setRadiusField(f: string | string[]): string[] {\n this._radiusField = isValid(f) ? array(f) : [];\n return this._radiusField;\n }\n\n protected _specAngleField: string[];\n protected _specRadiusField: string[];\n\n protected _innerRadiusField!: string[];\n public get innerRadiusField() {\n return this._innerRadiusField;\n }\n setInnerRadiusField(f: string | string[]): string[] {\n this._innerRadiusField = array(f);\n return this._innerRadiusField;\n }\n\n protected _radiusScale!: IBaseScale;\n public get radiusScale() {\n return this._radiusScale;\n }\n setRadiusScale(s: IBaseScale) {\n this._radiusScale = s;\n return s;\n }\n\n protected _angleScale!: IBaseScale;\n public get angleScale() {\n return this._angleScale;\n }\n setAngleScale(s: IBaseScale) {\n this._angleScale = s;\n return s;\n }\n\n private _angleAxisHelper!: IPolarAxisHelper;\n public get angleAxisHelper() {\n return this._angleAxisHelper;\n }\n public set angleAxisHelper(h: IPolarAxisHelper) {\n this._angleAxisHelper = h;\n this.onAngleAxisHelperUpdate();\n }\n\n private _radiusAxisHelper!: IPolarAxisHelper;\n public get radiusAxisHelper() {\n return this._radiusAxisHelper;\n }\n public set radiusAxisHelper(h: IPolarAxisHelper) {\n this._radiusAxisHelper = h;\n this.onRadiusAxisHelperUpdate();\n }\n\n protected _sortDataByAxis: boolean = false;\n get sortDataByAxis() {\n return this._sortDataByAxis;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n this._markAttributeContext.getCenter = () => this.angleAxisHelper.center();\n this._markAttributeContext.getLayoutRadius = () => this._computeLayoutRadius();\n }\n\n valueToPosition(angleValue: StringOrNumber | StringOrNumber[], radiusValue: StringOrNumber | StringOrNumber[]) {\n if (isNil(angleValue) || isNil(radiusValue) || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return { x: Number.NaN, y: Number.NaN };\n }\n const angle = this.angleAxisHelper.dataToPosition(array(angleValue));\n const radius = this.radiusAxisHelper.dataToPosition(array(radiusValue));\n // FIXME: 由于存在两个轴,这里的 坐标系转换逻辑会有点尬\n return this.angleAxisHelper.coordToPoint({ angle, radius });\n }\n\n dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return null;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return null;\n }\n // FIXME: 由于存在两个轴,这里的 坐标系转换逻辑会有点尬\n return this.valueToPosition(\n this.getDatumPositionValues(datum, this._angleField),\n this.getDatumPositionValues(datum, this._radiusField)\n );\n }\n\n dataToPositionX(datum: Datum): number {\n return this.dataToPosition(datum)?.x;\n }\n\n dataToPositionY(datum: Datum): number {\n return this.dataToPosition(datum)?.y;\n }\n\n dataToPositionZ(datum: Datum): number {\n return 0;\n }\n\n // todo: 待实现\n positionToData(p: IPolarPoint): any {\n /* do nothing */\n }\n radiusToData(r: number): any {\n /* do nothing */\n }\n angleToData(a: number): any {\n /* do nothing */\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n if (this.radiusAxisHelper?.getScale) {\n this._radiusField.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.radiusAxisHelper.getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.angleAxisHelper?.getScale) {\n this._angleField.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.angleAxisHelper.getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n return fields;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n if (isValid(this._spec.outerRadius)) {\n this._outerRadius = this._spec.outerRadius;\n }\n if (isValid(this._spec.radius)) {\n // 优先使用outerRadius, 但要兼容spec.radius\n this._outerRadius = this._spec.radius;\n }\n if (isValid(this._spec.innerRadius)) {\n this._innerRadius = this._spec.innerRadius;\n }\n\n if (isValid(this._spec.sortDataByAxis)) {\n this._sortDataByAxis = this._spec.sortDataByAxis === true;\n }\n }\n\n onRadiusAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n onAngleAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n }\n\n protected _computeLayoutRadius() {\n const { width, height } = this._region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n fillData(): void {\n super.fillData();\n if (this.sortDataByAxis) {\n this._sortDataInAxisDomain();\n }\n }\n\n _sortDataInAxisDomain() {\n if (this.getViewData()?.latestData?.length) {\n sortDataInAxisHelper(this.angleAxisHelper, this._angleField[0], this.getViewData().latestData);\n }\n }\n\n protected _getInvalidDefined(datum: Datum) {\n if (this.angleAxisHelper.isContinuous) {\n if (!couldBeValidNumber(datum[this._angleField[0]])) {\n return false;\n }\n }\n if (this.radiusAxisHelper.isContinuous) {\n if (!couldBeValidNumber(datum[this._radiusField[0]])) {\n return false;\n }\n }\n return true;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/polar/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IPolarSeries } from '../interface';\nimport { array, isValid, isNil } from '@visactor/vutils';\nimport { couldBeValidNumber } from '../../util/type';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { POLAR_DEFAULT_RADIUS } from '../../constant/polar';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPolarSeriesSpec } from './interface';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { sortDataInAxisHelper } from '../util/utils';\nimport { ChartEvent } from '../../constant';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { invalidTravel } from '../../data/transforms/invalid-travel';\n\nexport abstract class PolarSeries<T extends IPolarSeriesSpec = IPolarSeriesSpec>\n extends BaseSeries<T>\n implements IPolarSeries\n{\n readonly coordinate: 'polar' = 'polar';\n\n protected _outerRadius: number = POLAR_DEFAULT_RADIUS;\n public get outerRadius() {\n return this._outerRadius;\n }\n\n protected _innerRadius: number = 0;\n public get innerRadius() {\n return this._innerRadius;\n }\n\n protected _angleField: string[] = [];\n getAngleField() {\n return this._angleField;\n }\n setAngleField(f: string | string[]): string[] {\n this._angleField = isValid(f) ? array(f) : [];\n return this._angleField;\n }\n\n protected _radiusField: string[] = [];\n getRadiusField() {\n return this._radiusField;\n }\n setRadiusField(f: string | string[]): string[] {\n this._radiusField = isValid(f) ? array(f) : [];\n return this._radiusField;\n }\n\n protected _specAngleField: string[];\n protected _specRadiusField: string[];\n\n protected _innerRadiusField!: string[];\n public get innerRadiusField() {\n return this._innerRadiusField;\n }\n setInnerRadiusField(f: string | string[]): string[] {\n this._innerRadiusField = array(f);\n return this._innerRadiusField;\n }\n\n protected _radiusScale!: IBaseScale;\n public get radiusScale() {\n return this._radiusScale;\n }\n setRadiusScale(s: IBaseScale) {\n this._radiusScale = s;\n return s;\n }\n\n protected _angleScale!: IBaseScale;\n public get angleScale() {\n return this._angleScale;\n }\n setAngleScale(s: IBaseScale) {\n this._angleScale = s;\n return s;\n }\n\n private _angleAxisHelper!: IPolarAxisHelper;\n public get angleAxisHelper() {\n return this._angleAxisHelper;\n }\n public set angleAxisHelper(h: IPolarAxisHelper) {\n this._angleAxisHelper = h;\n this.onAngleAxisHelperUpdate();\n }\n\n private _radiusAxisHelper!: IPolarAxisHelper;\n public get radiusAxisHelper() {\n return this._radiusAxisHelper;\n }\n public set radiusAxisHelper(h: IPolarAxisHelper) {\n this._radiusAxisHelper = h;\n this.onRadiusAxisHelperUpdate();\n }\n\n protected _sortDataByAxis: boolean = false;\n get sortDataByAxis() {\n return this._sortDataByAxis;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n this._markAttributeContext.getCenter = () => this.angleAxisHelper.center();\n this._markAttributeContext.getLayoutRadius = () => this._computeLayoutRadius();\n }\n\n valueToPosition(angleValue: StringOrNumber | StringOrNumber[], radiusValue: StringOrNumber | StringOrNumber[]) {\n if (isNil(angleValue) || isNil(radiusValue) || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return { x: Number.NaN, y: Number.NaN };\n }\n const angle = this.angleAxisHelper.dataToPosition(array(angleValue));\n const radius = this.radiusAxisHelper.dataToPosition(array(radiusValue));\n // FIXME: 由于存在两个轴,这里的 坐标系转换逻辑会有点尬\n return this.angleAxisHelper.coordToPoint({ angle, radius });\n }\n\n dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return null;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return null;\n }\n // FIXME: 由于存在两个轴,这里的 坐标系转换逻辑会有点尬\n return this.valueToPosition(\n this.getDatumPositionValues(datum, this._angleField),\n this.getDatumPositionValues(datum, this._radiusField)\n );\n }\n\n dataToPositionX(datum: Datum): number {\n return this.dataToPosition(datum)?.x;\n }\n\n dataToPositionY(datum: Datum): number {\n return this.dataToPosition(datum)?.y;\n }\n\n dataToPositionZ(datum: Datum): number {\n return 0;\n }\n\n // todo: 待实现\n positionToData(p: IPolarPoint): any {\n /* do nothing */\n }\n radiusToData(r: number): any {\n /* do nothing */\n }\n angleToData(a: number): any {\n /* do nothing */\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n if (this.radiusAxisHelper?.getScale) {\n this._radiusField.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.radiusAxisHelper.getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.angleAxisHelper?.getScale) {\n this._angleField.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.angleAxisHelper.getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n return fields;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n if (isValid(this._spec.outerRadius)) {\n this._outerRadius = this._spec.outerRadius;\n }\n if (isValid(this._spec.radius)) {\n // 优先使用outerRadius, 但要兼容spec.radius\n this._outerRadius = this._spec.radius;\n }\n if (isValid(this._spec.innerRadius)) {\n this._innerRadius = this._spec.innerRadius;\n }\n\n if (isValid(this._spec.sortDataByAxis)) {\n this._sortDataByAxis = this._spec.sortDataByAxis === true;\n }\n }\n\n onRadiusAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n onAngleAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n }\n\n protected _computeLayoutRadius() {\n const { width, height } = this._region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n protected initEvent() {\n super.initEvent();\n // 通过轴事件来进行排序。轴的domain数据变化在系列的统计数据完成后\n if (this.sortDataByAxis) {\n this.event.on(\n ChartEvent.scaleDomainUpdate,\n {\n filter: param => param.model.id === this._angleAxisHelper?.getAxisId()\n },\n () => {\n // 只能排序,不能修改数据,此时已经在数据流的统计流程之后\n this._sortDataInAxisDomain();\n }\n );\n }\n }\n\n _sortDataInAxisDomain() {\n if (this.getViewData()?.latestData?.length) {\n sortDataInAxisHelper(this.angleAxisHelper, this._angleField[0], this.getViewData().latestData);\n }\n }\n\n protected getInvalidCheckFields() {\n const fields: string[] = [];\n\n if (this.angleAxisHelper.isContinuous) {\n this._angleField.forEach(f => {\n fields.push(f);\n });\n }\n\n if (this.radiusAxisHelper.isContinuous) {\n this._radiusField.forEach(f => {\n fields.push(f);\n });\n }\n return fields;\n }\n}\n"]}
@@ -20,6 +20,8 @@ import { registerFadeInOutAnimation } from "../../../animation/config";
20
20
 
21
21
  import { CircularProgressSeriesSpecTransformer } from "./circular-transformer";
22
22
 
23
+ import { registerPolarLinearAxis, registerPolarBandAxis } from "../../../component/axis/polar";
24
+
23
25
  export class CircularProgressSeries extends ProgressLikeSeries {
24
26
  constructor() {
25
27
  super(...arguments), this.type = SeriesTypeEnum.circularProgress, this.transformerConstructor = CircularProgressSeriesSpecTransformer,
@@ -138,7 +140,8 @@ CircularProgressSeries.type = SeriesTypeEnum.circularProgress, CircularProgressS
138
140
  CircularProgressSeries.transformerConstructor = CircularProgressSeriesSpecTransformer;
139
141
 
140
142
  export const registerCircularProgressSeries = () => {
141
- registerArcMark(), registerProgressLikeAnimation(), registerFadeInOutAnimation(),
142
- Factory.registerSeries(CircularProgressSeries.type, CircularProgressSeries);
143
+ Factory.registerSeries(CircularProgressSeries.type, CircularProgressSeries), registerArcMark(),
144
+ registerProgressLikeAnimation(), registerFadeInOutAnimation(), registerPolarBandAxis(),
145
+ registerPolarLinearAxis();
143
146
  };
144
147
  //# sourceMappingURL=circular.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/progress/circular/circular.ts"],"names":[],"mappings":"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","file":"circular.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { BandScale } from '@visactor/vscale';\nimport type { IArcMark } from '../../../mark/arc';\nimport type { Datum } from '../../../typings';\nimport { isValidNumber } from '@visactor/vutils';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport type { ICircularProgressSeriesSpec } from './interface';\nimport { ProgressLikeSeries } from '../../polar/progress-like/progress-like';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { registerArcMark } from '../../../mark/arc';\nimport { circularProgressSeriesMark } from './constant';\nimport { STACK_FIELD_END, STACK_FIELD_START, AttributeLevel } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport { registerProgressLikeAnimation } from '../../polar/progress-like';\nimport { registerFadeInOutAnimation } from '../../../animation/config';\nimport type { IMark } from '../../../mark/interface';\nimport { CircularProgressSeriesSpecTransformer } from './circular-transformer';\n\nexport class CircularProgressSeries<\n T extends ICircularProgressSeriesSpec = ICircularProgressSeriesSpec\n> extends ProgressLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.circularProgress;\n type = SeriesTypeEnum.circularProgress;\n\n static readonly mark: SeriesMarkMap = circularProgressSeriesMark;\n static readonly transformerConstructor = CircularProgressSeriesSpecTransformer as any;\n readonly transformerConstructor = CircularProgressSeriesSpecTransformer;\n\n private _progressMark: IArcMark | null = null;\n private _trackMark: IArcMark | null = null;\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getGroupFields() {\n return this._radiusField;\n }\n\n initMark(): void {\n super.initMark();\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(CircularProgressSeries.mark.progress, {\n parent: this._arcGroupMark,\n isSeriesMark: true,\n customShape: this._spec.progress?.customShape,\n stateSort: this._spec.progress?.stateSort\n }) as IArcMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n this.setMarkStyle(\n progressMark,\n {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart,\n endAngle: this._getAngleValueEnd,\n innerRadius: this._getRadiusValueStart,\n outerRadius: this._getRadiusValueEnd,\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initInteraction(): void {\n const marks: IMark[] = [];\n\n if (this._trackMark) {\n marks.push(this._trackMark);\n }\n\n if (this._progressMark) {\n marks.push(this._progressMark);\n }\n this._parseInteractionConfig(marks);\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._progressMark && this._tooltipHelper.activeTriggerSet.mark.add(this._progressMark);\n }\n\n private _initTrackMark() {\n this._trackMark = this._createMark(CircularProgressSeries.mark.track, {\n parent: this._arcGroupMark,\n customShape: this._spec.track?.customShape,\n stateSort: this._spec.track?.stateSort\n }) as IArcMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(\n trackMark,\n {\n visible: (datum: Datum) => {\n const scale = this.angleAxisHelper.getScale(0);\n const range = scale.range();\n const min = Math.min(range[0], range[range.length - 1]);\n const startValue = this._getAngleValueStartWithoutMask(datum);\n // 堆叠情况只显示第一组的背景\n return Math.abs(startValue - min) <= 1e-14;\n },\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: () => {\n const fieldName = this.getStack() ? STACK_FIELD_START : this._angleField[0];\n const scale = this.angleAxisHelper.getScale(0);\n const domain = scale.domain();\n return this._getAngleValueStart({ [fieldName]: domain[0] });\n },\n endAngle: () => {\n const fieldName = this.getStack() ? STACK_FIELD_END : this._angleField[0];\n const scale = this.angleAxisHelper.getScale(0);\n const domain = scale.domain();\n return this._getAngleValueEnd({ [fieldName]: domain[domain.length - 1] });\n },\n innerRadius: this._getRadiusValueStart,\n outerRadius: this._getRadiusValueEnd,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 100\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected _getRadiusValueStart = (datum: Datum) => {\n if (this.getGroupFields().length > 1) {\n const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields()));\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]);\n };\n\n protected _getRadiusValueEnd = (datum: Datum) => {\n if (this.getGroupFields().length > 1) {\n const value =\n this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.radiusAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0);\n if (isValidNumber(value)) {\n return value;\n }\n }\n return (\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]) +\n (this.radiusAxisHelper.getScale(0) as BandScale).step()\n );\n };\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('circularProgress')?.({ startAngle: this._startAngle }, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec, this._markAttributeContext)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec, this._markAttributeContext)\n )\n );\n }\n\n getActiveMarks(): IMark[] {\n return [this._progressMark];\n }\n}\n\nexport const registerCircularProgressSeries = () => {\n registerArcMark();\n registerProgressLikeAnimation();\n registerFadeInOutAnimation();\n Factory.registerSeries(CircularProgressSeries.type, CircularProgressSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/progress/circular/circular.ts"],"names":[],"mappings":"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","file":"circular.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { BandScale } from '@visactor/vscale';\nimport type { IArcMark } from '../../../mark/arc';\nimport type { Datum } from '../../../typings';\nimport { isValidNumber } from '@visactor/vutils';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport type { ICircularProgressSeriesSpec } from './interface';\nimport { ProgressLikeSeries } from '../../polar/progress-like/progress-like';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { registerArcMark } from '../../../mark/arc';\nimport { circularProgressSeriesMark } from './constant';\nimport { STACK_FIELD_END, STACK_FIELD_START, AttributeLevel } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport { registerProgressLikeAnimation } from '../../polar/progress-like';\nimport { registerFadeInOutAnimation } from '../../../animation/config';\nimport type { IMark } from '../../../mark/interface';\nimport { CircularProgressSeriesSpecTransformer } from './circular-transformer';\nimport { registerPolarLinearAxis, registerPolarBandAxis } from '../../../component/axis/polar';\n\nexport class CircularProgressSeries<\n T extends ICircularProgressSeriesSpec = ICircularProgressSeriesSpec\n> extends ProgressLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.circularProgress;\n type = SeriesTypeEnum.circularProgress;\n\n static readonly mark: SeriesMarkMap = circularProgressSeriesMark;\n static readonly transformerConstructor = CircularProgressSeriesSpecTransformer as any;\n readonly transformerConstructor = CircularProgressSeriesSpecTransformer;\n\n private _progressMark: IArcMark | null = null;\n private _trackMark: IArcMark | null = null;\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getGroupFields() {\n return this._radiusField;\n }\n\n initMark(): void {\n super.initMark();\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(CircularProgressSeries.mark.progress, {\n parent: this._arcGroupMark,\n isSeriesMark: true,\n customShape: this._spec.progress?.customShape,\n stateSort: this._spec.progress?.stateSort\n }) as IArcMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n this.setMarkStyle(\n progressMark,\n {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart,\n endAngle: this._getAngleValueEnd,\n innerRadius: this._getRadiusValueStart,\n outerRadius: this._getRadiusValueEnd,\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initInteraction(): void {\n const marks: IMark[] = [];\n\n if (this._trackMark) {\n marks.push(this._trackMark);\n }\n\n if (this._progressMark) {\n marks.push(this._progressMark);\n }\n this._parseInteractionConfig(marks);\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._progressMark && this._tooltipHelper.activeTriggerSet.mark.add(this._progressMark);\n }\n\n private _initTrackMark() {\n this._trackMark = this._createMark(CircularProgressSeries.mark.track, {\n parent: this._arcGroupMark,\n customShape: this._spec.track?.customShape,\n stateSort: this._spec.track?.stateSort\n }) as IArcMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(\n trackMark,\n {\n visible: (datum: Datum) => {\n const scale = this.angleAxisHelper.getScale(0);\n const range = scale.range();\n const min = Math.min(range[0], range[range.length - 1]);\n const startValue = this._getAngleValueStartWithoutMask(datum);\n // 堆叠情况只显示第一组的背景\n return Math.abs(startValue - min) <= 1e-14;\n },\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: () => {\n const fieldName = this.getStack() ? STACK_FIELD_START : this._angleField[0];\n const scale = this.angleAxisHelper.getScale(0);\n const domain = scale.domain();\n return this._getAngleValueStart({ [fieldName]: domain[0] });\n },\n endAngle: () => {\n const fieldName = this.getStack() ? STACK_FIELD_END : this._angleField[0];\n const scale = this.angleAxisHelper.getScale(0);\n const domain = scale.domain();\n return this._getAngleValueEnd({ [fieldName]: domain[domain.length - 1] });\n },\n innerRadius: this._getRadiusValueStart,\n outerRadius: this._getRadiusValueEnd,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 100\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected _getRadiusValueStart = (datum: Datum) => {\n if (this.getGroupFields().length > 1) {\n const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields()));\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]);\n };\n\n protected _getRadiusValueEnd = (datum: Datum) => {\n if (this.getGroupFields().length > 1) {\n const value =\n this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.radiusAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0);\n if (isValidNumber(value)) {\n return value;\n }\n }\n return (\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]) +\n (this.radiusAxisHelper.getScale(0) as BandScale).step()\n );\n };\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('circularProgress')?.({ startAngle: this._startAngle }, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec, this._markAttributeContext)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec, this._markAttributeContext)\n )\n );\n }\n\n getActiveMarks(): IMark[] {\n return [this._progressMark];\n }\n}\n\nexport const registerCircularProgressSeries = () => {\n Factory.registerSeries(CircularProgressSeries.type, CircularProgressSeries);\n registerArcMark();\n registerProgressLikeAnimation();\n registerFadeInOutAnimation();\n registerPolarBandAxis();\n registerPolarLinearAxis();\n};\n"]}
@@ -28,6 +28,8 @@ import { registerMarkOverlapTransform } from "@visactor/vgrammar-core";
28
28
 
29
29
  import { LineLikeSeriesSpecTransformer } from "../mixin/line-mixin-transformer";
30
30
 
31
+ import { registerPolarBandAxis, registerPolarLinearAxis } from "../../component/axis/polar";
32
+
31
33
  export class RadarSeries extends RoseLikeSeries {
32
34
  constructor() {
33
35
  super(...arguments), this.type = SeriesTypeEnum.radar, this.transformerConstructor = LineLikeSeriesSpecTransformer,
@@ -134,7 +136,8 @@ RadarSeries.type = SeriesTypeEnum.radar, RadarSeries.mark = radarSeriesMark, Rad
134
136
  mixin(RadarSeries, LineLikeSeriesMixin);
135
137
 
136
138
  export const registerRadarSeries = () => {
137
- registerMarkOverlapTransform(), registerAreaMark(), registerLineMark(), registerSymbolMark(),
138
- registerRadarAnimation(), Factory.registerSeries(RadarSeries.type, RadarSeries);
139
+ Factory.registerSeries(RadarSeries.type, RadarSeries), registerMarkOverlapTransform(),
140
+ registerAreaMark(), registerLineMark(), registerSymbolMark(), registerRadarAnimation(),
141
+ registerPolarBandAxis(), registerPolarLinearAxis();
139
142
  };
140
143
  //# sourceMappingURL=radar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/radar/radar.ts"],"names":[],"mappings":"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","file":"radar.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { ILineMark } from '../../mark/line';\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\nimport { AttributeLevel, ChartEvent, POLAR_START_RADIAN } from '../../constant';\nimport { DEFAULT_LINEAR_INTERPOLATE } from '../../typings/interpolate';\nimport type { Datum, IPoint, IPolarPoint } from '../../typings';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { degreeToRadian, isArray, mixin, isValid } from '@visactor/vutils';\nimport type { IRadarSeriesSpec } from './interface';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './animation';\nimport { registerRadarAnimation } from './animation';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { IAreaMark } from '../../mark/area';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerLineMark } from '../../mark/line';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { radarSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\n\nexport interface RadarSeries<T extends IRadarSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addOverlapCompile'\n >,\n RoseLikeSeries<T> {}\n\nexport class RadarSeries<T extends IRadarSeriesSpec = IRadarSeriesSpec> extends RoseLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.radar;\n type = SeriesTypeEnum.radar;\n\n static readonly mark: SeriesMarkMap = radarSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer as any;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n\n private _areaMark: ILineMark;\n protected _sortDataByAxis: boolean = false;\n\n initGroups() {\n // do nothing\n }\n\n compile(): void {\n super.compile();\n this.addOverlapCompile();\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const seriesMark = this._spec.seriesMark ?? 'area';\n this.initAreaMark(progressive, isAreaVisible && seriesMark === 'area');\n this.initLineMark(progressive, seriesMark === 'line' || (seriesMark === 'area' && !isAreaVisible));\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n this.initAreaMarkStyle();\n this.initLineMarkStyle();\n this.initSymbolMarkStyle();\n }\n\n initAreaMark(progressive: IMarkProgressiveConfig, isSeriesMark: boolean) {\n this._areaMark = this._createMark(RadarSeries.mark.area, {\n progressive,\n isSeriesMark,\n customShape: this._spec.area?.customShape,\n stateSort: this._spec.area?.stateSort\n }) as IAreaMark;\n }\n\n initAreaMarkStyle() {\n const areaMark = this._areaMark;\n if (areaMark) {\n this.setMarkStyle(\n areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n x1: (datum: Datum) => {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPosition(\n this.getDatumPositionValues(datum, this._angleField),\n this.getStack()\n ? this.getDatumPositionValues(datum, this._innerRadiusField)\n : this.radiusScale.domain()[0]\n ).x;\n },\n y1: (datum: Datum) => {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return Number.NaN;\n }\n\n const value = this.valueToPosition(\n this.getDatumPositionValues(datum, this._angleField),\n this.getStack()\n ? this.getDatumPositionValues(datum, this._innerRadiusField)\n : this.radiusScale.domain()[0]\n ).y;\n return value;\n },\n fill: this.getColorAttribute(),\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(areaMark, 'defined');\n });\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n const { dimension, group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._lineMark) {\n dimension.add(this._lineMark);\n group.add(this._lineMark);\n }\n if (this._areaMark) {\n dimension.add(this._areaMark);\n group.add(this._areaMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n initAnimation() {\n const animationParams: IRadarAnimationParams = {\n center: () => this.angleAxisHelper?.center(),\n radius: () => {\n const rect = this.getLayoutRect();\n return Math.min(rect.width, rect.height);\n },\n startAngle: isValid(this._spec.startAngle) ? degreeToRadian(this._spec.startAngle) : POLAR_START_RADIAN,\n pointToCoord: (point: IPoint) => this.angleAxisHelper?.pointToCoord(point),\n coordToPoint: (coord: IPolarPoint) => this.angleAxisHelper.coordToPoint(coord)\n };\n const appearPreset = ((this._spec?.animationAppear as IStateAnimateSpec<RadarAppearPreset>)?.preset ??\n 'clipIn') as RadarAppearPreset;\n\n if (appearPreset === 'clipIn') {\n if (this._rootMark) {\n this._rootMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('radarGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.group, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n\n // TODO: animationType\n const markAnimationMap: [IMark, string][] = [\n [this._areaMark, 'radar'],\n [this._lineMark, 'radar'],\n [this._symbolMark, 'radarSymbol']\n ];\n\n // 为 mark 添加动画\n markAnimationMap.forEach(([mark, animation]) => {\n if (isValid(mark)) {\n const getAnimation = Factory.getAnimationInKey(animation);\n mark.setAnimationConfig(\n animationConfig(\n getAnimation?.(animationParams, appearPreset),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n }\n });\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && !result) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(RadarSeries, LineLikeSeriesMixin);\n\nexport const registerRadarSeries = () => {\n registerMarkOverlapTransform();\n registerAreaMark();\n registerLineMark();\n registerSymbolMark();\n registerRadarAnimation();\n Factory.registerSeries(RadarSeries.type, RadarSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/radar/radar.ts"],"names":[],"mappings":"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","file":"radar.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { ILineMark } from '../../mark/line';\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\nimport { AttributeLevel, ChartEvent, POLAR_START_RADIAN } from '../../constant';\nimport { DEFAULT_LINEAR_INTERPOLATE } from '../../typings/interpolate';\nimport type { Datum, IPoint, IPolarPoint } from '../../typings';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { degreeToRadian, isArray, mixin, isValid } from '@visactor/vutils';\nimport type { IRadarSeriesSpec } from './interface';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './animation';\nimport { registerRadarAnimation } from './animation';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { IAreaMark } from '../../mark/area';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerLineMark } from '../../mark/line';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { radarSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerPolarBandAxis, registerPolarLinearAxis } from '../../component/axis/polar';\n\nexport interface RadarSeries<T extends IRadarSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addOverlapCompile'\n >,\n RoseLikeSeries<T> {}\n\nexport class RadarSeries<T extends IRadarSeriesSpec = IRadarSeriesSpec> extends RoseLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.radar;\n type = SeriesTypeEnum.radar;\n\n static readonly mark: SeriesMarkMap = radarSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer as any;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n\n private _areaMark: ILineMark;\n protected _sortDataByAxis: boolean = false;\n\n initGroups() {\n // do nothing\n }\n\n compile(): void {\n super.compile();\n this.addOverlapCompile();\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const seriesMark = this._spec.seriesMark ?? 'area';\n this.initAreaMark(progressive, isAreaVisible && seriesMark === 'area');\n this.initLineMark(progressive, seriesMark === 'line' || (seriesMark === 'area' && !isAreaVisible));\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n this.initAreaMarkStyle();\n this.initLineMarkStyle();\n this.initSymbolMarkStyle();\n }\n\n initAreaMark(progressive: IMarkProgressiveConfig, isSeriesMark: boolean) {\n this._areaMark = this._createMark(RadarSeries.mark.area, {\n progressive,\n isSeriesMark,\n customShape: this._spec.area?.customShape,\n stateSort: this._spec.area?.stateSort\n }) as IAreaMark;\n }\n\n initAreaMarkStyle() {\n const areaMark = this._areaMark;\n if (areaMark) {\n this.setMarkStyle(\n areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n x1: (datum: Datum) => {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPosition(\n this.getDatumPositionValues(datum, this._angleField),\n this.getStack()\n ? this.getDatumPositionValues(datum, this._innerRadiusField)\n : this.radiusScale.domain()[0]\n ).x;\n },\n y1: (datum: Datum) => {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return Number.NaN;\n }\n\n const value = this.valueToPosition(\n this.getDatumPositionValues(datum, this._angleField),\n this.getStack()\n ? this.getDatumPositionValues(datum, this._innerRadiusField)\n : this.radiusScale.domain()[0]\n ).y;\n return value;\n },\n fill: this.getColorAttribute(),\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(areaMark, 'defined');\n });\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n const { dimension, group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._lineMark) {\n dimension.add(this._lineMark);\n group.add(this._lineMark);\n }\n if (this._areaMark) {\n dimension.add(this._areaMark);\n group.add(this._areaMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n initAnimation() {\n const animationParams: IRadarAnimationParams = {\n center: () => this.angleAxisHelper?.center(),\n radius: () => {\n const rect = this.getLayoutRect();\n return Math.min(rect.width, rect.height);\n },\n startAngle: isValid(this._spec.startAngle) ? degreeToRadian(this._spec.startAngle) : POLAR_START_RADIAN,\n pointToCoord: (point: IPoint) => this.angleAxisHelper?.pointToCoord(point),\n coordToPoint: (coord: IPolarPoint) => this.angleAxisHelper.coordToPoint(coord)\n };\n const appearPreset = ((this._spec?.animationAppear as IStateAnimateSpec<RadarAppearPreset>)?.preset ??\n 'clipIn') as RadarAppearPreset;\n\n if (appearPreset === 'clipIn') {\n if (this._rootMark) {\n this._rootMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('radarGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.group, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n\n // TODO: animationType\n const markAnimationMap: [IMark, string][] = [\n [this._areaMark, 'radar'],\n [this._lineMark, 'radar'],\n [this._symbolMark, 'radarSymbol']\n ];\n\n // 为 mark 添加动画\n markAnimationMap.forEach(([mark, animation]) => {\n if (isValid(mark)) {\n const getAnimation = Factory.getAnimationInKey(animation);\n mark.setAnimationConfig(\n animationConfig(\n getAnimation?.(animationParams, appearPreset),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n }\n });\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && !result) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(RadarSeries, LineLikeSeriesMixin);\n\nexport const registerRadarSeries = () => {\n Factory.registerSeries(RadarSeries.type, RadarSeries);\n registerMarkOverlapTransform();\n registerAreaMark();\n registerLineMark();\n registerSymbolMark();\n registerRadarAnimation();\n registerPolarBandAxis();\n registerPolarLinearAxis();\n};\n"]}
@@ -1,7 +1,6 @@
1
1
  import { AreaSeries } from '../area/area';
2
2
  import type { SeriesMarkMap } from '../interface';
3
3
  import { SeriesTypeEnum } from '../interface/type';
4
- import type { Datum } from '../../typings';
5
4
  import type { IAreaSeriesSpec } from '../area/interface';
6
5
  export declare class RangeAreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends AreaSeries<T> {
7
6
  static readonly type: string;
@@ -12,6 +11,5 @@ export declare class RangeAreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec
12
11
  initAreaMarkStyle(): void;
13
12
  protected initTooltip(): void;
14
13
  protected _isFieldAllValid(): boolean;
15
- protected _getInvalidDefined(datum: Datum): boolean;
16
14
  }
17
15
  export declare const registerRangeAreaSeries: () => void;
@@ -12,7 +12,7 @@ import { rangeAreaSeriesMark } from "./constant";
12
12
 
13
13
  import { Factory } from "../../core/factory";
14
14
 
15
- import { couldBeValidNumber } from "../../util";
15
+ import { registerCartesianLinearAxis, registerCartesianBandAxis } from "../../component/axis/cartesian";
16
16
 
17
17
  export class RangeAreaSeries extends AreaSeries {
18
18
  constructor() {
@@ -61,14 +61,12 @@ export class RangeAreaSeries extends AreaSeries {
61
61
  const viewStatistics = this.getViewDataStatistics(), fields = this.fieldY;
62
62
  return !!(viewStatistics && viewStatistics.latestData && fields.length) && fields.every((field => viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid));
63
63
  }
64
- _getInvalidDefined(datum) {
65
- return !!super._getInvalidDefined(datum) && !(this._yAxisHelper && this._yAxisHelper.isContinuous && !couldBeValidNumber(datum[this._specYField[1]]));
66
- }
67
64
  }
68
65
 
69
66
  RangeAreaSeries.type = SeriesTypeEnum.rangeArea, RangeAreaSeries.mark = rangeAreaSeriesMark;
70
67
 
71
68
  export const registerRangeAreaSeries = () => {
72
- registerAreaMark(), Factory.registerSeries(RangeAreaSeries.type, RangeAreaSeries);
69
+ registerAreaMark(), registerCartesianBandAxis(), registerCartesianLinearAxis(),
70
+ Factory.registerSeries(RangeAreaSeries.type, RangeAreaSeries);
73
71
  };
74
72
  //# sourceMappingURL=range-area.js.map