@visactor/vchart 1.3.0-beta.8 → 1.3.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 (985) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +17083 -16200
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +2 -2
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/area/area.js +2 -2
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +2 -2
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base-chart.d.ts +1 -0
  14. package/cjs/chart/base-chart.js +14 -8
  15. package/cjs/chart/base-chart.js.map +1 -1
  16. package/cjs/chart/box-plot/box-plot.js +2 -2
  17. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian.js +1 -1
  19. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  20. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  21. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  22. package/cjs/chart/funnel/funnel-3d.js +2 -2
  23. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  24. package/cjs/chart/funnel/funnel.js +2 -2
  25. package/cjs/chart/funnel/funnel.js.map +1 -1
  26. package/cjs/chart/gauge/gauge.js +2 -2
  27. package/cjs/chart/gauge/gauge.js.map +1 -1
  28. package/cjs/chart/heatmap/heatmap.js +2 -2
  29. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  30. package/cjs/chart/histogram/histogram-3d.js +2 -2
  31. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  32. package/cjs/chart/histogram/histogram.js +2 -2
  33. package/cjs/chart/histogram/histogram.js.map +1 -1
  34. package/cjs/chart/index.d.ts +1 -1
  35. package/cjs/chart/index.js.map +1 -1
  36. package/cjs/chart/line/line.js +2 -2
  37. package/cjs/chart/line/line.js.map +1 -1
  38. package/cjs/chart/map/map.js +2 -2
  39. package/cjs/chart/map/map.js.map +1 -1
  40. package/cjs/chart/pie/pie-3d.js +2 -2
  41. package/cjs/chart/pie/pie-3d.js.map +1 -1
  42. package/cjs/chart/pie/pie.js +2 -2
  43. package/cjs/chart/pie/pie.js.map +1 -1
  44. package/cjs/chart/polar/progress-like.js +2 -2
  45. package/cjs/chart/polar/progress-like.js.map +1 -1
  46. package/cjs/chart/polar/rose-like.js +1 -1
  47. package/cjs/chart/polar/rose-like.js.map +1 -1
  48. package/cjs/chart/progress/circular/circular.js +2 -2
  49. package/cjs/chart/progress/circular/circular.js.map +1 -1
  50. package/cjs/chart/progress/linear/linear.js +4 -4
  51. package/cjs/chart/progress/linear/linear.js.map +1 -1
  52. package/cjs/chart/radar/radar.js +4 -4
  53. package/cjs/chart/radar/radar.js.map +1 -1
  54. package/cjs/chart/range-area/range-area.js +2 -2
  55. package/cjs/chart/range-area/range-area.js.map +1 -1
  56. package/cjs/chart/range-column/range-column-3d.js +2 -2
  57. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  58. package/cjs/chart/range-column/range-column.js +2 -2
  59. package/cjs/chart/range-column/range-column.js.map +1 -1
  60. package/cjs/chart/rose/rose.js +3 -3
  61. package/cjs/chart/rose/rose.js.map +1 -1
  62. package/cjs/chart/sankey/sankey.js +2 -2
  63. package/cjs/chart/sankey/sankey.js.map +1 -1
  64. package/cjs/chart/scatter/scatter.js +2 -2
  65. package/cjs/chart/scatter/scatter.js.map +1 -1
  66. package/cjs/chart/sequence/sequence.js +2 -2
  67. package/cjs/chart/sequence/sequence.js.map +1 -1
  68. package/cjs/chart/stack.js.map +1 -1
  69. package/cjs/chart/sunburst/sunburst.js +2 -2
  70. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  71. package/cjs/chart/treemap/treemap.js +2 -2
  72. package/cjs/chart/treemap/treemap.js.map +1 -1
  73. package/cjs/chart/util.js +1 -1
  74. package/cjs/chart/util.js.map +1 -1
  75. package/cjs/chart/waterfall/waterfall.js +2 -2
  76. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  77. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  78. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  79. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  80. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  81. package/cjs/compile/compiler.d.ts +4 -0
  82. package/cjs/compile/compiler.js +4 -0
  83. package/cjs/compile/compiler.js.map +1 -1
  84. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  85. package/cjs/compile/interface/compilable-item.js.map +1 -1
  86. package/cjs/compile/mark/compilable-mark.js +9 -10
  87. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  88. package/cjs/compile/mark/interface.d.ts +0 -1
  89. package/cjs/compile/mark/interface.js.map +1 -1
  90. package/cjs/compile/mark/util.d.ts +2 -1
  91. package/cjs/compile/mark/util.js +21 -5
  92. package/cjs/compile/mark/util.js.map +1 -1
  93. package/cjs/component/axis/base-axis.d.ts +1 -14
  94. package/cjs/component/axis/base-axis.js +18 -29
  95. package/cjs/component/axis/base-axis.js.map +1 -1
  96. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  97. package/cjs/component/axis/cartesian/axis.js +24 -23
  98. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  99. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  100. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  101. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  102. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  103. package/cjs/component/axis/cartesian/index.js +2 -1
  104. package/cjs/component/axis/cartesian/index.js.map +1 -1
  105. package/cjs/component/axis/cartesian/interface/common.d.ts +2 -0
  106. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  107. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  108. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  109. package/cjs/component/axis/cartesian/linear-axis.js +4 -3
  110. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  111. package/cjs/component/axis/cartesian/symlog-axis.d.ts +16 -0
  112. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  113. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  114. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  115. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  116. package/cjs/component/axis/interface.d.ts +4 -8
  117. package/cjs/component/axis/interface.js.map +1 -1
  118. package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
  119. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  120. package/cjs/component/axis/polar/axis.d.ts +2 -1
  121. package/cjs/component/axis/polar/axis.js +15 -14
  122. package/cjs/component/axis/polar/axis.js.map +1 -1
  123. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  124. package/cjs/component/axis/polar/interface/common.d.ts +1 -1
  125. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  126. package/cjs/component/axis/{utils.d.ts → util.d.ts} +1 -1
  127. package/cjs/component/axis/{utils.js → util.js} +6 -6
  128. package/cjs/component/axis/util.js.map +1 -0
  129. package/cjs/component/base/base-component.d.ts +10 -2
  130. package/cjs/component/base/base-component.js +10 -5
  131. package/cjs/component/base/base-component.js.map +1 -1
  132. package/cjs/component/base/interface.d.ts +8 -0
  133. package/cjs/component/base/interface.js +6 -0
  134. package/cjs/component/base/interface.js.map +1 -0
  135. package/cjs/component/base/util.d.ts +2 -1
  136. package/cjs/component/base/util.js +21 -16
  137. package/cjs/component/base/util.js.map +1 -1
  138. package/cjs/component/brush/brush.d.ts +12 -2
  139. package/cjs/component/brush/brush.js +74 -63
  140. package/cjs/component/brush/brush.js.map +1 -1
  141. package/cjs/component/crosshair/base.d.ts +2 -2
  142. package/cjs/component/crosshair/base.js +1 -1
  143. package/cjs/component/crosshair/base.js.map +1 -1
  144. package/cjs/component/crosshair/cartesian.js +9 -9
  145. package/cjs/component/crosshair/cartesian.js.map +1 -1
  146. package/cjs/component/crosshair/interface/spec.d.ts +8 -8
  147. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  148. package/cjs/component/crosshair/interface/theme.d.ts +3 -1
  149. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  150. package/cjs/component/crosshair/polar.js +9 -9
  151. package/cjs/component/crosshair/polar.js.map +1 -1
  152. package/cjs/component/crosshair/util.d.ts +5 -0
  153. package/cjs/component/crosshair/util.js +41 -4
  154. package/cjs/component/crosshair/util.js.map +1 -1
  155. package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
  156. package/cjs/component/custom-mark/custom-mark.js +3 -3
  157. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  158. package/cjs/component/data-zoom/data-filter-base-component.d.ts +0 -1
  159. package/cjs/component/data-zoom/data-filter-base-component.js +2 -9
  160. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  161. package/cjs/component/data-zoom/data-zoom/data-zoom.js +6 -6
  162. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  163. package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -2
  164. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  165. package/cjs/component/data-zoom/interface.d.ts +2 -5
  166. package/cjs/component/data-zoom/interface.js.map +1 -1
  167. package/cjs/component/geo/geo-coordinate.d.ts +2 -0
  168. package/cjs/component/geo/geo-coordinate.js +29 -3
  169. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  170. package/cjs/component/geo/projection.d.ts +1 -0
  171. package/cjs/component/geo/projection.js +4 -0
  172. package/cjs/component/geo/projection.js.map +1 -1
  173. package/cjs/component/index.d.ts +2 -2
  174. package/cjs/component/index.js +6 -1
  175. package/cjs/component/index.js.map +1 -1
  176. package/cjs/component/indicator/indicator.d.ts +1 -0
  177. package/cjs/component/indicator/indicator.js +10 -7
  178. package/cjs/component/indicator/indicator.js.map +1 -1
  179. package/cjs/component/indicator/interface.d.ts +5 -6
  180. package/cjs/component/indicator/interface.js.map +1 -1
  181. package/cjs/component/interface/theme.d.ts +2 -2
  182. package/cjs/component/interface/theme.js.map +1 -1
  183. package/cjs/component/interface/type.d.ts +1 -0
  184. package/cjs/component/interface/type.js +12 -11
  185. package/cjs/component/interface/type.js.map +1 -1
  186. package/cjs/component/label/base-label.d.ts +0 -1
  187. package/cjs/component/label/base-label.js +0 -5
  188. package/cjs/component/label/base-label.js.map +1 -1
  189. package/cjs/component/label/interface.d.ts +2 -1
  190. package/cjs/component/label/interface.js.map +1 -1
  191. package/cjs/component/label/label.d.ts +0 -1
  192. package/cjs/component/label/label.js +1 -6
  193. package/cjs/component/label/label.js.map +1 -1
  194. package/cjs/component/label/totalLabel.js +1 -1
  195. package/cjs/component/label/totalLabel.js.map +1 -1
  196. package/cjs/component/legend/base-legend.js +4 -4
  197. package/cjs/component/legend/base-legend.js.map +1 -1
  198. package/cjs/component/legend/continuous/util.js +4 -4
  199. package/cjs/component/legend/continuous/util.js.map +1 -1
  200. package/cjs/component/legend/discrete/interface.d.ts +3 -1
  201. package/cjs/component/legend/discrete/interface.js.map +1 -1
  202. package/cjs/component/legend/discrete/legend.js +2 -2
  203. package/cjs/component/legend/discrete/legend.js.map +1 -1
  204. package/cjs/component/legend/discrete/util.js +2 -2
  205. package/cjs/component/legend/discrete/util.js.map +1 -1
  206. package/cjs/component/legend/interface.d.ts +2 -6
  207. package/cjs/component/legend/interface.js.map +1 -1
  208. package/cjs/component/legend/util.js +2 -2
  209. package/cjs/component/legend/util.js.map +1 -1
  210. package/cjs/component/marker/interface.d.ts +2 -2
  211. package/cjs/component/marker/interface.js.map +1 -1
  212. package/cjs/component/poptip/interface.d.ts +15 -0
  213. package/cjs/component/poptip/interface.js +6 -0
  214. package/cjs/component/poptip/interface.js.map +1 -0
  215. package/cjs/component/title/interface/spec.d.ts +2 -2
  216. package/cjs/component/title/interface/spec.js.map +1 -1
  217. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +5 -5
  218. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  219. package/cjs/component/tooltip/handler/dom/model/content-model.js +2 -2
  220. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  221. package/cjs/component/tooltip/handler/dom/model/title-model.js +2 -2
  222. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  223. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +2 -2
  224. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  225. package/cjs/component/tooltip/handler/dom/util.js +3 -3
  226. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  227. package/cjs/component/tooltip/handler/utils/attribute.js +3 -3
  228. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  229. package/cjs/component/tooltip/handler/utils/get-spec.js +1 -1
  230. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  231. package/cjs/component/tooltip/handler/utils/style.js +2 -2
  232. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  233. package/cjs/component/tooltip/processor/base.js +1 -1
  234. package/cjs/component/tooltip/processor/base.js.map +1 -1
  235. package/cjs/component/tooltip/tooltip.js +3 -2
  236. package/cjs/component/tooltip/tooltip.js.map +1 -1
  237. package/cjs/core/index.d.ts +1 -1
  238. package/cjs/core/index.js +1 -1
  239. package/cjs/core/index.js.map +1 -1
  240. package/cjs/core/vchart.js +20 -17
  241. package/cjs/core/vchart.js.map +1 -1
  242. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  243. package/cjs/data/transforms/dimension-statistics.js +34 -22
  244. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  245. package/cjs/data/transforms/legend-data/discrete/discrete.js +4 -2
  246. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  247. package/cjs/data/transforms/tick-data/discrete/polar-angle.js +2 -2
  248. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  249. package/cjs/data/transforms/tick-data/util.js +5 -5
  250. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  251. package/cjs/event/events/dimension/util/cartesian.js +2 -2
  252. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  253. package/cjs/event/events/dimension/util/polar.js +1 -1
  254. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  255. package/cjs/interaction/trigger.js +2 -2
  256. package/cjs/interaction/trigger.js.map +1 -1
  257. package/cjs/mark/base/base-mark.d.ts +1 -0
  258. package/cjs/mark/base/base-mark.js +21 -4
  259. package/cjs/mark/base/base-mark.js.map +1 -1
  260. package/cjs/mark/mark-set/index.d.ts +1 -0
  261. package/cjs/mark/mark-set/index.js.map +1 -1
  262. package/cjs/mark/symbol.js +1 -1
  263. package/cjs/mark/symbol.js.map +1 -1
  264. package/cjs/model/base-model.js +2 -2
  265. package/cjs/model/base-model.js.map +1 -1
  266. package/cjs/model/interface.d.ts +1 -1
  267. package/cjs/model/interface.js.map +1 -1
  268. package/cjs/plugin/components/index.d.ts +0 -2
  269. package/cjs/plugin/components/index.js +1 -2
  270. package/cjs/plugin/components/index.js.map +1 -1
  271. package/cjs/series/area/area.d.ts +4 -1
  272. package/cjs/series/area/area.js +9 -5
  273. package/cjs/series/area/area.js.map +1 -1
  274. package/cjs/series/bar/bar.js +10 -10
  275. package/cjs/series/bar/bar.js.map +1 -1
  276. package/cjs/series/base/base-series.d.ts +2 -0
  277. package/cjs/series/base/base-series.js +71 -15
  278. package/cjs/series/base/base-series.js.map +1 -1
  279. package/cjs/series/base/tooltip-helper.js +4 -2
  280. package/cjs/series/base/tooltip-helper.js.map +1 -1
  281. package/cjs/series/box-plot/box-plot.js +1 -1
  282. package/cjs/series/box-plot/box-plot.js.map +1 -1
  283. package/cjs/series/cartesian/cartesian.d.ts +10 -3
  284. package/cjs/series/cartesian/cartesian.js +39 -27
  285. package/cjs/series/cartesian/cartesian.js.map +1 -1
  286. package/cjs/series/cartesian/interface.d.ts +1 -0
  287. package/cjs/series/cartesian/interface.js.map +1 -1
  288. package/cjs/series/dot/dot.js +1 -1
  289. package/cjs/series/dot/dot.js.map +1 -1
  290. package/cjs/series/funnel/funnel.js +13 -3
  291. package/cjs/series/funnel/funnel.js.map +1 -1
  292. package/cjs/series/heatmap/heatmap.js +1 -1
  293. package/cjs/series/heatmap/heatmap.js.map +1 -1
  294. package/cjs/series/line/interface.d.ts +0 -2
  295. package/cjs/series/line/interface.js.map +1 -1
  296. package/cjs/series/line/line.d.ts +1 -0
  297. package/cjs/series/line/line.js +1 -1
  298. package/cjs/series/line/line.js.map +1 -1
  299. package/cjs/series/link/link.js +1 -1
  300. package/cjs/series/link/link.js.map +1 -1
  301. package/cjs/series/map/geo-source.js +2 -2
  302. package/cjs/series/map/geo-source.js.map +1 -1
  303. package/cjs/series/map/interface.d.ts +1 -0
  304. package/cjs/series/map/interface.js.map +1 -1
  305. package/cjs/series/map/map.js +8 -4
  306. package/cjs/series/map/map.js.map +1 -1
  307. package/cjs/series/mixin/line-mixin.d.ts +3 -2
  308. package/cjs/series/mixin/line-mixin.js +30 -13
  309. package/cjs/series/mixin/line-mixin.js.map +1 -1
  310. package/cjs/series/pie/pie.js +1 -1
  311. package/cjs/series/pie/pie.js.map +1 -1
  312. package/cjs/series/polar/interface.d.ts +1 -0
  313. package/cjs/series/polar/interface.js.map +1 -1
  314. package/cjs/series/polar/polar.d.ts +4 -0
  315. package/cjs/series/polar/polar.js +15 -3
  316. package/cjs/series/polar/polar.js.map +1 -1
  317. package/cjs/series/radar/radar.d.ts +1 -0
  318. package/cjs/series/radar/radar.js +1 -1
  319. package/cjs/series/radar/radar.js.map +1 -1
  320. package/cjs/series/range-area/range-area.d.ts +2 -0
  321. package/cjs/series/range-area/range-area.js +3 -0
  322. package/cjs/series/range-area/range-area.js.map +1 -1
  323. package/cjs/series/range-column/range-column.js +2 -2
  324. package/cjs/series/range-column/range-column.js.map +1 -1
  325. package/cjs/series/rose/rose.js +1 -1
  326. package/cjs/series/rose/rose.js.map +1 -1
  327. package/cjs/series/sankey/interface.d.ts +3 -2
  328. package/cjs/series/sankey/interface.js.map +1 -1
  329. package/cjs/series/sankey/sankey.d.ts +5 -0
  330. package/cjs/series/sankey/sankey.js +246 -92
  331. package/cjs/series/sankey/sankey.js.map +1 -1
  332. package/cjs/series/scatter/scatter.d.ts +1 -1
  333. package/cjs/series/scatter/scatter.js +13 -8
  334. package/cjs/series/scatter/scatter.js.map +1 -1
  335. package/cjs/series/util/utils.d.ts +4 -1
  336. package/cjs/series/util/utils.js +8 -6
  337. package/cjs/series/util/utils.js.map +1 -1
  338. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
  339. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  340. package/cjs/theme/builtin/common/component/axis/common-axis.js +12 -6
  341. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  342. package/cjs/theme/builtin/common/component/axis/polar-axis.js +1 -1
  343. package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
  344. package/cjs/theme/builtin/common/component/crosshair.js +73 -117
  345. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  346. package/cjs/theme/builtin/common/component/data-zoom.js +19 -7
  347. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  348. package/cjs/theme/builtin/common/component/indicator.js +17 -5
  349. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  350. package/cjs/theme/builtin/common/component/legend/color-legend.js +31 -5
  351. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  352. package/cjs/theme/builtin/common/component/legend/continuous.js +26 -12
  353. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  354. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +22 -9
  355. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  356. package/cjs/theme/builtin/common/component/legend/size-legend.js +54 -15
  357. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  358. package/cjs/theme/builtin/common/component/map-label.js +5 -5
  359. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  360. package/cjs/theme/builtin/common/component/mark-area.js +7 -2
  361. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  362. package/cjs/theme/builtin/common/component/mark-line.js +7 -2
  363. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  364. package/cjs/theme/builtin/common/component/player.js +33 -7
  365. package/cjs/theme/builtin/common/component/player.js.map +1 -1
  366. package/cjs/theme/builtin/common/component/poptip.d.ts +2 -2
  367. package/cjs/theme/builtin/common/component/poptip.js +20 -12
  368. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  369. package/cjs/theme/builtin/common/component/title.js +9 -5
  370. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  371. package/cjs/theme/builtin/common/component/tooltip.js +13 -10
  372. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  373. package/cjs/theme/builtin/common/component/total-label.js +4 -4
  374. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  375. package/cjs/theme/builtin/common/constants.js +17 -10
  376. package/cjs/theme/builtin/common/constants.js.map +1 -1
  377. package/cjs/theme/builtin/common/mark.js +8 -4
  378. package/cjs/theme/builtin/common/mark.js.map +1 -1
  379. package/cjs/theme/builtin/common/series/area.js +2 -7
  380. package/cjs/theme/builtin/common/series/area.js.map +1 -1
  381. package/cjs/theme/builtin/common/series/bar.js +2 -7
  382. package/cjs/theme/builtin/common/series/bar.js.map +1 -1
  383. package/cjs/theme/builtin/common/series/bar3d.js +1 -6
  384. package/cjs/theme/builtin/common/series/bar3d.js.map +1 -1
  385. package/cjs/theme/builtin/common/series/circle-packing.js +11 -5
  386. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  387. package/cjs/theme/builtin/common/series/dot.js +11 -3
  388. package/cjs/theme/builtin/common/series/dot.js.map +1 -1
  389. package/cjs/theme/builtin/common/series/funnel.js +7 -4
  390. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  391. package/cjs/theme/builtin/common/series/funnel3d.js +7 -4
  392. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  393. package/cjs/theme/builtin/common/series/line.js +2 -7
  394. package/cjs/theme/builtin/common/series/line.js.map +1 -1
  395. package/cjs/theme/builtin/common/series/map.js +4 -2
  396. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  397. package/cjs/theme/builtin/common/series/pie.js +1 -6
  398. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  399. package/cjs/theme/builtin/common/series/pie3d.js +2 -9
  400. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
  401. package/cjs/theme/builtin/common/series/radar.js +2 -7
  402. package/cjs/theme/builtin/common/series/radar.js.map +1 -1
  403. package/cjs/theme/builtin/common/series/rangeColumn.js +2 -3
  404. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  405. package/cjs/theme/builtin/common/series/rose.js +1 -2
  406. package/cjs/theme/builtin/common/series/rose.js.map +1 -1
  407. package/cjs/theme/builtin/common/series/sankey.js +0 -1
  408. package/cjs/theme/builtin/common/series/sankey.js.map +1 -1
  409. package/cjs/theme/builtin/common/series/scatter.js +2 -7
  410. package/cjs/theme/builtin/common/series/scatter.js.map +1 -1
  411. package/cjs/theme/builtin/common/series/sunburst.js +5 -2
  412. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  413. package/cjs/theme/builtin/common/series/treemap.js +9 -5
  414. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  415. package/cjs/theme/builtin/common/series/waterfall.js +5 -6
  416. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  417. package/cjs/theme/builtin/dark/color-scheme.js +5 -3
  418. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  419. package/cjs/theme/builtin/index.d.ts +0 -1
  420. package/cjs/theme/builtin/index.js +1 -2
  421. package/cjs/theme/builtin/index.js.map +1 -1
  422. package/cjs/theme/builtin/light/color-scheme.js +4 -2
  423. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  424. package/cjs/theme/builtin/light/index.js +2 -2
  425. package/cjs/theme/builtin/light/index.js.map +1 -1
  426. package/cjs/theme/color-scheme/builtin/interface.d.ts +22 -0
  427. package/cjs/theme/color-scheme/builtin/interface.js +6 -0
  428. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -0
  429. package/cjs/theme/color-scheme/interface.d.ts +3 -2
  430. package/cjs/theme/color-scheme/interface.js.map +1 -1
  431. package/cjs/theme/color-scheme/util.js +8 -2
  432. package/cjs/theme/color-scheme/util.js.map +1 -1
  433. package/cjs/theme/interface.d.ts +16 -5
  434. package/cjs/theme/interface.js.map +1 -1
  435. package/cjs/typings/spec/common.d.ts +2 -1
  436. package/cjs/typings/spec/common.js.map +1 -1
  437. package/cjs/typings/visual.d.ts +10 -20
  438. package/cjs/typings/visual.js.map +1 -1
  439. package/cjs/util/data.d.ts +0 -8
  440. package/cjs/util/data.js +2 -9
  441. package/cjs/util/data.js.map +1 -1
  442. package/cjs/util/object.d.ts +2 -4
  443. package/cjs/util/object.js +2 -18
  444. package/cjs/util/object.js.map +1 -1
  445. package/cjs/util/scale.d.ts +2 -6
  446. package/cjs/util/scale.js +1 -6
  447. package/cjs/util/scale.js.map +1 -1
  448. package/cjs/util/space.d.ts +3 -10
  449. package/cjs/util/space.js +13 -28
  450. package/cjs/util/space.js.map +1 -1
  451. package/cjs/util/spec/background.d.ts +4 -0
  452. package/cjs/util/spec/background.js +27 -0
  453. package/cjs/util/spec/background.js.map +1 -0
  454. package/cjs/util/spec/clone-deep.d.ts +1 -0
  455. package/cjs/util/spec/clone-deep.js +27 -0
  456. package/cjs/util/spec/clone-deep.js.map +1 -0
  457. package/cjs/util/spec/common.d.ts +3 -0
  458. package/cjs/util/spec/common.js +23 -0
  459. package/cjs/util/spec/common.js.map +1 -0
  460. package/cjs/util/spec/index.d.ts +7 -0
  461. package/cjs/util/spec/index.js +24 -0
  462. package/cjs/util/spec/index.js.map +1 -0
  463. package/cjs/util/spec/merge-spec.d.ts +1 -0
  464. package/cjs/util/spec/merge-spec.js +58 -0
  465. package/cjs/util/spec/merge-spec.js.map +1 -0
  466. package/cjs/util/spec/merge-theme.d.ts +3 -0
  467. package/cjs/util/spec/merge-theme.js +37 -0
  468. package/cjs/util/spec/merge-theme.js.map +1 -0
  469. package/cjs/util/spec/preprocess.d.ts +3 -0
  470. package/cjs/util/spec/preprocess.js +24 -0
  471. package/cjs/util/spec/preprocess.js.map +1 -0
  472. package/cjs/util/spec/transform.d.ts +3 -0
  473. package/cjs/util/spec/transform.js +28 -0
  474. package/cjs/util/spec/transform.js.map +1 -0
  475. package/cjs/util/text.d.ts +1 -2
  476. package/cjs/util/text.js +4 -14
  477. package/cjs/util/text.js.map +1 -1
  478. package/cjs/vchart-all.js +1 -1
  479. package/cjs/vchart-all.js.map +1 -1
  480. package/cjs/vchart-simple.js +3 -4
  481. package/cjs/vchart-simple.js.map +1 -1
  482. package/esm/animation/utils.js +3 -3
  483. package/esm/animation/utils.js.map +1 -1
  484. package/esm/chart/area/area.js +3 -3
  485. package/esm/chart/area/area.js.map +1 -1
  486. package/esm/chart/bar/bar-3d.js +2 -2
  487. package/esm/chart/bar/bar-3d.js.map +1 -1
  488. package/esm/chart/bar/bar.js +2 -2
  489. package/esm/chart/bar/bar.js.map +1 -1
  490. package/esm/chart/base-chart.d.ts +1 -0
  491. package/esm/chart/base-chart.js +14 -8
  492. package/esm/chart/base-chart.js.map +1 -1
  493. package/esm/chart/box-plot/box-plot.js +1 -1
  494. package/esm/chart/box-plot/box-plot.js.map +1 -1
  495. package/esm/chart/cartesian/cartesian.js +1 -1
  496. package/esm/chart/cartesian/cartesian.js.map +1 -1
  497. package/esm/chart/circle-packing/circle-packing.js +1 -1
  498. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  499. package/esm/chart/funnel/funnel-3d.js +1 -1
  500. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  501. package/esm/chart/funnel/funnel.js +1 -1
  502. package/esm/chart/funnel/funnel.js.map +1 -1
  503. package/esm/chart/gauge/gauge.js +2 -2
  504. package/esm/chart/gauge/gauge.js.map +1 -1
  505. package/esm/chart/heatmap/heatmap.js +1 -1
  506. package/esm/chart/heatmap/heatmap.js.map +1 -1
  507. package/esm/chart/histogram/histogram-3d.js +2 -2
  508. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  509. package/esm/chart/histogram/histogram.js +2 -2
  510. package/esm/chart/histogram/histogram.js.map +1 -1
  511. package/esm/chart/index.d.ts +1 -1
  512. package/esm/chart/index.js.map +1 -1
  513. package/esm/chart/line/line.js +1 -1
  514. package/esm/chart/line/line.js.map +1 -1
  515. package/esm/chart/map/map.js +2 -2
  516. package/esm/chart/map/map.js.map +1 -1
  517. package/esm/chart/pie/pie-3d.js +2 -2
  518. package/esm/chart/pie/pie-3d.js.map +1 -1
  519. package/esm/chart/pie/pie.js +2 -2
  520. package/esm/chart/pie/pie.js.map +1 -1
  521. package/esm/chart/polar/progress-like.js +1 -1
  522. package/esm/chart/polar/progress-like.js.map +1 -1
  523. package/esm/chart/polar/rose-like.js +1 -1
  524. package/esm/chart/polar/rose-like.js.map +1 -1
  525. package/esm/chart/progress/circular/circular.js +1 -1
  526. package/esm/chart/progress/circular/circular.js.map +1 -1
  527. package/esm/chart/progress/linear/linear.js +2 -2
  528. package/esm/chart/progress/linear/linear.js.map +1 -1
  529. package/esm/chart/radar/radar.js +5 -5
  530. package/esm/chart/radar/radar.js.map +1 -1
  531. package/esm/chart/range-area/range-area.js +1 -1
  532. package/esm/chart/range-area/range-area.js.map +1 -1
  533. package/esm/chart/range-column/range-column-3d.js +1 -1
  534. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  535. package/esm/chart/range-column/range-column.js +1 -1
  536. package/esm/chart/range-column/range-column.js.map +1 -1
  537. package/esm/chart/rose/rose.js +4 -4
  538. package/esm/chart/rose/rose.js.map +1 -1
  539. package/esm/chart/sankey/sankey.js +1 -1
  540. package/esm/chart/sankey/sankey.js.map +1 -1
  541. package/esm/chart/scatter/scatter.js +2 -2
  542. package/esm/chart/scatter/scatter.js.map +1 -1
  543. package/esm/chart/sequence/sequence.js +4 -2
  544. package/esm/chart/sequence/sequence.js.map +1 -1
  545. package/esm/chart/stack.js.map +1 -1
  546. package/esm/chart/sunburst/sunburst.js +1 -1
  547. package/esm/chart/sunburst/sunburst.js.map +1 -1
  548. package/esm/chart/treemap/treemap.js +1 -1
  549. package/esm/chart/treemap/treemap.js.map +1 -1
  550. package/esm/chart/util.js +2 -2
  551. package/esm/chart/util.js.map +1 -1
  552. package/esm/chart/waterfall/waterfall.js +1 -1
  553. package/esm/chart/waterfall/waterfall.js.map +1 -1
  554. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  555. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  556. package/esm/chart/word-cloud/word-cloud.js +1 -1
  557. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  558. package/esm/compile/compiler.d.ts +4 -0
  559. package/esm/compile/compiler.js +4 -0
  560. package/esm/compile/compiler.js.map +1 -1
  561. package/esm/compile/interface/compilable-item.d.ts +1 -0
  562. package/esm/compile/interface/compilable-item.js.map +1 -1
  563. package/esm/compile/mark/compilable-mark.js +9 -11
  564. package/esm/compile/mark/compilable-mark.js.map +1 -1
  565. package/esm/compile/mark/interface.d.ts +0 -1
  566. package/esm/compile/mark/interface.js.map +1 -1
  567. package/esm/compile/mark/util.d.ts +2 -1
  568. package/esm/compile/mark/util.js +19 -3
  569. package/esm/compile/mark/util.js.map +1 -1
  570. package/esm/component/axis/base-axis.d.ts +1 -14
  571. package/esm/component/axis/base-axis.js +19 -30
  572. package/esm/component/axis/base-axis.js.map +1 -1
  573. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  574. package/esm/component/axis/cartesian/axis.js +21 -20
  575. package/esm/component/axis/cartesian/axis.js.map +1 -1
  576. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  577. package/esm/component/axis/cartesian/band-axis.js +1 -0
  578. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  579. package/esm/component/axis/cartesian/index.d.ts +1 -0
  580. package/esm/component/axis/cartesian/index.js +2 -0
  581. package/esm/component/axis/cartesian/index.js.map +1 -1
  582. package/esm/component/axis/cartesian/interface/common.d.ts +2 -0
  583. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  584. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  585. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  586. package/esm/component/axis/cartesian/linear-axis.js +3 -4
  587. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  588. package/esm/component/axis/cartesian/symlog-axis.d.ts +16 -0
  589. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  590. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  591. package/esm/component/axis/cartesian/time-axis.js +3 -3
  592. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  593. package/esm/component/axis/interface.d.ts +4 -8
  594. package/esm/component/axis/interface.js.map +1 -1
  595. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  596. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  597. package/esm/component/axis/polar/axis.d.ts +2 -1
  598. package/esm/component/axis/polar/axis.js +14 -13
  599. package/esm/component/axis/polar/axis.js.map +1 -1
  600. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  601. package/esm/component/axis/polar/interface/common.d.ts +1 -1
  602. package/esm/component/axis/polar/interface/common.js.map +1 -1
  603. package/esm/component/axis/{utils.d.ts → util.d.ts} +1 -1
  604. package/esm/component/axis/{utils.js → util.js} +7 -5
  605. package/esm/component/axis/util.js.map +1 -0
  606. package/esm/component/base/base-component.d.ts +10 -2
  607. package/esm/component/base/base-component.js +9 -5
  608. package/esm/component/base/base-component.js.map +1 -1
  609. package/esm/component/base/interface.d.ts +8 -0
  610. package/esm/component/base/interface.js +2 -0
  611. package/esm/component/base/interface.js.map +1 -0
  612. package/esm/component/base/util.d.ts +2 -1
  613. package/esm/component/base/util.js +14 -7
  614. package/esm/component/base/util.js.map +1 -1
  615. package/esm/component/brush/brush.d.ts +12 -2
  616. package/esm/component/brush/brush.js +74 -62
  617. package/esm/component/brush/brush.js.map +1 -1
  618. package/esm/component/crosshair/base.d.ts +2 -2
  619. package/esm/component/crosshair/base.js +1 -1
  620. package/esm/component/crosshair/base.js.map +1 -1
  621. package/esm/component/crosshair/cartesian.js +7 -7
  622. package/esm/component/crosshair/cartesian.js.map +1 -1
  623. package/esm/component/crosshair/interface/spec.d.ts +8 -8
  624. package/esm/component/crosshair/interface/spec.js.map +1 -1
  625. package/esm/component/crosshair/interface/theme.d.ts +3 -1
  626. package/esm/component/crosshair/interface/theme.js.map +1 -1
  627. package/esm/component/crosshair/polar.js +8 -8
  628. package/esm/component/crosshair/polar.js.map +1 -1
  629. package/esm/component/crosshair/util.d.ts +5 -0
  630. package/esm/component/crosshair/util.js +34 -0
  631. package/esm/component/crosshair/util.js.map +1 -1
  632. package/esm/component/custom-mark/custom-mark.d.ts +1 -1
  633. package/esm/component/custom-mark/custom-mark.js +4 -4
  634. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  635. package/esm/component/data-zoom/data-filter-base-component.d.ts +0 -1
  636. package/esm/component/data-zoom/data-filter-base-component.js +2 -9
  637. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  638. package/esm/component/data-zoom/data-zoom/data-zoom.js +8 -6
  639. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  640. package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -2
  641. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  642. package/esm/component/data-zoom/interface.d.ts +2 -5
  643. package/esm/component/data-zoom/interface.js.map +1 -1
  644. package/esm/component/geo/geo-coordinate.d.ts +2 -0
  645. package/esm/component/geo/geo-coordinate.js +30 -4
  646. package/esm/component/geo/geo-coordinate.js.map +1 -1
  647. package/esm/component/geo/projection.d.ts +1 -0
  648. package/esm/component/geo/projection.js +4 -0
  649. package/esm/component/geo/projection.js.map +1 -1
  650. package/esm/component/index.d.ts +2 -2
  651. package/esm/component/index.js +2 -2
  652. package/esm/component/index.js.map +1 -1
  653. package/esm/component/indicator/indicator.d.ts +1 -0
  654. package/esm/component/indicator/indicator.js +8 -7
  655. package/esm/component/indicator/indicator.js.map +1 -1
  656. package/esm/component/indicator/interface.d.ts +5 -6
  657. package/esm/component/indicator/interface.js.map +1 -1
  658. package/esm/component/interface/theme.d.ts +2 -2
  659. package/esm/component/interface/theme.js.map +1 -1
  660. package/esm/component/interface/type.d.ts +1 -0
  661. package/esm/component/interface/type.js +12 -11
  662. package/esm/component/interface/type.js.map +1 -1
  663. package/esm/component/label/base-label.d.ts +0 -1
  664. package/esm/component/label/base-label.js +0 -5
  665. package/esm/component/label/base-label.js.map +1 -1
  666. package/esm/component/label/interface.d.ts +2 -1
  667. package/esm/component/label/interface.js.map +1 -1
  668. package/esm/component/label/label.d.ts +0 -1
  669. package/esm/component/label/label.js +2 -7
  670. package/esm/component/label/label.js.map +1 -1
  671. package/esm/component/label/totalLabel.js +2 -2
  672. package/esm/component/label/totalLabel.js.map +1 -1
  673. package/esm/component/legend/base-legend.js +5 -5
  674. package/esm/component/legend/base-legend.js.map +1 -1
  675. package/esm/component/legend/continuous/util.js +5 -3
  676. package/esm/component/legend/continuous/util.js.map +1 -1
  677. package/esm/component/legend/discrete/interface.d.ts +3 -1
  678. package/esm/component/legend/discrete/interface.js.map +1 -1
  679. package/esm/component/legend/discrete/legend.js +2 -2
  680. package/esm/component/legend/discrete/legend.js.map +1 -1
  681. package/esm/component/legend/discrete/util.js +4 -4
  682. package/esm/component/legend/discrete/util.js.map +1 -1
  683. package/esm/component/legend/interface.d.ts +2 -6
  684. package/esm/component/legend/interface.js.map +1 -1
  685. package/esm/component/legend/util.js +4 -2
  686. package/esm/component/legend/util.js.map +1 -1
  687. package/esm/component/marker/interface.d.ts +2 -2
  688. package/esm/component/marker/interface.js.map +1 -1
  689. package/esm/component/poptip/interface.d.ts +15 -0
  690. package/esm/component/poptip/interface.js +2 -0
  691. package/esm/component/poptip/interface.js.map +1 -0
  692. package/esm/component/title/interface/spec.d.ts +2 -2
  693. package/esm/component/title/interface/spec.js.map +1 -1
  694. package/esm/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  695. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  696. package/esm/component/tooltip/handler/dom/model/content-model.js +2 -2
  697. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  698. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  699. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  700. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +4 -2
  701. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  702. package/esm/component/tooltip/handler/dom/util.js +4 -4
  703. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  704. package/esm/component/tooltip/handler/utils/attribute.js +5 -5
  705. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  706. package/esm/component/tooltip/handler/utils/get-spec.js +2 -2
  707. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  708. package/esm/component/tooltip/handler/utils/style.js +2 -2
  709. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  710. package/esm/component/tooltip/processor/base.js +1 -1
  711. package/esm/component/tooltip/processor/base.js.map +1 -1
  712. package/esm/component/tooltip/tooltip.js +4 -3
  713. package/esm/component/tooltip/tooltip.js.map +1 -1
  714. package/esm/core/index.d.ts +1 -1
  715. package/esm/core/index.js +1 -1
  716. package/esm/core/index.js.map +1 -1
  717. package/esm/core/vchart.js +22 -19
  718. package/esm/core/vchart.js.map +1 -1
  719. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  720. package/esm/data/transforms/dimension-statistics.js +33 -22
  721. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  722. package/esm/data/transforms/legend-data/discrete/discrete.js +4 -3
  723. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  724. package/esm/data/transforms/tick-data/discrete/polar-angle.js +1 -1
  725. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  726. package/esm/data/transforms/tick-data/util.js +1 -1
  727. package/esm/data/transforms/tick-data/util.js.map +1 -1
  728. package/esm/event/events/dimension/util/cartesian.js +2 -2
  729. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  730. package/esm/event/events/dimension/util/polar.js +1 -1
  731. package/esm/event/events/dimension/util/polar.js.map +1 -1
  732. package/esm/interaction/trigger.js +3 -3
  733. package/esm/interaction/trigger.js.map +1 -1
  734. package/esm/mark/base/base-mark.d.ts +1 -0
  735. package/esm/mark/base/base-mark.js +22 -5
  736. package/esm/mark/base/base-mark.js.map +1 -1
  737. package/esm/mark/mark-set/index.d.ts +1 -0
  738. package/esm/mark/mark-set/index.js.map +1 -1
  739. package/esm/mark/symbol.js +1 -1
  740. package/esm/mark/symbol.js.map +1 -1
  741. package/esm/model/base-model.js +4 -4
  742. package/esm/model/base-model.js.map +1 -1
  743. package/esm/model/interface.d.ts +1 -1
  744. package/esm/model/interface.js.map +1 -1
  745. package/esm/plugin/components/index.d.ts +0 -2
  746. package/esm/plugin/components/index.js +0 -3
  747. package/esm/plugin/components/index.js.map +1 -1
  748. package/esm/series/area/area.d.ts +4 -1
  749. package/esm/series/area/area.js +10 -7
  750. package/esm/series/area/area.js.map +1 -1
  751. package/esm/series/bar/bar.js +3 -5
  752. package/esm/series/bar/bar.js.map +1 -1
  753. package/esm/series/base/base-series.d.ts +2 -0
  754. package/esm/series/base/base-series.js +71 -16
  755. package/esm/series/base/base-series.js.map +1 -1
  756. package/esm/series/base/tooltip-helper.js +4 -2
  757. package/esm/series/base/tooltip-helper.js.map +1 -1
  758. package/esm/series/box-plot/box-plot.js +1 -1
  759. package/esm/series/box-plot/box-plot.js.map +1 -1
  760. package/esm/series/cartesian/cartesian.d.ts +10 -3
  761. package/esm/series/cartesian/cartesian.js +37 -26
  762. package/esm/series/cartesian/cartesian.js.map +1 -1
  763. package/esm/series/cartesian/interface.d.ts +1 -0
  764. package/esm/series/cartesian/interface.js.map +1 -1
  765. package/esm/series/dot/dot.js +2 -2
  766. package/esm/series/dot/dot.js.map +1 -1
  767. package/esm/series/funnel/funnel.js +12 -2
  768. package/esm/series/funnel/funnel.js.map +1 -1
  769. package/esm/series/heatmap/heatmap.js +2 -2
  770. package/esm/series/heatmap/heatmap.js.map +1 -1
  771. package/esm/series/line/interface.d.ts +0 -2
  772. package/esm/series/line/interface.js.map +1 -1
  773. package/esm/series/line/line.d.ts +1 -0
  774. package/esm/series/line/line.js +1 -1
  775. package/esm/series/line/line.js.map +1 -1
  776. package/esm/series/link/link.js +1 -1
  777. package/esm/series/link/link.js.map +1 -1
  778. package/esm/series/map/geo-source.js +3 -1
  779. package/esm/series/map/geo-source.js.map +1 -1
  780. package/esm/series/map/interface.d.ts +1 -0
  781. package/esm/series/map/interface.js.map +1 -1
  782. package/esm/series/map/map.js +9 -3
  783. package/esm/series/map/map.js.map +1 -1
  784. package/esm/series/mixin/line-mixin.d.ts +3 -2
  785. package/esm/series/mixin/line-mixin.js +32 -13
  786. package/esm/series/mixin/line-mixin.js.map +1 -1
  787. package/esm/series/pie/pie.js +2 -2
  788. package/esm/series/pie/pie.js.map +1 -1
  789. package/esm/series/polar/interface.d.ts +1 -0
  790. package/esm/series/polar/interface.js.map +1 -1
  791. package/esm/series/polar/polar.d.ts +4 -0
  792. package/esm/series/polar/polar.js +15 -2
  793. package/esm/series/polar/polar.js.map +1 -1
  794. package/esm/series/radar/radar.d.ts +1 -0
  795. package/esm/series/radar/radar.js +1 -1
  796. package/esm/series/radar/radar.js.map +1 -1
  797. package/esm/series/range-area/range-area.d.ts +2 -0
  798. package/esm/series/range-area/range-area.js +3 -0
  799. package/esm/series/range-area/range-area.js.map +1 -1
  800. package/esm/series/range-column/range-column.js +3 -3
  801. package/esm/series/range-column/range-column.js.map +1 -1
  802. package/esm/series/rose/rose.js +2 -2
  803. package/esm/series/rose/rose.js.map +1 -1
  804. package/esm/series/sankey/interface.d.ts +3 -2
  805. package/esm/series/sankey/interface.js.map +1 -1
  806. package/esm/series/sankey/sankey.d.ts +5 -0
  807. package/esm/series/sankey/sankey.js +248 -93
  808. package/esm/series/sankey/sankey.js.map +1 -1
  809. package/esm/series/scatter/scatter.d.ts +1 -1
  810. package/esm/series/scatter/scatter.js +14 -9
  811. package/esm/series/scatter/scatter.js.map +1 -1
  812. package/esm/series/util/utils.d.ts +4 -1
  813. package/esm/series/util/utils.js +6 -4
  814. package/esm/series/util/utils.js.map +1 -1
  815. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
  816. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  817. package/esm/theme/builtin/common/component/axis/common-axis.js +12 -6
  818. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  819. package/esm/theme/builtin/common/component/axis/polar-axis.js +1 -1
  820. package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
  821. package/esm/theme/builtin/common/component/crosshair.js +73 -117
  822. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  823. package/esm/theme/builtin/common/component/data-zoom.js +16 -6
  824. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  825. package/esm/theme/builtin/common/component/indicator.js +14 -4
  826. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  827. package/esm/theme/builtin/common/component/legend/color-legend.js +32 -4
  828. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  829. package/esm/theme/builtin/common/component/legend/continuous.js +26 -12
  830. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  831. package/esm/theme/builtin/common/component/legend/discrete-legend.js +22 -9
  832. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  833. package/esm/theme/builtin/common/component/legend/size-legend.js +55 -14
  834. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  835. package/esm/theme/builtin/common/component/map-label.js +4 -6
  836. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  837. package/esm/theme/builtin/common/component/mark-area.js +4 -1
  838. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  839. package/esm/theme/builtin/common/component/mark-line.js +4 -1
  840. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  841. package/esm/theme/builtin/common/component/player.js +33 -7
  842. package/esm/theme/builtin/common/component/player.js.map +1 -1
  843. package/esm/theme/builtin/common/component/poptip.d.ts +2 -2
  844. package/esm/theme/builtin/common/component/poptip.js +17 -11
  845. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  846. package/esm/theme/builtin/common/component/title.js +9 -5
  847. package/esm/theme/builtin/common/component/title.js.map +1 -1
  848. package/esm/theme/builtin/common/component/tooltip.js +12 -11
  849. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  850. package/esm/theme/builtin/common/component/total-label.js +3 -5
  851. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  852. package/esm/theme/builtin/common/constants.js +16 -7
  853. package/esm/theme/builtin/common/constants.js.map +1 -1
  854. package/esm/theme/builtin/common/mark.js +8 -4
  855. package/esm/theme/builtin/common/mark.js.map +1 -1
  856. package/esm/theme/builtin/common/series/area.js +1 -4
  857. package/esm/theme/builtin/common/series/area.js.map +1 -1
  858. package/esm/theme/builtin/common/series/bar.js +1 -4
  859. package/esm/theme/builtin/common/series/bar.js.map +1 -1
  860. package/esm/theme/builtin/common/series/bar3d.js +0 -3
  861. package/esm/theme/builtin/common/series/bar3d.js.map +1 -1
  862. package/esm/theme/builtin/common/series/circle-packing.js +8 -4
  863. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  864. package/esm/theme/builtin/common/series/dot.js +8 -2
  865. package/esm/theme/builtin/common/series/dot.js.map +1 -1
  866. package/esm/theme/builtin/common/series/funnel.js +6 -5
  867. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  868. package/esm/theme/builtin/common/series/funnel3d.js +6 -5
  869. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  870. package/esm/theme/builtin/common/series/line.js +1 -4
  871. package/esm/theme/builtin/common/series/line.js.map +1 -1
  872. package/esm/theme/builtin/common/series/map.js +4 -2
  873. package/esm/theme/builtin/common/series/map.js.map +1 -1
  874. package/esm/theme/builtin/common/series/pie.js +0 -3
  875. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  876. package/esm/theme/builtin/common/series/pie3d.js +1 -6
  877. package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
  878. package/esm/theme/builtin/common/series/radar.js +1 -4
  879. package/esm/theme/builtin/common/series/radar.js.map +1 -1
  880. package/esm/theme/builtin/common/series/rangeColumn.js +1 -4
  881. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  882. package/esm/theme/builtin/common/series/rose.js +1 -2
  883. package/esm/theme/builtin/common/series/rose.js.map +1 -1
  884. package/esm/theme/builtin/common/series/sankey.js +0 -1
  885. package/esm/theme/builtin/common/series/sankey.js.map +1 -1
  886. package/esm/theme/builtin/common/series/scatter.js +1 -4
  887. package/esm/theme/builtin/common/series/scatter.js.map +1 -1
  888. package/esm/theme/builtin/common/series/sunburst.js +6 -1
  889. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  890. package/esm/theme/builtin/common/series/treemap.js +8 -6
  891. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  892. package/esm/theme/builtin/common/series/waterfall.js +4 -7
  893. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  894. package/esm/theme/builtin/dark/color-scheme.js +5 -3
  895. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  896. package/esm/theme/builtin/index.d.ts +0 -1
  897. package/esm/theme/builtin/index.js +0 -2
  898. package/esm/theme/builtin/index.js.map +1 -1
  899. package/esm/theme/builtin/light/color-scheme.js +4 -2
  900. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  901. package/esm/theme/builtin/light/index.js +2 -2
  902. package/esm/theme/builtin/light/index.js.map +1 -1
  903. package/esm/theme/color-scheme/builtin/interface.d.ts +22 -0
  904. package/esm/theme/color-scheme/builtin/interface.js +2 -0
  905. package/esm/theme/color-scheme/builtin/interface.js.map +1 -0
  906. package/esm/theme/color-scheme/interface.d.ts +3 -2
  907. package/esm/theme/color-scheme/interface.js.map +1 -1
  908. package/esm/theme/color-scheme/util.js +8 -3
  909. package/esm/theme/color-scheme/util.js.map +1 -1
  910. package/esm/theme/interface.d.ts +16 -5
  911. package/esm/theme/interface.js.map +1 -1
  912. package/esm/typings/spec/common.d.ts +2 -1
  913. package/esm/typings/spec/common.js.map +1 -1
  914. package/esm/typings/visual.d.ts +10 -20
  915. package/esm/typings/visual.js.map +1 -1
  916. package/esm/util/data.d.ts +0 -8
  917. package/esm/util/data.js +1 -7
  918. package/esm/util/data.js.map +1 -1
  919. package/esm/util/object.d.ts +2 -4
  920. package/esm/util/object.js +2 -13
  921. package/esm/util/object.js.map +1 -1
  922. package/esm/util/scale.d.ts +2 -6
  923. package/esm/util/scale.js +1 -5
  924. package/esm/util/scale.js.map +1 -1
  925. package/esm/util/space.d.ts +3 -10
  926. package/esm/util/space.js +5 -23
  927. package/esm/util/space.js.map +1 -1
  928. package/esm/util/spec/background.d.ts +4 -0
  929. package/esm/util/spec/background.js +21 -0
  930. package/esm/util/spec/background.js.map +1 -0
  931. package/esm/util/spec/clone-deep.d.ts +1 -0
  932. package/esm/util/spec/clone-deep.js +20 -0
  933. package/esm/util/spec/clone-deep.js.map +1 -0
  934. package/esm/util/spec/common.d.ts +3 -0
  935. package/esm/util/spec/common.js +15 -0
  936. package/esm/util/spec/common.js.map +1 -0
  937. package/esm/util/spec/index.d.ts +7 -0
  938. package/esm/util/spec/index.js +14 -0
  939. package/esm/util/spec/index.js.map +1 -0
  940. package/esm/util/spec/merge-spec.d.ts +1 -0
  941. package/esm/util/spec/merge-spec.js +48 -0
  942. package/esm/util/spec/merge-spec.js.map +1 -0
  943. package/esm/util/spec/merge-theme.d.ts +3 -0
  944. package/esm/util/spec/merge-theme.js +34 -0
  945. package/esm/util/spec/merge-theme.js.map +1 -0
  946. package/esm/util/spec/preprocess.d.ts +3 -0
  947. package/esm/util/spec/preprocess.js +20 -0
  948. package/esm/util/spec/preprocess.js.map +1 -0
  949. package/esm/util/spec/transform.d.ts +3 -0
  950. package/esm/util/spec/transform.js +20 -0
  951. package/esm/util/spec/transform.js.map +1 -0
  952. package/esm/util/text.d.ts +1 -2
  953. package/esm/util/text.js +4 -12
  954. package/esm/util/text.js.map +1 -1
  955. package/esm/vchart-all.js +2 -2
  956. package/esm/vchart-all.js.map +1 -1
  957. package/esm/vchart-simple.js +18 -2
  958. package/esm/vchart-simple.js.map +1 -1
  959. package/package.json +20 -13
  960. package/cjs/component/axis/utils.js.map +0 -1
  961. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  962. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  963. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  964. package/cjs/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
  965. package/cjs/theme/builtin/common/component/axis/log-axis.js +0 -22
  966. package/cjs/theme/builtin/common/component/axis/log-axis.js.map +0 -1
  967. package/cjs/theme/builtin/constant.d.ts +0 -2
  968. package/cjs/theme/builtin/constant.js +0 -8
  969. package/cjs/theme/builtin/constant.js.map +0 -1
  970. package/cjs/util/spec.d.ts +0 -17
  971. package/cjs/util/spec.js +0 -121
  972. package/cjs/util/spec.js.map +0 -1
  973. package/esm/component/axis/utils.js.map +0 -1
  974. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  975. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  976. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  977. package/esm/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
  978. package/esm/theme/builtin/common/component/axis/log-axis.js +0 -18
  979. package/esm/theme/builtin/common/component/axis/log-axis.js.map +0 -1
  980. package/esm/theme/builtin/constant.d.ts +0 -2
  981. package/esm/theme/builtin/constant.js +0 -4
  982. package/esm/theme/builtin/constant.js.map +0 -1
  983. package/esm/util/spec.d.ts +0 -17
  984. package/esm/util/spec.js +0 -112
  985. package/esm/util/spec.js.map +0 -1
