@visactor/vchart 1.12.0-alpha.8 → 1.12.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 (768) hide show
  1. package/build/es5/index.js +12 -12
  2. package/build/index.js +37732 -38851
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/animate-manager.js +2 -2
  6. package/cjs/animation/animate-manager.js.map +1 -1
  7. package/cjs/animation/config.d.ts +4 -0
  8. package/cjs/animation/config.js +4 -0
  9. package/cjs/animation/config.js.map +1 -1
  10. package/cjs/animation/spec.d.ts +2 -1
  11. package/cjs/animation/spec.js.map +1 -1
  12. package/cjs/animation/utils.js +13 -9
  13. package/cjs/animation/utils.js.map +1 -1
  14. package/cjs/chart/bar/3d/bar-3d.js +2 -2
  15. package/cjs/chart/bar/3d/bar-3d.js.map +1 -1
  16. package/cjs/chart/base/base-chart-transformer.js +1 -0
  17. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  18. package/cjs/chart/base/base-chart.js +12 -10
  19. package/cjs/chart/base/base-chart.js.map +1 -1
  20. package/cjs/chart/funnel/3d/funnel-3d.js +2 -2
  21. package/cjs/chart/funnel/3d/funnel-3d.js.map +1 -1
  22. package/cjs/chart/gauge/gauge-transformer.js +3 -3
  23. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  24. package/cjs/chart/histogram/3d/histogram-3d.js +2 -2
  25. package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
  26. package/cjs/chart/liquid/liquid-transformer.js +1 -0
  27. package/cjs/chart/liquid/liquid-transformer.js.map +1 -1
  28. package/cjs/chart/pie/3d/pie-3d.js +2 -2
  29. package/cjs/chart/pie/3d/pie-3d.js.map +1 -1
  30. package/cjs/chart/pie/base/pie-transformer.js +4 -1
  31. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  32. package/cjs/chart/polar/interface.d.ts +3 -2
  33. package/cjs/chart/polar/interface.js.map +1 -1
  34. package/cjs/chart/range-column/3d/range-column-3d.js +3 -2
  35. package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
  36. package/cjs/chart/rose/rose-transformer.js +4 -4
  37. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  38. package/cjs/chart/stack.js +4 -3
  39. package/cjs/chart/stack.js.map +1 -1
  40. package/cjs/chart/sunburst/sunburst-transformer.js +2 -2
  41. package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
  42. package/cjs/chart/util.js +4 -3
  43. package/cjs/chart/util.js.map +1 -1
  44. package/cjs/chart/word-cloud/3d/word-cloud-3d.js +5 -3
  45. package/cjs/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
  46. package/cjs/chart/word-cloud/word-cloud-transformer.js +2 -1
  47. package/cjs/chart/word-cloud/word-cloud-transformer.js.map +1 -1
  48. package/cjs/compile/compilable-base.js +1 -2
  49. package/cjs/compile/compiler.js +7 -7
  50. package/cjs/compile/compiler.js.map +1 -1
  51. package/cjs/compile/mark/compilable-mark.js +6 -6
  52. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  53. package/cjs/compile/mark/mark-data.js +2 -2
  54. package/cjs/compile/mark/mark-data.js.map +1 -1
  55. package/cjs/compile/mark/mark-state-manager.js +3 -3
  56. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  57. package/cjs/component/axis/base-axis.d.ts +1 -0
  58. package/cjs/component/axis/base-axis.js +18 -16
  59. package/cjs/component/axis/base-axis.js.map +1 -1
  60. package/cjs/component/axis/cartesian/axis.js +10 -10
  61. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  62. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  63. package/cjs/component/axis/cartesian/band-axis.js +7 -1
  64. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  65. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -0
  66. package/cjs/component/axis/cartesian/linear-axis.js +7 -1
  67. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  68. package/cjs/component/axis/cartesian/log-axis.d.ts +1 -0
  69. package/cjs/component/axis/cartesian/log-axis.js +7 -1
  70. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  71. package/cjs/component/axis/cartesian/symlog-axis.d.ts +1 -0
  72. package/cjs/component/axis/cartesian/symlog-axis.js +7 -1
  73. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -1
  74. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -0
  75. package/cjs/component/axis/cartesian/time-axis.js +8 -2
  76. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  77. package/cjs/component/axis/interface/common.d.ts +2 -2
  78. package/cjs/component/axis/interface/common.js.map +1 -1
  79. package/cjs/component/axis/mixin/linear-axis-mixin.js +5 -5
  80. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  81. package/cjs/component/axis/polar/axis.d.ts +2 -2
  82. package/cjs/component/axis/polar/axis.js +21 -25
  83. package/cjs/component/axis/polar/axis.js.map +1 -1
  84. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  85. package/cjs/component/axis/polar/band-axis.js +8 -1
  86. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  87. package/cjs/component/axis/polar/interface/spec.d.ts +3 -2
  88. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  89. package/cjs/component/axis/polar/linear-axis.d.ts +1 -0
  90. package/cjs/component/axis/polar/linear-axis.js +8 -1
  91. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  92. package/cjs/component/axis/polar/util/common.d.ts +3 -0
  93. package/cjs/component/axis/polar/util/common.js +14 -5
  94. package/cjs/component/axis/polar/util/common.js.map +1 -1
  95. package/cjs/component/base/base-component.js +2 -2
  96. package/cjs/component/base/base-component.js.map +1 -1
  97. package/cjs/component/brush/brush.js +18 -17
  98. package/cjs/component/brush/brush.js.map +1 -1
  99. package/cjs/component/crosshair/base.d.ts +1 -0
  100. package/cjs/component/crosshair/base.js +28 -31
  101. package/cjs/component/crosshair/base.js.map +1 -1
  102. package/cjs/component/crosshair/utils/common.js +6 -5
  103. package/cjs/component/crosshair/utils/common.js.map +1 -1
  104. package/cjs/component/custom-mark/custom-mark.js +4 -4
  105. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  106. package/cjs/component/data-zoom/data-filter-base-component.js +3 -3
  107. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  108. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  109. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  110. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +4 -4
  111. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  112. package/cjs/component/geo/geo-coordinate.js +10 -7
  113. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  114. package/cjs/component/geo/interface.d.ts +4 -0
  115. package/cjs/component/geo/interface.js.map +1 -1
  116. package/cjs/component/indicator/indicator.js +3 -3
  117. package/cjs/component/indicator/indicator.js.map +1 -1
  118. package/cjs/component/indicator/interface.d.ts +3 -1
  119. package/cjs/component/indicator/interface.js.map +1 -1
  120. package/cjs/component/label/base-label.js +2 -2
  121. package/cjs/component/label/base-label.js.map +1 -1
  122. package/cjs/component/label/label.js +7 -7
  123. package/cjs/component/label/label.js.map +1 -1
  124. package/cjs/component/label/total-label.js +5 -5
  125. package/cjs/component/label/total-label.js.map +1 -1
  126. package/cjs/component/legend/base-legend.js +8 -7
  127. package/cjs/component/legend/base-legend.js.map +1 -1
  128. package/cjs/component/legend/continuous/legend.js +2 -2
  129. package/cjs/component/legend/continuous/legend.js.map +1 -1
  130. package/cjs/component/legend/discrete/legend.js +4 -4
  131. package/cjs/component/legend/discrete/legend.js.map +1 -1
  132. package/cjs/component/legend/util.d.ts +1 -1
  133. package/cjs/component/map-label/component.d.ts +1 -1
  134. package/cjs/component/map-label/component.js +5 -5
  135. package/cjs/component/map-label/component.js.map +1 -1
  136. package/cjs/component/marker/interface.d.ts +2 -1
  137. package/cjs/component/marker/interface.js.map +1 -1
  138. package/cjs/component/marker/mark-area/base-mark-area.js +2 -2
  139. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
  140. package/cjs/component/marker/mark-line/base-mark-line.js +2 -2
  141. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  142. package/cjs/component/marker/mark-point/base-mark-point.js +2 -2
  143. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  144. package/cjs/component/marker/utils.js +2 -1
  145. package/cjs/component/marker/utils.js.map +1 -1
  146. package/cjs/component/player/player.js +9 -9
  147. package/cjs/component/player/player.js.map +1 -1
  148. package/cjs/component/title/title.js +2 -2
  149. package/cjs/component/title/title.js.map +1 -1
  150. package/cjs/component/tooltip/constant.js +3 -3
  151. package/cjs/component/tooltip/constant.js.map +1 -1
  152. package/cjs/component/tooltip/processor/base.js +2 -2
  153. package/cjs/component/tooltip/processor/base.js.map +1 -1
  154. package/cjs/component/tooltip/tooltip-transformer.js +3 -3
  155. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  156. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  157. package/cjs/component/tooltip/tooltip.js +17 -13
  158. package/cjs/component/tooltip/tooltip.js.map +1 -1
  159. package/cjs/component/tooltip/utils/show-tooltip.js +3 -3
  160. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  161. package/cjs/constant/attribute.d.ts +13 -0
  162. package/cjs/constant/attribute.js +15 -0
  163. package/cjs/constant/attribute.js.map +1 -0
  164. package/cjs/constant/data.d.ts +22 -0
  165. package/cjs/constant/data.js +23 -0
  166. package/cjs/constant/data.js.map +1 -0
  167. package/cjs/constant/gradient.d.ts +43 -0
  168. package/cjs/constant/gradient.js +28 -0
  169. package/cjs/constant/gradient.js.map +1 -0
  170. package/cjs/constant/layout.d.ts +33 -0
  171. package/cjs/constant/layout.js +22 -3
  172. package/cjs/constant/layout.js.map +1 -1
  173. package/cjs/constant/scroll-bar.js +2 -1
  174. package/cjs/core/index.d.ts +2 -2
  175. package/cjs/core/index.js +2 -2
  176. package/cjs/core/index.js.map +1 -1
  177. package/cjs/core/interface.d.ts +15 -3
  178. package/cjs/core/interface.js.map +1 -1
  179. package/cjs/core/vchart.d.ts +9 -1
  180. package/cjs/core/vchart.js +80 -56
  181. package/cjs/core/vchart.js.map +1 -1
  182. package/cjs/data/register.js +1 -2
  183. package/cjs/data/transforms/correlation-center.js +3 -3
  184. package/cjs/data/transforms/correlation-center.js.map +1 -1
  185. package/cjs/data/transforms/correlation.js +4 -4
  186. package/cjs/data/transforms/correlation.js.map +1 -1
  187. package/cjs/data/transforms/data-key.js +3 -3
  188. package/cjs/data/transforms/data-key.js.map +1 -1
  189. package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
  190. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  191. package/cjs/data/transforms/map.js +3 -3
  192. package/cjs/data/transforms/map.js.map +1 -1
  193. package/cjs/data/transforms/pie.d.ts +6 -4
  194. package/cjs/data/transforms/pie.js +14 -7
  195. package/cjs/data/transforms/pie.js.map +1 -1
  196. package/cjs/data/transforms/waterfall.js +2 -2
  197. package/cjs/data/transforms/waterfall.js.map +1 -1
  198. package/cjs/event/bubble.d.ts +3 -0
  199. package/cjs/event/bubble.js +13 -4
  200. package/cjs/event/bubble.js.map +1 -1
  201. package/cjs/event/event-dispatcher.d.ts +3 -1
  202. package/cjs/event/event-dispatcher.js +29 -27
  203. package/cjs/event/event-dispatcher.js.map +1 -1
  204. package/cjs/event/event.d.ts +2 -0
  205. package/cjs/event/event.js +6 -0
  206. package/cjs/event/event.js.map +1 -1
  207. package/cjs/event/events/dimension/dimension-click.js +2 -2
  208. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  209. package/cjs/event/events/dimension/dimension-hover.js +4 -4
  210. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  211. package/cjs/event/events/dimension/util/cartesian.js +1 -2
  212. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  213. package/cjs/event/events/dimension/util/polar.js +1 -2
  214. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  215. package/cjs/event/interface.d.ts +6 -1
  216. package/cjs/event/interface.js.map +1 -1
  217. package/cjs/index-lark.js +2 -2
  218. package/cjs/index-lark.js.map +1 -1
  219. package/cjs/index-wx-simple.js +2 -2
  220. package/cjs/index-wx-simple.js.map +1 -1
  221. package/cjs/index-wx.d.ts +3 -1
  222. package/cjs/index-wx.js +4 -3
  223. package/cjs/index-wx.js.map +1 -1
  224. package/cjs/index.d.ts +1 -0
  225. package/cjs/index.js +1 -1
  226. package/cjs/index.js.map +1 -1
  227. package/cjs/interaction/config.js +1 -1
  228. package/cjs/interaction/dimension-trigger.js +1 -1
  229. package/cjs/interaction/drill/drillable.js +3 -3
  230. package/cjs/interaction/drill/drillable.js.map +1 -1
  231. package/cjs/interaction/index.js +1 -1
  232. package/cjs/interaction/interaction.js +1 -1
  233. package/cjs/interaction/zoom/zoomable.d.ts +10 -33
  234. package/cjs/interaction/zoom/zoomable.js +29 -25
  235. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  236. package/cjs/layout/base-layout.js +3 -2
  237. package/cjs/layout/base-layout.js.map +1 -1
  238. package/cjs/layout/layout-item.js +17 -18
  239. package/cjs/layout/layout-item.js.map +1 -1
  240. package/cjs/mark/arc.js +2 -2
  241. package/cjs/mark/arc.js.map +1 -1
  242. package/cjs/mark/base/base-line.js +1 -2
  243. package/cjs/mark/base/base-line.js.map +1 -1
  244. package/cjs/mark/base/base-mark.js +12 -8
  245. package/cjs/mark/base/base-mark.js.map +1 -1
  246. package/cjs/mark/utils/common.d.ts +1 -0
  247. package/cjs/mark/utils/common.js +7 -2
  248. package/cjs/mark/utils/common.js.map +1 -1
  249. package/cjs/model/interface.d.ts +1 -0
  250. package/cjs/model/interface.js.map +1 -1
  251. package/cjs/plugin/components/axis-sync/tick-align-transform.js +1 -1
  252. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  253. package/cjs/plugin/other.d.ts +6 -0
  254. package/cjs/plugin/other.js +47 -0
  255. package/cjs/plugin/other.js.map +1 -0
  256. package/cjs/region/region.js +12 -12
  257. package/cjs/region/region.js.map +1 -1
  258. package/cjs/series/area/area.js +7 -7
  259. package/cjs/series/area/area.js.map +1 -1
  260. package/cjs/series/bar/bar.js +26 -25
  261. package/cjs/series/bar/bar.js.map +1 -1
  262. package/cjs/series/base/base-series-transformer.js +1 -2
  263. package/cjs/series/base/base-series-transformer.js.map +1 -1
  264. package/cjs/series/base/base-series.js +16 -16
  265. package/cjs/series/base/base-series.js.map +1 -1
  266. package/cjs/series/base/constant.js +3 -3
  267. package/cjs/series/base/constant.js.map +1 -1
  268. package/cjs/series/box-plot/box-plot.js +8 -9
  269. package/cjs/series/box-plot/box-plot.js.map +1 -1
  270. package/cjs/series/cartesian/cartesian.js +11 -11
  271. package/cjs/series/cartesian/cartesian.js.map +1 -1
  272. package/cjs/series/circle-packing/circle-packing.js +5 -5
  273. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  274. package/cjs/series/correlation/correlation.js +13 -13
  275. package/cjs/series/correlation/correlation.js.map +1 -1
  276. package/cjs/series/dot/dot.js +12 -12
  277. package/cjs/series/dot/dot.js.map +1 -1
  278. package/cjs/series/funnel/3d/funnel-3d.js +4 -4
  279. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  280. package/cjs/series/funnel/funnel.js +11 -11
  281. package/cjs/series/funnel/funnel.js.map +1 -1
  282. package/cjs/series/gauge/gauge.js +7 -7
  283. package/cjs/series/gauge/gauge.js.map +1 -1
  284. package/cjs/series/geo/geo.js +2 -2
  285. package/cjs/series/geo/geo.js.map +1 -1
  286. package/cjs/series/heatmap/heatmap.js +4 -4
  287. package/cjs/series/heatmap/heatmap.js.map +1 -1
  288. package/cjs/series/interface/type.d.ts +2 -0
  289. package/cjs/series/interface/type.js +5 -4
  290. package/cjs/series/interface/type.js.map +1 -1
  291. package/cjs/series/link/link.js +6 -6
  292. package/cjs/series/link/link.js.map +1 -1
  293. package/cjs/series/liquid/animation.d.ts +2 -1
  294. package/cjs/series/liquid/animation.js +32 -4
  295. package/cjs/series/liquid/animation.js.map +1 -1
  296. package/cjs/series/liquid/constant.js +5 -1
  297. package/cjs/series/liquid/constant.js.map +1 -1
  298. package/cjs/series/liquid/interface.d.ts +1 -0
  299. package/cjs/series/liquid/interface.js.map +1 -1
  300. package/cjs/series/liquid/liquid.d.ts +9 -2
  301. package/cjs/series/liquid/liquid.js +97 -65
  302. package/cjs/series/liquid/liquid.js.map +1 -1
  303. package/cjs/series/liquid/util.js +1 -1
  304. package/cjs/series/liquid/util.js.map +1 -1
  305. package/cjs/series/map/map.js +7 -7
  306. package/cjs/series/map/map.js.map +1 -1
  307. package/cjs/series/mixin/line-mixin.js +18 -18
  308. package/cjs/series/mixin/line-mixin.js.map +1 -1
  309. package/cjs/series/mosaic/mosaic.js +6 -6
  310. package/cjs/series/mosaic/mosaic.js.map +1 -1
  311. package/cjs/series/pie/3d/pie-3d.js +5 -5
  312. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  313. package/cjs/series/pie/animation/centerOffset.js +5 -5
  314. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  315. package/cjs/series/pie/interface.d.ts +8 -1
  316. package/cjs/series/pie/interface.js.map +1 -1
  317. package/cjs/series/pie/pie.d.ts +4 -1
  318. package/cjs/series/pie/pie.js +57 -49
  319. package/cjs/series/pie/pie.js.map +1 -1
  320. package/cjs/series/polar/polar.js +2 -2
  321. package/cjs/series/polar/polar.js.map +1 -1
  322. package/cjs/series/polar/progress-like/progress-like.js +10 -10
  323. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  324. package/cjs/series/polar/rose-like/rose-like.js +3 -3
  325. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  326. package/cjs/series/progress/circular/circular.js +5 -5
  327. package/cjs/series/progress/circular/circular.js.map +1 -1
  328. package/cjs/series/progress/linear/linear.js +6 -6
  329. package/cjs/series/progress/linear/linear.js.map +1 -1
  330. package/cjs/series/radar/radar.js +7 -7
  331. package/cjs/series/radar/radar.js.map +1 -1
  332. package/cjs/series/range-area/range-area.js +5 -5
  333. package/cjs/series/range-area/range-area.js.map +1 -1
  334. package/cjs/series/sankey/sankey.js +6 -6
  335. package/cjs/series/sankey/sankey.js.map +1 -1
  336. package/cjs/series/scatter/scatter.js +9 -9
  337. package/cjs/series/scatter/scatter.js.map +1 -1
  338. package/cjs/series/sunburst/sunburst.js +5 -5
  339. package/cjs/series/sunburst/sunburst.js.map +1 -1
  340. package/cjs/series/treemap/treemap.js +12 -11
  341. package/cjs/series/treemap/treemap.js.map +1 -1
  342. package/cjs/series/util/label-mark.js +2 -2
  343. package/cjs/series/util/label-mark.js.map +1 -1
  344. package/cjs/series/venn/venn.js +8 -8
  345. package/cjs/series/venn/venn.js.map +1 -1
  346. package/cjs/series/waterfall/waterfall.js +8 -8
  347. package/cjs/series/waterfall/waterfall.js.map +1 -1
  348. package/cjs/series/word-cloud/base.d.ts +11 -11
  349. package/cjs/series/word-cloud/base.js +98 -122
  350. package/cjs/series/word-cloud/base.js.map +1 -1
  351. package/cjs/series/word-cloud/constant.js +4 -0
  352. package/cjs/series/word-cloud/constant.js.map +1 -1
  353. package/cjs/series/word-cloud/interface.d.ts +5 -2
  354. package/cjs/series/word-cloud/interface.js.map +1 -1
  355. package/cjs/series/word-cloud/word-cloud-3d.js +2 -2
  356. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  357. package/cjs/theme/builtin/common/series/sunburst.js +3 -3
  358. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  359. package/cjs/theme/interface.d.ts +2 -0
  360. package/cjs/theme/interface.js.map +1 -1
  361. package/cjs/typings/interpolate.d.ts +1 -3
  362. package/cjs/typings/interpolate.js +2 -3
  363. package/cjs/typings/interpolate.js.map +1 -1
  364. package/cjs/util/data.js +21 -21
  365. package/cjs/util/data.js.map +1 -1
  366. package/cjs/util/env.js +1 -1
  367. package/cjs/util/env.js.map +1 -1
  368. package/cjs/util/math.d.ts +1 -2
  369. package/cjs/util/math.js +5 -10
  370. package/cjs/util/math.js.map +1 -1
  371. package/cjs/vchart-all.js +2 -2
  372. package/cjs/vchart-all.js.map +1 -1
  373. package/cjs/vchart-empty.d.ts +4 -0
  374. package/cjs/{plugin/index.js → vchart-empty.js} +11 -2
  375. package/cjs/vchart-empty.js.map +1 -0
  376. package/cjs/vchart-pie.d.ts +4 -0
  377. package/cjs/vchart-pie.js +35 -0
  378. package/cjs/vchart-pie.js.map +1 -0
  379. package/cjs/vchart-simple.js +2 -2
  380. package/cjs/vchart-simple.js.map +1 -1
  381. package/esm/animation/animate-manager.js +1 -1
  382. package/esm/animation/animate-manager.js.map +1 -1
  383. package/esm/animation/config.d.ts +4 -0
  384. package/esm/animation/config.js +4 -0
  385. package/esm/animation/config.js.map +1 -1
  386. package/esm/animation/spec.d.ts +2 -1
  387. package/esm/animation/spec.js.map +1 -1
  388. package/esm/animation/utils.js +9 -4
  389. package/esm/animation/utils.js.map +1 -1
  390. package/esm/chart/bar/3d/bar-3d.js +3 -1
  391. package/esm/chart/bar/3d/bar-3d.js.map +1 -1
  392. package/esm/chart/base/base-chart-transformer.js +1 -0
  393. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  394. package/esm/chart/base/base-chart.js +6 -4
  395. package/esm/chart/base/base-chart.js.map +1 -1
  396. package/esm/chart/funnel/3d/funnel-3d.js +3 -1
  397. package/esm/chart/funnel/3d/funnel-3d.js.map +1 -1
  398. package/esm/chart/gauge/gauge-transformer.js +1 -1
  399. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  400. package/esm/chart/histogram/3d/histogram-3d.js +3 -1
  401. package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
  402. package/esm/chart/liquid/liquid-transformer.js +1 -0
  403. package/esm/chart/liquid/liquid-transformer.js.map +1 -1
  404. package/esm/chart/pie/3d/pie-3d.js +3 -1
  405. package/esm/chart/pie/3d/pie-3d.js.map +1 -1
  406. package/esm/chart/pie/base/pie-transformer.js +4 -1
  407. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  408. package/esm/chart/polar/interface.d.ts +3 -2
  409. package/esm/chart/polar/interface.js.map +1 -1
  410. package/esm/chart/range-column/3d/range-column-3d.js +3 -1
  411. package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
  412. package/esm/chart/rose/rose-transformer.js +1 -1
  413. package/esm/chart/rose/rose-transformer.js.map +1 -1
  414. package/esm/chart/stack.js +3 -2
  415. package/esm/chart/stack.js.map +1 -1
  416. package/esm/chart/sunburst/sunburst-transformer.js +1 -1
  417. package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
  418. package/esm/chart/util.js +5 -2
  419. package/esm/chart/util.js.map +1 -1
  420. package/esm/chart/word-cloud/3d/word-cloud-3d.js +5 -2
  421. package/esm/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
  422. package/esm/chart/word-cloud/word-cloud-transformer.js +2 -1
  423. package/esm/chart/word-cloud/word-cloud-transformer.js.map +1 -1
  424. package/esm/compile/compilable-base.js +1 -2
  425. package/esm/compile/compiler.js +1 -3
  426. package/esm/compile/compiler.js.map +1 -1
  427. package/esm/compile/mark/compilable-mark.js +5 -1
  428. package/esm/compile/mark/compilable-mark.js.map +1 -1
  429. package/esm/compile/mark/mark-data.js +1 -1
  430. package/esm/compile/mark/mark-data.js.map +1 -1
  431. package/esm/compile/mark/mark-state-manager.js +1 -1
  432. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  433. package/esm/component/axis/base-axis.d.ts +1 -0
  434. package/esm/component/axis/base-axis.js +18 -14
  435. package/esm/component/axis/base-axis.js.map +1 -1
  436. package/esm/component/axis/cartesian/axis.js +3 -3
  437. package/esm/component/axis/cartesian/axis.js.map +1 -1
  438. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  439. package/esm/component/axis/cartesian/band-axis.js +12 -1
  440. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  441. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -0
  442. package/esm/component/axis/cartesian/linear-axis.js +12 -1
  443. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  444. package/esm/component/axis/cartesian/log-axis.d.ts +1 -0
  445. package/esm/component/axis/cartesian/log-axis.js +12 -1
  446. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  447. package/esm/component/axis/cartesian/symlog-axis.d.ts +1 -0
  448. package/esm/component/axis/cartesian/symlog-axis.js +12 -1
  449. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -1
  450. package/esm/component/axis/cartesian/time-axis.d.ts +1 -0
  451. package/esm/component/axis/cartesian/time-axis.js +13 -2
  452. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  453. package/esm/component/axis/interface/common.d.ts +2 -2
  454. package/esm/component/axis/interface/common.js.map +1 -1
  455. package/esm/component/axis/mixin/linear-axis-mixin.js +2 -2
  456. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  457. package/esm/component/axis/polar/axis.d.ts +2 -2
  458. package/esm/component/axis/polar/axis.js +21 -24
  459. package/esm/component/axis/polar/axis.js.map +1 -1
  460. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  461. package/esm/component/axis/polar/band-axis.js +12 -0
  462. package/esm/component/axis/polar/band-axis.js.map +1 -1
  463. package/esm/component/axis/polar/interface/spec.d.ts +3 -2
  464. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  465. package/esm/component/axis/polar/linear-axis.d.ts +1 -0
  466. package/esm/component/axis/polar/linear-axis.js +12 -0
  467. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  468. package/esm/component/axis/polar/util/common.d.ts +3 -0
  469. package/esm/component/axis/polar/util/common.js +9 -2
  470. package/esm/component/axis/polar/util/common.js.map +1 -1
  471. package/esm/component/base/base-component.js +1 -1
  472. package/esm/component/base/base-component.js.map +1 -1
  473. package/esm/component/brush/brush.js +8 -3
  474. package/esm/component/brush/brush.js.map +1 -1
  475. package/esm/component/crosshair/base.d.ts +1 -0
  476. package/esm/component/crosshair/base.js +21 -23
  477. package/esm/component/crosshair/base.js.map +1 -1
  478. package/esm/component/crosshair/utils/common.js +6 -5
  479. package/esm/component/crosshair/utils/common.js.map +1 -1
  480. package/esm/component/custom-mark/custom-mark.js +3 -1
  481. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  482. package/esm/component/data-zoom/data-filter-base-component.js +2 -2
  483. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  484. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -1
  485. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  486. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +3 -1
  487. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  488. package/esm/component/geo/geo-coordinate.js +10 -5
  489. package/esm/component/geo/geo-coordinate.js.map +1 -1
  490. package/esm/component/geo/interface.d.ts +4 -0
  491. package/esm/component/geo/interface.js.map +1 -1
  492. package/esm/component/indicator/indicator.js +1 -1
  493. package/esm/component/indicator/indicator.js.map +1 -1
  494. package/esm/component/indicator/interface.d.ts +3 -1
  495. package/esm/component/indicator/interface.js.map +1 -1
  496. package/esm/component/label/base-label.js +1 -1
  497. package/esm/component/label/base-label.js.map +1 -1
  498. package/esm/component/label/label.js +7 -1
  499. package/esm/component/label/label.js.map +1 -1
  500. package/esm/component/label/total-label.js +5 -1
  501. package/esm/component/label/total-label.js.map +1 -1
  502. package/esm/component/legend/base-legend.js +5 -2
  503. package/esm/component/legend/base-legend.js.map +1 -1
  504. package/esm/component/legend/continuous/legend.js +1 -1
  505. package/esm/component/legend/continuous/legend.js.map +1 -1
  506. package/esm/component/legend/discrete/legend.js +1 -1
  507. package/esm/component/legend/discrete/legend.js.map +1 -1
  508. package/esm/component/legend/util.d.ts +1 -1
  509. package/esm/component/map-label/component.d.ts +1 -1
  510. package/esm/component/map-label/component.js +1 -1
  511. package/esm/component/map-label/component.js.map +1 -1
  512. package/esm/component/marker/interface.d.ts +2 -1
  513. package/esm/component/marker/interface.js.map +1 -1
  514. package/esm/component/marker/mark-area/base-mark-area.js +1 -1
  515. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
  516. package/esm/component/marker/mark-line/base-mark-line.js +1 -1
  517. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  518. package/esm/component/marker/mark-point/base-mark-point.js +1 -1
  519. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  520. package/esm/component/marker/utils.js +2 -1
  521. package/esm/component/marker/utils.js.map +1 -1
  522. package/esm/component/player/player.js +3 -1
  523. package/esm/component/player/player.js.map +1 -1
  524. package/esm/component/title/title.js +1 -1
  525. package/esm/component/title/title.js.map +1 -1
  526. package/esm/component/tooltip/constant.js +1 -1
  527. package/esm/component/tooltip/constant.js.map +1 -1
  528. package/esm/component/tooltip/processor/base.js +1 -1
  529. package/esm/component/tooltip/processor/base.js.map +1 -1
  530. package/esm/component/tooltip/tooltip-transformer.js +4 -2
  531. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  532. package/esm/component/tooltip/tooltip.d.ts +1 -0
  533. package/esm/component/tooltip/tooltip.js +11 -7
  534. package/esm/component/tooltip/tooltip.js.map +1 -1
  535. package/esm/component/tooltip/utils/show-tooltip.js +1 -1
  536. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  537. package/esm/constant/attribute.d.ts +13 -0
  538. package/esm/constant/attribute.js +11 -0
  539. package/esm/constant/attribute.js.map +1 -0
  540. package/esm/constant/data.d.ts +22 -0
  541. package/esm/constant/data.js +46 -0
  542. package/esm/constant/data.js.map +1 -0
  543. package/esm/constant/gradient.d.ts +43 -0
  544. package/esm/constant/gradient.js +31 -0
  545. package/esm/constant/gradient.js.map +1 -0
  546. package/esm/constant/layout.d.ts +33 -0
  547. package/esm/constant/layout.js +25 -1
  548. package/esm/constant/layout.js.map +1 -1
  549. package/esm/constant/scroll-bar.js +2 -1
  550. package/esm/core/index.d.ts +2 -2
  551. package/esm/core/index.js +3 -3
  552. package/esm/core/index.js.map +1 -1
  553. package/esm/core/interface.d.ts +15 -3
  554. package/esm/core/interface.js.map +1 -1
  555. package/esm/core/vchart.d.ts +9 -1
  556. package/esm/core/vchart.js +76 -54
  557. package/esm/core/vchart.js.map +1 -1
  558. package/esm/data/register.js +1 -2
  559. package/esm/data/transforms/correlation-center.js +1 -1
  560. package/esm/data/transforms/correlation-center.js.map +1 -1
  561. package/esm/data/transforms/correlation.js +1 -1
  562. package/esm/data/transforms/correlation.js.map +1 -1
  563. package/esm/data/transforms/data-key.js +1 -1
  564. package/esm/data/transforms/data-key.js.map +1 -1
  565. package/esm/data/transforms/legend-data/discrete/discrete.js +1 -1
  566. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  567. package/esm/data/transforms/map.js +3 -1
  568. package/esm/data/transforms/map.js.map +1 -1
  569. package/esm/data/transforms/pie.d.ts +6 -4
  570. package/esm/data/transforms/pie.js +15 -6
  571. package/esm/data/transforms/pie.js.map +1 -1
  572. package/esm/data/transforms/waterfall.js +1 -1
  573. package/esm/data/transforms/waterfall.js.map +1 -1
  574. package/esm/event/bubble.d.ts +3 -0
  575. package/esm/event/bubble.js +10 -1
  576. package/esm/event/bubble.js.map +1 -1
  577. package/esm/event/event-dispatcher.d.ts +3 -1
  578. package/esm/event/event-dispatcher.js +29 -27
  579. package/esm/event/event-dispatcher.js.map +1 -1
  580. package/esm/event/event.d.ts +2 -0
  581. package/esm/event/event.js +6 -0
  582. package/esm/event/event.js.map +1 -1
  583. package/esm/event/events/dimension/dimension-click.js +1 -1
  584. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  585. package/esm/event/events/dimension/dimension-hover.js +1 -1
  586. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  587. package/esm/event/events/dimension/util/cartesian.js +0 -3
  588. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  589. package/esm/event/events/dimension/util/polar.js +0 -3
  590. package/esm/event/events/dimension/util/polar.js.map +1 -1
  591. package/esm/event/interface.d.ts +6 -1
  592. package/esm/event/interface.js.map +1 -1
  593. package/esm/index-lark.js +3 -1
  594. package/esm/index-lark.js.map +1 -1
  595. package/esm/index-wx-simple.js +3 -1
  596. package/esm/index-wx-simple.js.map +1 -1
  597. package/esm/index-wx.d.ts +3 -1
  598. package/esm/index-wx.js +6 -2
  599. package/esm/index-wx.js.map +1 -1
  600. package/esm/index.d.ts +1 -0
  601. package/esm/index.js +2 -0
  602. package/esm/index.js.map +1 -1
  603. package/esm/interaction/config.js +1 -1
  604. package/esm/interaction/dimension-trigger.js +1 -1
  605. package/esm/interaction/drill/drillable.js +1 -1
  606. package/esm/interaction/drill/drillable.js.map +1 -1
  607. package/esm/interaction/index.js +1 -1
  608. package/esm/interaction/interaction.js +1 -1
  609. package/esm/interaction/zoom/zoomable.d.ts +10 -33
  610. package/esm/interaction/zoom/zoomable.js +12 -8
  611. package/esm/interaction/zoom/zoomable.js.map +1 -1
  612. package/esm/layout/base-layout.js +3 -2
  613. package/esm/layout/base-layout.js.map +1 -1
  614. package/esm/layout/layout-item.js +1 -1
  615. package/esm/layout/layout-item.js.map +1 -1
  616. package/esm/mark/arc.js +1 -1
  617. package/esm/mark/arc.js.map +1 -1
  618. package/esm/mark/base/base-line.js +1 -2
  619. package/esm/mark/base/base-line.js.map +1 -1
  620. package/esm/mark/base/base-mark.js +10 -2
  621. package/esm/mark/base/base-mark.js.map +1 -1
  622. package/esm/mark/utils/common.d.ts +1 -0
  623. package/esm/mark/utils/common.js +4 -0
  624. package/esm/mark/utils/common.js.map +1 -1
  625. package/esm/model/interface.d.ts +1 -0
  626. package/esm/model/interface.js.map +1 -1
  627. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  628. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  629. package/esm/plugin/other.d.ts +6 -0
  630. package/esm/plugin/other.js +18 -0
  631. package/esm/plugin/other.js.map +1 -0
  632. package/esm/region/region.js +5 -1
  633. package/esm/region/region.js.map +1 -1
  634. package/esm/series/area/area.js +1 -1
  635. package/esm/series/area/area.js.map +1 -1
  636. package/esm/series/bar/bar.js +3 -1
  637. package/esm/series/bar/bar.js.map +1 -1
  638. package/esm/series/base/base-series-transformer.js +1 -2
  639. package/esm/series/base/base-series-transformer.js.map +1 -1
  640. package/esm/series/base/base-series.js +7 -3
  641. package/esm/series/base/base-series.js.map +1 -1
  642. package/esm/series/base/constant.js +1 -1
  643. package/esm/series/base/constant.js.map +1 -1
  644. package/esm/series/box-plot/box-plot.js +5 -1
  645. package/esm/series/box-plot/box-plot.js.map +1 -1
  646. package/esm/series/cartesian/cartesian.js +5 -1
  647. package/esm/series/cartesian/cartesian.js.map +1 -1
  648. package/esm/series/circle-packing/circle-packing.js +3 -1
  649. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  650. package/esm/series/correlation/correlation.js +6 -2
  651. package/esm/series/correlation/correlation.js.map +1 -1
  652. package/esm/series/dot/dot.js +3 -1
  653. package/esm/series/dot/dot.js.map +1 -1
  654. package/esm/series/funnel/3d/funnel-3d.js +1 -1
  655. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  656. package/esm/series/funnel/funnel.js +6 -2
  657. package/esm/series/funnel/funnel.js.map +1 -1
  658. package/esm/series/gauge/gauge.js +4 -4
  659. package/esm/series/gauge/gauge.js.map +1 -1
  660. package/esm/series/geo/geo.js +1 -1
  661. package/esm/series/geo/geo.js.map +1 -1
  662. package/esm/series/heatmap/heatmap.js +1 -1
  663. package/esm/series/heatmap/heatmap.js.map +1 -1
  664. package/esm/series/interface/type.d.ts +2 -0
  665. package/esm/series/interface/type.js +5 -4
  666. package/esm/series/interface/type.js.map +1 -1
  667. package/esm/series/link/link.js +3 -1
  668. package/esm/series/link/link.js.map +1 -1
  669. package/esm/series/liquid/animation.d.ts +2 -1
  670. package/esm/series/liquid/animation.js +30 -2
  671. package/esm/series/liquid/animation.js.map +1 -1
  672. package/esm/series/liquid/constant.js +5 -1
  673. package/esm/series/liquid/constant.js.map +1 -1
  674. package/esm/series/liquid/interface.d.ts +1 -0
  675. package/esm/series/liquid/interface.js.map +1 -1
  676. package/esm/series/liquid/liquid.d.ts +9 -2
  677. package/esm/series/liquid/liquid.js +95 -62
  678. package/esm/series/liquid/liquid.js.map +1 -1
  679. package/esm/series/liquid/util.js +1 -1
  680. package/esm/series/liquid/util.js.map +1 -1
  681. package/esm/series/map/map.js +3 -1
  682. package/esm/series/map/map.js.map +1 -1
  683. package/esm/series/mixin/line-mixin.js +1 -1
  684. package/esm/series/mixin/line-mixin.js.map +1 -1
  685. package/esm/series/mosaic/mosaic.js +1 -1
  686. package/esm/series/mosaic/mosaic.js.map +1 -1
  687. package/esm/series/pie/3d/pie-3d.js +3 -1
  688. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  689. package/esm/series/pie/animation/centerOffset.js +1 -1
  690. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  691. package/esm/series/pie/interface.d.ts +8 -1
  692. package/esm/series/pie/interface.js.map +1 -1
  693. package/esm/series/pie/pie.d.ts +4 -1
  694. package/esm/series/pie/pie.js +44 -25
  695. package/esm/series/pie/pie.js.map +1 -1
  696. package/esm/series/polar/polar.js +1 -1
  697. package/esm/series/polar/polar.js.map +1 -1
  698. package/esm/series/polar/progress-like/progress-like.js +5 -1
  699. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  700. package/esm/series/polar/rose-like/rose-like.js +1 -1
  701. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  702. package/esm/series/progress/circular/circular.js +3 -1
  703. package/esm/series/progress/circular/circular.js.map +1 -1
  704. package/esm/series/progress/linear/linear.js +1 -1
  705. package/esm/series/progress/linear/linear.js.map +1 -1
  706. package/esm/series/radar/radar.js +5 -1
  707. package/esm/series/radar/radar.js.map +1 -1
  708. package/esm/series/range-area/range-area.js +1 -1
  709. package/esm/series/range-area/range-area.js.map +1 -1
  710. package/esm/series/sankey/sankey.js +5 -1
  711. package/esm/series/sankey/sankey.js.map +1 -1
  712. package/esm/series/scatter/scatter.js +1 -1
  713. package/esm/series/scatter/scatter.js.map +1 -1
  714. package/esm/series/sunburst/sunburst.js +3 -1
  715. package/esm/series/sunburst/sunburst.js.map +1 -1
  716. package/esm/series/treemap/treemap.js +10 -3
  717. package/esm/series/treemap/treemap.js.map +1 -1
  718. package/esm/series/util/label-mark.js +1 -1
  719. package/esm/series/util/label-mark.js.map +1 -1
  720. package/esm/series/venn/venn.js +3 -1
  721. package/esm/series/venn/venn.js.map +1 -1
  722. package/esm/series/waterfall/waterfall.js +7 -1
  723. package/esm/series/waterfall/waterfall.js.map +1 -1
  724. package/esm/series/word-cloud/base.d.ts +11 -11
  725. package/esm/series/word-cloud/base.js +96 -122
  726. package/esm/series/word-cloud/base.js.map +1 -1
  727. package/esm/series/word-cloud/constant.js +4 -0
  728. package/esm/series/word-cloud/constant.js.map +1 -1
  729. package/esm/series/word-cloud/interface.d.ts +5 -2
  730. package/esm/series/word-cloud/interface.js.map +1 -1
  731. package/esm/series/word-cloud/word-cloud-3d.js +1 -1
  732. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  733. package/esm/theme/builtin/common/series/sunburst.js +1 -1
  734. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  735. package/esm/theme/interface.d.ts +2 -0
  736. package/esm/theme/interface.js.map +1 -1
  737. package/esm/typings/interpolate.d.ts +1 -3
  738. package/esm/typings/interpolate.js +0 -4
  739. package/esm/typings/interpolate.js.map +1 -1
  740. package/esm/util/data.js +1 -1
  741. package/esm/util/data.js.map +1 -1
  742. package/esm/util/env.js +1 -1
  743. package/esm/util/env.js.map +1 -1
  744. package/esm/util/math.d.ts +1 -2
  745. package/esm/util/math.js +0 -4
  746. package/esm/util/math.js.map +1 -1
  747. package/esm/vchart-all.js +6 -2
  748. package/esm/vchart-all.js.map +1 -1
  749. package/esm/vchart-empty.d.ts +4 -0
  750. package/esm/vchart-empty.js +8 -0
  751. package/esm/vchart-empty.js.map +1 -0
  752. package/esm/vchart-pie.d.ts +4 -0
  753. package/esm/vchart-pie.js +20 -0
  754. package/esm/vchart-pie.js.map +1 -0
  755. package/esm/vchart-simple.js +3 -1
  756. package/esm/vchart-simple.js.map +1 -1
  757. package/package.json +20 -18
  758. package/cjs/constant/index.d.ts +0 -117
  759. package/cjs/constant/index.js +0 -89
  760. package/cjs/constant/index.js.map +0 -1
  761. package/cjs/plugin/index.d.ts +0 -2
  762. package/cjs/plugin/index.js.map +0 -1
  763. package/esm/constant/index.d.ts +0 -117
  764. package/esm/constant/index.js +0 -126
  765. package/esm/constant/index.js.map +0 -1
  766. package/esm/plugin/index.d.ts +0 -2
  767. package/esm/plugin/index.js +0 -4
  768. package/esm/plugin/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":";;;AAEA,6CAA4E;AAK5E,4CAAqD;AACrD,sDAAyD;AAEzD,4CAAuE;AAEvE,4DAAgE;AAChE,kDAAuE;AACvE,iDAA8C;AAC9C,qDAAiD;AACjD,6DAAiE;AACjE,sDAAuE;AACvE,qDAA8D;AAC9D,qEAAuE;AACvE,6DAAwE;AACxE,iDAA6E;AAC7E,mDAAqE;AAErE,kDAA0D;AAC1D,8CAAuD;AACvD,yCAA+C;AAC/C,gDAA6C;AAE7C,6CAAmD;AACnD,yCAAwD;AACxD,8DAAwG;AAExG,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACtB,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAC5B,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAE3C,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAa,aAAiE,SAAQ,2BAAkB;IAAxG;;QAEE,SAAI,GAAG,qBAAc,CAAC,OAAO,CAAC;IAoWhC,CAAC;IA/VC,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAID,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAGD,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAGD,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAQD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,YAAY,GAAQ,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,KAAK,mCAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAA,YAAY,CAAC,SAAS,mCAAI,oBAAoB,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,MAAA,YAAY,CAAC,UAAU,mCAAI,mBAAmB,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,iBAAiB;YACpB,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,MAAA,YAAY,CAAC,gBAAgB,mCAAI,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACjD,CAAC;IAKD,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YAC/D,YAAY,EAAE,IAAI;YAClB,WAAW;SACZ,CAAiB,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YAC/D,WAAW;YACX,GAAG,EAAE,6BAAkB;YACvB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;YAC7C,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;SACpD,CAAgB,CAAC;IACpB,CAAC;IAED,aAAa;;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,EAAE;YACf,MAAM,mBAAmB,GAAG;gBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,IAAI,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,0BAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzG,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,MAAM,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,4BAAoB,CAAC;aAC7G,CAAC;YAEF,MAAM,iBAAiB,GACrB,IAAI,CAAC,UAAU,iBAAyB;gBACtC,CAAC,+BACG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAC/B,mBAAmB,KACtB,SAAS,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,EACvD,UAAU,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,EAC1D,UAAU,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,EACxD,YAAY,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,IAEhE,CAAC,+BACG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAC/B,mBAAmB,KACtB,QAAQ,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,EACtD,SAAS,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,EACzD,SAAS,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,EACvD,WAAW,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,GAC5D,CAAC;YACR,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,iBAAiB,EAAE,4BAAgB,CAAC,YAAY,EAAE,yBAAc,CAAC,MAAM,CAAC,CAAC;SACzG;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,YAAY,CACf,WAAW,EACX;gBACE,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,mCAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3D,IAAI,EAAE,IAAA,iBAAQ,EAAC,MAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;gBAC3F,UAAU,EAAE,QAAQ;aACrB,EACD,4BAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;IACH,CAAC;IAED,oBAAoB;;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,iBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACpG,IAAI,WAAW,IAAI,UAAU,EAAE;YAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;YACtC,MAAM,KAAK,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,2DAAG,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,CACf,WAAW,EACX;gBACE,GAAG,EAAE,CAAC,KAAY,EAAE,EAAE,CACpB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;oBACjE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,KAAK,CACN;gBACH,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CACnB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAChE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,KAAK,CACN;gBACH,MAAM,EAAE,CAAC,KAAY,EAAE,EAAE,CACvB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;oBACpE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,KAAK,CACN;gBACH,EAAE,EAAE,CAAC,KAAY,EAAE,EAAE,CACnB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAChE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,KAAK,CACN;gBACH,GAAG,EAAE,CAAC,KAAY,EAAE,EAAE,CACpB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;oBACjE,YAAY,EAAE,IAAI,CAAC,aAAa;iBACjC,CAAC,EACF,KAAK,CACN;aACJ,EACD,4BAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,IAAI,UAAU,EAAE;YAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;YACtC,MAAM,KAAK,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,2DAAG,CAAC,CAAC,CAAC;YACxC,MAAM,0BAA0B,GAC9B,IAAI,CAAC,UAAU,iBAAyB;gBACtC,CAAC,CAAC;oBACE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAClB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,uCAA4B,CAAC,EAAE;wBAC/E,YAAY,EAAE,IAAI,CAAC,aAAa;qBACjC,CAAC,EACF,KAAK,CACN;iBACJ;gBACH,CAAC,CAAC;oBACE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAClB,IAAA,yBAAiB,EACf,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,uCAA4B,CAAC,EAAE;wBAC/E,YAAY,EAAE,IAAI,CAAC,aAAa;qBACjC,CAAC,EACF,KAAK,CACN;iBACJ,CAAC;YACR,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,0BAA0B,EAAE,4BAAgB,CAAC,YAAY,EAAE,yBAAc,CAAC,MAAM,CAAC,CAAC;SAClH;IACH,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,0BAAe,CAAC,CAAC;QACpF,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,gCAAiB,CAAC,CAAC;QAExF,MAAM,eAAe,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACtG,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;YAC1C,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,GAAG,GAAG,iBAAM,WAAW,IAAI,CAAC,EAAE,cAAc,CAAC;QACjE,eAAe,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP,cAAc,EAAE,IAAI,CAAC,UAAU,iBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;gBACtF,aAAa,EAAE,IAAI,CAAC,cAAc;aACnC;SACF,CAAC,CAAC;QAEH,eAAe,CAAC,SAAS,CACvB;YACE,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE;gBACP,UAAU,EAAE,qBAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC,IAAI,EAAE,qBAAU;aACjB;SACF,EACD,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,MAAwB;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,iBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACxG,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,iBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAEtF,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,kBAAkB,CAAC,SAAc,EAAE;QAEzC,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACjE,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3D,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC;aAC9F;iBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;gBACnE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;aAChG;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa;;QACX,MAAM,eAAe,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAA,iBAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,2CAAI,CAAC,CAAC;YAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACvC,IAAA,2BAAmB,aAA6B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CACxF,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAA,uBAAe,EAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;SACrG;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,wBAAwB,GAAG;gBAC/B,MAAM,EAAE,MAAC,IAAI,CAAC,KAAK,CAAC,eAA4C,0CAAE,MAAM;gBACxE,SAAS,EAAE,MAAC,IAAI,CAAC,KAAK,CAAC,kBAA+C,0CAAE,MAAM;gBAC9E,KAAK,EAAE,MAAC,IAAI,CAAC,KAAK,CAAC,cAA2C,0CAAE,MAAM;gBACtE,IAAI,EAAE,MAAC,IAAI,CAAC,KAAK,CAAC,aAA0C,0CAAE,MAAM;gBACpE,MAAM,EAAE,MAAC,IAAI,CAAC,KAAK,CAAC,eAA4C,0CAAE,MAAM;aACzE,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,IAAA,uBAAe,EAAC,MAAA,iBAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,2CAAI,EAAE,wBAAwB,EAAE,eAAe,CAAC,CACxG,CAAC;SACH;IACH,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,2CAA0B,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,UAAU,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACvD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,GAAyB;QAErC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;;AArWH,sCAsWC;AArWiB,kBAAI,GAAW,qBAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,GAAkB,4BAAiB,CAAC;AAoWnD,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,8BAAmB,GAAE,CAAC;IACtB,IAAA,2BAAkB,GAAE,CAAC;IACrB,IAAA,oCAA2B,GAAE,CAAC;IAC9B,IAAA,qCAAyB,GAAE,CAAC;IAC5B,IAAA,uCAA2B,GAAE,CAAC;IAC9B,iBAAO,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings/space';\nimport { valueInScaleRange } from '../../util/scale';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerScaleInOutAnimation } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerBoxPlotMark } from '../../mark/box-plot';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { boxPlotSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { merge, isNumber } from '@visactor/vutils';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = boxPlotSeriesMark;\n\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\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 this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.horizontal\n ? {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n };\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.horizontal\n ? {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet, { name: `${this.type}_outlier_${this.id}_data` });\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.horizontal ? this._fieldY : this._fieldX,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap.bind(this),\n call: addDataKey\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper;\n const xField = this._direction === Direction.horizontal ? this._fieldY : this._fieldX;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any = {}) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = merge({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n const animationParams = getGroupAnimationParams(this);\n\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(Factory.getAnimationInKey('scaleInOut')?.());\n const newConfig = this._initAnimationSpec(\n userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec, this._markAttributeContext)\n );\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, animationParams));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(Factory.getAnimationInKey('scaleInOut')?.(), outlierMarkUserAnimation, animationParams)\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n this._boxPlotMark && this._tooltipHelper.activeTriggerSet.mark.add(this._boxPlotMark);\n this._outlierMark && this._tooltipHelper.activeTriggerSet.mark.add(this._outlierMark);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._boxPlotMark];\n }\n}\n\nexport const registerBoxplotSeries = () => {\n registerBoxPlotMark();\n registerSymbolMark();\n registerScaleInOutAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(BoxPlotSeries.type, BoxPlotSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { DEFAULT_DATA_INDEX } from '../../constant/data';\nimport { PREFIX } from '../../constant/base';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings/space';\nimport { valueInScaleRange } from '../../util/scale';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerScaleInOutAnimation } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerBoxPlotMark } from '../../mark/box-plot';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { boxPlotSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { merge, isNumber } from '@visactor/vutils';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = boxPlotSeriesMark;\n\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\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 this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.horizontal\n ? {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n };\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.horizontal\n ? {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet, { name: `${this.type}_outlier_${this.id}_data` });\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.horizontal ? this._fieldY : this._fieldX,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap.bind(this),\n call: addDataKey\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper;\n const xField = this._direction === Direction.horizontal ? this._fieldY : this._fieldX;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any = {}) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = merge({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n const animationParams = getGroupAnimationParams(this);\n\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(Factory.getAnimationInKey('scaleInOut')?.());\n const newConfig = this._initAnimationSpec(\n userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec, this._markAttributeContext)\n );\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, animationParams));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(Factory.getAnimationInKey('scaleInOut')?.(), outlierMarkUserAnimation, animationParams)\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n this._boxPlotMark && this._tooltipHelper.activeTriggerSet.mark.add(this._boxPlotMark);\n this._outlierMark && this._tooltipHelper.activeTriggerSet.mark.add(this._outlierMark);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._boxPlotMark];\n }\n}\n\nexport const registerBoxplotSeries = () => {\n registerBoxPlotMark();\n registerSymbolMark();\n registerScaleInOutAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(BoxPlotSeries.type, BoxPlotSeries);\n};\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.CartesianSeries = void 0;