@@ -32,6 +32,8 @@ export declare abstract class PolarSeries<T extends IPolarSeriesSpec = IPolarSer
32
32
  private _radiusAxisHelper;
33
33
  get radiusAxisHelper(): IPolarAxisHelper;
34
34
  set radiusAxisHelper(h: IPolarAxisHelper);
35
+ protected _sortDataByAxis: boolean;
36
+ get sortDataByAxis(): boolean;
35
37
  protected _buildMarkAttributeContext(): void;
36
38
  valueToPosition(angleValue: StringOrNumber | StringOrNumber[], radiusValue: StringOrNumber | StringOrNumber[]): IPoint;
37
39
  dataToPosition(datum: Datum): IPoint;
@@ -60,4 +62,6 @@ export declare abstract class PolarSeries<T extends IPolarSeriesSpec = IPolarSer
60
62
  afterInitMark(): void;
61
63
  protected _computeLayoutRadius(): number;
62
64
  setValueFieldToStackOffsetSilhouette(): void;
65
+ fillData(): void;
66
+ _sortDataInAxisDomain(): void;
63
67
  }
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.PolarSeries = void 0;
6
6
 
7
- const util_1 = require("../../util"), vscale_1 = require("@visactor/vscale"), polar_1 = require("../../constant/polar"), base_series_1 = require("../base/base-series");
7
+ const util_1 = require("../../util"), vscale_1 = require("@visactor/vscale"), polar_1 = require("../../constant/polar"), base_series_1 = require("../base/base-series"), utils_1 = require("../util/utils");
8
8
 
9
9
  class PolarSeries extends base_series_1.BaseSeries {
10
10
  constructor() {
11
11
  super(...arguments), this.coordinate = "polar", this._outerRadius = polar_1.POLAR_DEFAULT_RADIUS,
12
- this._innerRadius = 0, this._angleField = [], this._radiusField = [];
12
+ this._innerRadius = 0, this._angleField = [], this._radiusField = [], this._sortDataByAxis = !1;
13
13
  }
14
14
  get outerRadius() {
15
15
  return this._outerRadius;
@@ -59,6 +59,9 @@ class PolarSeries extends base_series_1.BaseSeries {
59
59
  set radiusAxisHelper(h) {
60
60
  this._radiusAxisHelper = h, this.onRadiusAxisHelperUpdate();
61
61
  }
62
+ get sortDataByAxis() {
63
+ return this._sortDataByAxis;
64
+ }
62
65
  _buildMarkAttributeContext() {
63
66
  super._buildMarkAttributeContext(), this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this),
64
67
  this._markAttributeContext.getCenter = () => this.angleAxisHelper.center();
@@ -122,7 +125,8 @@ class PolarSeries extends base_series_1.BaseSeries {
122
125
  setAttrFromSpec() {
123
126
  super.setAttrFromSpec(), (0, util_1.isValid)(this._spec.outerRadius) && (this._outerRadius = this._spec.outerRadius),
124
127
  (0, util_1.isValid)(this._spec.radius) && (this._outerRadius = this._spec.radius),
125
- (0, util_1.isValid)(this._spec.innerRadius) && (this._innerRadius = this._spec.innerRadius);
128
+ (0, util_1.isValid)(this._spec.innerRadius) && (this._innerRadius = this._spec.innerRadius),
129
+ (0, util_1.isValid)(this._spec.sortDataByAxis) && (this._sortDataByAxis = !0 === this._spec.sortDataByAxis);
126
130
  }
127
131
  updateSpec(spec) {
128
132
  const originalSpec = this._originalSpec, {angleField: angleField, radiusField: radiusField} = originalSpec, result = super.updateSpec(spec);
@@ -143,6 +147,14 @@ class PolarSeries extends base_series_1.BaseSeries {
143
147
  return Math.min(width / 2, height / 2);
144
148
  }
145
149
  setValueFieldToStackOffsetSilhouette() {}
150
+ fillData() {
151
+ super.fillData(), this.sortDataByAxis && this._sortDataInAxisDomain();
152
+ }
153
+ _sortDataInAxisDomain() {
154
+ var _a, _b;
155
+ (null === (_b = null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b.length) && (0,
156
+ utils_1.sortDataInAxisHelper)(this.angleAxisHelper, this._angleField[0], this.getViewData().latestData);
157
+ }
146
158
  }
147
159
 
148
160
  exports.PolarSeries = PolarSeries;
@@ -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, shallowCompare, isValid, isNil } from '../../util';\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';\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 _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 _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n this._markAttributeContext.getCenter = () => {\n return this.angleAxisHelper.center();\n };\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): IPoint {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return { x: Number.NaN, y: Number.NaN };\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 protected _getDefaultSpecFromChart(chartSpec: any) {\n const { outerRadius, innerRadius } = chartSpec;\n return { outerRadius, innerRadius } as Partial<T>;\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\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { angleField, radiusField } = originalSpec;\n const result = super.updateSpec(spec);\n if (!shallowCompare(spec.angleField, angleField) || !shallowCompare(spec.radiusField, radiusField)) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n onRadiusAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n onAngleAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this._trigger.setStateKeys([...this._angleField, ...this._radiusField]);\n }\n\n protected _computeLayoutRadius() {\n const { width, height } = this._region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\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, shallowCompare, isValid, isNil } from '../../util';\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 _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 = () => {\n return this.angleAxisHelper.center();\n };\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): IPoint {\n if (!datum || !this.angleAxisHelper || !this.radiusAxisHelper) {\n return { x: Number.NaN, y: Number.NaN };\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 protected _getDefaultSpecFromChart(chartSpec: any) {\n const { outerRadius, innerRadius } = chartSpec;\n return { outerRadius, innerRadius } as Partial<T>;\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 updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { angleField, radiusField } = originalSpec;\n const result = super.updateSpec(spec);\n if (!shallowCompare(spec.angleField, angleField) || !shallowCompare(spec.radiusField, radiusField)) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n onRadiusAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n onAngleAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this._trigger.setStateKeys([...this._angleField, ...this._radiusField]);\n }\n\n protected _computeLayoutRadius() {\n const { width, height } = this._region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\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"]}
@@ -13,6 +13,7 @@ export declare class RadarSeries<T extends IRadarSeriesSpec = IRadarSeriesSpec>
13
13
  static readonly mark: SeriesMarkMap;
14
14
  protected _theme: Maybe<IRadarSeriesTheme>;
15
15
  private _areaMark;
16
+ protected _sortDataByAxis: boolean;
16
17
  initGroups(): void;
17
18
  initMark(): void;
18
19
  initMarkStyle(): void;
@@ -10,7 +10,7 @@ vchart_1.VChart.useMark([ area_1.AreaMark, line_1.LineMark, symbol_1.SymbolMark,
10
10
 
11
11
  class RadarSeries extends rose_like_1.RoseLikeSeries {
12
12
  constructor() {
13
- super(...arguments), this.type = interface_1.SeriesTypeEnum.radar;
13
+ super(...arguments), this.type = interface_1.SeriesTypeEnum.radar, this._sortDataByAxis = !0;
14
14
  }
15
15
  initGroups() {}
16
16
  initMark() {
@@ -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, POLAR_START_RADIAN } from '../../constant';\nimport { DEFAULT_LINEAR_CLOSED_INTERPOLATE } from '../../typings';\nimport type { Datum, IPoint, IPolarPoint, Maybe } from '../../typings';\nimport { isValid, radians } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { mixin } from '@visactor/vutils';\nimport type { IRadarSeriesSpec, IRadarSeriesTheme } from './interface';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './animation';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { IAreaMark } from '../../mark/area';\nimport { VChart } from '../../core/vchart';\nimport { AreaMark } from '../../mark/area';\nimport { LineMark } from '../../mark/line';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { radarSeriesMark } from './constant';\n\nVChart.useMark([AreaMark, LineMark, SymbolMark, TextMark]);\n\nexport interface RadarSeries<T extends IRadarSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\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\n protected declare _theme: Maybe<IRadarSeriesTheme>;\n\n private _areaMark: ILineMark;\n\n initGroups() {\n // do nothing\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 }) 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._stack ? this.getDatumPositionValues(datum, this._innerRadiusField) : 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._stack ? this.getDatumPositionValues(datum, this._innerRadiusField) : this.radiusScale.domain()[0]\n ).y;\n return value;\n },\n fill: this.getColorAttribute(),\n curveType: DEFAULT_LINEAR_CLOSED_INTERPOLATE\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(areaMark);\n this._tooltipHelper?.activeTriggerSet.dimension.add(areaMark);\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: radians(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 DEFAULT_MARK_ANIMATION.radarGroup(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.group, this._spec)\n )\n );\n }\n }\n\n const markAnimationMap: [IMark, keyof typeof DEFAULT_MARK_ANIMATION][] = [\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 = DEFAULT_MARK_ANIMATION[animation];\n mark.setAnimationConfig(\n animationConfig(getAnimation(animationParams, appearPreset), userAnimationConfig(mark.name, this._spec))\n );\n }\n });\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n}\n\nmixin(RadarSeries, LineLikeSeriesMixin);\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, POLAR_START_RADIAN } from '../../constant';\nimport { DEFAULT_LINEAR_CLOSED_INTERPOLATE } from '../../typings';\nimport type { Datum, IPoint, IPolarPoint, Maybe } from '../../typings';\nimport { isValid, radians } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { mixin } from '@visactor/vutils';\nimport type { IRadarSeriesSpec, IRadarSeriesTheme } from './interface';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './animation';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { IAreaMark } from '../../mark/area';\nimport { VChart } from '../../core/vchart';\nimport { AreaMark } from '../../mark/area';\nimport { LineMark } from '../../mark/line';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { radarSeriesMark } from './constant';\n\nVChart.useMark([AreaMark, LineMark, SymbolMark, TextMark]);\n\nexport interface RadarSeries<T extends IRadarSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\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\n protected declare _theme: Maybe<IRadarSeriesTheme>;\n\n private _areaMark: ILineMark;\n protected _sortDataByAxis: boolean = true;\n\n initGroups() {\n // do nothing\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 }) 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._stack ? this.getDatumPositionValues(datum, this._innerRadiusField) : 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._stack ? this.getDatumPositionValues(datum, this._innerRadiusField) : this.radiusScale.domain()[0]\n ).y;\n return value;\n },\n fill: this.getColorAttribute(),\n curveType: DEFAULT_LINEAR_CLOSED_INTERPOLATE\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(areaMark);\n this._tooltipHelper?.activeTriggerSet.dimension.add(areaMark);\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: radians(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 DEFAULT_MARK_ANIMATION.radarGroup(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.group, this._spec)\n )\n );\n }\n }\n\n const markAnimationMap: [IMark, keyof typeof DEFAULT_MARK_ANIMATION][] = [\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 = DEFAULT_MARK_ANIMATION[animation];\n mark.setAnimationConfig(\n animationConfig(getAnimation(animationParams, appearPreset), userAnimationConfig(mark.name, this._spec))\n );\n }\n });\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n}\n\nmixin(RadarSeries, LineLikeSeriesMixin);\n"]}
@@ -1,3 +1,4 @@
1
+ import type { DataView } from '@visactor/vdataset';
1
2
  import { AreaSeries } from '../area/area';
2
3
  import type { SeriesMarkMap } from '../interface';
3
4
  import { SeriesTypeEnum } from '../interface';
@@ -9,4 +10,5 @@ export declare class RangeAreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec
9
10
  initMark(): void;
10
11
  initMarkStyle(): void;
11
12
  protected initTooltip(): void;
13
+ viewDataStatisticsUpdate(d: DataView): void;
12
14
  }
@@ -55,6 +55,9 @@ class RangeAreaSeries extends area_1.AreaSeries {
55
55
  initTooltip() {
56
56
  this._tooltipHelper = new tooltip_helper_1.RangeAreaSeriesTooltipHelper(this);
57
57
  }
58
+ viewDataStatisticsUpdate(d) {
59
+ super.viewDataStatisticsUpdate(d), this.encodeDefined(this._areaMark, "defined");
60
+ }
58
61
  }
59
62
 
60
63
  exports.RangeAreaSeries = RangeAreaSeries, RangeAreaSeries.type = interface_1.SeriesTypeEnum.rangeArea,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/range-area/range-area.ts"],"names":[],"mappings":"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","file":"range-area.js","sourcesContent":["import { AreaSeries } from '../area/area';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesTypeEnum } from '../interface';\nimport type { IAreaMark } from '../../mark/area';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\nimport type { Datum } from '../../typings';\nimport { couldBeValidNumber } from '../../util';\nimport { AttributeLevel } from '../../constant';\nimport { RangeAreaSeriesTooltipHelper } from './tooltip-helper';\nimport type { IAreaSeriesSpec } from '../area/interface';\nimport { rangeAreaSeriesMark } from './constant';\n\nexport class RangeAreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends AreaSeries<T> {\n static readonly type: string = SeriesTypeEnum.rangeArea;\n type = SeriesTypeEnum.rangeArea;\n\n static readonly mark: SeriesMarkMap = rangeAreaSeriesMark;\n\n initMark(): void {\n // area\n this._areaMark = this._createMark(RangeAreaSeries.mark.area, {\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as IAreaMark;\n }\n\n initMarkStyle(): void {\n const userCurveType = this.getSpec().area?.style?.curveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), {\n bandPosition: this._bandPosition\n });\n },\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), {\n bandPosition: this._bandPosition\n });\n },\n y: this.dataToPositionY.bind(this),\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: false\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n this._tooltipHelper.activeTriggerSet.dimension.add(areaMark);\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new RangeAreaSeriesTooltipHelper(this);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/range-area/range-area.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAG1C,4CAA8C;AAE9C,2DAAuE;AACvE,+CAAgD;AAGhD,6CAAgD;AAChD,qDAAgE;AAEhE,yCAAiD;AAEjD,MAAa,eAA6D,SAAQ,iBAAa;IAA/F;;QAEE,SAAI,GAAG,0BAAc,CAAC,SAAS,CAAC;IA4GlC,CAAC;IAxGC,QAAQ;QAEN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;YAC3D,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,YAAY,EAAE,IAAI;SACnB,CAAc,CAAC;IAClB,CAAC;IAED,aAAa;;QACX,MAAM,aAAa,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS,mCAAI,MAAA,MAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS,CAAC;QACrG,MAAM,SAAS,GACb,aAAa,KAAK,wCAA0B;YAC1C,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAS,CAAC,QAAQ;gBACtC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,WAAW;YACf,CAAC,CAAC,aAAa,CAAC;QAGpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,QAAQ,EAAE;YACZ,IAAI,IAAI,CAAC,UAAU,KAAK,iBAAS,CAAC,QAAQ,EAAE;gBAC1C,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;oBACE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE;wBACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;4BACtB,OAAO,MAAM,CAAC,GAAG,CAAC;yBACnB;wBACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;wBAE7C,OAAO,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC9E,YAAY,EAAE,IAAI,CAAC,aAAa;yBACjC,CAAC,CAAC;oBACL,CAAC;oBACD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;iBACnC,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;oBACE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE;wBACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;4BACtB,OAAO,MAAM,CAAC,GAAG,CAAC;yBACnB;wBACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;wBAE7C,OAAO,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC9E,YAAY,EAAE,IAAI,CAAC,aAAa;yBACjC,CAAC,CAAC;oBACL,CAAC;oBACD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,MAAM,EAAE,IAAI,CAAC,UAAU;iBACxB,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;aACH;YACD,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAC9B,MAAM,EAAE,KAAK;aACd,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;YACF,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;gBAChC,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;oBACE,OAAO,EAAE,IAAI,CAAC,kBAAkB;oBAChC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE;iBAC7C,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;aACH;YACD,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,SAAS;aACV,EACD,QAAQ,EACR,yBAAc,CAAC,QAAQ,CACxB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC9D;IACH,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,6CAA4B,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,wBAAwB,CAAC,CAAW;QAClC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;;AA7GH,0CA8GC;AA7GiB,oBAAI,GAAW,0BAAc,CAAC,SAAS,CAAC;AAGxC,oBAAI,GAAkB,8BAAmB,CAAC","file":"range-area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { AreaSeries } from '../area/area';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesTypeEnum } from '../interface';\nimport type { IAreaMark } from '../../mark/area';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\nimport type { Datum } from '../../typings';\nimport { couldBeValidNumber } from '../../util';\nimport { AttributeLevel } from '../../constant';\nimport { RangeAreaSeriesTooltipHelper } from './tooltip-helper';\nimport type { IAreaSeriesSpec } from '../area/interface';\nimport { rangeAreaSeriesMark } from './constant';\n\nexport class RangeAreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends AreaSeries<T> {\n static readonly type: string = SeriesTypeEnum.rangeArea;\n type = SeriesTypeEnum.rangeArea;\n\n static readonly mark: SeriesMarkMap = rangeAreaSeriesMark;\n\n initMark(): void {\n // area\n this._areaMark = this._createMark(RangeAreaSeries.mark.area, {\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as IAreaMark;\n }\n\n initMarkStyle(): void {\n const userCurveType = this.getSpec().area?.style?.curveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), {\n bandPosition: this._bandPosition\n });\n },\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), {\n bandPosition: this._bandPosition\n });\n },\n y: this.dataToPositionY.bind(this),\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: false\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n this._tooltipHelper.activeTriggerSet.dimension.add(areaMark);\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new RangeAreaSeriesTooltipHelper(this);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n}\n"]}
@@ -20,7 +20,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
20
20
  morph: (0, utils_1.shouldDoMorph)(this._spec.animation, this._spec.morph, (0, utils_1.userAnimationConfig)("bar", this._spec)),
21
21
  defaultMorphElementKey: this.getDimensionField()[0],
22
22
  groupKey: this._seriesField,
23
- label: labelPosition === interface_3.PositionEnum.bothEnd ? void 0 : (0, util_1.merge)({}, this._spec.label),
23
+ label: labelPosition === interface_3.PositionEnum.bothEnd ? void 0 : (0, util_1.mergeSpec)({}, this._spec.label),
24
24
  isSeriesMark: !0
25
25
  }), !1 !== (null === (_b = this._spec.label) || void 0 === _b ? void 0 : _b.visible) && labelPosition === interface_3.PositionEnum.bothEnd && (!1 !== (null === (_d = null === (_c = this._spec.label) || void 0 === _c ? void 0 : _c.minLabel) || void 0 === _d ? void 0 : _d.visible) && (this._minLabelMark = this._createMark(RangeColumnSeries.mark.minLabel, {
26
26
  markSpec: null === (_e = this._spec.label) || void 0 === _e ? void 0 : _e.minLabel
@@ -67,7 +67,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
67
67
  max = datum[this._spec.xField[1]]) : (min = datum[this._spec.yField[0]], max = datum[this._spec.yField[1]]),
68
68
  min + "-" + max;
69
69
  },
70
- z: this.dataToPositionZ.bind(this)
70
+ z: this._fieldZ ? this.dataToPositionZ.bind(this) : null
71
71
  }), null === (_a = this._tooltipHelper) || void 0 === _a || _a.ignoreTriggerSet.mark.add(labelMark));
72
72
  }
73
73
  initBandRectMarkStyle() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/range-column/range-column.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AACvC,oDAAoD;AAGpD,4CAAkE;AAClE,+CAAgD;AAGhD,qCAAsD;AACtD,mDAAqD;AACrD,6CAAgD;AAChD,iDAA4F;AAC5F,qDAAkE;AAClE,mDAAgE;AAIhE,2CAA2C;AAG3C,yCAAmD;AAEtC,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAa,iBAA6E,SAAQ,eAAc;IAAhH;;QAEE,SAAI,GAAG,0BAAc,CAAC,WAAW,CAAC;QACxB,iBAAY,GAAiB,wBAAY,CAAC,IAAI,CAAC;QAC/C,aAAQ,GAAW,0BAAc,CAAC,GAAG,CAAC;QAMtC,WAAM,GAAY,KAAK,CAAC;IAoOpC,CAAC;IAhOC,QAAQ;;QACN,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5D,KAAK,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAA,2BAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpG,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,KAAK,EAAE,aAAa,KAAK,wBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACvF,YAAY,EAAE,IAAI;SACnB,CAAc,CAAC;QAEhB,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,OAAO,MAAK,KAAK,IAAI,aAAa,KAAK,wBAAY,CAAC,OAAO,EAAE;YACjF,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ,0CAAE,OAAO,MAAK,KAAK,EAAE;gBACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACrE,QAAQ,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ;iBACrC,CAAc,CAAC;aACjB;YACD,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ,0CAAE,OAAO,MAAK,KAAK,EAAE;gBACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACrE,QAAQ,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ;iBACrC,CAAc,CAAC;aACjB;SACF;IACH,CAAC;IAED,aAAa;;QACX,KAAK,CAAC,aAAa,EAAE,CAAC;QAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ,CAAC;QAChD,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;gBAC9B,IAAI,EAAE,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,0CAAE,IAAI,mCAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3D,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;oBACrB,MAAM,GAAG,GACP,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5G,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,EAAE;wBAC9B,OAAO,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC9C;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mCAAI,KAAK,CAAC;YACjD,MAAM,MAAM,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,mCAAI,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpF,IAAA,4BAAe,EACb,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAW,EACnE,CAAC,KAAY,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU;oBACnC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAY;wBAChD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAY;oBAC3D,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAY,CAAC;YAC3D,CAAC,EACD,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAW,EACnE,CAAC,KAAY,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU;oBACnC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAY;oBACtD,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAY;wBAChD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAY,CAAC;YACjE,CAAC,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CACtB,CAAC;YACF,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC9D;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ,CAAC;QAChD,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;gBAC9B,IAAI,EAAE,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,0CAAE,IAAI,mCAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3D,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;oBACrB,MAAM,GAAG,GACP,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5G,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,EAAE;wBAC9B,OAAO,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC9C;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mCAAI,OAAO,CAAC;YACnD,MAAM,MAAM,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,mCAAI,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpF,IAAA,4BAAe,EACb,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAW,EACnE,CAAC,KAAY,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU;oBACnC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAY;wBAChD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAY;oBAC3D,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAY,CAAC;YAC3D,CAAC,EACD,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAW,EACnE,CAAC,KAAY,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU;oBACnC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAY;oBACtD,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAY;wBAChD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAY,CAAC;YACjE,CAAC,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CACtB,CAAC;YACF,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,kBAAkB,CAAC,SAAoB;;QACrC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC3B,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;gBACrB,IAAI,GAAG,CAAC;gBACR,IAAI,GAAG,CAAC;gBACR,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,EAAE;oBACjD,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnC;qBAAM;oBACL,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnC;gBACD,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YACzB,CAAC;YACD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;SACnC,CAAC,CAAC;QACH,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,qBAAqB;;QACnB,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;QAChD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3G,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,EAAE;YAC3C,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;gBACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAClB,IAAA,wBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,MAAM,CACP;gBACH,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CACnB,IAAA,wBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,MAAM,CACP;gBACH,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC7D,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;aACnD,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;gBACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC7D,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAClB,IAAA,wBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,MAAM,CACP;gBACH,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CACnB,IAAA,wBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,MAAM,CACP;gBACH,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC;aACF,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;IACH,CAAC;IAED,aAAa;;QAEX,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;;YACjC,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,UAAU,0CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/F,OAAO,MAAM,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAA8D,0CAAE,MAAM,CAAC;QACzG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,IAAA,uBAAe,EACb,+BAAsB,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,EAC/E,IAAA,2BAAmB,EAAC,8BAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EACvD,EAAE,SAAS,EAAE,CACd,CACF,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAA,uBAAe,EAAC,+BAAsB,CAAC,KAAK,EAAE,EAAE,IAAA,2BAAmB,EAAC,8BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBACzG,SAAS;aACV,CAAC,CACH,CAAC;SACH;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAA,uBAAe,EAAC,+BAAsB,CAAC,KAAK,EAAE,EAAE,IAAA,2BAAmB,EAAC,8BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBACzG,SAAS;aACV,CAAC,CACH,CAAC;SACH;IACH,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,+CAA8B,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;;AA7OH,8CA8OC;AA7OiB,sBAAI,GAAW,0BAAc,CAAC,WAAW,CAAC;AAO1C,sBAAI,GAAkB,gCAAqB,CAAC","file":"range-column.js","sourcesContent":["import { BarSeries } from '../bar/bar';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { Direction } from '../../typings/space';\nimport type { IRectMark } from '../../mark/rect';\nimport type { ITextMark } from '../../mark/text';\nimport { merge, valueInScaleRange } from '../../util';\nimport { setRectLabelPos } from '../util/label-mark';\nimport { AttributeLevel } from '../../constant';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { RangeColumnSeriesTooltipHelper } from './tooltip-helper';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { Datum } from '../../typings';\nimport type { IRangeColumnSeriesSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { PositionEnum } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { RangeColumnAppearPreset } from './animation';\nimport { rangeColumnSeriesMark } from './constant';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class RangeColumnSeries<T extends IRangeColumnSeriesSpec = IRangeColumnSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.rangeColumn;\n type = SeriesTypeEnum.rangeColumn;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n protected _barName: string = SeriesTypeEnum.bar;\n\n protected declare _spec: T;\n\n static readonly mark: SeriesMarkMap = rangeColumnSeriesMark;\n\n protected _stack: boolean = false;\n private _minLabelMark?: ITextMark;\n private _maxLabelMark?: ITextMark;\n\n initMark(): void {\n const labelPosition = this._spec.label?.position;\n this._rectMark = this._createMark(RangeColumnSeries.mark.bar, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('bar', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: labelPosition === PositionEnum.bothEnd ? undefined : merge({}, this._spec.label),\n isSeriesMark: true\n }) as IRectMark;\n\n if (this._spec.label?.visible !== false && labelPosition === PositionEnum.bothEnd) {\n if (this._spec.label?.minLabel?.visible !== false) {\n this._minLabelMark = this._createMark(RangeColumnSeries.mark.minLabel, {\n markSpec: this._spec.label?.minLabel\n }) as ITextMark;\n }\n if (this._spec.label?.maxLabel?.visible !== false) {\n this._maxLabelMark = this._createMark(RangeColumnSeries.mark.maxLabel, {\n markSpec: this._spec.label?.maxLabel\n }) as ITextMark;\n }\n }\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n\n const minLabelMark = this._minLabelMark;\n const minLabelSpec = this._spec.label?.minLabel;\n if (minLabelMark) {\n this.setMarkStyle(minLabelMark, {\n fill: minLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const min =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[0]] : datum[this._spec.yField[0]];\n if (minLabelSpec?.formatMethod) {\n return minLabelSpec.formatMethod(min, datum);\n }\n return min;\n }\n });\n const position = minLabelSpec?.position ?? 'end';\n const offset = minLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n minLabelMark,\n position,\n offset,\n (datum: Datum) => this._rectMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('x', datum) as number) +\n (this._rectMark.getAttribute('width', datum) as number)\n : (this._rectMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._rectMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('y1', datum) as number)\n : (this._rectMark.getAttribute('y', datum) as number) +\n (this._rectMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n this._tooltipHelper?.ignoreTriggerSet.mark.add(minLabelMark);\n }\n\n const maxLabelMark = this._maxLabelMark;\n const maxLabelSpec = this._spec.label?.maxLabel;\n if (maxLabelMark) {\n this.setMarkStyle(maxLabelMark, {\n fill: maxLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const max =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[1]] : datum[this._spec.yField[1]];\n if (maxLabelSpec?.formatMethod) {\n return maxLabelSpec.formatMethod(max, datum);\n }\n return max;\n }\n });\n const position = maxLabelSpec?.position ?? 'start';\n const offset = maxLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n maxLabelMark,\n position,\n offset,\n (datum: Datum) => this._rectMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('x', datum) as number) +\n (this._rectMark.getAttribute('width', datum) as number)\n : (this._rectMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._rectMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('y1', datum) as number)\n : (this._rectMark.getAttribute('y', datum) as number) +\n (this._rectMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n this._tooltipHelper?.ignoreTriggerSet.mark.add(maxLabelMark);\n }\n }\n\n initLabelMarkStyle(labelMark: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n let min;\n let max;\n if (this._spec.direction === Direction.horizontal) {\n min = datum[this._spec.xField[0]];\n max = datum[this._spec.xField[1]];\n } else {\n min = datum[this._spec.yField[0]];\n max = datum[this._spec.yField[1]];\n }\n return min + '-' + max;\n },\n z: this.dataToPositionZ.bind(this)\n });\n this._tooltipHelper?.ignoreTriggerSet.mark.add(labelMark);\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n const { dataToPosition } = this.direction === Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[0]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n x1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[0]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n y1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this._viewDataStatistics?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RangeColumnAppearPreset>)?.preset;\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.rangeColumn({ direction: this.direction }, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._minLabelMark) {\n this._minLabelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n\n if (this._maxLabelMark) {\n this._maxLabelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new RangeColumnSeriesTooltipHelper(this);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/range-column/range-column.ts"],"names":[],"mappings":"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","file":"range-column.js","sourcesContent":["import { BarSeries } from '../bar/bar';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { Direction } from '../../typings/space';\nimport type { IRectMark } from '../../mark/rect';\nimport type { ITextMark } from '../../mark/text';\nimport { mergeSpec, valueInScaleRange } from '../../util';\nimport { setRectLabelPos } from '../util/label-mark';\nimport { AttributeLevel } from '../../constant';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { RangeColumnSeriesTooltipHelper } from './tooltip-helper';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { Datum } from '../../typings';\nimport type { IRangeColumnSeriesSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { PositionEnum } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { RangeColumnAppearPreset } from './animation';\nimport { rangeColumnSeriesMark } from './constant';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class RangeColumnSeries<T extends IRangeColumnSeriesSpec = IRangeColumnSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.rangeColumn;\n type = SeriesTypeEnum.rangeColumn;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n protected _barName: string = SeriesTypeEnum.bar;\n\n protected declare _spec: T;\n\n static readonly mark: SeriesMarkMap = rangeColumnSeriesMark;\n\n protected _stack: boolean = false;\n private _minLabelMark?: ITextMark;\n private _maxLabelMark?: ITextMark;\n\n initMark(): void {\n const labelPosition = this._spec.label?.position;\n this._rectMark = this._createMark(RangeColumnSeries.mark.bar, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('bar', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: labelPosition === PositionEnum.bothEnd ? undefined : mergeSpec({}, this._spec.label),\n isSeriesMark: true\n }) as IRectMark;\n\n if (this._spec.label?.visible !== false && labelPosition === PositionEnum.bothEnd) {\n if (this._spec.label?.minLabel?.visible !== false) {\n this._minLabelMark = this._createMark(RangeColumnSeries.mark.minLabel, {\n markSpec: this._spec.label?.minLabel\n }) as ITextMark;\n }\n if (this._spec.label?.maxLabel?.visible !== false) {\n this._maxLabelMark = this._createMark(RangeColumnSeries.mark.maxLabel, {\n markSpec: this._spec.label?.maxLabel\n }) as ITextMark;\n }\n }\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n\n const minLabelMark = this._minLabelMark;\n const minLabelSpec = this._spec.label?.minLabel;\n if (minLabelMark) {\n this.setMarkStyle(minLabelMark, {\n fill: minLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const min =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[0]] : datum[this._spec.yField[0]];\n if (minLabelSpec?.formatMethod) {\n return minLabelSpec.formatMethod(min, datum);\n }\n return min;\n }\n });\n const position = minLabelSpec?.position ?? 'end';\n const offset = minLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n minLabelMark,\n position,\n offset,\n (datum: Datum) => this._rectMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('x', datum) as number) +\n (this._rectMark.getAttribute('width', datum) as number)\n : (this._rectMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._rectMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('y1', datum) as number)\n : (this._rectMark.getAttribute('y', datum) as number) +\n (this._rectMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n this._tooltipHelper?.ignoreTriggerSet.mark.add(minLabelMark);\n }\n\n const maxLabelMark = this._maxLabelMark;\n const maxLabelSpec = this._spec.label?.maxLabel;\n if (maxLabelMark) {\n this.setMarkStyle(maxLabelMark, {\n fill: maxLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const max =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[1]] : datum[this._spec.yField[1]];\n if (maxLabelSpec?.formatMethod) {\n return maxLabelSpec.formatMethod(max, datum);\n }\n return max;\n }\n });\n const position = maxLabelSpec?.position ?? 'start';\n const offset = maxLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n maxLabelMark,\n position,\n offset,\n (datum: Datum) => this._rectMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('x', datum) as number) +\n (this._rectMark.getAttribute('width', datum) as number)\n : (this._rectMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._rectMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('y1', datum) as number)\n : (this._rectMark.getAttribute('y', datum) as number) +\n (this._rectMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n this._tooltipHelper?.ignoreTriggerSet.mark.add(maxLabelMark);\n }\n }\n\n initLabelMarkStyle(labelMark: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n let min;\n let max;\n if (this._spec.direction === Direction.horizontal) {\n min = datum[this._spec.xField[0]];\n max = datum[this._spec.xField[1]];\n } else {\n min = datum[this._spec.yField[0]];\n max = datum[this._spec.yField[1]];\n }\n return min + '-' + max;\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n this._tooltipHelper?.ignoreTriggerSet.mark.add(labelMark);\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n const { dataToPosition } = this.direction === Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[0]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n x1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[0]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n y1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this._viewDataStatistics?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RangeColumnAppearPreset>)?.preset;\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.rangeColumn({ direction: this.direction }, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._minLabelMark) {\n this._minLabelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n\n if (this._maxLabelMark) {\n this._maxLabelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new RangeColumnSeriesTooltipHelper(this);\n }\n}\n"]}