6
6
 
7
- const base_series_1 = require("../base/base-series"), constant_1 = require("../../constant"), vutils_1 = require("@visactor/vutils"), vscale_1 = require("@visactor/vscale"), utils_1 = require("../util/utils"), type_1 = require("../../component/interface/type");
7
+ const base_series_1 = require("../base/base-series"), data_1 = require("../../constant/data"), vutils_1 = require("@visactor/vutils"), vscale_1 = require("@visactor/vscale"), utils_1 = require("../util/utils"), type_1 = require("../../component/interface/type"), event_1 = require("../../constant/event"), base_1 = require("../../constant/base");
8
8
 
9
9
  class CartesianSeries extends base_series_1.BaseSeries {
10
10
  constructor() {
@@ -134,25 +134,25 @@ class CartesianSeries extends base_series_1.BaseSeries {
134
134
  getStackValue() {
135
135
  var _a, _b;
136
136
  const axisId = null === (_a = "horizontal" === this.direction ? this.getXAxisHelper() : this.getYAxisHelper()) || void 0 === _a ? void 0 : _a.getAxisId();
137
- return null !== (_b = this._spec.stackValue) && void 0 !== _b ? _b : `${constant_1.PREFIX}_series_${this.type}_${axisId}`;
137
+ return null !== (_b = this._spec.stackValue) && void 0 !== _b ? _b : `${base_1.PREFIX}_series_${this.type}_${axisId}`;
138
138
  }
139
139
  getStackValueField() {
140
140
  return "horizontal" === this.direction ? (0, vutils_1.array)(this._spec.xField)[0] : (0,
141
141
  vutils_1.array)(this._spec.yField)[0];
142
142
  }
143
143
  setValueFieldToStack() {
144
- "horizontal" === this.direction ? (this.setFieldX(constant_1.STACK_FIELD_END), this.setFieldX2(constant_1.STACK_FIELD_START)) : (this.setFieldY(constant_1.STACK_FIELD_END),
145
- this.setFieldY2(constant_1.STACK_FIELD_START));
144
+ "horizontal" === this.direction ? (this.setFieldX(data_1.STACK_FIELD_END), this.setFieldX2(data_1.STACK_FIELD_START)) : (this.setFieldY(data_1.STACK_FIELD_END),
145
+ this.setFieldY2(data_1.STACK_FIELD_START));
146
146
  }
147
147
  setValueFieldToPercent() {
148
- "horizontal" === this.direction ? (this.setFieldX(constant_1.STACK_FIELD_END_PERCENT),
149
- this.setFieldX2(constant_1.STACK_FIELD_START_PERCENT)) : (this.setFieldY(constant_1.STACK_FIELD_END_PERCENT),
150
- this.setFieldY2(constant_1.STACK_FIELD_START_PERCENT));
148
+ "horizontal" === this.direction ? (this.setFieldX(data_1.STACK_FIELD_END_PERCENT),
149
+ this.setFieldX2(data_1.STACK_FIELD_START_PERCENT)) : (this.setFieldY(data_1.STACK_FIELD_END_PERCENT),
150
+ this.setFieldY2(data_1.STACK_FIELD_START_PERCENT));
151
151
  }
152
152
  setValueFieldToStackOffsetSilhouette() {
153
- "horizontal" === this.direction ? (this.setFieldX(constant_1.STACK_FIELD_END_OffsetSilhouette),
154
- this.setFieldX2(constant_1.STACK_FIELD_START_OffsetSilhouette)) : (this.setFieldY(constant_1.STACK_FIELD_END_OffsetSilhouette),
155
- this.setFieldY2(constant_1.STACK_FIELD_START_OffsetSilhouette));
153
+ "horizontal" === this.direction ? (this.setFieldX(data_1.STACK_FIELD_END_OffsetSilhouette),
154
+ this.setFieldX2(data_1.STACK_FIELD_START_OffsetSilhouette)) : (this.setFieldY(data_1.STACK_FIELD_END_OffsetSilhouette),
155
+ this.setFieldY2(data_1.STACK_FIELD_START_OffsetSilhouette));
156
156
  }
157
157
  onXAxisHelperUpdate() {
158
158
  this.onMarkPositionUpdate();
@@ -271,7 +271,7 @@ class CartesianSeries extends base_series_1.BaseSeries {
271
271
  return "horizontal" === this._direction ? this._specXField : this._specYField;
272
272
  }
273
273
  initEvent() {
274
- super.initEvent(), this.sortDataByAxis && this.event.on(constant_1.ChartEvent.scaleDomainUpdate, {
274
+ super.initEvent(), this.sortDataByAxis && this.event.on(event_1.ChartEvent.scaleDomainUpdate, {
275
275
  filter: param => {
276
276
  var _a;
277
277
  return param.model.id === (null === (_a = "horizontal" === this._direction ? this._yAxisHelper : this._xAxisHelper) || void 0 === _a ? void 0 : _a.getAxisId());
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { ICartesianSeries } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPoint } from '../../typings/coordinate';\nimport type { IBaseScale } from '@visactor/vscale';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_START_OffsetSilhouette,\n PREFIX,\n ChartEvent\n} from '../../constant';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { DirectionType } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { couldBeValidNumber } from '../../util/type';\nimport { array, isValid } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { ICartesianSeriesSpec } from './interface';\nimport { sortDataInAxisHelper } from '../util/utils';\nimport type { IAxisLocationCfg } from '../../component/axis';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { invalidTravel } from '../../data/transforms/invalid-travel';\nimport { ComponentTypeEnum } from '../../component/interface/type';\n\nexport abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec>\n extends BaseSeries<T>\n implements ICartesianSeries\n{\n readonly coordinate: 'cartesian' = 'cartesian';\n protected _bandPosition = 0.5;\n protected _scaleConfig: IAxisLocationCfg = {\n bandPosition: this._bandPosition\n };\n protected _buildScaleConfig() {\n this._scaleConfig = {\n bandPosition: this._bandPosition\n };\n }\n\n protected _fieldX!: string[];\n get fieldX() {\n return this._fieldX;\n }\n setFieldX(f: string | string[]) {\n this._fieldX = array(f);\n }\n\n protected _fieldY!: string[];\n get fieldY() {\n return this._fieldY;\n }\n setFieldY(f: string | string[]) {\n this._fieldY = array(f);\n }\n\n protected _fieldZ?: string[];\n get fieldZ(): string[] | undefined {\n return this._fieldZ;\n }\n setFieldZ(f?: string | string[]) {\n this._fieldZ = f && array(f);\n }\n\n protected _fieldX2!: string;\n get fieldX2() {\n return this._fieldX2;\n }\n setFieldX2(f: string) {\n this._fieldX2 = f;\n }\n\n protected _fieldY2!: string;\n get fieldY2() {\n return this._fieldY2;\n }\n setFieldY2(f: string) {\n this._fieldY2 = f;\n }\n\n protected _specXField: string[];\n protected _specYField: string[];\n\n protected _direction: DirectionType = Direction.vertical;\n get direction() {\n return this._direction;\n }\n\n protected _scaleX!: IBaseScale;\n get scaleX() {\n return this._scaleX;\n }\n setScaleX(s: IBaseScale) {\n this._scaleX = s;\n }\n\n protected _scaleY!: IBaseScale;\n get scaleY() {\n return this._scaleY;\n }\n setScaleY(s: IBaseScale) {\n this._scaleY = s;\n }\n\n protected _scaleZ?: IBaseScale;\n get scaleZ() {\n return this._scaleZ;\n }\n setScaleZ(s: IBaseScale) {\n this._scaleZ = s;\n }\n\n _xAxisHelper!: IAxisHelper;\n getXAxisHelper() {\n return this._xAxisHelper;\n }\n setXAxisHelper(h: IAxisHelper) {\n this._xAxisHelper = h;\n this.onXAxisHelperUpdate();\n }\n\n _yAxisHelper!: IAxisHelper;\n getYAxisHelper() {\n return this._yAxisHelper;\n }\n setYAxisHelper(h: IAxisHelper) {\n this._yAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n _zAxisHelper?: IAxisHelper;\n getZAxisHelper() {\n return this._zAxisHelper;\n }\n setZAxisHelper(h: IAxisHelper) {\n this._zAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n protected _sortDataByAxis: boolean = false;\n get sortDataByAxis() {\n return this._sortDataByAxis;\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: StatisticOperations }[] = [];\n const axes = [\n {\n axisHelper: this.getXAxisHelper(),\n fields: this._fieldX2 ? [...this._fieldX, this._fieldX2] : this._fieldX\n },\n {\n axisHelper: this.getYAxisHelper(),\n fields: this._fieldY2 ? [...this._fieldY, this._fieldY2] : this._fieldY\n },\n {\n axisHelper: this.getZAxisHelper(),\n fields: this._fieldZ\n }\n ];\n\n axes.forEach(axisOption => {\n if (axisOption.axisHelper && axisOption.axisHelper.getScale && axisOption.fields) {\n axisOption.fields.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'>; filter?: (fv: any) => boolean } = {\n key: f,\n operations: []\n };\n const scale = axisOption.axisHelper.getScale(0);\n if (isContinuous(scale.type)) {\n result.operations = ['max', 'min'];\n\n if (scale.type === 'log') {\n result.filter = (fv: any) => fv > 0;\n }\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n });\n\n if (this.getStack()) {\n fields.push({\n key: this.getStackValueField(),\n operations: ['allValid']\n });\n }\n return fields;\n }\n\n getGroupFields() {\n return this.direction === 'vertical' ? this._fieldX : this._fieldY;\n }\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getStackValue() {\n const axisId = (\n this.direction === Direction.horizontal ? this.getXAxisHelper() : this.getYAxisHelper()\n )?.getAxisId();\n return this._spec.stackValue ?? `${PREFIX}_series_${this.type}_${axisId}`;\n }\n\n getStackValueField() {\n // TODO: hack\n if (this.direction === Direction.horizontal) {\n return array(this._spec.xField)[0];\n }\n return array(this._spec.yField)[0];\n }\n\n setValueFieldToStack(): void {\n if (this.direction === Direction.horizontal) {\n this.setFieldX(STACK_FIELD_END);\n this.setFieldX2(STACK_FIELD_START);\n } else {\n this.setFieldY(STACK_FIELD_END);\n this.setFieldY2(STACK_FIELD_START);\n }\n }\n\n setValueFieldToPercent(): void {\n if (this.direction === Direction.horizontal) {\n this.setFieldX(STACK_FIELD_END_PERCENT);\n this.setFieldX2(STACK_FIELD_START_PERCENT);\n } else {\n this.setFieldY(STACK_FIELD_END_PERCENT);\n this.setFieldY2(STACK_FIELD_START_PERCENT);\n }\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n if (this.direction === Direction.horizontal) {\n this.setFieldX(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldX2(STACK_FIELD_START_OffsetSilhouette);\n } else {\n this.setFieldY(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldY2(STACK_FIELD_START_OffsetSilhouette);\n }\n }\n\n onXAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onYAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onZAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldX(this._spec.xField);\n this.setFieldY(this._spec.yField);\n this.setFieldZ(this._spec.zField);\n this._specXField = array(this._spec.xField);\n this._specYField = array(this._spec.yField);\n if (isValid(this._spec.direction)) {\n this._direction = this._spec.direction;\n }\n\n this.setFieldX2(this._spec?.x2Field);\n this.setFieldY2(this._spec?.y2Field);\n\n if (this.getStack()) {\n this.setValueFieldToStack();\n }\n if (this.getPercent()) {\n this.setValueFieldToPercent();\n }\n if (this.getStackOffsetSilhouette()) {\n this.setValueFieldToStackOffsetSilhouette();\n }\n\n if (isValid(this._spec.sortDataByAxis)) {\n this._sortDataByAxis = this._spec.sortDataByAxis === true;\n }\n }\n\n dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint | null {\n if (!datum) {\n return null;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return null;\n }\n return {\n x: this.dataToPositionX(datum),\n y: this.dataToPositionY(datum)\n } as IPoint;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToX = this.valueToPositionX.bind(this);\n this._markAttributeContext.valueToY = this.valueToPositionY.bind(this);\n this._markAttributeContext.xBandwidth = (depth: number = 0) => this.getXAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.yBandwidth = (depth: number = 0) => this.getYAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n }\n\n valueToPosition(xValue: StringOrNumber | StringOrNumber[], yValue: StringOrNumber | StringOrNumber[]) {\n return {\n x: this.valueToPositionX(xValue),\n y: this.valueToPositionY(yValue)\n };\n }\n\n protected _axisPosition(helper: IAxisHelper, value: StringOrNumber | StringOrNumber[], datum?: any) {\n this._scaleConfig.datum = datum;\n if (helper.isContinuous) {\n return helper.valueToPosition(value, this._scaleConfig);\n }\n return helper.dataToPosition(array(value), this._scaleConfig);\n }\n\n valueToPositionX(value: StringOrNumber | StringOrNumber[], datum?: any) {\n return this._axisPosition(this._xAxisHelper, value, datum);\n }\n valueToPositionY(value: StringOrNumber | StringOrNumber[], datum?: any) {\n return this._axisPosition(this._yAxisHelper, value, datum);\n }\n\n protected _dataToPosition(\n datum: Datum,\n axisHelper: IAxisHelper,\n field: string[],\n scaleDepth: number | undefined,\n getEncoder: () => (datum: Datum) => number,\n setEncoder: (encoder: (datum: Datum) => number) => void\n ): number {\n const encoder = getEncoder();\n if (encoder) {\n return encoder(datum);\n }\n\n if (!axisHelper) {\n setEncoder((datum: Datum) => Number.NaN);\n return Number.NaN;\n }\n const fields = (axisHelper.getFields ? axisHelper.getFields() : field).slice(0, scaleDepth);\n if (!fields || fields.length === 0) {\n setEncoder((datum: Datum) => null);\n return null;\n }\n\n if (axisHelper.isContinuous) {\n setEncoder((datum: Datum) => {\n this._scaleConfig.datum = datum;\n return axisHelper.valueToPosition(this.getDatumPositionValue(datum, fields[0]), this._scaleConfig);\n });\n } else {\n setEncoder((datum: Datum) => {\n this._scaleConfig.datum = datum;\n return axisHelper.dataToPosition(array(this.getDatumPositionValues(datum, fields)), this._scaleConfig);\n });\n }\n\n return getEncoder()(datum);\n }\n\n protected _positionXEncoder?: (datum: Datum) => number;\n protected _getPositionXEncoder = () => this._positionXEncoder?.bind(this);\n protected _setPositionXEncoder = (encoder: (datum: Datum) => number) => {\n this._positionXEncoder = encoder.bind(this);\n };\n\n dataToPositionX(datum: Datum): number {\n return this._dataToPosition(\n datum,\n this._xAxisHelper,\n this.fieldX,\n undefined,\n this._getPositionXEncoder,\n this._setPositionXEncoder\n );\n }\n\n protected _positionYEncoder?: (datum: Datum) => number;\n protected _getPositionYEncoder = () => this._positionYEncoder?.bind(this);\n protected _setPositionYEncoder = (encoder: (datum: Datum) => number) => {\n this._positionYEncoder = encoder.bind(this);\n };\n\n dataToPositionY(datum: Datum): number {\n return this._dataToPosition(\n datum,\n this._yAxisHelper,\n this.fieldY,\n undefined,\n this._getPositionYEncoder,\n this._setPositionYEncoder\n );\n }\n\n dataToPositionZ(datum: Datum): number {\n if (!this._zAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._zAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fieldZ), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionX1(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this._fieldX2 && this._fieldX2 in datum\n ? this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX2))\n : this.valueToPositionX(0);\n }\n\n dataToPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this._fieldY2 && this._fieldY2 in datum\n ? this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY2))\n : this.valueToPositionY(0);\n }\n\n positionToData(p: IPoint): IPoint | null {\n if (!p) {\n return null;\n }\n return {\n x: this.positionToDataX(p.x),\n y: this.positionToDataY(p.y)\n };\n }\n\n positionToDataX(xPos: number): any | null {\n if (!this._scaleX) {\n return null;\n }\n return this._scaleX.invert(xPos);\n }\n\n positionToDataY(yPos: number): any | null {\n if (!this._scaleY) {\n return null;\n }\n return this._scaleY.invert(yPos);\n }\n\n getRegionRectLeft(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[0];\n }\n\n getRegionRectRight(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[1];\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this.setFieldX(this._fieldX);\n this.setFieldY(this._fieldY);\n this._buildScaleConfig();\n }\n\n getDimensionField(): string[] {\n if (this._direction === Direction.horizontal) {\n return this._specYField;\n }\n return this._specXField;\n }\n\n getDimensionContinuousField(): string[] {\n if (this._direction === Direction.horizontal) {\n return [this.fieldY[0], this.fieldY2];\n }\n return [this.fieldX[0], this.fieldX2];\n }\n\n getMeasureField(): string[] {\n if (this._direction === Direction.horizontal) {\n return this._specXField;\n }\n return this._specYField;\n }\n\n protected initEvent() {\n super.initEvent();\n // 通过轴事件来进行排序。轴的domain数据变化在系列的统计数据完成后\n if (this.sortDataByAxis) {\n this.event.on(\n ChartEvent.scaleDomainUpdate,\n {\n filter: param =>\n param.model.id ===\n (this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper)?.getAxisId()\n },\n () => {\n // 只能排序,不能修改数据,此时已经在数据流的统计流程之后\n this._sortDataInAxisDomain();\n }\n );\n }\n }\n\n _sortDataInAxisDomain() {\n if (this.getViewData()?.latestData?.length) {\n sortDataInAxisHelper(\n this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper,\n this._direction === Direction.horizontal ? this._fieldY[0] : this._fieldX[0],\n this.getViewData().latestData\n );\n this._data?.updateData(true);\n }\n }\n\n protected getInvalidCheckFields() {\n const fields: string[] = [];\n\n if (\n this._xAxisHelper &&\n this._xAxisHelper.isContinuous &&\n this._xAxisHelper.getAxisType() !== ComponentTypeEnum.geoCoordinate\n ) {\n const xFields = this._xAxisHelper.getFields ? this._xAxisHelper.getFields() : this._specXField;\n xFields.forEach(f => {\n fields.push(f);\n });\n }\n\n if (\n this._yAxisHelper &&\n this._yAxisHelper.isContinuous &&\n this._yAxisHelper.getAxisType() !== ComponentTypeEnum.geoCoordinate\n ) {\n const yFields = this._yAxisHelper.getFields ? this._yAxisHelper.getFields() : this._specYField;\n\n yFields.forEach(f => {\n fields.push(f);\n });\n }\n return fields;\n }\n\n reInit(spec: T) {\n if (this._positionXEncoder) {\n this._positionXEncoder = null;\n }\n if (this._positionYEncoder) {\n this._positionYEncoder = null;\n }\n\n super.reInit(spec);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { ICartesianSeries } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPoint } from '../../typings/coordinate';\nimport type { IBaseScale } from '@visactor/vscale';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_START_OffsetSilhouette\n} from '../../constant/data';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { DirectionType } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { array, isValid } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { ICartesianSeriesSpec } from './interface';\nimport { sortDataInAxisHelper } from '../util/utils';\nimport type { IAxisLocationCfg } from '../../component/axis';\nimport { ComponentTypeEnum } from '../../component/interface/type';\nimport { ChartEvent } from '../../constant/event';\nimport { PREFIX } from '../../constant/base';\n\nexport abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec>\n extends BaseSeries<T>\n implements ICartesianSeries\n{\n readonly coordinate: 'cartesian' = 'cartesian';\n protected _bandPosition = 0.5;\n protected _scaleConfig: IAxisLocationCfg = {\n bandPosition: this._bandPosition\n };\n protected _buildScaleConfig() {\n this._scaleConfig = {\n bandPosition: this._bandPosition\n };\n }\n\n protected _fieldX!: string[];\n get fieldX() {\n return this._fieldX;\n }\n setFieldX(f: string | string[]) {\n this._fieldX = array(f);\n }\n\n protected _fieldY!: string[];\n get fieldY() {\n return this._fieldY;\n }\n setFieldY(f: string | string[]) {\n this._fieldY = array(f);\n }\n\n protected _fieldZ?: string[];\n get fieldZ(): string[] | undefined {\n return this._fieldZ;\n }\n setFieldZ(f?: string | string[]) {\n this._fieldZ = f && array(f);\n }\n\n protected _fieldX2!: string;\n get fieldX2() {\n return this._fieldX2;\n }\n setFieldX2(f: string) {\n this._fieldX2 = f;\n }\n\n protected _fieldY2!: string;\n get fieldY2() {\n return this._fieldY2;\n }\n setFieldY2(f: string) {\n this._fieldY2 = f;\n }\n\n protected _specXField: string[];\n protected _specYField: string[];\n\n protected _direction: DirectionType = Direction.vertical;\n get direction() {\n return this._direction;\n }\n\n protected _scaleX!: IBaseScale;\n get scaleX() {\n return this._scaleX;\n }\n setScaleX(s: IBaseScale) {\n this._scaleX = s;\n }\n\n protected _scaleY!: IBaseScale;\n get scaleY() {\n return this._scaleY;\n }\n setScaleY(s: IBaseScale) {\n this._scaleY = s;\n }\n\n protected _scaleZ?: IBaseScale;\n get scaleZ() {\n return this._scaleZ;\n }\n setScaleZ(s: IBaseScale) {\n this._scaleZ = s;\n }\n\n _xAxisHelper!: IAxisHelper;\n getXAxisHelper() {\n return this._xAxisHelper;\n }\n setXAxisHelper(h: IAxisHelper) {\n this._xAxisHelper = h;\n this.onXAxisHelperUpdate();\n }\n\n _yAxisHelper!: IAxisHelper;\n getYAxisHelper() {\n return this._yAxisHelper;\n }\n setYAxisHelper(h: IAxisHelper) {\n this._yAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n _zAxisHelper?: IAxisHelper;\n getZAxisHelper() {\n return this._zAxisHelper;\n }\n setZAxisHelper(h: IAxisHelper) {\n this._zAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n protected _sortDataByAxis: boolean = false;\n get sortDataByAxis() {\n return this._sortDataByAxis;\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: StatisticOperations }[] = [];\n const axes = [\n {\n axisHelper: this.getXAxisHelper(),\n fields: this._fieldX2 ? [...this._fieldX, this._fieldX2] : this._fieldX\n },\n {\n axisHelper: this.getYAxisHelper(),\n fields: this._fieldY2 ? [...this._fieldY, this._fieldY2] : this._fieldY\n },\n {\n axisHelper: this.getZAxisHelper(),\n fields: this._fieldZ\n }\n ];\n\n axes.forEach(axisOption => {\n if (axisOption.axisHelper && axisOption.axisHelper.getScale && axisOption.fields) {\n axisOption.fields.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'>; filter?: (fv: any) => boolean } = {\n key: f,\n operations: []\n };\n const scale = axisOption.axisHelper.getScale(0);\n if (isContinuous(scale.type)) {\n result.operations = ['max', 'min'];\n\n if (scale.type === 'log') {\n result.filter = (fv: any) => fv > 0;\n }\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n });\n\n if (this.getStack()) {\n fields.push({\n key: this.getStackValueField(),\n operations: ['allValid']\n });\n }\n return fields;\n }\n\n getGroupFields() {\n return this.direction === 'vertical' ? this._fieldX : this._fieldY;\n }\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getStackValue() {\n const axisId = (\n this.direction === Direction.horizontal ? this.getXAxisHelper() : this.getYAxisHelper()\n )?.getAxisId();\n return this._spec.stackValue ?? `${PREFIX}_series_${this.type}_${axisId}`;\n }\n\n getStackValueField() {\n // TODO: hack\n if (this.direction === Direction.horizontal) {\n return array(this._spec.xField)[0];\n }\n return array(this._spec.yField)[0];\n }\n\n setValueFieldToStack(): void {\n if (this.direction === Direction.horizontal) {\n this.setFieldX(STACK_FIELD_END);\n this.setFieldX2(STACK_FIELD_START);\n } else {\n this.setFieldY(STACK_FIELD_END);\n this.setFieldY2(STACK_FIELD_START);\n }\n }\n\n setValueFieldToPercent(): void {\n if (this.direction === Direction.horizontal) {\n this.setFieldX(STACK_FIELD_END_PERCENT);\n this.setFieldX2(STACK_FIELD_START_PERCENT);\n } else {\n this.setFieldY(STACK_FIELD_END_PERCENT);\n this.setFieldY2(STACK_FIELD_START_PERCENT);\n }\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n if (this.direction === Direction.horizontal) {\n this.setFieldX(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldX2(STACK_FIELD_START_OffsetSilhouette);\n } else {\n this.setFieldY(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldY2(STACK_FIELD_START_OffsetSilhouette);\n }\n }\n\n onXAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onYAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onZAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldX(this._spec.xField);\n this.setFieldY(this._spec.yField);\n this.setFieldZ(this._spec.zField);\n this._specXField = array(this._spec.xField);\n this._specYField = array(this._spec.yField);\n if (isValid(this._spec.direction)) {\n this._direction = this._spec.direction;\n }\n\n this.setFieldX2(this._spec?.x2Field);\n this.setFieldY2(this._spec?.y2Field);\n\n if (this.getStack()) {\n this.setValueFieldToStack();\n }\n if (this.getPercent()) {\n this.setValueFieldToPercent();\n }\n if (this.getStackOffsetSilhouette()) {\n this.setValueFieldToStackOffsetSilhouette();\n }\n\n if (isValid(this._spec.sortDataByAxis)) {\n this._sortDataByAxis = this._spec.sortDataByAxis === true;\n }\n }\n\n dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint | null {\n if (!datum) {\n return null;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return null;\n }\n return {\n x: this.dataToPositionX(datum),\n y: this.dataToPositionY(datum)\n } as IPoint;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToX = this.valueToPositionX.bind(this);\n this._markAttributeContext.valueToY = this.valueToPositionY.bind(this);\n this._markAttributeContext.xBandwidth = (depth: number = 0) => this.getXAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.yBandwidth = (depth: number = 0) => this.getYAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n }\n\n valueToPosition(xValue: StringOrNumber | StringOrNumber[], yValue: StringOrNumber | StringOrNumber[]) {\n return {\n x: this.valueToPositionX(xValue),\n y: this.valueToPositionY(yValue)\n };\n }\n\n protected _axisPosition(helper: IAxisHelper, value: StringOrNumber | StringOrNumber[], datum?: any) {\n this._scaleConfig.datum = datum;\n if (helper.isContinuous) {\n return helper.valueToPosition(value, this._scaleConfig);\n }\n return helper.dataToPosition(array(value), this._scaleConfig);\n }\n\n valueToPositionX(value: StringOrNumber | StringOrNumber[], datum?: any) {\n return this._axisPosition(this._xAxisHelper, value, datum);\n }\n valueToPositionY(value: StringOrNumber | StringOrNumber[], datum?: any) {\n return this._axisPosition(this._yAxisHelper, value, datum);\n }\n\n protected _dataToPosition(\n datum: Datum,\n axisHelper: IAxisHelper,\n field: string[],\n scaleDepth: number | undefined,\n getEncoder: () => (datum: Datum) => number,\n setEncoder: (encoder: (datum: Datum) => number) => void\n ): number {\n const encoder = getEncoder();\n if (encoder) {\n return encoder(datum);\n }\n\n if (!axisHelper) {\n setEncoder((datum: Datum) => Number.NaN);\n return Number.NaN;\n }\n const fields = (axisHelper.getFields ? axisHelper.getFields() : field).slice(0, scaleDepth);\n if (!fields || fields.length === 0) {\n setEncoder((datum: Datum) => null);\n return null;\n }\n\n if (axisHelper.isContinuous) {\n setEncoder((datum: Datum) => {\n this._scaleConfig.datum = datum;\n return axisHelper.valueToPosition(this.getDatumPositionValue(datum, fields[0]), this._scaleConfig);\n });\n } else {\n setEncoder((datum: Datum) => {\n this._scaleConfig.datum = datum;\n return axisHelper.dataToPosition(array(this.getDatumPositionValues(datum, fields)), this._scaleConfig);\n });\n }\n\n return getEncoder()(datum);\n }\n\n protected _positionXEncoder?: (datum: Datum) => number;\n protected _getPositionXEncoder = () => this._positionXEncoder?.bind(this);\n protected _setPositionXEncoder = (encoder: (datum: Datum) => number) => {\n this._positionXEncoder = encoder.bind(this);\n };\n\n dataToPositionX(datum: Datum): number {\n return this._dataToPosition(\n datum,\n this._xAxisHelper,\n this.fieldX,\n undefined,\n this._getPositionXEncoder,\n this._setPositionXEncoder\n );\n }\n\n protected _positionYEncoder?: (datum: Datum) => number;\n protected _getPositionYEncoder = () => this._positionYEncoder?.bind(this);\n protected _setPositionYEncoder = (encoder: (datum: Datum) => number) => {\n this._positionYEncoder = encoder.bind(this);\n };\n\n dataToPositionY(datum: Datum): number {\n return this._dataToPosition(\n datum,\n this._yAxisHelper,\n this.fieldY,\n undefined,\n this._getPositionYEncoder,\n this._setPositionYEncoder\n );\n }\n\n dataToPositionZ(datum: Datum): number {\n if (!this._zAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._zAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fieldZ), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionX1(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this._fieldX2 && this._fieldX2 in datum\n ? this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX2))\n : this.valueToPositionX(0);\n }\n\n dataToPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this._fieldY2 && this._fieldY2 in datum\n ? this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY2))\n : this.valueToPositionY(0);\n }\n\n positionToData(p: IPoint): IPoint | null {\n if (!p) {\n return null;\n }\n return {\n x: this.positionToDataX(p.x),\n y: this.positionToDataY(p.y)\n };\n }\n\n positionToDataX(xPos: number): any | null {\n if (!this._scaleX) {\n return null;\n }\n return this._scaleX.invert(xPos);\n }\n\n positionToDataY(yPos: number): any | null {\n if (!this._scaleY) {\n return null;\n }\n return this._scaleY.invert(yPos);\n }\n\n getRegionRectLeft(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[0];\n }\n\n getRegionRectRight(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[1];\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this.setFieldX(this._fieldX);\n this.setFieldY(this._fieldY);\n this._buildScaleConfig();\n }\n\n getDimensionField(): string[] {\n if (this._direction === Direction.horizontal) {\n return this._specYField;\n }\n return this._specXField;\n }\n\n getDimensionContinuousField(): string[] {\n if (this._direction === Direction.horizontal) {\n return [this.fieldY[0], this.fieldY2];\n }\n return [this.fieldX[0], this.fieldX2];\n }\n\n getMeasureField(): string[] {\n if (this._direction === Direction.horizontal) {\n return this._specXField;\n }\n return this._specYField;\n }\n\n protected initEvent() {\n super.initEvent();\n // 通过轴事件来进行排序。轴的domain数据变化在系列的统计数据完成后\n if (this.sortDataByAxis) {\n this.event.on(\n ChartEvent.scaleDomainUpdate,\n {\n filter: param =>\n param.model.id ===\n (this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper)?.getAxisId()\n },\n () => {\n // 只能排序,不能修改数据,此时已经在数据流的统计流程之后\n this._sortDataInAxisDomain();\n }\n );\n }\n }\n\n _sortDataInAxisDomain() {\n if (this.getViewData()?.latestData?.length) {\n sortDataInAxisHelper(\n this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper,\n this._direction === Direction.horizontal ? this._fieldY[0] : this._fieldX[0],\n this.getViewData().latestData\n );\n this._data?.updateData(true);\n }\n }\n\n protected getInvalidCheckFields() {\n const fields: string[] = [];\n\n if (\n this._xAxisHelper &&\n this._xAxisHelper.isContinuous &&\n this._xAxisHelper.getAxisType() !== ComponentTypeEnum.geoCoordinate\n ) {\n const xFields = this._xAxisHelper.getFields ? this._xAxisHelper.getFields() : this._specXField;\n xFields.forEach(f => {\n fields.push(f);\n });\n }\n\n if (\n this._yAxisHelper &&\n this._yAxisHelper.isContinuous &&\n this._yAxisHelper.getAxisType() !== ComponentTypeEnum.geoCoordinate\n ) {\n const yFields = this._yAxisHelper.getFields ? this._yAxisHelper.getFields() : this._specYField;\n\n yFields.forEach(f => {\n fields.push(f);\n });\n }\n return fields;\n }\n\n reInit(spec: T) {\n if (this._positionXEncoder) {\n this._positionXEncoder = null;\n }\n if (this._positionYEncoder) {\n this._positionYEncoder = null;\n }\n\n super.reInit(spec);\n }\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerCirclePackingSeries = exports.CirclePackingSeries = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"), type_1 = require("../interface/type"), cartesian_1 = require("../cartesian/cartesian"), register_1 = require("../../data/register"), circle_packing_1 = require("../../data/transforms/circle-packing"), interface_1 = require("../../compile/mark/interface"), constant_1 = require("../../constant"), hierarchy_1 = require("../../constant/hierarchy"), flatten_1 = require("../../data/transforms/flatten"), tooltip_helper_1 = require("./tooltip-helper"), data_key_1 = require("../../data/transforms/data-key"), add_property_1 = require("../../data/transforms/add-property"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), animation_1 = require("./animation"), drillable_1 = require("../../interaction/drill/drillable"), arc_1 = require("../../mark/arc"), text_1 = require("../../mark/text"), constant_2 = require("./constant");
7
+ const vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"), type_1 = require("../interface/type"), cartesian_1 = require("../cartesian/cartesian"), register_1 = require("../../data/register"), circle_packing_1 = require("../../data/transforms/circle-packing"), interface_1 = require("../../compile/mark/interface"), data_1 = require("../../constant/data"), attribute_1 = require("../../constant/attribute"), hierarchy_1 = require("../../constant/hierarchy"), flatten_1 = require("../../data/transforms/flatten"), tooltip_helper_1 = require("./tooltip-helper"), data_key_1 = require("../../data/transforms/data-key"), add_property_1 = require("../../data/transforms/add-property"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), animation_1 = require("./animation"), drillable_1 = require("../../interaction/drill/drillable"), arc_1 = require("../../mark/arc"), text_1 = require("../../mark/text"), constant_1 = require("./constant");
8
8
 
9
9
  class CirclePackingSeries extends cartesian_1.CartesianSeries {
10
10
  constructor() {
@@ -37,7 +37,7 @@ class CirclePackingSeries extends cartesian_1.CartesianSeries {
37
37
  mode: this._option.mode,
38
38
  drillField: () => {
39
39
  var _a;
40
- return null !== (_a = this._spec.drillField) && void 0 !== _a ? _a : constant_1.DEFAULT_DATA_KEY;
40
+ return null !== (_a = this._spec.drillField) && void 0 !== _a ? _a : data_1.DEFAULT_DATA_KEY;
41
41
  },
42
42
  getRawData: () => this.getRawData()
43
43
  }), this._circlePacking = this._spec.circlePacking, this._label = this._spec.label,
@@ -107,7 +107,7 @@ class CirclePackingSeries extends cartesian_1.CartesianSeries {
107
107
  endAngle: 2 * Math.PI,
108
108
  fill: this.getColorAttribute(),
109
109
  zIndex: d => d.depth
110
- }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series);
110
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
111
111
  }
112
112
  _initLabelMark() {
113
113
  var _a;
@@ -123,7 +123,7 @@ class CirclePackingSeries extends cartesian_1.CartesianSeries {
123
123
  y: d => d.y,
124
124
  text: d => d.key,
125
125
  cursor: "pointer"
126
- }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series);
126
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
127
127
  }
128
128
  getStatisticFields() {
129
129
  return super.getStatisticFields().concat([ {
@@ -171,7 +171,7 @@ class CirclePackingSeries extends cartesian_1.CartesianSeries {
171
171
  }
172
172
 
173
173
  exports.CirclePackingSeries = CirclePackingSeries, CirclePackingSeries.type = type_1.SeriesTypeEnum.circlePacking,
174
- CirclePackingSeries.mark = constant_2.circlePackingSeriesMark, (0, vutils_1.mixin)(CirclePackingSeries, drillable_1.Drillable);
174
+ CirclePackingSeries.mark = constant_1.circlePackingSeriesMark, (0, vutils_1.mixin)(CirclePackingSeries, drillable_1.Drillable);
175
175
 
176
176
  const registerCirclePackingSeries = () => {
177
177
  factory_1.Factory.registerSeries(CirclePackingSeries.type, CirclePackingSeries),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/circle-packing/circle-packing.ts"],"names":[],"mappings":";;;AACA,6CAAgD;AAMhD,gDAA6C;AAI7C,4CAAmD;AAEnD,sDAAyD;AACzD,kDAAuE;AACvE,yEAA2E;AAI3E,4DAAgE;AAChE,6CAAkE;AAClE,wDAA2F;AAE3F,2DAAwD;AACxD,qDAA8D;AAE9D,6DAA0F;AAC1F,qEAAuE;AACvE,iDAA6E;AAC7E,mDAAqE;AAGrE,2CAA6D;AAE7D,iEAA8D;AAC9D,wCAAiD;AACjD,0CAAmD;AACnD,yCAAqD;AAErD,MAAa,mBAEX,SAAQ,2BAAkB;IAF5B;;QAIE,SAAI,GAAG,qBAAc,CAAC,aAAa,CAAC;IAqRtC,CAAC;IAnQC,gBAAgB,CAAC,CAAS;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,iBAAiB;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,kCAAsB,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,aAAa,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,2BAAgB,CAAA,EAAA;gBAC3D,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;aACpC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACjD,CAAC;IAES,QAAQ;QAChB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,EAAE;YAClB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAEnB,IAA8B,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClE;QAGD,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,EAAE,oCAAmB,CAAC,CAAC;QAE5F,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;QAGpE,OAAO,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAsB,EAAE;gBAC/B,OAAO;oBACL,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,CAAC;oBACtC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC;iBACzC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAGH,OAAO,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,QAAQ,EAAE,CAAC,IAA8B,EAAE,EAAE;oBAC3C,IAAI,IAAI,CAAC,KAAK,EAAE;wBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACxC,uCAAY,IAAI,GAAK,QAAQ,EAAG;qBACjC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAES,mBAAmB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,IAAA,cAAK,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,EAAE;YAC3B,OAAO;SACR;QAED,IAAA,2CAAgC,EAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,gCAAiB,CAAC,CAAC;QAC1F,OAAO,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE;gBACP,UAAU,EAAE,8BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1C,IAAI,EAAE,8BAAmB;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,sBAAsB;;QAC5B,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,MAAK,KAAK,EAAE;YAC1C,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE;YAC7E,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,WAAW;SACnD,CAAa,CAAC;QAEf,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;IAC1C,CAAC;IAEO,2BAA2B;QACjC,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAClC,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,kBAAkB,EACvB;YACE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACX,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACX,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;YAC1B,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;SAErB,EACD,4BAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAEO,cAAc;;QACpB,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,MAAK,KAAK,EAAE;YAClC,OAAO;SACR;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE;YACjE,YAAY,EAAE,KAAK;SACpB,CAAc,CAAC;QAEhB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACX,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,CAAC,CAAC,GAAG,CAAC;YACf,CAAC;YACD,MAAM,EAAE,SAAS;SAClB,EACD,4BAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB;gBACE,GAAG,EAAE,IAAI,CAAC,cAAc;gBACxB,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB;YACD;gBACE,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aAC3B;YACD;gBACE,GAAG,EAAE,mCAAuB;gBAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;aACrC;YACD;gBACE,GAAG,EAAE,kCAAsB;gBAC3B,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,2CAA0B,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACxC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpF,CAAC;IAED,aAAa;;QACX,MAAM,YAAY,GAAG,MAAC,IAAI,CAAC,KAAK,CAAC,eAAgE,0CAAE,MAAM,CAAC;QAE1G,IAAI,CAAC,cAAc,OAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YACnD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EACb,MAAA,iBAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,0CAAG,SAAS,EAAE,YAAY,CAAC,EACrE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CACvE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,QAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YACpD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EACb,MAAA,iBAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,2CAAI,EAC3C,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CACvE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,cAAc,EAAE,CAAC;SAClD;IACH,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAGS,mBAAmB,CAAC,KAAY,EAAE,KAAa;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,CAAC;;AAxRH,kDAyRC;AAtRiB,wBAAI,GAAW,qBAAc,CAAC,aAAa,CAAC;AAG5C,wBAAI,GAAkB,kCAAuB,CAAC;AAqRhE,IAAA,cAAK,EAAC,mBAAmB,EAAE,qBAAS,CAAC,CAAC;AAE/B,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,iBAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACtE,IAAA,qBAAe,GAAE,CAAC;IAClB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,oCAA2B,GAAE,CAAC;IAC9B,IAAA,0CAA8B,GAAE,CAAC;AACnC,CAAC,CAAC;AANW,QAAA,2BAA2B,+BAMtC","file":"circle-packing.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isNil, mixin } from '@visactor/vutils';\n\nimport type { ICirclePackingOpt } from '../../data/transforms/circle-packing';\nimport type { ICirclePackingSeriesSpec } from './interface';\n\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport { Factory } from '../../core/factory';\nimport type { Datum, IArcMarkSpec, IComposedTextMarkSpec, ITextMarkSpec } from '../../typings';\n\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface/type';\n\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { circlePackingLayout } from '../../data/transforms/circle-packing';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { IArcMark } from '../../mark/arc';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport type { CirclePackingNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { flatten } from '../../data/transforms/flatten';\nimport { CirclePackingTooltipHelper } from './tooltip-helper';\nimport type { ITextMark } from '../../mark/text';\nimport { addHierarchyDataKey, initHierarchyKeyMap } from '../../data/transforms/data-key';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerScaleInOutAnimation } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { CirclePackingAppearPreset } from './animation';\nimport { registerCirclePackingAnimation } from './animation';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { registerArcMark } from '../../mark/arc';\nimport { registerTextMark } from '../../mark/text';\nimport { circlePackingSeriesMark } from './constant';\n\nexport class CirclePackingSeries<\n T extends ICirclePackingSeriesSpec = ICirclePackingSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.circlePacking;\n type = SeriesTypeEnum.circlePacking;\n\n static readonly mark: SeriesMarkMap = circlePackingSeriesMark;\n\n // 映射字段\n protected _categoryField!: string;\n protected _valueField!: string;\n // 配置\n private _layoutPadding: number | number[];\n private _circlePacking: IMarkSpec<IArcMarkSpec>;\n private _label: IMarkSpec<ITextMarkSpec>;\n // Mark\n private _circlePackingMark: IArcMark;\n private _labelMark: ITextMark;\n\n // 钻取功能开启\n private _drill?: boolean;\n\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n getCategoryField() {\n return this._categoryField;\n }\n\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n getValueField() {\n return this._valueField;\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n this._circlePacking = this._spec.circlePacking;\n this._label = this._spec.label;\n this._layoutPadding = this._spec.layoutPadding;\n }\n\n protected initData(): void {\n super.initData();\n\n const rawData = this.getRawData();\n\n if (isNil(rawData)) {\n return;\n }\n\n if (this._spec.drill) {\n // 对原始数据进行上卷下钻筛选\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n // 注册布局算法\n registerDataSetInstanceTransform(this._dataSet, 'circlePackingLayout', circlePackingLayout);\n // 注册扁平化算法\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n // 布局算法\n rawData.transform({\n type: 'circlePackingLayout',\n options: (): ICirclePackingOpt => {\n return {\n nodeKey: this._categoryField,\n padding: this._layoutPadding,\n includeRoot: false,\n width: this.getLayoutRect().width || 1,\n height: this.getLayoutRect().height || 1\n };\n }\n });\n\n // 布局结果进行扁平化处理\n rawData.transform({\n type: 'flatten',\n options: {\n callback: (node: CirclePackingNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n\n protected _addDataIndexAndKey() {\n const rawData = this.getRawData();\n if (isNil(rawData?.dataSet)) {\n return;\n }\n // 为原始数据, 添加层级属性\n registerDataSetInstanceTransform(rawData.dataSet, 'addVChartProperty', addVChartProperty);\n rawData.transform({\n type: 'addVChartProperty',\n options: {\n beforeCall: initHierarchyKeyMap.bind(this),\n call: addHierarchyDataKey\n }\n });\n }\n\n initMark(): void {\n this._initCirclePackingMark();\n this._initLabelMark();\n }\n\n initMarkStyle(): void {\n this._initCirclePackingMarkStyle();\n this._initLabelMarkStyle();\n }\n\n private _initCirclePackingMark() {\n if (this._circlePacking?.visible === false) {\n return;\n }\n\n const circlePacking = this._createMark(CirclePackingSeries.mark.circlePacking, {\n isSeriesMark: true,\n customShape: this._spec.circlePacking?.customShape\n }) as IArcMark;\n\n this._circlePackingMark = circlePacking;\n }\n\n private _initCirclePackingMarkStyle() {\n if (isNil(this._circlePackingMark)) {\n return;\n }\n\n this.setMarkStyle(\n this._circlePackingMark,\n {\n x: d => d.x,\n y: d => d.y,\n outerRadius: d => d.radius,\n innerRadius: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n fill: this.getColorAttribute(),\n zIndex: d => d.depth\n // Todo 内置根节点和叶节点透明度\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n private _initLabelMark() {\n if (this._label?.visible === false) {\n return;\n }\n const labelMark = this._createMark(CirclePackingSeries.mark.label, {\n isSeriesMark: false\n }) as ITextMark;\n\n this._labelMark = labelMark;\n }\n\n private _initLabelMarkStyle() {\n if (isNil(this._labelMark)) {\n return;\n }\n\n this.setMarkStyle<IComposedTextMarkSpec>(\n this._labelMark,\n {\n x: d => d.x,\n y: d => d.y,\n text: d => {\n return d.key;\n },\n cursor: 'pointer'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n protected initTooltip() {\n this._tooltipHelper = new CirclePackingTooltipHelper(this);\n this._tooltipHelper.updateTooltipSpec();\n this._circlePackingMark && this._tooltipHelper.activeTriggerSet.mark.add(this._circlePackingMark);\n this._labelMark && this._tooltipHelper.activeTriggerSet.mark.add(this._labelMark);\n }\n\n initAnimation(): void {\n const appearPreset = (this._spec.animationAppear as IStateAnimateSpec<CirclePackingAppearPreset>)?.preset;\n\n this.getMarksInType(MarkTypeEnum.arc).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('circlePacking')?.(undefined, appearPreset),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n });\n }\n\n initEvent() {\n super.initEvent();\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._rawData.reRunAllTransform();\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number): unknown | undefined {\n return undefined;\n }\n\n getActiveMarks(): IMark[] {\n return [this._circlePackingMark];\n }\n}\n\nmixin(CirclePackingSeries, Drillable);\n\nexport const registerCirclePackingSeries = () => {\n Factory.registerSeries(CirclePackingSeries.type, CirclePackingSeries);\n registerArcMark();\n registerTextMark();\n registerScaleInOutAnimation();\n registerCirclePackingAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/circle-packing/circle-packing.ts"],"names":[],"mappings":"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","file":"circle-packing.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isNil, mixin } from '@visactor/vutils';\n\nimport type { ICirclePackingOpt } from '../../data/transforms/circle-packing';\nimport type { ICirclePackingSeriesSpec } from './interface';\n\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport { Factory } from '../../core/factory';\nimport type { Datum, IArcMarkSpec, IComposedTextMarkSpec, ITextMarkSpec } from '../../typings';\n\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface/type';\n\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { circlePackingLayout } from '../../data/transforms/circle-packing';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { IArcMark } from '../../mark/arc';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport type { CirclePackingNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { flatten } from '../../data/transforms/flatten';\nimport { CirclePackingTooltipHelper } from './tooltip-helper';\nimport type { ITextMark } from '../../mark/text';\nimport { addHierarchyDataKey, initHierarchyKeyMap } from '../../data/transforms/data-key';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerScaleInOutAnimation } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { CirclePackingAppearPreset } from './animation';\nimport { registerCirclePackingAnimation } from './animation';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { registerArcMark } from '../../mark/arc';\nimport { registerTextMark } from '../../mark/text';\nimport { circlePackingSeriesMark } from './constant';\n\nexport class CirclePackingSeries<\n T extends ICirclePackingSeriesSpec = ICirclePackingSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.circlePacking;\n type = SeriesTypeEnum.circlePacking;\n\n static readonly mark: SeriesMarkMap = circlePackingSeriesMark;\n\n // 映射字段\n protected _categoryField!: string;\n protected _valueField!: string;\n // 配置\n private _layoutPadding: number | number[];\n private _circlePacking: IMarkSpec<IArcMarkSpec>;\n private _label: IMarkSpec<ITextMarkSpec>;\n // Mark\n private _circlePackingMark: IArcMark;\n private _labelMark: ITextMark;\n\n // 钻取功能开启\n private _drill?: boolean;\n\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n getCategoryField() {\n return this._categoryField;\n }\n\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n getValueField() {\n return this._valueField;\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n this._circlePacking = this._spec.circlePacking;\n this._label = this._spec.label;\n this._layoutPadding = this._spec.layoutPadding;\n }\n\n protected initData(): void {\n super.initData();\n\n const rawData = this.getRawData();\n\n if (isNil(rawData)) {\n return;\n }\n\n if (this._spec.drill) {\n // 对原始数据进行上卷下钻筛选\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n // 注册布局算法\n registerDataSetInstanceTransform(this._dataSet, 'circlePackingLayout', circlePackingLayout);\n // 注册扁平化算法\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n // 布局算法\n rawData.transform({\n type: 'circlePackingLayout',\n options: (): ICirclePackingOpt => {\n return {\n nodeKey: this._categoryField,\n padding: this._layoutPadding,\n includeRoot: false,\n width: this.getLayoutRect().width || 1,\n height: this.getLayoutRect().height || 1\n };\n }\n });\n\n // 布局结果进行扁平化处理\n rawData.transform({\n type: 'flatten',\n options: {\n callback: (node: CirclePackingNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n\n protected _addDataIndexAndKey() {\n const rawData = this.getRawData();\n if (isNil(rawData?.dataSet)) {\n return;\n }\n // 为原始数据, 添加层级属性\n registerDataSetInstanceTransform(rawData.dataSet, 'addVChartProperty', addVChartProperty);\n rawData.transform({\n type: 'addVChartProperty',\n options: {\n beforeCall: initHierarchyKeyMap.bind(this),\n call: addHierarchyDataKey\n }\n });\n }\n\n initMark(): void {\n this._initCirclePackingMark();\n this._initLabelMark();\n }\n\n initMarkStyle(): void {\n this._initCirclePackingMarkStyle();\n this._initLabelMarkStyle();\n }\n\n private _initCirclePackingMark() {\n if (this._circlePacking?.visible === false) {\n return;\n }\n\n const circlePacking = this._createMark(CirclePackingSeries.mark.circlePacking, {\n isSeriesMark: true,\n customShape: this._spec.circlePacking?.customShape\n }) as IArcMark;\n\n this._circlePackingMark = circlePacking;\n }\n\n private _initCirclePackingMarkStyle() {\n if (isNil(this._circlePackingMark)) {\n return;\n }\n\n this.setMarkStyle(\n this._circlePackingMark,\n {\n x: d => d.x,\n y: d => d.y,\n outerRadius: d => d.radius,\n innerRadius: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n fill: this.getColorAttribute(),\n zIndex: d => d.depth\n // Todo 内置根节点和叶节点透明度\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n private _initLabelMark() {\n if (this._label?.visible === false) {\n return;\n }\n const labelMark = this._createMark(CirclePackingSeries.mark.label, {\n isSeriesMark: false\n }) as ITextMark;\n\n this._labelMark = labelMark;\n }\n\n private _initLabelMarkStyle() {\n if (isNil(this._labelMark)) {\n return;\n }\n\n this.setMarkStyle<IComposedTextMarkSpec>(\n this._labelMark,\n {\n x: d => d.x,\n y: d => d.y,\n text: d => {\n return d.key;\n },\n cursor: 'pointer'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n protected initTooltip() {\n this._tooltipHelper = new CirclePackingTooltipHelper(this);\n this._tooltipHelper.updateTooltipSpec();\n this._circlePackingMark && this._tooltipHelper.activeTriggerSet.mark.add(this._circlePackingMark);\n this._labelMark && this._tooltipHelper.activeTriggerSet.mark.add(this._labelMark);\n }\n\n initAnimation(): void {\n const appearPreset = (this._spec.animationAppear as IStateAnimateSpec<CirclePackingAppearPreset>)?.preset;\n\n this.getMarksInType(MarkTypeEnum.arc).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('circlePacking')?.(undefined, appearPreset),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n });\n }\n\n initEvent() {\n super.initEvent();\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._rawData.reRunAllTransform();\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number): unknown | undefined {\n return undefined;\n }\n\n getActiveMarks(): IMark[] {\n return [this._circlePackingMark];\n }\n}\n\nmixin(CirclePackingSeries, Drillable);\n\nexport const registerCirclePackingSeries = () => {\n Factory.registerSeries(CirclePackingSeries.type, CirclePackingSeries);\n registerArcMark();\n registerTextMark();\n registerScaleInOutAnimation();\n registerCirclePackingAnimation();\n};\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerCorrelationSeries = exports.CorrelationSeries = void 0;
6
6
 
7
- const polar_1 = require("../polar/polar"), type_1 = require("../interface/type"), constant_1 = require("./constant"), register_1 = require("../../data/register"), correlation_1 = require("../../data/transforms/correlation"), correlation_center_1 = require("../../data/transforms/correlation-center"), vutils_1 = require("@visactor/vutils"), symbol_1 = require("../../mark/symbol"), series_data_1 = require("../base/series-data"), constant_2 = require("../../constant"), vdataset_1 = require("@visactor/vdataset"), interface_1 = require("../../compile/mark/interface"), ripple_1 = require("../../mark/ripple"), constant_3 = require("../../constant"), utils_1 = require("../../animation/utils"), factory_1 = require("../../core/factory"), animation_1 = require("./animation"), correlation_transformer_1 = require("./correlation-transformer");
7
+ const polar_1 = require("../polar/polar"), type_1 = require("../interface/type"), constant_1 = require("./constant"), register_1 = require("../../data/register"), correlation_1 = require("../../data/transforms/correlation"), correlation_center_1 = require("../../data/transforms/correlation-center"), vutils_1 = require("@visactor/vutils"), symbol_1 = require("../../mark/symbol"), series_data_1 = require("../base/series-data"), data_1 = require("../../constant/data"), attribute_1 = require("../../constant/attribute"), layout_1 = require("../../constant/layout"), vdataset_1 = require("@visactor/vdataset"), interface_1 = require("../../compile/mark/interface"), ripple_1 = require("../../mark/ripple"), correlation_2 = require("../../constant/correlation"), utils_1 = require("../../animation/utils"), factory_1 = require("../../core/factory"), animation_1 = require("./animation"), correlation_transformer_1 = require("./correlation-transformer");
8
8
 
9
9
  class CorrelationSeries extends polar_1.PolarSeries {
10
10
  constructor() {
@@ -92,25 +92,25 @@ class CorrelationSeries extends polar_1.PolarSeries {
92
92
  const nodePointMark = this._createMark(CorrelationSeries.mark.nodePoint, {
93
93
  groupKey: this._seriesField,
94
94
  isSeriesMark: !0,
95
- key: constant_2.DEFAULT_DATA_INDEX,
95
+ key: data_1.DEFAULT_DATA_INDEX,
96
96
  customShape: null === (_a = this._spec.nodePoint) || void 0 === _a ? void 0 : _a.customShape,
97
97
  stateSort: null === (_b = this._spec.nodePoint) || void 0 === _b ? void 0 : _b.stateSort
98
98
  });
99
- nodePointMark && (nodePointMark.setZIndex(constant_2.LayoutZIndex.Node), this._nodePointMark = nodePointMark);
99
+ nodePointMark && (nodePointMark.setZIndex(layout_1.LayoutZIndex.Node), this._nodePointMark = nodePointMark);
100
100
  const ripplePointMark = this._createMark(CorrelationSeries.mark.ripplePoint, {
101
- key: constant_2.DEFAULT_DATA_INDEX,
101
+ key: data_1.DEFAULT_DATA_INDEX,
102
102
  dataView: this._centerSeriesData.getDataView(),
103
103
  dataProductId: this._centerSeriesData.getProductId()
104
104
  });
105
105
  ripplePointMark && (this._ripplePointMark = ripplePointMark);
106
106
  const centerPointMark = this._createMark(CorrelationSeries.mark.centerPoint, {
107
- key: constant_2.DEFAULT_DATA_INDEX,
107
+ key: data_1.DEFAULT_DATA_INDEX,
108
108
  dataView: this._centerSeriesData.getDataView(),
109
109
  dataProductId: this._centerSeriesData.getProductId(),
110
110
  customShape: null === (_c = this._spec.centerPoint) || void 0 === _c ? void 0 : _c.customShape,
111
111
  stateSort: null === (_d = this._spec.centerPoint) || void 0 === _d ? void 0 : _d.stateSort
112
112
  });
113
- centerPointMark && (centerPointMark.setZIndex(constant_2.LayoutZIndex.Node), this._centerPointMark = centerPointMark);
113
+ centerPointMark && (centerPointMark.setZIndex(layout_1.LayoutZIndex.Node), this._centerPointMark = centerPointMark);
114
114
  }
115
115
  initMarkStyle() {
116
116
  this._initNodePointMarkStyle(), this._initRipplePointMarkStyle(), this._initCenterPointMarkStyle();
@@ -121,13 +121,13 @@ class CorrelationSeries extends polar_1.PolarSeries {
121
121
  if (!nodePointMark) return;
122
122
  const nodePointStyle = null !== (_b = null === (_a = this._spec.nodePoint) || void 0 === _a ? void 0 : _a.style) && void 0 !== _b ? _b : {};
123
123
  this.setMarkStyle(nodePointMark, {
124
- x: datum => datum[constant_3.CORRELATION_X],
125
- y: datum => datum[constant_3.CORRELATION_Y],
126
- size: datum => datum[constant_3.CORRELATION_SIZE],
124
+ x: datum => datum[correlation_2.CORRELATION_X],
125
+ y: datum => datum[correlation_2.CORRELATION_Y],
126
+ size: datum => datum[correlation_2.CORRELATION_SIZE],
127
127
  fill: null !== (_c = nodePointStyle.fill) && void 0 !== _c ? _c : this.getColorAttribute(),
128
128
  fillOpacity: null !== (_d = nodePointStyle.fillOpacity) && void 0 !== _d ? _d : 1,
129
129
  lineWidth: 0
130
- }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_2.AttributeLevel.Series);
130
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
131
131
  }
132
132
  _initRipplePointMarkStyle() {
133
133
  var _a, _b, _c, _d, _e;
@@ -147,7 +147,7 @@ class CorrelationSeries extends polar_1.PolarSeries {
147
147
  fill: null !== (_c = ripplePointStyle.fill) && void 0 !== _c ? _c : this.getColorAttribute(),
148
148
  opacity: null !== (_d = ripplePointStyle.fillOpacity) && void 0 !== _d ? _d : .2,
149
149
  ripple: null !== (_e = ripplePointStyle.ripple) && void 0 !== _e ? _e : 0
150
- }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_2.AttributeLevel.Series);
150
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
151
151
  }
152
152
  _initCenterPointMarkStyle() {
153
153
  var _a, _b, _c, _d, _e, _f;
@@ -164,7 +164,7 @@ class CorrelationSeries extends polar_1.PolarSeries {
164
164
  size: () => .2 * Math.max(this._viewBox.x2 - this._viewBox.x1, this._viewBox.y2 - this._viewBox.y1) / 2,
165
165
  fill: null !== (_c = null === (_b = null === (_a = this._spec.centerPoint) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getColorAttribute(),
166
166
  fillOpacity: null !== (_f = null === (_e = null === (_d = this._spec.centerPoint) || void 0 === _d ? void 0 : _d.style) || void 0 === _e ? void 0 : _e.fillOpacity) && void 0 !== _f ? _f : 1
167
- }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_2.AttributeLevel.Series);
167
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
168
168
  }
169
169
  initTooltip() {
170
170
  super.initTooltip(), this._nodePointMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nodePointMark);
@@ -174,7 +174,7 @@ class CorrelationSeries extends polar_1.PolarSeries {
174
174
  fill: this.getColorAttribute(),
175
175
  text: datum => datum[this._categoryField],
176
176
  z: this.dataToPositionZ.bind(this)
177
- }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_2.AttributeLevel.Series);
177
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
178
178
  }
179
179
  initAnimation() {
180
180
  var _a, _b;