@@ -25,7 +25,7 @@ class RoseSeries extends rose_like_1.RoseLikeSeries {
25
25
  defaultMorphElementKey: this.getDimensionField()[0],
26
26
  groupKey: this._seriesField,
27
27
  isSeriesMark: !0,
28
- label: (0, util_1.merge)({
28
+ label: (0, util_1.mergeSpec)({
29
29
  animation: this._spec.animation
30
30
  }, this._spec.label)
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/rose/rose.ts"],"names":[],"mappings":"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","file":"rose.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IArcMark } from '../../mark/arc';\nimport type { Maybe, Datum } from '../../typings';\nimport { valueInScaleRange, degrees, merge } from '../../util';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IRoseAnimationParams, RoseAppearPreset } from './animation';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IRoseSeriesSpec, IRoseSeriesTheme } from './interface';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport { AttributeLevel } from '../../constant';\nimport { VChart } from '../../core/vchart';\nimport { ArcMark } from '../../mark/arc';\nimport { TextMark } from '../../mark/text';\nimport { roseSeriesMark } from './constant';\n\nVChart.useMark([ArcMark, TextMark]);\n\nexport const DefaultBandWidth = 0.5;\n\nexport class RoseSeries<T extends IRoseSeriesSpec = IRoseSeriesSpec> extends RoseLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.rose;\n type = SeriesTypeEnum.rose;\n\n static readonly mark: SeriesMarkMap = roseSeriesMark;\n\n protected declare _theme: Maybe<IRoseSeriesTheme>;\n protected _stack: boolean = true;\n\n private _roseMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n\n initMark(): void {\n this.initRoseMark();\n }\n\n initMarkStyle(): void {\n this.initRoseMarkStyle();\n }\n\n private initRoseMark() {\n this._roseMark = this._createMark(RoseSeries.mark.rose, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('rose', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label)\n }) as IArcMark;\n }\n\n private getRoseAngle() {\n const angleBandWidth =\n this.angleAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n return angleBandWidth;\n }\n\n private initRoseMarkStyle() {\n const roseMark = this._roseMark;\n if (roseMark) {\n this.setMarkStyle(roseMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n endAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.getRoseAngle() -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n fill: this.getColorAttribute(),\n outerRadius: (datum: Datum) =>\n valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n ),\n innerRadius: (datum: Datum) => {\n if (!this._stack) {\n return 0;\n }\n const stackStart = valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._innerRadiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n );\n return stackStart <= Number.MIN_VALUE\n ? this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n : stackStart;\n }\n });\n this._trigger.registerMark(roseMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(roseMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: this._spec?.label?.visible,\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this._spec.label?.style?.fill || this.getColorAttribute(),\n angle: this._spec.label?.style?.angle,\n limit: this._spec.label?.style?.limit,\n z: 0\n });\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RoseAppearPreset>)?.preset;\n\n if (this._roseMark) {\n const animationParams: IRoseAnimationParams = {\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n };\n this._roseMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.rose(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.rose, this._spec)\n )\n );\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/rose/rose.ts"],"names":[],"mappings":"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","file":"rose.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IArcMark } from '../../mark/arc';\nimport type { Maybe, Datum } from '../../typings';\nimport { valueInScaleRange, mergeSpec } from '../../util';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IRoseAnimationParams, RoseAppearPreset } from './animation';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IRoseSeriesSpec, IRoseSeriesTheme } from './interface';\nimport { RoseLikeSeries } from '../polar/rose-like';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport { VChart } from '../../core/vchart';\nimport { ArcMark } from '../../mark/arc';\nimport { TextMark } from '../../mark/text';\nimport { roseSeriesMark } from './constant';\n\nVChart.useMark([ArcMark, TextMark]);\n\nexport const DefaultBandWidth = 0.5;\n\nexport class RoseSeries<T extends IRoseSeriesSpec = IRoseSeriesSpec> extends RoseLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.rose;\n type = SeriesTypeEnum.rose;\n\n static readonly mark: SeriesMarkMap = roseSeriesMark;\n\n protected declare _theme: Maybe<IRoseSeriesTheme>;\n protected _stack: boolean = true;\n\n private _roseMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n\n initMark(): void {\n this.initRoseMark();\n }\n\n initMarkStyle(): void {\n this.initRoseMarkStyle();\n }\n\n private initRoseMark() {\n this._roseMark = this._createMark(RoseSeries.mark.rose, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('rose', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label)\n }) as IArcMark;\n }\n\n private getRoseAngle() {\n const angleBandWidth =\n this.angleAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n return angleBandWidth;\n }\n\n private initRoseMarkStyle() {\n const roseMark = this._roseMark;\n if (roseMark) {\n this.setMarkStyle(roseMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n endAngle: (datum: Datum) =>\n this.angleAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.getRoseAngle() -\n this.angleAxisHelper.getBandwidth(0) * 0.5,\n fill: this.getColorAttribute(),\n outerRadius: (datum: Datum) =>\n valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n ),\n innerRadius: (datum: Datum) => {\n if (!this._stack) {\n return 0;\n }\n const stackStart = valueInScaleRange(\n this.radiusAxisHelper.dataToPosition([datum[this._innerRadiusField[0]]]),\n this.radiusAxisHelper.getScale(0)\n );\n return stackStart <= Number.MIN_VALUE\n ? this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n : stackStart;\n }\n });\n this._trigger.registerMark(roseMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(roseMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: this._spec?.label?.visible,\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this._spec.label?.style?.fill || this.getColorAttribute(),\n angle: this._spec.label?.style?.angle,\n limit: this._spec.label?.style?.limit,\n z: 0\n });\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RoseAppearPreset>)?.preset;\n\n if (this._roseMark) {\n const animationParams: IRoseAnimationParams = {\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0)\n };\n this._roseMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.rose(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.rose, this._spec)\n )\n );\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n}\n"]}
@@ -1,9 +1,10 @@
1
1
  import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';
2
2
  import type { IMarkSpec } from '../../typings/spec/common';
3
- import type { IRectMarkSpec, ITextMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';
3
+ import type { IRectMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';
4
4
  import type { IAnimationSpec } from '../../animation/spec';
5
5
  import type { SankeyAppearPreset, SankeyMark } from './animation';
6
6
  import type { SeriesMarkNameEnum } from '../interface';
7
+ import type { ILabelSpec } from '../../component/label';
7
8
  export interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {
8
9
  type: 'sankey';
9
10
  categoryField: string;
@@ -30,7 +31,7 @@ export interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimation
30
31
  trigger?: 'click' | 'hover';
31
32
  effect: 'self' | 'adjacency' | 'related';
32
33
  };
33
- [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec> & {
34
+ [SeriesMarkNameEnum.label]?: ILabelSpec & {
34
35
  position: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';
35
36
  limit: number;
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport type { IRectMarkSpec, ITextMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SankeyAppearPreset, SankeyMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n type: 'sankey';\n\n /**\n * 数据字段配置\n */\n /** 节点名称字段配置 */\n categoryField: string;\n /** 节点之间关系的权重字段 */\n valueField: string;\n /** 来源节点数据字段\n * 层级数据不提供\n */\n sourceField?: string;\n /** 目标节点数据字段\n * 层级数据不提供\n */\n targetField?: string;\n\n /**\n * 图表布局方向\n */\n direction?: DirectionType;\n /**\n * 节点的对齐类型\n */\n nodeAlign?: 'left' | 'right' | 'center' | 'justify' | 'start' | 'end';\n /**\n * 同一层中两个节点之间的间隙大小\n */\n nodeGap?: number;\n /**\n * 每个节点的宽度,支持三种取值\n * 1. 百分比字符串,例如:{ nodeWidth: '12%' }\n * 2. 以'px'为单位的简单数字,eg: { nodeWidth: 20 }\n * 3. function,通过自定义计算指定nodeWidth\n */\n nodeWidth?: string | number | ((node: SankeyNodeElement) => number);\n /**\n * link宽度,单位px\n */\n linkWidth?: number | ((link: SankeyLinkElement) => number);\n /**\n * link + node 的最小宽度\n */\n minStepWidth?: number;\n /**\n * 数据不为零或空时节点的最小大小\n * - 这个配置可以用来避免数据太小时看不到太细的节点\n * - 建议小于5px\n */\n minNodeHeight?: number;\n /**\n * 数据不为零或空时边的最小大小\n * - 这个配置可以用来避免数据太小的时候看不到太细的链接\n * - 建议小于5px\n * - 当同时指定 `minNodeHeight` 和 `minLinkHeight` 两个选项时,此选项应小于 `minNodeHeight`\n */\n minLinkHeight?: number;\n /** 布局的迭代次数 */\n iterations?: number;\n /** 解析node的key,defaultValue */\n nodeKey?: string | number | ((datum: SankeyNodeDatum) => string | number);\n /** 按此funtion排序link */\n linkSortBy?: (a: SankeyLinkElement, b: SankeyLinkElement) => number;\n /** 按此funtion排序node */\n nodeSortBy?: (a: SankeyNodeElement, b: SankeyNodeElement) => number;\n /** 自定义指定节点层 */\n setNodeLayer?: (datum: SankeyNodeDatum) => number;\n\n /** 节点配置 */\n [SeriesMarkNameEnum.node]?: IMarkSpec<IRectMarkSpec>;\n\n /** 边配置 */\n [SeriesMarkNameEnum.link]?: IMarkSpec<ILinkPathMarkSpec>;\n\n /** 联动交互配置 */\n emphasis?: {\n /** 是否开启交互 */\n enable: boolean;\n /**\n * 交互触发类型\n * 默认为‘click'\n */\n trigger?: 'click' | 'hover';\n /**桑基图提供3种在节点上的交互联动效果\n * self: 仅高亮当前节点。\n * adjacency: 高亮当前节点上下游节点和关联的边,淡化其它图形元素。\n * related: 高亮与当前节点相关的整条路径上的节点和边,淡化其它图形元素。 */\n effect: 'self' | 'adjacency' | 'related';\n };\n\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec> & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';\n /** 标签文字缩略 */\n limit: number;\n };\n\n /** 进度条配置 */\n // scroll?: IScrollSpec & {\n // /** 是否开启进度条 */\n // enable: boolean;\n // };\n}\n\nexport interface SankeyLinkDatum {\n source: string | number;\n target: string | number;\n value?: number;\n}\n\nexport interface SankeyNodeDatum {\n value?: number;\n}\n\nexport interface HierarchyNodeDatum {\n value?: number;\n children?: HierarchyNodeDatum[];\n}\n\nexport type SankeyData =\n | {\n nodes?: SankeyNodeDatum[];\n links: SankeyLinkDatum[];\n }\n | {\n nodes: HierarchyNodeDatum[];\n };\n\n/**\n * The node element after sankey layout\n */\nexport interface SankeyNodeElement {\n key: string | number;\n index: number;\n /** the depth of node, from source to target */\n depth: number;\n\n /** the depth of node, from target to source */\n endDepth?: number;\n /** the final layer index after layout */\n layer?: number;\n isLastLayer?: boolean;\n value: number;\n datum: SankeyNodeDatum;\n sourceLinks: SankeyLinkElement[];\n targetLinks: SankeyLinkElement[];\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n}\n/**\n * the link element after sankey layout\n */\nexport interface SankeyLinkElement {\n vertical?: boolean;\n index: number;\n source: string | number;\n target: string | number;\n value: number;\n datum: SankeyLinkDatum | SankeyLinkDatum[];\n thickness?: number;\n sourceRect?: { x0: number; x1: number; y0: number; y1: number };\n targetRect?: { x0: number; x1: number; y0: number; y1: number };\n /** this will only be generate in hierarchy node data*/\n parents?: (string | number)[];\n y0?: number;\n y1?: number;\n x0?: number;\n x1?: number;\n}\n\nexport type SankeyLayoutResult = {\n nodes: SankeyNodeElement[];\n links: SankeyLinkElement[];\n columns: SankeyNodeElement[][];\n}[];\n\nexport interface ISankeySeriesTheme {\n [SeriesMarkNameEnum.node]?: IMarkTheme<IRectMarkSpec>;\n [SeriesMarkNameEnum.link]?: IMarkTheme<ILinkPathMarkSpec>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport type { IRectMarkSpec, ITextMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SankeyAppearPreset, SankeyMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface';\nimport type { ILabelSpec } from '../../component/label';\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n type: 'sankey';\n\n /**\n * 数据字段配置\n */\n /** 节点名称字段配置 */\n categoryField: string;\n /** 节点之间关系的权重字段 */\n valueField: string;\n /** 来源节点数据字段\n * 层级数据不提供\n */\n sourceField?: string;\n /** 目标节点数据字段\n * 层级数据不提供\n */\n targetField?: string;\n\n /**\n * 图表布局方向\n */\n direction?: DirectionType;\n /**\n * 节点的对齐类型\n */\n nodeAlign?: 'left' | 'right' | 'center' | 'justify' | 'start' | 'end';\n /**\n * 同一层中两个节点之间的间隙大小\n */\n nodeGap?: number;\n /**\n * 每个节点的宽度,支持三种取值\n * 1. 百分比字符串,例如:{ nodeWidth: '12%' }\n * 2. 以'px'为单位的简单数字,eg: { nodeWidth: 20 }\n * 3. function,通过自定义计算指定nodeWidth\n */\n nodeWidth?: string | number | ((node: SankeyNodeElement) => number);\n /**\n * link宽度,单位px\n */\n linkWidth?: number | ((link: SankeyLinkElement) => number);\n /**\n * link + node 的最小宽度\n */\n minStepWidth?: number;\n /**\n * 数据不为零或空时节点的最小大小\n * - 这个配置可以用来避免数据太小时看不到太细的节点\n * - 建议小于5px\n */\n minNodeHeight?: number;\n /**\n * 数据不为零或空时边的最小大小\n * - 这个配置可以用来避免数据太小的时候看不到太细的链接\n * - 建议小于5px\n * - 当同时指定 `minNodeHeight` 和 `minLinkHeight` 两个选项时,此选项应小于 `minNodeHeight`\n */\n minLinkHeight?: number;\n /** 布局的迭代次数 */\n iterations?: number;\n /** 解析node的key,defaultValue */\n nodeKey?: string | number | ((datum: SankeyNodeDatum) => string | number);\n /** 按此funtion排序link */\n linkSortBy?: (a: SankeyLinkElement, b: SankeyLinkElement) => number;\n /** 按此funtion排序node */\n nodeSortBy?: (a: SankeyNodeElement, b: SankeyNodeElement) => number;\n /** 自定义指定节点层 */\n setNodeLayer?: (datum: SankeyNodeDatum) => number;\n\n /** 节点配置 */\n [SeriesMarkNameEnum.node]?: IMarkSpec<IRectMarkSpec>;\n\n /** 边配置 */\n [SeriesMarkNameEnum.link]?: IMarkSpec<ILinkPathMarkSpec>;\n\n /** 联动交互配置 */\n emphasis?: {\n /** 是否开启交互 */\n enable: boolean;\n /**\n * 交互触发类型\n * 默认为‘click'\n */\n trigger?: 'click' | 'hover';\n /**桑基图提供3种在节点上的交互联动效果\n * self: 仅高亮当前节点。\n * adjacency: 高亮当前节点上下游节点和关联的边,淡化其它图形元素。\n * related: 高亮与当前节点相关的整条路径上的节点和边,淡化其它图形元素。 */\n effect: 'self' | 'adjacency' | 'related';\n };\n\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';\n /** 标签文字缩略 */\n limit: number;\n };\n\n /** 进度条配置 */\n // scroll?: IScrollSpec & {\n // /** 是否开启进度条 */\n // enable: boolean;\n // };\n}\n\nexport interface SankeyLinkDatum {\n source: string | number;\n target: string | number;\n value?: number;\n}\n\nexport interface SankeyNodeDatum {\n value?: number;\n}\n\nexport interface HierarchyNodeDatum {\n value?: number;\n children?: HierarchyNodeDatum[];\n}\n\nexport type SankeyData =\n | {\n nodes?: SankeyNodeDatum[];\n links: SankeyLinkDatum[];\n }\n | {\n nodes: HierarchyNodeDatum[];\n };\n\n/**\n * The node element after sankey layout\n */\nexport interface SankeyNodeElement {\n key: string | number;\n index: number;\n /** the depth of node, from source to target */\n depth: number;\n\n /** the depth of node, from target to source */\n endDepth?: number;\n /** the final layer index after layout */\n layer?: number;\n isLastLayer?: boolean;\n value: number;\n datum: SankeyNodeDatum;\n sourceLinks: SankeyLinkElement[];\n targetLinks: SankeyLinkElement[];\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n}\n/**\n * the link element after sankey layout\n */\nexport interface SankeyLinkElement {\n vertical?: boolean;\n index: number;\n source: string | number;\n target: string | number;\n value: number;\n datum: SankeyLinkDatum | SankeyLinkDatum[];\n thickness?: number;\n sourceRect?: { x0: number; x1: number; y0: number; y1: number };\n targetRect?: { x0: number; x1: number; y0: number; y1: number };\n /** this will only be generate in hierarchy node data*/\n parents?: (string | number)[];\n y0?: number;\n y1?: number;\n x0?: number;\n x1?: number;\n}\n\nexport type SankeyLayoutResult = {\n nodes: SankeyNodeElement[];\n links: SankeyLinkElement[];\n columns: SankeyNodeElement[][];\n}[];\n\nexport interface ISankeySeriesTheme {\n [SeriesMarkNameEnum.node]?: IMarkTheme<IRectMarkSpec>;\n [SeriesMarkNameEnum.link]?: IMarkTheme<ILinkPathMarkSpec>;\n}\n"]}
@@ -32,16 +32,21 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
32
32
  protected _initNodeMarkStyle(): void;
33
33
  protected _initLinkMarkStyle(): void;
34
34
  protected _initLabelMarkStyle(): void;
35
+ private _createText;
35
36
  initAnimation(): void;
36
37
  protected initEvent(): void;
38
+ private nodesSeriesDataUpdate;
39
+ private linksSeriesDataUpdate;
37
40
  protected _handleAdjacencyClick: (params: ExtendEventParam) => void;
38
41
  protected _handleRelatedClick: (params: ExtendEventParam) => void;
42
+ protected _handleClearEmpty: () => void;
39
43
  protected _handleNodeAdjacencyClick: (element: IElement) => void;
40
44
  protected _handleLinkAdjacencyClick: (element: IGlyphElement) => void;
41
45
  protected _handleNodeRelatedClick: (element: IElement) => void;
42
46
  protected _handleLinkRelatedClick: (element: IGlyphElement) => void;
43
47
  protected initTooltip(): void;
44
48
  getNodeOrdinalColorScale(item: string): any;
49
+ extractNamesFromTree(tree: any): Set<unknown>;
45
50
  getDimensionField(): string[];
46
51
  getMeasureField(): string[];
47
52
  getSeriesKeys(): string[];