@visactor/vchart 0.0.1-alpha.0 → 0.0.1-alpha.2

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 (1750) hide show
  1. package/README.md +6 -0
  2. package/build/index.js +14321 -14669
  3. package/build/index.min.js +2 -2
  4. package/cjs/animation/animate-manager.js.map +1 -1
  5. package/cjs/animation/config.js.map +1 -1
  6. package/cjs/animation/interface.js +2 -1
  7. package/cjs/animation/interface.js.map +1 -1
  8. package/cjs/animation/spec.d.ts +2 -2
  9. package/cjs/animation/spec.js.map +1 -1
  10. package/cjs/animation/utils.d.ts +4 -3
  11. package/cjs/animation/utils.js +8 -3
  12. package/cjs/animation/utils.js.map +1 -1
  13. package/cjs/chart/area/area.js.map +1 -1
  14. package/cjs/chart/area/index.js.map +1 -1
  15. package/cjs/chart/area/interface.js.map +1 -1
  16. package/cjs/chart/bar/bar.js.map +1 -1
  17. package/cjs/chart/bar/index.js.map +1 -1
  18. package/cjs/chart/bar/interface.js.map +1 -1
  19. package/cjs/chart/base-chart.js +3 -1
  20. package/cjs/chart/base-chart.js.map +1 -1
  21. package/cjs/chart/boxplot/boxPlot.js.map +1 -1
  22. package/cjs/chart/boxplot/index.js.map +1 -1
  23. package/cjs/chart/boxplot/interface.js.map +1 -1
  24. package/cjs/chart/cartesian/cartesian.js +7 -2
  25. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  26. package/cjs/chart/cartesian/interface.js.map +1 -1
  27. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  28. package/cjs/chart/circle-packing/index.js.map +1 -1
  29. package/cjs/chart/circle-packing/interface.js.map +1 -1
  30. package/cjs/chart/common/common.js.map +1 -1
  31. package/cjs/chart/common/index.js.map +1 -1
  32. package/cjs/chart/common/interface.js.map +1 -1
  33. package/cjs/chart/funnel/funnel.js.map +1 -1
  34. package/cjs/chart/funnel/index.js.map +1 -1
  35. package/cjs/chart/funnel/interface.js.map +1 -1
  36. package/cjs/chart/gauge/gauge.js.map +1 -1
  37. package/cjs/chart/gauge/index.js.map +1 -1
  38. package/cjs/chart/gauge/interface.js.map +1 -1
  39. package/cjs/chart/heatmap/heatmap.js +5 -3
  40. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  41. package/cjs/chart/heatmap/index.js.map +1 -1
  42. package/cjs/chart/heatmap/interface.js.map +1 -1
  43. package/cjs/chart/histogram/histogram.js.map +1 -1
  44. package/cjs/chart/histogram/index.js.map +1 -1
  45. package/cjs/chart/histogram/interface.js.map +1 -1
  46. package/cjs/chart/index.js.map +1 -1
  47. package/cjs/chart/interface/chart.js.map +1 -1
  48. package/cjs/chart/interface/common.js.map +1 -1
  49. package/cjs/chart/interface/index.js.map +1 -1
  50. package/cjs/chart/interface/type.js.map +1 -1
  51. package/cjs/chart/line/index.js.map +1 -1
  52. package/cjs/chart/line/interface.js.map +1 -1
  53. package/cjs/chart/line/line.js.map +1 -1
  54. package/cjs/chart/map/index.js.map +1 -1
  55. package/cjs/chart/map/interface.js.map +1 -1
  56. package/cjs/chart/map/map.js.map +1 -1
  57. package/cjs/chart/pie/index.js.map +1 -1
  58. package/cjs/chart/pie/interface.js.map +1 -1
  59. package/cjs/chart/pie/pie.d.ts +1 -0
  60. package/cjs/chart/pie/pie.js +5 -0
  61. package/cjs/chart/pie/pie.js.map +1 -1
  62. package/cjs/chart/polar/interface.js.map +1 -1
  63. package/cjs/chart/polar/polar.js.map +1 -1
  64. package/cjs/chart/polar/progress-like.js.map +1 -1
  65. package/cjs/chart/polar/rose-like.js.map +1 -1
  66. package/cjs/chart/progress/circular/circular.js.map +1 -1
  67. package/cjs/chart/progress/circular/index.js.map +1 -1
  68. package/cjs/chart/progress/circular/interface.js.map +1 -1
  69. package/cjs/chart/progress/interface.js.map +1 -1
  70. package/cjs/chart/progress/linear/index.js.map +1 -1
  71. package/cjs/chart/progress/linear/interface.js.map +1 -1
  72. package/cjs/chart/progress/linear/linear.js.map +1 -1
  73. package/cjs/chart/radar/index.js.map +1 -1
  74. package/cjs/chart/radar/interface.js.map +1 -1
  75. package/cjs/chart/radar/radar.js.map +1 -1
  76. package/cjs/chart/range-area/index.js.map +1 -1
  77. package/cjs/chart/range-area/interface.js.map +1 -1
  78. package/cjs/chart/range-area/range-area.js.map +1 -1
  79. package/cjs/chart/range-column/index.js.map +1 -1
  80. package/cjs/chart/range-column/interface.js.map +1 -1
  81. package/cjs/chart/range-column/rangeColumn.js.map +1 -1
  82. package/cjs/chart/rose/index.js.map +1 -1
  83. package/cjs/chart/rose/interface.js.map +1 -1
  84. package/cjs/chart/rose/rose.js.map +1 -1
  85. package/cjs/chart/sankey/index.js.map +1 -1
  86. package/cjs/chart/sankey/interface.js.map +1 -1
  87. package/cjs/chart/sankey/sankey.js.map +1 -1
  88. package/cjs/chart/scatter/index.js.map +1 -1
  89. package/cjs/chart/scatter/interface.js.map +1 -1
  90. package/cjs/chart/scatter/scatter.js.map +1 -1
  91. package/cjs/chart/sequence/index.js.map +1 -1
  92. package/cjs/chart/sequence/interface.js.map +1 -1
  93. package/cjs/chart/sequence/sequence.js.map +1 -1
  94. package/cjs/chart/stack.js.map +1 -1
  95. package/cjs/chart/sunburst/index.js.map +1 -1
  96. package/cjs/chart/sunburst/interface.js.map +1 -1
  97. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  98. package/cjs/chart/treemap/index.js.map +1 -1
  99. package/cjs/chart/treemap/interface.js.map +1 -1
  100. package/cjs/chart/treemap/treemap.js.map +1 -1
  101. package/cjs/chart/waterfall/index.js.map +1 -1
  102. package/cjs/chart/waterfall/interface.js.map +1 -1
  103. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  104. package/cjs/chart/word-cloud/index.js.map +1 -1
  105. package/cjs/chart/word-cloud/interface.d.ts +5 -1
  106. package/cjs/chart/word-cloud/interface.js.map +1 -1
  107. package/cjs/chart/word-cloud/word-cloud.d.ts +3 -2
  108. package/cjs/chart/word-cloud/word-cloud.js +42 -15
  109. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  110. package/cjs/compile/compilable-base.js +1 -1
  111. package/cjs/compile/compilable-base.js.map +1 -1
  112. package/cjs/compile/compiler.d.ts +3 -2
  113. package/cjs/compile/compiler.js +12 -9
  114. package/cjs/compile/compiler.js.map +1 -1
  115. package/cjs/compile/data/compilable-data.d.ts +1 -1
  116. package/cjs/compile/data/compilable-data.js.map +1 -1
  117. package/cjs/compile/data/index.js.map +1 -1
  118. package/cjs/compile/data/interface.js.map +1 -1
  119. package/cjs/compile/grammar-item.js +1 -1
  120. package/cjs/compile/grammar-item.js.map +1 -1
  121. package/cjs/compile/interface/compilable-item.d.ts +1 -2
  122. package/cjs/compile/interface/compilable-item.js.map +1 -1
  123. package/cjs/compile/interface/compiler.d.ts +1 -5
  124. package/cjs/compile/interface/compiler.js.map +1 -1
  125. package/cjs/compile/interface/index.js.map +1 -1
  126. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  127. package/cjs/compile/mark/compilable-mark.js +1 -1
  128. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  129. package/cjs/compile/mark/index.js.map +1 -1
  130. package/cjs/compile/mark/interface.d.ts +1 -0
  131. package/cjs/compile/mark/interface.js.map +1 -1
  132. package/cjs/compile/mark/mark-data.js.map +1 -1
  133. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  134. package/cjs/compile/mark/util.js.map +1 -1
  135. package/cjs/compile/signal/compilable-signal.js.map +1 -1
  136. package/cjs/compile/signal/index.js.map +1 -1
  137. package/cjs/compile/signal/interface.js.map +1 -1
  138. package/cjs/compile/signal/signal-manager.js.map +1 -1
  139. package/cjs/compile/signal/state-manager.d.ts +1 -1
  140. package/cjs/compile/signal/state-manager.js.map +1 -1
  141. package/cjs/compile/util.js +1 -1
  142. package/cjs/compile/util.js.map +1 -1
  143. package/cjs/component/axis/base-axis.d.ts +0 -1
  144. package/cjs/component/axis/base-axis.js +2 -11
  145. package/cjs/component/axis/base-axis.js.map +1 -1
  146. package/cjs/component/axis/cartesian/axis.d.ts +11 -0
  147. package/cjs/component/axis/cartesian/axis.js +64 -16
  148. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  149. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  150. package/cjs/component/axis/cartesian/config.js.map +1 -1
  151. package/cjs/component/axis/cartesian/index.js.map +1 -1
  152. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -5
  153. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  154. package/cjs/component/axis/cartesian/interface/index.js.map +1 -1
  155. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -4
  156. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  157. package/cjs/component/axis/cartesian/interface/theme.d.ts +10 -13
  158. package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
  159. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  160. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  161. package/cjs/component/axis/cartesian/util/common.d.ts +4 -4
  162. package/cjs/component/axis/cartesian/util/common.js +12 -15
  163. package/cjs/component/axis/cartesian/util/common.js.map +1 -1
  164. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  165. package/cjs/component/axis/cartesian/util/time.js.map +1 -1
  166. package/cjs/component/axis/index.js.map +1 -1
  167. package/cjs/component/axis/interface.d.ts +10 -17
  168. package/cjs/component/axis/interface.js.map +1 -1
  169. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  170. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  171. package/cjs/component/axis/polar/axis.js.map +1 -1
  172. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  173. package/cjs/component/axis/polar/config.js.map +1 -1
  174. package/cjs/component/axis/polar/index.js.map +1 -1
  175. package/cjs/component/axis/polar/interface/common.d.ts +1 -4
  176. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  177. package/cjs/component/axis/polar/interface/index.js.map +1 -1
  178. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  179. package/cjs/component/axis/polar/interface/theme.d.ts +9 -12
  180. package/cjs/component/axis/polar/interface/theme.js.map +1 -1
  181. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  182. package/cjs/component/axis/utils.d.ts +5 -1
  183. package/cjs/component/axis/utils.js +20 -4
  184. package/cjs/component/axis/utils.js.map +1 -1
  185. package/cjs/component/base/base-component.js.map +1 -1
  186. package/cjs/component/base/index.js.map +1 -1
  187. package/cjs/component/base/util.js +3 -4
  188. package/cjs/component/base/util.js.map +1 -1
  189. package/cjs/component/brush/brush.d.ts +0 -1
  190. package/cjs/component/brush/brush.js +7 -10
  191. package/cjs/component/brush/brush.js.map +1 -1
  192. package/cjs/component/brush/index.js.map +1 -1
  193. package/cjs/component/brush/interface.d.ts +10 -8
  194. package/cjs/component/brush/interface.js.map +1 -1
  195. package/cjs/component/common/trigger/config.js.map +1 -1
  196. package/cjs/component/common/trigger/desktop.js.map +1 -1
  197. package/cjs/component/common/trigger/interface.js.map +1 -1
  198. package/cjs/component/common/trigger/mobile.js.map +1 -1
  199. package/cjs/component/crosshair/base.d.ts +0 -1
  200. package/cjs/component/crosshair/base.js +7 -15
  201. package/cjs/component/crosshair/base.js.map +1 -1
  202. package/cjs/component/crosshair/cartesian.js.map +1 -1
  203. package/cjs/component/crosshair/config.d.ts +0 -2
  204. package/cjs/component/crosshair/config.js +2 -4
  205. package/cjs/component/crosshair/config.js.map +1 -1
  206. package/cjs/component/crosshair/index.js.map +1 -1
  207. package/cjs/component/crosshair/interface/index.js.map +1 -1
  208. package/cjs/component/crosshair/interface/spec.d.ts +3 -3
  209. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  210. package/cjs/component/crosshair/interface/theme.d.ts +2 -4
  211. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  212. package/cjs/component/crosshair/polar.js.map +1 -1
  213. package/cjs/component/crosshair/util.d.ts +0 -4
  214. package/cjs/component/crosshair/util.js +3 -12
  215. package/cjs/component/crosshair/util.js.map +1 -1
  216. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  217. package/cjs/component/custom-mark/index.js.map +1 -1
  218. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
  219. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  220. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  221. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
  222. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  223. package/cjs/component/data-zoom/data-zoom/index.js.map +1 -1
  224. package/cjs/component/data-zoom/data-zoom/interface.d.ts +5 -1
  225. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  226. package/cjs/component/data-zoom/index.js.map +1 -1
  227. package/cjs/component/data-zoom/interface.js.map +1 -1
  228. package/cjs/component/data-zoom/scroll-bar/index.js.map +1 -1
  229. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +7 -1
  230. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  231. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  232. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  233. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  234. package/cjs/component/data-zoom/util.js.map +1 -1
  235. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  236. package/cjs/component/geo/interface.js.map +1 -1
  237. package/cjs/component/geo/projection.js.map +1 -1
  238. package/cjs/component/index.js +1 -1
  239. package/cjs/component/index.js.map +1 -1
  240. package/cjs/component/indicator/indicator.d.ts +0 -1
  241. package/cjs/component/indicator/indicator.js +3 -12
  242. package/cjs/component/indicator/indicator.js.map +1 -1
  243. package/cjs/component/indicator/interface.d.ts +1 -5
  244. package/cjs/component/indicator/interface.js.map +1 -1
  245. package/cjs/component/indicator/util.js +2 -2
  246. package/cjs/component/indicator/util.js.map +1 -1
  247. package/cjs/component/interface/common.js.map +1 -1
  248. package/cjs/component/interface/index.js.map +1 -1
  249. package/cjs/component/interface/tooltip-helper.js.map +1 -1
  250. package/cjs/component/interface/type.js.map +1 -1
  251. package/cjs/component/label/bar.d.ts +1 -3
  252. package/cjs/component/label/bar.js +2 -4
  253. package/cjs/component/label/bar.js.map +1 -1
  254. package/cjs/component/label/index.js.map +1 -1
  255. package/cjs/component/label/interface.d.ts +2 -2
  256. package/cjs/component/label/interface.js.map +1 -1
  257. package/cjs/component/label/label.d.ts +56 -0
  258. package/cjs/component/label/label.js +4 -2
  259. package/cjs/component/label/label.js.map +1 -1
  260. package/cjs/component/label/symbol.js.map +1 -1
  261. package/cjs/component/label/util.js +1 -7
  262. package/cjs/component/label/util.js.map +1 -1
  263. package/cjs/component/legend/base-legend.d.ts +0 -1
  264. package/cjs/component/legend/base-legend.js +2 -4
  265. package/cjs/component/legend/base-legend.js.map +1 -1
  266. package/cjs/component/legend/continuous/index.js.map +1 -1
  267. package/cjs/component/legend/continuous/interface.d.ts +1 -6
  268. package/cjs/component/legend/continuous/interface.js.map +1 -1
  269. package/cjs/component/legend/continuous/legend.js +1 -1
  270. package/cjs/component/legend/continuous/legend.js.map +1 -1
  271. package/cjs/component/legend/continuous/util.js.map +1 -1
  272. package/cjs/component/legend/discrete/index.js.map +1 -1
  273. package/cjs/component/legend/discrete/interface.d.ts +1 -5
  274. package/cjs/component/legend/discrete/interface.js.map +1 -1
  275. package/cjs/component/legend/discrete/legend.js +17 -16
  276. package/cjs/component/legend/discrete/legend.js.map +1 -1
  277. package/cjs/component/legend/discrete/util.js.map +1 -1
  278. package/cjs/component/legend/index.js.map +1 -1
  279. package/cjs/component/legend/interface.d.ts +1 -1
  280. package/cjs/component/legend/interface.js.map +1 -1
  281. package/cjs/component/legend/util.js.map +1 -1
  282. package/cjs/component/map-label/component.js.map +1 -1
  283. package/cjs/component/map-label/config.js.map +1 -1
  284. package/cjs/component/map-label/index.js.map +1 -1
  285. package/cjs/component/map-label/interface.d.ts +2 -2
  286. package/cjs/component/map-label/interface.js.map +1 -1
  287. package/cjs/component/map-label/layout.js.map +1 -1
  288. package/cjs/component/marker/base-marker.d.ts +0 -1
  289. package/cjs/component/marker/base-marker.js +0 -3
  290. package/cjs/component/marker/base-marker.js.map +1 -1
  291. package/cjs/component/marker/interface.js.map +1 -1
  292. package/cjs/component/marker/mark-area/interface/index.js.map +1 -1
  293. package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -1
  294. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  295. package/cjs/component/marker/mark-area/interface/theme.d.ts +2 -2
  296. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  297. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  298. package/cjs/component/marker/mark-line/interface/index.js.map +1 -1
  299. package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -1
  300. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  301. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  302. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  303. package/cjs/component/marker/mark-point/interface/index.js.map +1 -1
  304. package/cjs/component/marker/mark-point/interface/spec.d.ts +2 -1
  305. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  306. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  307. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  308. package/cjs/component/marker/utils.js.map +1 -1
  309. package/cjs/component/player/index.js.map +1 -1
  310. package/cjs/component/player/interface/index.js.map +1 -1
  311. package/cjs/component/player/interface/spec.js.map +1 -1
  312. package/cjs/component/player/interface/theme.js.map +1 -1
  313. package/cjs/component/player/player.d.ts +0 -1
  314. package/cjs/component/player/player.js +1 -4
  315. package/cjs/component/player/player.js.map +1 -1
  316. package/cjs/component/player/utils/index.js.map +1 -1
  317. package/cjs/component/player/utils/orient.js.map +1 -1
  318. package/cjs/component/player/utils/transform.js.map +1 -1
  319. package/cjs/component/title/index.js.map +1 -1
  320. package/cjs/component/title/interface/index.js.map +1 -1
  321. package/cjs/component/title/interface/spec.d.ts +0 -4
  322. package/cjs/component/title/interface/spec.js.map +1 -1
  323. package/cjs/component/title/interface/theme.d.ts +2 -2
  324. package/cjs/component/title/interface/theme.js.map +1 -1
  325. package/cjs/component/title/title.d.ts +0 -1
  326. package/cjs/component/title/title.js +3 -10
  327. package/cjs/component/title/title.js.map +1 -1
  328. package/cjs/component/title/utils.d.ts +0 -1
  329. package/cjs/component/title/utils.js +2 -9
  330. package/cjs/component/title/utils.js.map +1 -1
  331. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  332. package/cjs/component/tooltip/handler/base.js +11 -12
  333. package/cjs/component/tooltip/handler/base.js.map +1 -1
  334. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
  335. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -3
  336. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  337. package/cjs/component/tooltip/handler/canvas/index.js.map +1 -1
  338. package/cjs/component/tooltip/handler/constants.d.ts +4 -0
  339. package/cjs/component/tooltip/handler/constants.js +7 -2
  340. package/cjs/component/tooltip/handler/constants.js.map +1 -1
  341. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
  342. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +3 -2
  343. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  344. package/cjs/component/tooltip/handler/dom/index.js.map +1 -1
  345. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  346. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  347. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  348. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  349. package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
  350. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  351. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  352. package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  353. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  354. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  355. package/cjs/component/tooltip/handler/dom/utils/style.js +3 -3
  356. package/cjs/component/tooltip/handler/dom/utils/style.js.map +1 -1
  357. package/cjs/component/tooltip/handler/index.js.map +1 -1
  358. package/cjs/component/tooltip/handler/interface/cache.js.map +1 -1
  359. package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
  360. package/cjs/component/tooltip/handler/interface/style.js.map +1 -1
  361. package/cjs/component/tooltip/handler/utils/attribute.js +4 -5
  362. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  363. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  364. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  365. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  366. package/cjs/component/tooltip/handler/utils/index.js.map +1 -1
  367. package/cjs/component/tooltip/handler/utils/pattern.js.map +1 -1
  368. package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
  369. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  370. package/cjs/component/tooltip/handler/utils/style.js +11 -7
  371. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  372. package/cjs/component/tooltip/index.js.map +1 -1
  373. package/cjs/component/tooltip/interface/common.js.map +1 -1
  374. package/cjs/component/tooltip/interface/index.js.map +1 -1
  375. package/cjs/component/tooltip/interface/spec.d.ts +5 -6
  376. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  377. package/cjs/component/tooltip/interface/theme.d.ts +6 -0
  378. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  379. package/cjs/component/tooltip/processor/base.d.ts +2 -4
  380. package/cjs/component/tooltip/processor/base.js +5 -5
  381. package/cjs/component/tooltip/processor/base.js.map +1 -1
  382. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  383. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  384. package/cjs/component/tooltip/processor/index.js.map +1 -1
  385. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  386. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  387. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  388. package/cjs/component/tooltip/processor/util.js.map +1 -1
  389. package/cjs/component/tooltip/tooltip.js +7 -8
  390. package/cjs/component/tooltip/tooltip.js.map +1 -1
  391. package/cjs/component/tooltip/utils/common.js.map +1 -1
  392. package/cjs/component/tooltip/utils/index.js.map +1 -1
  393. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  394. package/cjs/constant/base.d.ts +1 -1
  395. package/cjs/constant/base.js +1 -1
  396. package/cjs/constant/base.js.map +1 -1
  397. package/cjs/constant/box-plot.js.map +1 -1
  398. package/cjs/constant/event.js.map +1 -1
  399. package/cjs/constant/funnel.js.map +1 -1
  400. package/cjs/constant/hierarchy.js.map +1 -1
  401. package/cjs/constant/index.js.map +1 -1
  402. package/cjs/constant/label.js +1 -2
  403. package/cjs/constant/label.js.map +1 -1
  404. package/cjs/constant/layout.js.map +1 -1
  405. package/cjs/constant/marker.js.map +1 -1
  406. package/cjs/constant/polar.js +2 -1
  407. package/cjs/constant/polar.js.map +1 -1
  408. package/cjs/constant/scatter.js.map +1 -1
  409. package/cjs/constant/scroll-bar.js.map +1 -1
  410. package/cjs/constant/sunburst.js.map +1 -1
  411. package/cjs/constant/waterfall.js.map +1 -1
  412. package/cjs/constant/word-cloud.js.map +1 -1
  413. package/cjs/core/factory.js.map +1 -1
  414. package/cjs/core/interface.js.map +1 -1
  415. package/cjs/core/vchart.d.ts +1 -0
  416. package/cjs/core/vchart.js +13 -8
  417. package/cjs/core/vchart.js.map +1 -1
  418. package/cjs/data/initialize.js.map +1 -1
  419. package/cjs/data/parser/array.js.map +1 -1
  420. package/cjs/data/parser/scale.js.map +1 -1
  421. package/cjs/data/register.js.map +1 -1
  422. package/cjs/data/transforms/add-property.d.ts +5 -5
  423. package/cjs/data/transforms/add-property.js +3 -3
  424. package/cjs/data/transforms/add-property.js.map +1 -1
  425. package/cjs/data/transforms/aggregation.js.map +1 -1
  426. package/cjs/data/transforms/box-plot.js.map +1 -1
  427. package/cjs/data/transforms/circle-packing.js.map +1 -1
  428. package/cjs/data/transforms/copy-data-view.js.map +1 -1
  429. package/cjs/data/transforms/data-key.d.ts +3 -3
  430. package/cjs/data/transforms/data-key.js.map +1 -1
  431. package/cjs/data/transforms/dimension-data.js.map +1 -1
  432. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  433. package/cjs/data/transforms/drill.js.map +1 -1
  434. package/cjs/data/transforms/flatten.js.map +1 -1
  435. package/cjs/data/transforms/funnel.js.map +1 -1
  436. package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  437. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  438. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  439. package/cjs/data/transforms/legend-data/continuous/index.js.map +1 -1
  440. package/cjs/data/transforms/legend-data/continuous/interface.js.map +1 -1
  441. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  442. package/cjs/data/transforms/legend-data/discrete/index.js.map +1 -1
  443. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  444. package/cjs/data/transforms/lookup.js.map +1 -1
  445. package/cjs/data/transforms/map.js.map +1 -1
  446. package/cjs/data/transforms/obj-flat.js.map +1 -1
  447. package/cjs/data/transforms/pie.js.map +1 -1
  448. package/cjs/data/transforms/regression.js.map +1 -1
  449. package/cjs/data/transforms/sankey-links.js.map +1 -1
  450. package/cjs/data/transforms/sankey-nodes.js.map +1 -1
  451. package/cjs/data/transforms/sankey.js.map +1 -1
  452. package/cjs/data/transforms/stack-split.js.map +1 -1
  453. package/cjs/data/transforms/sunburst.js.map +1 -1
  454. package/cjs/data/transforms/tick-data/config.js.map +1 -1
  455. package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
  456. package/cjs/data/transforms/tick-data/discrete/linear.js.map +1 -1
  457. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  458. package/cjs/data/transforms/tick-data/index.js.map +1 -1
  459. package/cjs/data/transforms/tick-data/interface.js.map +1 -1
  460. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  461. package/cjs/data/transforms/treemap.js.map +1 -1
  462. package/cjs/data/transforms/waterfall.js.map +1 -1
  463. package/cjs/event/bubble.js.map +1 -1
  464. package/cjs/event/event-dispatcher.js.map +1 -1
  465. package/cjs/event/event.js +1 -2
  466. package/cjs/event/event.js.map +1 -1
  467. package/cjs/event/events/dimension/base.js.map +1 -1
  468. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  469. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  470. package/cjs/event/events/dimension/index.js.map +1 -1
  471. package/cjs/event/events/dimension/interface.js.map +1 -1
  472. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  473. package/cjs/event/events/dimension/util/common.js.map +1 -1
  474. package/cjs/event/events/dimension/util/index.js.map +1 -1
  475. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  476. package/cjs/event/events/index.js.map +1 -1
  477. package/cjs/event/interface.js.map +1 -1
  478. package/cjs/index.d.ts +1 -1
  479. package/cjs/index.js +1 -1
  480. package/cjs/index.js.map +1 -1
  481. package/cjs/interaction/config.js.map +1 -1
  482. package/cjs/interaction/dimension-trigger.js.map +1 -1
  483. package/cjs/interaction/drill/drillable.js.map +1 -1
  484. package/cjs/interaction/drill/index.js.map +1 -1
  485. package/cjs/interaction/interaction.js.map +1 -1
  486. package/cjs/interaction/interface.js.map +1 -1
  487. package/cjs/interaction/trigger.js.map +1 -1
  488. package/cjs/interaction/zoom/index.js.map +1 -1
  489. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  490. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  491. package/cjs/layout/index.d.ts +13 -10
  492. package/cjs/layout/index.js.map +1 -1
  493. package/cjs/layout/interface.js.map +1 -1
  494. package/cjs/layout/label/arc-label.js.map +1 -1
  495. package/cjs/layout/layout3d/index.d.ts +23 -0
  496. package/cjs/layout/layout3d/index.js +131 -0
  497. package/cjs/layout/layout3d/index.js.map +1 -0
  498. package/cjs/mark/arc.js +1 -1
  499. package/cjs/mark/arc.js.map +1 -1
  500. package/cjs/mark/area.js +1 -1
  501. package/cjs/mark/area.js.map +1 -1
  502. package/cjs/mark/base/base-line.js.map +1 -1
  503. package/cjs/mark/base/base-mark.js.map +1 -1
  504. package/cjs/mark/base/index.js.map +1 -1
  505. package/cjs/mark/boxPlot.js +2 -2
  506. package/cjs/mark/boxPlot.js.map +1 -1
  507. package/cjs/mark/cell.js +1 -1
  508. package/cjs/mark/cell.js.map +1 -1
  509. package/cjs/mark/component.d.ts +1 -0
  510. package/cjs/mark/component.js +5 -3
  511. package/cjs/mark/component.js.map +1 -1
  512. package/cjs/mark/group.js +1 -1
  513. package/cjs/mark/group.js.map +1 -1
  514. package/cjs/mark/interface/common.js.map +1 -1
  515. package/cjs/mark/interface/index.js.map +1 -1
  516. package/cjs/mark/interface/type.js.map +1 -1
  517. package/cjs/mark/line.js +1 -1
  518. package/cjs/mark/line.js.map +1 -1
  519. package/cjs/mark/linkPath.js +1 -2
  520. package/cjs/mark/linkPath.js.map +1 -1
  521. package/cjs/mark/mark-set/index.js.map +1 -1
  522. package/cjs/mark/path.js +1 -1
  523. package/cjs/mark/path.js.map +1 -1
  524. package/cjs/mark/polygon.js +1 -1
  525. package/cjs/mark/polygon.js.map +1 -1
  526. package/cjs/mark/progress-arc.js +1 -1
  527. package/cjs/mark/progress-arc.js.map +1 -1
  528. package/cjs/mark/rect.js +1 -1
  529. package/cjs/mark/rect.js.map +1 -1
  530. package/cjs/mark/rule.js +1 -1
  531. package/cjs/mark/rule.js.map +1 -1
  532. package/cjs/mark/symbol.js +1 -1
  533. package/cjs/mark/symbol.js.map +1 -1
  534. package/cjs/mark/text.js +1 -1
  535. package/cjs/mark/text.js.map +1 -1
  536. package/cjs/mark/utils/common.js.map +1 -1
  537. package/cjs/mark/utils/index.js.map +1 -1
  538. package/cjs/model/base-model.d.ts +1 -1
  539. package/cjs/model/base-model.js +1 -1
  540. package/cjs/model/base-model.js.map +1 -1
  541. package/cjs/model/interface.d.ts +1 -0
  542. package/cjs/model/interface.js +1 -1
  543. package/cjs/model/interface.js.map +1 -1
  544. package/cjs/model/layout-item.js +1 -1
  545. package/cjs/model/layout-item.js.map +1 -1
  546. package/cjs/model/model-state-manager.js +2 -1
  547. package/cjs/model/model-state-manager.js.map +1 -1
  548. package/cjs/model/tooltip-helper.js +1 -1
  549. package/cjs/model/tooltip-helper.js.map +1 -1
  550. package/cjs/plugin/chart/interface.js.map +1 -1
  551. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +1 -1
  552. package/cjs/plugin/components/basic-plugin.js.map +1 -1
  553. package/cjs/plugin/components/index.js.map +1 -1
  554. package/cjs/plugin/components/interface.js.map +1 -1
  555. package/cjs/plugin/components/plugin-service.js.map +1 -1
  556. package/cjs/plugin/interface.js +1 -1
  557. package/cjs/plugin/interface.js.map +1 -1
  558. package/cjs/plugin/series/interface.js.map +1 -1
  559. package/cjs/region/interface.js +1 -1
  560. package/cjs/region/interface.js.map +1 -1
  561. package/cjs/region/region.js +1 -1
  562. package/cjs/region/region.js.map +1 -1
  563. package/cjs/scale/global-scale.js +1 -1
  564. package/cjs/scale/global-scale.js.map +1 -1
  565. package/cjs/scale/interface.js +1 -1
  566. package/cjs/scale/interface.js.map +1 -1
  567. package/cjs/series/area/animation.js.map +1 -1
  568. package/cjs/series/area/area.js +3 -1
  569. package/cjs/series/area/area.js.map +1 -1
  570. package/cjs/series/area/interface.js.map +1 -1
  571. package/cjs/series/bar/animation.js.map +1 -1
  572. package/cjs/series/bar/bar.js +6 -5
  573. package/cjs/series/bar/bar.js.map +1 -1
  574. package/cjs/series/bar/interface.d.ts +3 -0
  575. package/cjs/series/bar/interface.js.map +1 -1
  576. package/cjs/series/base/base-series.d.ts +2 -2
  577. package/cjs/series/base/base-series.js +7 -9
  578. package/cjs/series/base/base-series.js.map +1 -1
  579. package/cjs/series/base/group.js.map +1 -1
  580. package/cjs/series/base/series-data.js.map +1 -1
  581. package/cjs/series/base/tooltip-helper.js.map +1 -1
  582. package/cjs/series/box-plot/boxPlot.d.ts +1 -1
  583. package/cjs/series/box-plot/boxPlot.js +9 -10
  584. package/cjs/series/box-plot/boxPlot.js.map +1 -1
  585. package/cjs/series/box-plot/interface.js.map +1 -1
  586. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  587. package/cjs/series/cartesian/cartesian.d.ts +11 -0
  588. package/cjs/series/cartesian/cartesian.js +37 -2
  589. package/cjs/series/cartesian/cartesian.js.map +1 -1
  590. package/cjs/series/cartesian/interface.d.ts +1 -2
  591. package/cjs/series/cartesian/interface.js.map +1 -1
  592. package/cjs/series/circle-packing/animation.js.map +1 -1
  593. package/cjs/series/circle-packing/circle-packing.js +2 -2
  594. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  595. package/cjs/series/circle-packing/interface.js.map +1 -1
  596. package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
  597. package/cjs/series/dot/config.js.map +1 -1
  598. package/cjs/series/dot/dot.js +6 -8
  599. package/cjs/series/dot/dot.js.map +1 -1
  600. package/cjs/series/dot/interface.d.ts +0 -1
  601. package/cjs/series/dot/interface.js.map +1 -1
  602. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  603. package/cjs/series/funnel/funnel.d.ts +8 -0
  604. package/cjs/series/funnel/funnel.js +11 -2
  605. package/cjs/series/funnel/funnel.js.map +1 -1
  606. package/cjs/series/funnel/interface.js.map +1 -1
  607. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  608. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  609. package/cjs/series/gauge/gauge.js.map +1 -1
  610. package/cjs/series/gauge/index.js.map +1 -1
  611. package/cjs/series/gauge/interface.js.map +1 -1
  612. package/cjs/series/geo/geo.d.ts +1 -0
  613. package/cjs/series/geo/geo.js +3 -0
  614. package/cjs/series/geo/geo.js.map +1 -1
  615. package/cjs/series/geo/interface.js.map +1 -1
  616. package/cjs/series/heatmap/animation.js.map +1 -1
  617. package/cjs/series/heatmap/heatmap.js +4 -3
  618. package/cjs/series/heatmap/heatmap.js.map +1 -1
  619. package/cjs/series/heatmap/interface.js.map +1 -1
  620. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  621. package/cjs/series/interface/common.d.ts +1 -0
  622. package/cjs/series/interface/common.js.map +1 -1
  623. package/cjs/series/interface/index.js.map +1 -1
  624. package/cjs/series/interface/series.d.ts +7 -0
  625. package/cjs/series/interface/series.js.map +1 -1
  626. package/cjs/series/interface/theme.js.map +1 -1
  627. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  628. package/cjs/series/interface/type.js.map +1 -1
  629. package/cjs/series/line/animation.js.map +1 -1
  630. package/cjs/series/line/interface.js.map +1 -1
  631. package/cjs/series/line/line.js.map +1 -1
  632. package/cjs/series/link/interface.d.ts +2 -2
  633. package/cjs/series/link/interface.js.map +1 -1
  634. package/cjs/series/link/link.js +3 -3
  635. package/cjs/series/link/link.js.map +1 -1
  636. package/cjs/series/link/tooltip-helper.js.map +1 -1
  637. package/cjs/series/map/geo-source.d.ts +1 -0
  638. package/cjs/series/map/geo-source.js +7 -3
  639. package/cjs/series/map/geo-source.js.map +1 -1
  640. package/cjs/series/map/interface.js.map +1 -1
  641. package/cjs/series/map/map.js +1 -0
  642. package/cjs/series/map/map.js.map +1 -1
  643. package/cjs/series/map/tooltip-helper.js.map +1 -1
  644. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  645. package/cjs/series/mixin/line-mixin.js +11 -8
  646. package/cjs/series/mixin/line-mixin.js.map +1 -1
  647. package/cjs/series/pie/animation/animation.js.map +1 -1
  648. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  649. package/cjs/series/pie/interface.d.ts +1 -0
  650. package/cjs/series/pie/interface.js.map +1 -1
  651. package/cjs/series/pie/pie.d.ts +13 -5
  652. package/cjs/series/pie/pie.js +34 -25
  653. package/cjs/series/pie/pie.js.map +1 -1
  654. package/cjs/series/polar/animation.js.map +1 -1
  655. package/cjs/series/polar/interface.d.ts +0 -1
  656. package/cjs/series/polar/interface.js.map +1 -1
  657. package/cjs/series/polar/polar.d.ts +1 -0
  658. package/cjs/series/polar/polar.js +3 -0
  659. package/cjs/series/polar/polar.js.map +1 -1
  660. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  661. package/cjs/series/polar/progress-like/index.js.map +1 -1
  662. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  663. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  664. package/cjs/series/polar/rose-like/index.js.map +1 -1
  665. package/cjs/series/polar/rose-like/interface.js.map +1 -1
  666. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  667. package/cjs/series/progress/circular/circular.js.map +1 -1
  668. package/cjs/series/progress/circular/index.js.map +1 -1
  669. package/cjs/series/progress/circular/interface.js.map +1 -1
  670. package/cjs/series/progress/interface.js.map +1 -1
  671. package/cjs/series/progress/linear/animation.js.map +1 -1
  672. package/cjs/series/progress/linear/index.js.map +1 -1
  673. package/cjs/series/progress/linear/interface.js.map +1 -1
  674. package/cjs/series/progress/linear/linear.js.map +1 -1
  675. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  676. package/cjs/series/radar/animation.js.map +1 -1
  677. package/cjs/series/radar/interface.d.ts +0 -1
  678. package/cjs/series/radar/interface.js.map +1 -1
  679. package/cjs/series/radar/radar.js.map +1 -1
  680. package/cjs/series/range-area/interface.js.map +1 -1
  681. package/cjs/series/range-area/range-area.js.map +1 -1
  682. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  683. package/cjs/series/range-column/animation.js.map +1 -1
  684. package/cjs/series/range-column/interface.d.ts +3 -3
  685. package/cjs/series/range-column/interface.js.map +1 -1
  686. package/cjs/series/range-column/rangeColumn.js +14 -12
  687. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  688. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  689. package/cjs/series/rose/animation.js.map +1 -1
  690. package/cjs/series/rose/interface.js.map +1 -1
  691. package/cjs/series/rose/rose.js +1 -0
  692. package/cjs/series/rose/rose.js.map +1 -1
  693. package/cjs/series/sankey/animation.js.map +1 -1
  694. package/cjs/series/sankey/interface.js.map +1 -1
  695. package/cjs/series/sankey/sankey.js +4 -4
  696. package/cjs/series/sankey/sankey.js.map +1 -1
  697. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  698. package/cjs/series/scatter/animation.js.map +1 -1
  699. package/cjs/series/scatter/interface.js.map +1 -1
  700. package/cjs/series/scatter/scatter.js +7 -4
  701. package/cjs/series/scatter/scatter.js.map +1 -1
  702. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  703. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  704. package/cjs/series/sunburst/animation/index.js.map +1 -1
  705. package/cjs/series/sunburst/animation/interface.js.map +1 -1
  706. package/cjs/series/sunburst/animation/preset.js.map +1 -1
  707. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  708. package/cjs/series/sunburst/interface.js.map +1 -1
  709. package/cjs/series/sunburst/sunburst.js +2 -2
  710. package/cjs/series/sunburst/sunburst.js.map +1 -1
  711. package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
  712. package/cjs/series/treemap/animation.js.map +1 -1
  713. package/cjs/series/treemap/config.js.map +1 -1
  714. package/cjs/series/treemap/interface.js.map +1 -1
  715. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  716. package/cjs/series/treemap/treemap.js +2 -2
  717. package/cjs/series/treemap/treemap.js.map +1 -1
  718. package/cjs/series/util/label-mark.js.map +1 -1
  719. package/cjs/series/util/utils.js.map +1 -1
  720. package/cjs/series/waterfall/animation.js.map +1 -1
  721. package/cjs/series/waterfall/interface.js.map +1 -1
  722. package/cjs/series/waterfall/waterfall.js.map +1 -1
  723. package/cjs/series/word-cloud/animation.js.map +1 -1
  724. package/cjs/series/word-cloud/config.js.map +1 -1
  725. package/cjs/series/word-cloud/interface.js.map +1 -1
  726. package/cjs/series/word-cloud/word-cloud.d.ts +10 -3
  727. package/cjs/series/word-cloud/word-cloud.js +109 -26
  728. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  729. package/cjs/theme/buildin-theme/config.js +2 -0
  730. package/cjs/theme/buildin-theme/config.js.map +1 -1
  731. package/cjs/theme/buildin-theme/dark.js +4 -462
  732. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  733. package/cjs/theme/buildin-theme/index.js.map +1 -1
  734. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  735. package/cjs/theme/buildin-theme/light/component/brush.js +12 -8
  736. package/cjs/theme/buildin-theme/light/component/brush.js.map +1 -1
  737. package/cjs/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
  738. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js +14 -84
  739. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
  740. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
  741. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +1 -1
  742. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
  743. package/cjs/theme/buildin-theme/light/component/common-axis.js +74 -0
  744. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +1 -0
  745. package/cjs/theme/buildin-theme/light/component/crosshair.js +2 -9
  746. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  747. package/cjs/theme/buildin-theme/light/component/data-zoom.js +10 -10
  748. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  749. package/cjs/theme/buildin-theme/light/component/discrete-legend.js +3 -6
  750. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
  751. package/cjs/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  752. package/cjs/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
  753. package/cjs/theme/buildin-theme/light/component/indicator.js.map +1 -0
  754. package/cjs/theme/buildin-theme/light/component/mark-area.js.map +1 -1
  755. package/cjs/theme/buildin-theme/light/component/mark-line.js.map +1 -1
  756. package/cjs/theme/buildin-theme/light/component/mark-point.js +1 -3
  757. package/cjs/theme/buildin-theme/light/component/mark-point.js.map +1 -1
  758. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  759. package/cjs/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
  760. package/cjs/theme/buildin-theme/light/component/polar-axis.js +11 -70
  761. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
  762. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +1 -1
  763. package/cjs/theme/buildin-theme/light/component/title.d.ts +2 -0
  764. package/cjs/theme/buildin-theme/light/component/title.js +13 -0
  765. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -0
  766. package/cjs/theme/buildin-theme/light/component/tooltip.js +6 -8
  767. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  768. package/cjs/theme/buildin-theme/light/index.js +10 -4
  769. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  770. package/cjs/theme/buildin-theme/light/series/area.js +5 -4
  771. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  772. package/cjs/theme/buildin-theme/light/series/bar.js +0 -3
  773. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  774. package/cjs/theme/buildin-theme/light/series/bar3d.js +0 -3
  775. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  776. package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
  777. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  778. package/cjs/theme/buildin-theme/light/series/dot.js +11 -3
  779. package/cjs/theme/buildin-theme/light/series/dot.js.map +1 -1
  780. package/cjs/theme/buildin-theme/light/series/funnel.js +0 -3
  781. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  782. package/cjs/theme/buildin-theme/light/series/funnel3d.js +0 -3
  783. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  784. package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
  785. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  786. package/cjs/theme/buildin-theme/light/series/heatmap.js +2 -3
  787. package/cjs/theme/buildin-theme/light/series/heatmap.js.map +1 -1
  788. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  789. package/cjs/theme/buildin-theme/light/series/line.js +5 -4
  790. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  791. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  792. package/cjs/theme/buildin-theme/light/series/link.js +5 -3
  793. package/cjs/theme/buildin-theme/light/series/link.js.map +1 -1
  794. package/cjs/theme/buildin-theme/light/series/map.js +0 -1
  795. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  796. package/cjs/theme/buildin-theme/light/series/pie.js +0 -2
  797. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  798. package/cjs/theme/buildin-theme/light/series/pie3d.js +0 -2
  799. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  800. package/cjs/theme/buildin-theme/light/series/radar.js +5 -4
  801. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  802. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +0 -3
  803. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  804. package/cjs/theme/buildin-theme/light/series/scatter.js +0 -3
  805. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  806. package/cjs/theme/buildin-theme/light/series/sunburst.js.map +1 -1
  807. package/cjs/theme/buildin-theme/light/series/treemap.js +0 -4
  808. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  809. package/cjs/theme/buildin-theme/light/series/waterfall.js +0 -4
  810. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  811. package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
  812. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  813. package/cjs/theme/color-scheme/interface.d.ts +1 -1
  814. package/cjs/theme/color-scheme/interface.js.map +1 -1
  815. package/cjs/theme/color-scheme/util.js.map +1 -1
  816. package/cjs/theme/index.js.map +1 -1
  817. package/cjs/theme/interface.d.ts +13 -5
  818. package/cjs/theme/interface.js.map +1 -1
  819. package/cjs/theme/theme-manager.js.map +1 -1
  820. package/cjs/typings/common.js.map +1 -1
  821. package/cjs/typings/coordinate.js.map +1 -1
  822. package/cjs/typings/cursor.js.map +1 -1
  823. package/cjs/typings/data.js.map +1 -1
  824. package/cjs/typings/geo.js.map +1 -1
  825. package/cjs/typings/index.js.map +1 -1
  826. package/cjs/typings/interpolate.js.map +1 -1
  827. package/cjs/typings/line-stroke.js.map +1 -1
  828. package/cjs/typings/params.js.map +1 -1
  829. package/cjs/typings/scale.js.map +1 -1
  830. package/cjs/typings/shape.js.map +1 -1
  831. package/cjs/typings/space.d.ts +1 -1
  832. package/cjs/typings/space.js.map +1 -1
  833. package/cjs/typings/spec/chart.js.map +1 -1
  834. package/cjs/typings/spec/common.d.ts +5 -5
  835. package/cjs/typings/spec/common.js.map +1 -1
  836. package/cjs/typings/spec/index.js.map +1 -1
  837. package/cjs/typings/tooltip/common.js.map +1 -1
  838. package/cjs/typings/tooltip/handler.js.map +1 -1
  839. package/cjs/typings/tooltip/index.js.map +1 -1
  840. package/cjs/typings/tooltip/line.js.map +1 -1
  841. package/cjs/typings/tooltip/position.js.map +1 -1
  842. package/cjs/typings/tooltip/shape.js.map +1 -1
  843. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  844. package/cjs/typings/visual.d.ts +21 -3
  845. package/cjs/typings/visual.js.map +1 -1
  846. package/cjs/util/array.js.map +1 -1
  847. package/cjs/util/color.js.map +1 -1
  848. package/cjs/util/data.js +3 -2
  849. package/cjs/util/data.js.map +1 -1
  850. package/cjs/util/debug.js.map +1 -1
  851. package/cjs/util/env.js.map +1 -1
  852. package/cjs/util/hierarchy.js.map +1 -1
  853. package/cjs/util/id.js +4 -4
  854. package/cjs/util/id.js.map +1 -1
  855. package/cjs/util/image.js.map +1 -1
  856. package/cjs/util/index.js.map +1 -1
  857. package/cjs/util/math.js.map +1 -1
  858. package/cjs/util/model.js.map +1 -1
  859. package/cjs/util/object.js.map +1 -1
  860. package/cjs/util/scale.js.map +1 -1
  861. package/cjs/util/space.js.map +1 -1
  862. package/cjs/util/spec.js.map +1 -1
  863. package/cjs/util/style.js +1 -3
  864. package/cjs/util/style.js.map +1 -1
  865. package/cjs/util/text.js.map +1 -1
  866. package/cjs/util/type.js.map +1 -1
  867. package/cjs/vchart-all.js +2 -2
  868. package/cjs/vchart-all.js.map +1 -1
  869. package/esm/animation/animate-manager.js.map +1 -1
  870. package/esm/animation/config.js.map +1 -1
  871. package/esm/animation/interface.js +2 -1
  872. package/esm/animation/interface.js.map +1 -1
  873. package/esm/animation/spec.d.ts +2 -2
  874. package/esm/animation/spec.js.map +1 -1
  875. package/esm/animation/utils.d.ts +4 -3
  876. package/esm/animation/utils.js +4 -0
  877. package/esm/animation/utils.js.map +1 -1
  878. package/esm/chart/area/area.js.map +1 -1
  879. package/esm/chart/area/index.js.map +1 -1
  880. package/esm/chart/area/interface.js.map +1 -1
  881. package/esm/chart/bar/bar.js.map +1 -1
  882. package/esm/chart/bar/index.js.map +1 -1
  883. package/esm/chart/bar/interface.js.map +1 -1
  884. package/esm/chart/base-chart.js +3 -1
  885. package/esm/chart/base-chart.js.map +1 -1
  886. package/esm/chart/boxplot/boxPlot.js.map +1 -1
  887. package/esm/chart/boxplot/index.js.map +1 -1
  888. package/esm/chart/boxplot/interface.js.map +1 -1
  889. package/esm/chart/cartesian/cartesian.js +7 -2
  890. package/esm/chart/cartesian/cartesian.js.map +1 -1
  891. package/esm/chart/cartesian/interface.js.map +1 -1
  892. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  893. package/esm/chart/circle-packing/index.js.map +1 -1
  894. package/esm/chart/circle-packing/interface.js.map +1 -1
  895. package/esm/chart/common/common.js.map +1 -1
  896. package/esm/chart/common/index.js.map +1 -1
  897. package/esm/chart/common/interface.js.map +1 -1
  898. package/esm/chart/funnel/funnel.js.map +1 -1
  899. package/esm/chart/funnel/index.js.map +1 -1
  900. package/esm/chart/funnel/interface.js.map +1 -1
  901. package/esm/chart/gauge/gauge.js.map +1 -1
  902. package/esm/chart/gauge/index.js.map +1 -1
  903. package/esm/chart/gauge/interface.js.map +1 -1
  904. package/esm/chart/heatmap/heatmap.js +4 -3
  905. package/esm/chart/heatmap/heatmap.js.map +1 -1
  906. package/esm/chart/heatmap/index.js.map +1 -1
  907. package/esm/chart/heatmap/interface.js.map +1 -1
  908. package/esm/chart/histogram/histogram.js.map +1 -1
  909. package/esm/chart/histogram/index.js.map +1 -1
  910. package/esm/chart/histogram/interface.js.map +1 -1
  911. package/esm/chart/index.js.map +1 -1
  912. package/esm/chart/interface/chart.js.map +1 -1
  913. package/esm/chart/interface/common.js.map +1 -1
  914. package/esm/chart/interface/index.js.map +1 -1
  915. package/esm/chart/interface/type.js.map +1 -1
  916. package/esm/chart/line/index.js.map +1 -1
  917. package/esm/chart/line/interface.js.map +1 -1
  918. package/esm/chart/line/line.js.map +1 -1
  919. package/esm/chart/map/index.js.map +1 -1
  920. package/esm/chart/map/interface.js.map +1 -1
  921. package/esm/chart/map/map.js.map +1 -1
  922. package/esm/chart/pie/index.js.map +1 -1
  923. package/esm/chart/pie/interface.js.map +1 -1
  924. package/esm/chart/pie/pie.d.ts +1 -0
  925. package/esm/chart/pie/pie.js +5 -0
  926. package/esm/chart/pie/pie.js.map +1 -1
  927. package/esm/chart/polar/interface.js.map +1 -1
  928. package/esm/chart/polar/polar.js.map +1 -1
  929. package/esm/chart/polar/progress-like.js.map +1 -1
  930. package/esm/chart/polar/rose-like.js.map +1 -1
  931. package/esm/chart/progress/circular/circular.js.map +1 -1
  932. package/esm/chart/progress/circular/index.js.map +1 -1
  933. package/esm/chart/progress/circular/interface.js.map +1 -1
  934. package/esm/chart/progress/interface.js.map +1 -1
  935. package/esm/chart/progress/linear/index.js.map +1 -1
  936. package/esm/chart/progress/linear/interface.js.map +1 -1
  937. package/esm/chart/progress/linear/linear.js.map +1 -1
  938. package/esm/chart/radar/index.js.map +1 -1
  939. package/esm/chart/radar/interface.js.map +1 -1
  940. package/esm/chart/radar/radar.js.map +1 -1
  941. package/esm/chart/range-area/index.js.map +1 -1
  942. package/esm/chart/range-area/interface.js.map +1 -1
  943. package/esm/chart/range-area/range-area.js.map +1 -1
  944. package/esm/chart/range-column/index.js.map +1 -1
  945. package/esm/chart/range-column/interface.js.map +1 -1
  946. package/esm/chart/range-column/rangeColumn.js.map +1 -1
  947. package/esm/chart/rose/index.js.map +1 -1
  948. package/esm/chart/rose/interface.js.map +1 -1
  949. package/esm/chart/rose/rose.js.map +1 -1
  950. package/esm/chart/sankey/index.js.map +1 -1
  951. package/esm/chart/sankey/interface.js.map +1 -1
  952. package/esm/chart/sankey/sankey.js.map +1 -1
  953. package/esm/chart/scatter/index.js.map +1 -1
  954. package/esm/chart/scatter/interface.js.map +1 -1
  955. package/esm/chart/scatter/scatter.js.map +1 -1
  956. package/esm/chart/sequence/index.js.map +1 -1
  957. package/esm/chart/sequence/interface.js.map +1 -1
  958. package/esm/chart/sequence/sequence.js.map +1 -1
  959. package/esm/chart/stack.js.map +1 -1
  960. package/esm/chart/sunburst/index.js.map +1 -1
  961. package/esm/chart/sunburst/interface.js.map +1 -1
  962. package/esm/chart/sunburst/sunburst.js.map +1 -1
  963. package/esm/chart/treemap/index.js.map +1 -1
  964. package/esm/chart/treemap/interface.js.map +1 -1
  965. package/esm/chart/treemap/treemap.js.map +1 -1
  966. package/esm/chart/waterfall/index.js.map +1 -1
  967. package/esm/chart/waterfall/interface.js.map +1 -1
  968. package/esm/chart/waterfall/waterfall.js.map +1 -1
  969. package/esm/chart/word-cloud/index.js.map +1 -1
  970. package/esm/chart/word-cloud/interface.d.ts +5 -1
  971. package/esm/chart/word-cloud/interface.js.map +1 -1
  972. package/esm/chart/word-cloud/word-cloud.d.ts +3 -2
  973. package/esm/chart/word-cloud/word-cloud.js +42 -15
  974. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  975. package/esm/compile/compilable-base.js +1 -1
  976. package/esm/compile/compilable-base.js.map +1 -1
  977. package/esm/compile/compiler.d.ts +3 -2
  978. package/esm/compile/compiler.js +8 -5
  979. package/esm/compile/compiler.js.map +1 -1
  980. package/esm/compile/data/compilable-data.d.ts +1 -1
  981. package/esm/compile/data/compilable-data.js.map +1 -1
  982. package/esm/compile/data/index.js.map +1 -1
  983. package/esm/compile/data/interface.js.map +1 -1
  984. package/esm/compile/grammar-item.js +1 -1
  985. package/esm/compile/grammar-item.js.map +1 -1
  986. package/esm/compile/interface/compilable-item.d.ts +1 -2
  987. package/esm/compile/interface/compilable-item.js.map +1 -1
  988. package/esm/compile/interface/compiler.d.ts +1 -5
  989. package/esm/compile/interface/compiler.js.map +1 -1
  990. package/esm/compile/interface/index.js.map +1 -1
  991. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  992. package/esm/compile/mark/compilable-mark.js +1 -1
  993. package/esm/compile/mark/compilable-mark.js.map +1 -1
  994. package/esm/compile/mark/index.js.map +1 -1
  995. package/esm/compile/mark/interface.d.ts +1 -0
  996. package/esm/compile/mark/interface.js.map +1 -1
  997. package/esm/compile/mark/mark-data.js.map +1 -1
  998. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  999. package/esm/compile/mark/util.js.map +1 -1
  1000. package/esm/compile/signal/compilable-signal.js.map +1 -1
  1001. package/esm/compile/signal/index.js.map +1 -1
  1002. package/esm/compile/signal/interface.js.map +1 -1
  1003. package/esm/compile/signal/signal-manager.js.map +1 -1
  1004. package/esm/compile/signal/state-manager.d.ts +1 -1
  1005. package/esm/compile/signal/state-manager.js.map +1 -1
  1006. package/esm/compile/util.js +1 -1
  1007. package/esm/compile/util.js.map +1 -1
  1008. package/esm/component/axis/base-axis.d.ts +0 -1
  1009. package/esm/component/axis/base-axis.js +3 -10
  1010. package/esm/component/axis/base-axis.js.map +1 -1
  1011. package/esm/component/axis/cartesian/axis.d.ts +11 -0
  1012. package/esm/component/axis/cartesian/axis.js +59 -15
  1013. package/esm/component/axis/cartesian/axis.js.map +1 -1
  1014. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  1015. package/esm/component/axis/cartesian/config.js.map +1 -1
  1016. package/esm/component/axis/cartesian/index.js.map +1 -1
  1017. package/esm/component/axis/cartesian/interface/common.d.ts +1 -5
  1018. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  1019. package/esm/component/axis/cartesian/interface/index.js.map +1 -1
  1020. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -4
  1021. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  1022. package/esm/component/axis/cartesian/interface/theme.d.ts +10 -13
  1023. package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
  1024. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  1025. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  1026. package/esm/component/axis/cartesian/util/common.d.ts +4 -4
  1027. package/esm/component/axis/cartesian/util/common.js +10 -11
  1028. package/esm/component/axis/cartesian/util/common.js.map +1 -1
  1029. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  1030. package/esm/component/axis/cartesian/util/time.js.map +1 -1
  1031. package/esm/component/axis/index.js.map +1 -1
  1032. package/esm/component/axis/interface.d.ts +10 -17
  1033. package/esm/component/axis/interface.js.map +1 -1
  1034. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  1035. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  1036. package/esm/component/axis/polar/axis.js.map +1 -1
  1037. package/esm/component/axis/polar/band-axis.js.map +1 -1
  1038. package/esm/component/axis/polar/config.js.map +1 -1
  1039. package/esm/component/axis/polar/index.js.map +1 -1
  1040. package/esm/component/axis/polar/interface/common.d.ts +1 -4
  1041. package/esm/component/axis/polar/interface/common.js.map +1 -1
  1042. package/esm/component/axis/polar/interface/index.js.map +1 -1
  1043. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  1044. package/esm/component/axis/polar/interface/theme.d.ts +9 -12
  1045. package/esm/component/axis/polar/interface/theme.js.map +1 -1
  1046. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  1047. package/esm/component/axis/utils.d.ts +5 -1
  1048. package/esm/component/axis/utils.js +17 -4
  1049. package/esm/component/axis/utils.js.map +1 -1
  1050. package/esm/component/base/base-component.js.map +1 -1
  1051. package/esm/component/base/index.js.map +1 -1
  1052. package/esm/component/base/util.js +5 -4
  1053. package/esm/component/base/util.js.map +1 -1
  1054. package/esm/component/brush/brush.d.ts +0 -1
  1055. package/esm/component/brush/brush.js +7 -12
  1056. package/esm/component/brush/brush.js.map +1 -1
  1057. package/esm/component/brush/index.js.map +1 -1
  1058. package/esm/component/brush/interface.d.ts +10 -8
  1059. package/esm/component/brush/interface.js.map +1 -1
  1060. package/esm/component/common/trigger/config.js.map +1 -1
  1061. package/esm/component/common/trigger/desktop.js.map +1 -1
  1062. package/esm/component/common/trigger/interface.js.map +1 -1
  1063. package/esm/component/common/trigger/mobile.js.map +1 -1
  1064. package/esm/component/crosshair/base.d.ts +0 -1
  1065. package/esm/component/crosshair/base.js +9 -17
  1066. package/esm/component/crosshair/base.js.map +1 -1
  1067. package/esm/component/crosshair/cartesian.js.map +1 -1
  1068. package/esm/component/crosshair/config.d.ts +0 -2
  1069. package/esm/component/crosshair/config.js +0 -4
  1070. package/esm/component/crosshair/config.js.map +1 -1
  1071. package/esm/component/crosshair/index.js.map +1 -1
  1072. package/esm/component/crosshair/interface/index.js.map +1 -1
  1073. package/esm/component/crosshair/interface/spec.d.ts +3 -3
  1074. package/esm/component/crosshair/interface/spec.js.map +1 -1
  1075. package/esm/component/crosshair/interface/theme.d.ts +2 -4
  1076. package/esm/component/crosshair/interface/theme.js.map +1 -1
  1077. package/esm/component/crosshair/polar.js.map +1 -1
  1078. package/esm/component/crosshair/util.d.ts +0 -4
  1079. package/esm/component/crosshair/util.js +0 -8
  1080. package/esm/component/crosshair/util.js.map +1 -1
  1081. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  1082. package/esm/component/custom-mark/index.js.map +1 -1
  1083. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
  1084. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  1085. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  1086. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
  1087. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  1088. package/esm/component/data-zoom/data-zoom/index.js.map +1 -1
  1089. package/esm/component/data-zoom/data-zoom/interface.d.ts +5 -1
  1090. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  1091. package/esm/component/data-zoom/index.js.map +1 -1
  1092. package/esm/component/data-zoom/interface.js.map +1 -1
  1093. package/esm/component/data-zoom/scroll-bar/index.js.map +1 -1
  1094. package/esm/component/data-zoom/scroll-bar/interface.d.ts +7 -1
  1095. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  1096. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  1097. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  1098. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  1099. package/esm/component/data-zoom/util.js.map +1 -1
  1100. package/esm/component/geo/geo-coordinate.js.map +1 -1
  1101. package/esm/component/geo/interface.js.map +1 -1
  1102. package/esm/component/geo/projection.js.map +1 -1
  1103. package/esm/component/index.js +1 -1
  1104. package/esm/component/index.js.map +1 -1
  1105. package/esm/component/indicator/indicator.d.ts +0 -1
  1106. package/esm/component/indicator/indicator.js +2 -13
  1107. package/esm/component/indicator/indicator.js.map +1 -1
  1108. package/esm/component/indicator/interface.d.ts +1 -5
  1109. package/esm/component/indicator/interface.js.map +1 -1
  1110. package/esm/component/indicator/util.js +3 -1
  1111. package/esm/component/indicator/util.js.map +1 -1
  1112. package/esm/component/interface/common.js.map +1 -1
  1113. package/esm/component/interface/index.js.map +1 -1
  1114. package/esm/component/interface/tooltip-helper.js.map +1 -1
  1115. package/esm/component/interface/type.js.map +1 -1
  1116. package/esm/component/label/bar.d.ts +1 -3
  1117. package/esm/component/label/bar.js +2 -4
  1118. package/esm/component/label/bar.js.map +1 -1
  1119. package/esm/component/label/index.js.map +1 -1
  1120. package/esm/component/label/interface.d.ts +2 -2
  1121. package/esm/component/label/interface.js.map +1 -1
  1122. package/esm/component/label/label.d.ts +56 -0
  1123. package/esm/component/label/label.js +4 -2
  1124. package/esm/component/label/label.js.map +1 -1
  1125. package/esm/component/label/symbol.js.map +1 -1
  1126. package/esm/component/label/util.js +1 -7
  1127. package/esm/component/label/util.js.map +1 -1
  1128. package/esm/component/legend/base-legend.d.ts +0 -1
  1129. package/esm/component/legend/base-legend.js +2 -4
  1130. package/esm/component/legend/base-legend.js.map +1 -1
  1131. package/esm/component/legend/continuous/index.js.map +1 -1
  1132. package/esm/component/legend/continuous/interface.d.ts +1 -6
  1133. package/esm/component/legend/continuous/interface.js.map +1 -1
  1134. package/esm/component/legend/continuous/legend.js +1 -1
  1135. package/esm/component/legend/continuous/legend.js.map +1 -1
  1136. package/esm/component/legend/continuous/util.js.map +1 -1
  1137. package/esm/component/legend/discrete/index.js.map +1 -1
  1138. package/esm/component/legend/discrete/interface.d.ts +1 -5
  1139. package/esm/component/legend/discrete/interface.js.map +1 -1
  1140. package/esm/component/legend/discrete/legend.js +17 -16
  1141. package/esm/component/legend/discrete/legend.js.map +1 -1
  1142. package/esm/component/legend/discrete/util.js.map +1 -1
  1143. package/esm/component/legend/index.js.map +1 -1
  1144. package/esm/component/legend/interface.d.ts +1 -1
  1145. package/esm/component/legend/interface.js.map +1 -1
  1146. package/esm/component/legend/util.js.map +1 -1
  1147. package/esm/component/map-label/component.js.map +1 -1
  1148. package/esm/component/map-label/config.js.map +1 -1
  1149. package/esm/component/map-label/index.js.map +1 -1
  1150. package/esm/component/map-label/interface.d.ts +2 -2
  1151. package/esm/component/map-label/interface.js.map +1 -1
  1152. package/esm/component/map-label/layout.js.map +1 -1
  1153. package/esm/component/marker/base-marker.d.ts +0 -1
  1154. package/esm/component/marker/base-marker.js +1 -4
  1155. package/esm/component/marker/base-marker.js.map +1 -1
  1156. package/esm/component/marker/interface.js.map +1 -1
  1157. package/esm/component/marker/mark-area/interface/index.js.map +1 -1
  1158. package/esm/component/marker/mark-area/interface/spec.d.ts +2 -1
  1159. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  1160. package/esm/component/marker/mark-area/interface/theme.d.ts +2 -2
  1161. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  1162. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  1163. package/esm/component/marker/mark-line/interface/index.js.map +1 -1
  1164. package/esm/component/marker/mark-line/interface/spec.d.ts +2 -1
  1165. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  1166. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  1167. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  1168. package/esm/component/marker/mark-point/interface/index.js.map +1 -1
  1169. package/esm/component/marker/mark-point/interface/spec.d.ts +2 -1
  1170. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  1171. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  1172. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  1173. package/esm/component/marker/utils.js.map +1 -1
  1174. package/esm/component/player/index.js.map +1 -1
  1175. package/esm/component/player/interface/index.js.map +1 -1
  1176. package/esm/component/player/interface/spec.js.map +1 -1
  1177. package/esm/component/player/interface/theme.js.map +1 -1
  1178. package/esm/component/player/player.d.ts +0 -1
  1179. package/esm/component/player/player.js +2 -5
  1180. package/esm/component/player/player.js.map +1 -1
  1181. package/esm/component/player/utils/index.js.map +1 -1
  1182. package/esm/component/player/utils/orient.js.map +1 -1
  1183. package/esm/component/player/utils/transform.js.map +1 -1
  1184. package/esm/component/title/index.js.map +1 -1
  1185. package/esm/component/title/interface/index.js.map +1 -1
  1186. package/esm/component/title/interface/spec.d.ts +0 -4
  1187. package/esm/component/title/interface/spec.js.map +1 -1
  1188. package/esm/component/title/interface/theme.d.ts +2 -2
  1189. package/esm/component/title/interface/theme.js.map +1 -1
  1190. package/esm/component/title/title.d.ts +0 -1
  1191. package/esm/component/title/title.js +3 -12
  1192. package/esm/component/title/title.js.map +1 -1
  1193. package/esm/component/title/utils.d.ts +0 -1
  1194. package/esm/component/title/utils.js +1 -8
  1195. package/esm/component/title/utils.js.map +1 -1
  1196. package/esm/component/tooltip/handler/base.d.ts +5 -3
  1197. package/esm/component/tooltip/handler/base.js +11 -12
  1198. package/esm/component/tooltip/handler/base.js.map +1 -1
  1199. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
  1200. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +5 -2
  1201. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  1202. package/esm/component/tooltip/handler/canvas/index.js.map +1 -1
  1203. package/esm/component/tooltip/handler/constants.d.ts +4 -0
  1204. package/esm/component/tooltip/handler/constants.js +6 -0
  1205. package/esm/component/tooltip/handler/constants.js.map +1 -1
  1206. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
  1207. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +4 -3
  1208. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  1209. package/esm/component/tooltip/handler/dom/index.js.map +1 -1
  1210. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  1211. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
  1212. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  1213. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  1214. package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
  1215. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  1216. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  1217. package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
  1218. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  1219. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  1220. package/esm/component/tooltip/handler/dom/utils/style.js +3 -3
  1221. package/esm/component/tooltip/handler/dom/utils/style.js.map +1 -1
  1222. package/esm/component/tooltip/handler/index.js.map +1 -1
  1223. package/esm/component/tooltip/handler/interface/cache.js.map +1 -1
  1224. package/esm/component/tooltip/handler/interface/index.js.map +1 -1
  1225. package/esm/component/tooltip/handler/interface/style.js.map +1 -1
  1226. package/esm/component/tooltip/handler/utils/attribute.js +4 -5
  1227. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  1228. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  1229. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  1230. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  1231. package/esm/component/tooltip/handler/utils/index.js.map +1 -1
  1232. package/esm/component/tooltip/handler/utils/pattern.js.map +1 -1
  1233. package/esm/component/tooltip/handler/utils/position.js.map +1 -1
  1234. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  1235. package/esm/component/tooltip/handler/utils/style.js +6 -4
  1236. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  1237. package/esm/component/tooltip/index.js.map +1 -1
  1238. package/esm/component/tooltip/interface/common.js.map +1 -1
  1239. package/esm/component/tooltip/interface/index.js.map +1 -1
  1240. package/esm/component/tooltip/interface/spec.d.ts +5 -6
  1241. package/esm/component/tooltip/interface/spec.js.map +1 -1
  1242. package/esm/component/tooltip/interface/theme.d.ts +6 -0
  1243. package/esm/component/tooltip/interface/theme.js.map +1 -1
  1244. package/esm/component/tooltip/processor/base.d.ts +2 -4
  1245. package/esm/component/tooltip/processor/base.js +4 -4
  1246. package/esm/component/tooltip/processor/base.js.map +1 -1
  1247. package/esm/component/tooltip/processor/dimension-tooltip.js +3 -0
  1248. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  1249. package/esm/component/tooltip/processor/index.js.map +1 -1
  1250. package/esm/component/tooltip/processor/interface.js.map +1 -1
  1251. package/esm/component/tooltip/processor/mark-tooltip.js +3 -0
  1252. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  1253. package/esm/component/tooltip/processor/util.js.map +1 -1
  1254. package/esm/component/tooltip/tooltip.js +6 -9
  1255. package/esm/component/tooltip/tooltip.js.map +1 -1
  1256. package/esm/component/tooltip/utils/common.js.map +1 -1
  1257. package/esm/component/tooltip/utils/index.js.map +1 -1
  1258. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  1259. package/esm/constant/base.d.ts +1 -1
  1260. package/esm/constant/base.js +1 -1
  1261. package/esm/constant/base.js.map +1 -1
  1262. package/esm/constant/box-plot.js.map +1 -1
  1263. package/esm/constant/event.js.map +1 -1
  1264. package/esm/constant/funnel.js.map +1 -1
  1265. package/esm/constant/hierarchy.js.map +1 -1
  1266. package/esm/constant/index.js.map +1 -1
  1267. package/esm/constant/label.js +1 -2
  1268. package/esm/constant/label.js.map +1 -1
  1269. package/esm/constant/layout.js.map +1 -1
  1270. package/esm/constant/marker.js.map +1 -1
  1271. package/esm/constant/polar.js +2 -1
  1272. package/esm/constant/polar.js.map +1 -1
  1273. package/esm/constant/scatter.js.map +1 -1
  1274. package/esm/constant/scroll-bar.js.map +1 -1
  1275. package/esm/constant/sunburst.js.map +1 -1
  1276. package/esm/constant/waterfall.js.map +1 -1
  1277. package/esm/constant/word-cloud.js.map +1 -1
  1278. package/esm/core/factory.js.map +1 -1
  1279. package/esm/core/interface.js.map +1 -1
  1280. package/esm/core/vchart.d.ts +1 -0
  1281. package/esm/core/vchart.js +15 -10
  1282. package/esm/core/vchart.js.map +1 -1
  1283. package/esm/data/initialize.js.map +1 -1
  1284. package/esm/data/parser/array.js.map +1 -1
  1285. package/esm/data/parser/scale.js.map +1 -1
  1286. package/esm/data/register.js.map +1 -1
  1287. package/esm/data/transforms/add-property.d.ts +5 -5
  1288. package/esm/data/transforms/add-property.js +1 -1
  1289. package/esm/data/transforms/add-property.js.map +1 -1
  1290. package/esm/data/transforms/aggregation.js.map +1 -1
  1291. package/esm/data/transforms/box-plot.js.map +1 -1
  1292. package/esm/data/transforms/circle-packing.js.map +1 -1
  1293. package/esm/data/transforms/copy-data-view.js.map +1 -1
  1294. package/esm/data/transforms/data-key.d.ts +3 -3
  1295. package/esm/data/transforms/data-key.js.map +1 -1
  1296. package/esm/data/transforms/dimension-data.js.map +1 -1
  1297. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  1298. package/esm/data/transforms/drill.js.map +1 -1
  1299. package/esm/data/transforms/flatten.js.map +1 -1
  1300. package/esm/data/transforms/funnel.js.map +1 -1
  1301. package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  1302. package/esm/data/transforms/invalid-travel.js.map +1 -1
  1303. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  1304. package/esm/data/transforms/legend-data/continuous/index.js.map +1 -1
  1305. package/esm/data/transforms/legend-data/continuous/interface.js.map +1 -1
  1306. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  1307. package/esm/data/transforms/legend-data/discrete/index.js.map +1 -1
  1308. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  1309. package/esm/data/transforms/lookup.js.map +1 -1
  1310. package/esm/data/transforms/map.js.map +1 -1
  1311. package/esm/data/transforms/obj-flat.js.map +1 -1
  1312. package/esm/data/transforms/pie.js.map +1 -1
  1313. package/esm/data/transforms/regression.js.map +1 -1
  1314. package/esm/data/transforms/sankey-links.js.map +1 -1
  1315. package/esm/data/transforms/sankey-nodes.js.map +1 -1
  1316. package/esm/data/transforms/sankey.js.map +1 -1
  1317. package/esm/data/transforms/stack-split.js.map +1 -1
  1318. package/esm/data/transforms/sunburst.js.map +1 -1
  1319. package/esm/data/transforms/tick-data/config.js.map +1 -1
  1320. package/esm/data/transforms/tick-data/continuous.js.map +1 -1
  1321. package/esm/data/transforms/tick-data/discrete/linear.js.map +1 -1
  1322. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  1323. package/esm/data/transforms/tick-data/index.js.map +1 -1
  1324. package/esm/data/transforms/tick-data/interface.js.map +1 -1
  1325. package/esm/data/transforms/tick-data/util.js.map +1 -1
  1326. package/esm/data/transforms/treemap.js.map +1 -1
  1327. package/esm/data/transforms/waterfall.js.map +1 -1
  1328. package/esm/event/bubble.js.map +1 -1
  1329. package/esm/event/event-dispatcher.js.map +1 -1
  1330. package/esm/event/event.js +1 -2
  1331. package/esm/event/event.js.map +1 -1
  1332. package/esm/event/events/dimension/base.js.map +1 -1
  1333. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  1334. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  1335. package/esm/event/events/dimension/index.js.map +1 -1
  1336. package/esm/event/events/dimension/interface.js.map +1 -1
  1337. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  1338. package/esm/event/events/dimension/util/common.js.map +1 -1
  1339. package/esm/event/events/dimension/util/index.js.map +1 -1
  1340. package/esm/event/events/dimension/util/polar.js.map +1 -1
  1341. package/esm/event/events/index.js.map +1 -1
  1342. package/esm/event/interface.js.map +1 -1
  1343. package/esm/index.d.ts +1 -1
  1344. package/esm/index.js +1 -1
  1345. package/esm/index.js.map +1 -1
  1346. package/esm/interaction/config.js.map +1 -1
  1347. package/esm/interaction/dimension-trigger.js.map +1 -1
  1348. package/esm/interaction/drill/drillable.js.map +1 -1
  1349. package/esm/interaction/drill/index.js.map +1 -1
  1350. package/esm/interaction/interaction.js.map +1 -1
  1351. package/esm/interaction/interface.js.map +1 -1
  1352. package/esm/interaction/trigger.js.map +1 -1
  1353. package/esm/interaction/zoom/index.js.map +1 -1
  1354. package/esm/interaction/zoom/zoomable.js.map +1 -1
  1355. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  1356. package/esm/layout/index.d.ts +13 -10
  1357. package/esm/layout/index.js.map +1 -1
  1358. package/esm/layout/interface.js.map +1 -1
  1359. package/esm/layout/label/arc-label.js.map +1 -1
  1360. package/esm/layout/layout3d/index.d.ts +23 -0
  1361. package/esm/layout/layout3d/index.js +123 -0
  1362. package/esm/layout/layout3d/index.js.map +1 -0
  1363. package/esm/mark/arc.js +1 -1
  1364. package/esm/mark/arc.js.map +1 -1
  1365. package/esm/mark/area.js +1 -1
  1366. package/esm/mark/area.js.map +1 -1
  1367. package/esm/mark/base/base-line.js.map +1 -1
  1368. package/esm/mark/base/base-mark.js.map +1 -1
  1369. package/esm/mark/base/index.js.map +1 -1
  1370. package/esm/mark/boxPlot.js +2 -2
  1371. package/esm/mark/boxPlot.js.map +1 -1
  1372. package/esm/mark/cell.js +1 -1
  1373. package/esm/mark/cell.js.map +1 -1
  1374. package/esm/mark/component.d.ts +1 -0
  1375. package/esm/mark/component.js +5 -3
  1376. package/esm/mark/component.js.map +1 -1
  1377. package/esm/mark/group.js +1 -1
  1378. package/esm/mark/group.js.map +1 -1
  1379. package/esm/mark/interface/common.js.map +1 -1
  1380. package/esm/mark/interface/index.js.map +1 -1
  1381. package/esm/mark/interface/type.js.map +1 -1
  1382. package/esm/mark/line.js +1 -1
  1383. package/esm/mark/line.js.map +1 -1
  1384. package/esm/mark/linkPath.js +1 -2
  1385. package/esm/mark/linkPath.js.map +1 -1
  1386. package/esm/mark/mark-set/index.js.map +1 -1
  1387. package/esm/mark/path.js +1 -1
  1388. package/esm/mark/path.js.map +1 -1
  1389. package/esm/mark/polygon.js +1 -1
  1390. package/esm/mark/polygon.js.map +1 -1
  1391. package/esm/mark/progress-arc.js +1 -1
  1392. package/esm/mark/progress-arc.js.map +1 -1
  1393. package/esm/mark/rect.js +1 -1
  1394. package/esm/mark/rect.js.map +1 -1
  1395. package/esm/mark/rule.js +1 -1
  1396. package/esm/mark/rule.js.map +1 -1
  1397. package/esm/mark/symbol.js +1 -1
  1398. package/esm/mark/symbol.js.map +1 -1
  1399. package/esm/mark/text.js +1 -1
  1400. package/esm/mark/text.js.map +1 -1
  1401. package/esm/mark/utils/common.js.map +1 -1
  1402. package/esm/mark/utils/index.js.map +1 -1
  1403. package/esm/model/base-model.d.ts +1 -1
  1404. package/esm/model/base-model.js +1 -1
  1405. package/esm/model/base-model.js.map +1 -1
  1406. package/esm/model/interface.d.ts +1 -0
  1407. package/esm/model/interface.js +1 -1
  1408. package/esm/model/interface.js.map +1 -1
  1409. package/esm/model/layout-item.js +1 -1
  1410. package/esm/model/layout-item.js.map +1 -1
  1411. package/esm/model/model-state-manager.js +2 -1
  1412. package/esm/model/model-state-manager.js.map +1 -1
  1413. package/esm/model/tooltip-helper.js +1 -1
  1414. package/esm/model/tooltip-helper.js.map +1 -1
  1415. package/esm/plugin/chart/interface.js.map +1 -1
  1416. package/esm/plugin/components/axis-label-overlap-plugin.js.map +1 -1
  1417. package/esm/plugin/components/basic-plugin.js.map +1 -1
  1418. package/esm/plugin/components/index.js.map +1 -1
  1419. package/esm/plugin/components/interface.js.map +1 -1
  1420. package/esm/plugin/components/plugin-service.js.map +1 -1
  1421. package/esm/plugin/interface.js +1 -1
  1422. package/esm/plugin/interface.js.map +1 -1
  1423. package/esm/plugin/series/interface.js.map +1 -1
  1424. package/esm/region/interface.js +1 -1
  1425. package/esm/region/interface.js.map +1 -1
  1426. package/esm/region/region.js +1 -1
  1427. package/esm/region/region.js.map +1 -1
  1428. package/esm/scale/global-scale.js +1 -1
  1429. package/esm/scale/global-scale.js.map +1 -1
  1430. package/esm/scale/interface.js +1 -1
  1431. package/esm/scale/interface.js.map +1 -1
  1432. package/esm/series/area/animation.js.map +1 -1
  1433. package/esm/series/area/area.js +3 -1
  1434. package/esm/series/area/area.js.map +1 -1
  1435. package/esm/series/area/interface.js.map +1 -1
  1436. package/esm/series/bar/animation.js.map +1 -1
  1437. package/esm/series/bar/bar.js +7 -6
  1438. package/esm/series/bar/bar.js.map +1 -1
  1439. package/esm/series/bar/interface.d.ts +3 -0
  1440. package/esm/series/bar/interface.js.map +1 -1
  1441. package/esm/series/base/base-series.d.ts +2 -2
  1442. package/esm/series/base/base-series.js +8 -10
  1443. package/esm/series/base/base-series.js.map +1 -1
  1444. package/esm/series/base/group.js.map +1 -1
  1445. package/esm/series/base/series-data.js.map +1 -1
  1446. package/esm/series/base/tooltip-helper.js.map +1 -1
  1447. package/esm/series/box-plot/boxPlot.d.ts +1 -1
  1448. package/esm/series/box-plot/boxPlot.js +10 -11
  1449. package/esm/series/box-plot/boxPlot.js.map +1 -1
  1450. package/esm/series/box-plot/interface.js.map +1 -1
  1451. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  1452. package/esm/series/cartesian/cartesian.d.ts +11 -0
  1453. package/esm/series/cartesian/cartesian.js +38 -3
  1454. package/esm/series/cartesian/cartesian.js.map +1 -1
  1455. package/esm/series/cartesian/interface.d.ts +1 -2
  1456. package/esm/series/cartesian/interface.js.map +1 -1
  1457. package/esm/series/circle-packing/animation.js.map +1 -1
  1458. package/esm/series/circle-packing/circle-packing.js +3 -3
  1459. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  1460. package/esm/series/circle-packing/interface.js.map +1 -1
  1461. package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
  1462. package/esm/series/dot/config.js.map +1 -1
  1463. package/esm/series/dot/dot.js +6 -8
  1464. package/esm/series/dot/dot.js.map +1 -1
  1465. package/esm/series/dot/interface.d.ts +0 -1
  1466. package/esm/series/dot/interface.js.map +1 -1
  1467. package/esm/series/dot/tooltip-helper.js.map +1 -1
  1468. package/esm/series/funnel/funnel.d.ts +8 -0
  1469. package/esm/series/funnel/funnel.js +13 -4
  1470. package/esm/series/funnel/funnel.js.map +1 -1
  1471. package/esm/series/funnel/interface.js.map +1 -1
  1472. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  1473. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  1474. package/esm/series/gauge/gauge.js.map +1 -1
  1475. package/esm/series/gauge/index.js.map +1 -1
  1476. package/esm/series/gauge/interface.js.map +1 -1
  1477. package/esm/series/geo/geo.d.ts +1 -0
  1478. package/esm/series/geo/geo.js +3 -0
  1479. package/esm/series/geo/geo.js.map +1 -1
  1480. package/esm/series/geo/interface.js.map +1 -1
  1481. package/esm/series/heatmap/animation.js.map +1 -1
  1482. package/esm/series/heatmap/heatmap.js +5 -4
  1483. package/esm/series/heatmap/heatmap.js.map +1 -1
  1484. package/esm/series/heatmap/interface.js.map +1 -1
  1485. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  1486. package/esm/series/interface/common.d.ts +1 -0
  1487. package/esm/series/interface/common.js.map +1 -1
  1488. package/esm/series/interface/index.js.map +1 -1
  1489. package/esm/series/interface/series.d.ts +7 -0
  1490. package/esm/series/interface/series.js.map +1 -1
  1491. package/esm/series/interface/theme.js.map +1 -1
  1492. package/esm/series/interface/tooltip-helper.js.map +1 -1
  1493. package/esm/series/interface/type.js.map +1 -1
  1494. package/esm/series/line/animation.js.map +1 -1
  1495. package/esm/series/line/interface.js.map +1 -1
  1496. package/esm/series/line/line.js.map +1 -1
  1497. package/esm/series/link/interface.d.ts +2 -2
  1498. package/esm/series/link/interface.js.map +1 -1
  1499. package/esm/series/link/link.js +3 -3
  1500. package/esm/series/link/link.js.map +1 -1
  1501. package/esm/series/link/tooltip-helper.js.map +1 -1
  1502. package/esm/series/map/geo-source.d.ts +1 -0
  1503. package/esm/series/map/geo-source.js +4 -0
  1504. package/esm/series/map/geo-source.js.map +1 -1
  1505. package/esm/series/map/interface.js.map +1 -1
  1506. package/esm/series/map/map.js +2 -1
  1507. package/esm/series/map/map.js.map +1 -1
  1508. package/esm/series/map/tooltip-helper.js.map +1 -1
  1509. package/esm/series/mixin/line-mixin.d.ts +0 -1
  1510. package/esm/series/mixin/line-mixin.js +12 -7
  1511. package/esm/series/mixin/line-mixin.js.map +1 -1
  1512. package/esm/series/pie/animation/animation.js.map +1 -1
  1513. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  1514. package/esm/series/pie/interface.d.ts +1 -0
  1515. package/esm/series/pie/interface.js.map +1 -1
  1516. package/esm/series/pie/pie.d.ts +13 -5
  1517. package/esm/series/pie/pie.js +32 -25
  1518. package/esm/series/pie/pie.js.map +1 -1
  1519. package/esm/series/polar/animation.js.map +1 -1
  1520. package/esm/series/polar/interface.d.ts +0 -1
  1521. package/esm/series/polar/interface.js.map +1 -1
  1522. package/esm/series/polar/polar.d.ts +1 -0
  1523. package/esm/series/polar/polar.js +3 -0
  1524. package/esm/series/polar/polar.js.map +1 -1
  1525. package/esm/series/polar/progress-like/animation.js.map +1 -1
  1526. package/esm/series/polar/progress-like/index.js.map +1 -1
  1527. package/esm/series/polar/progress-like/interface.js.map +1 -1
  1528. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  1529. package/esm/series/polar/rose-like/index.js.map +1 -1
  1530. package/esm/series/polar/rose-like/interface.js.map +1 -1
  1531. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  1532. package/esm/series/progress/circular/circular.js.map +1 -1
  1533. package/esm/series/progress/circular/index.js.map +1 -1
  1534. package/esm/series/progress/circular/interface.js.map +1 -1
  1535. package/esm/series/progress/interface.js.map +1 -1
  1536. package/esm/series/progress/linear/animation.js.map +1 -1
  1537. package/esm/series/progress/linear/index.js.map +1 -1
  1538. package/esm/series/progress/linear/interface.js.map +1 -1
  1539. package/esm/series/progress/linear/linear.js.map +1 -1
  1540. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  1541. package/esm/series/radar/animation.js.map +1 -1
  1542. package/esm/series/radar/interface.d.ts +0 -1
  1543. package/esm/series/radar/interface.js.map +1 -1
  1544. package/esm/series/radar/radar.js.map +1 -1
  1545. package/esm/series/range-area/interface.js.map +1 -1
  1546. package/esm/series/range-area/range-area.js.map +1 -1
  1547. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  1548. package/esm/series/range-column/animation.js.map +1 -1
  1549. package/esm/series/range-column/interface.d.ts +3 -3
  1550. package/esm/series/range-column/interface.js.map +1 -1
  1551. package/esm/series/range-column/rangeColumn.js +15 -13
  1552. package/esm/series/range-column/rangeColumn.js.map +1 -1
  1553. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  1554. package/esm/series/rose/animation.js.map +1 -1
  1555. package/esm/series/rose/interface.js.map +1 -1
  1556. package/esm/series/rose/rose.js +2 -1
  1557. package/esm/series/rose/rose.js.map +1 -1
  1558. package/esm/series/sankey/animation.js.map +1 -1
  1559. package/esm/series/sankey/interface.js.map +1 -1
  1560. package/esm/series/sankey/sankey.js +5 -5
  1561. package/esm/series/sankey/sankey.js.map +1 -1
  1562. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  1563. package/esm/series/scatter/animation.js.map +1 -1
  1564. package/esm/series/scatter/interface.js.map +1 -1
  1565. package/esm/series/scatter/scatter.js +8 -5
  1566. package/esm/series/scatter/scatter.js.map +1 -1
  1567. package/esm/series/sunburst/animation/enter.js.map +1 -1
  1568. package/esm/series/sunburst/animation/exit.js.map +1 -1
  1569. package/esm/series/sunburst/animation/index.js.map +1 -1
  1570. package/esm/series/sunburst/animation/interface.js.map +1 -1
  1571. package/esm/series/sunburst/animation/preset.js.map +1 -1
  1572. package/esm/series/sunburst/animation/utils.js.map +1 -1
  1573. package/esm/series/sunburst/interface.js.map +1 -1
  1574. package/esm/series/sunburst/sunburst.js +3 -3
  1575. package/esm/series/sunburst/sunburst.js.map +1 -1
  1576. package/esm/series/sunburst/tooltip-helper.js.map +1 -1
  1577. package/esm/series/treemap/animation.js.map +1 -1
  1578. package/esm/series/treemap/config.js.map +1 -1
  1579. package/esm/series/treemap/interface.js.map +1 -1
  1580. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  1581. package/esm/series/treemap/treemap.js +3 -3
  1582. package/esm/series/treemap/treemap.js.map +1 -1
  1583. package/esm/series/util/label-mark.js.map +1 -1
  1584. package/esm/series/util/utils.js.map +1 -1
  1585. package/esm/series/waterfall/animation.js.map +1 -1
  1586. package/esm/series/waterfall/interface.js.map +1 -1
  1587. package/esm/series/waterfall/waterfall.js.map +1 -1
  1588. package/esm/series/word-cloud/animation.js.map +1 -1
  1589. package/esm/series/word-cloud/config.js.map +1 -1
  1590. package/esm/series/word-cloud/interface.js.map +1 -1
  1591. package/esm/series/word-cloud/word-cloud.d.ts +10 -3
  1592. package/esm/series/word-cloud/word-cloud.js +107 -26
  1593. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  1594. package/esm/theme/buildin-theme/config.js +2 -0
  1595. package/esm/theme/buildin-theme/config.js.map +1 -1
  1596. package/esm/theme/buildin-theme/dark.js +6 -462
  1597. package/esm/theme/buildin-theme/dark.js.map +1 -1
  1598. package/esm/theme/buildin-theme/index.js.map +1 -1
  1599. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  1600. package/esm/theme/buildin-theme/light/component/brush.js +12 -8
  1601. package/esm/theme/buildin-theme/light/component/brush.js.map +1 -1
  1602. package/esm/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
  1603. package/esm/theme/buildin-theme/light/component/cartesian-axis.js +15 -81
  1604. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
  1605. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
  1606. package/esm/theme/buildin-theme/light/component/color-legend.js.map +1 -1
  1607. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
  1608. package/esm/theme/buildin-theme/light/component/common-axis.js +68 -0
  1609. package/esm/theme/buildin-theme/light/component/common-axis.js.map +1 -0
  1610. package/esm/theme/buildin-theme/light/component/crosshair.js +1 -6
  1611. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  1612. package/esm/theme/buildin-theme/light/component/data-zoom.js +10 -10
  1613. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  1614. package/esm/theme/buildin-theme/light/component/discrete-legend.js +3 -6
  1615. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
  1616. package/esm/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  1617. package/esm/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
  1618. package/esm/theme/buildin-theme/light/component/indicator.js.map +1 -0
  1619. package/esm/theme/buildin-theme/light/component/mark-area.js.map +1 -1
  1620. package/esm/theme/buildin-theme/light/component/mark-line.js.map +1 -1
  1621. package/esm/theme/buildin-theme/light/component/mark-point.js +1 -3
  1622. package/esm/theme/buildin-theme/light/component/mark-point.js.map +1 -1
  1623. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  1624. package/esm/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
  1625. package/esm/theme/buildin-theme/light/component/polar-axis.js +11 -68
  1626. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
  1627. package/esm/theme/buildin-theme/light/component/size-legend.js.map +1 -1
  1628. package/esm/theme/buildin-theme/light/component/title.d.ts +2 -0
  1629. package/esm/theme/buildin-theme/light/component/title.js +9 -0
  1630. package/esm/theme/buildin-theme/light/component/title.js.map +1 -0
  1631. package/esm/theme/buildin-theme/light/component/tooltip.js +5 -5
  1632. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  1633. package/esm/theme/buildin-theme/light/index.js +21 -7
  1634. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  1635. package/esm/theme/buildin-theme/light/series/area.js +6 -5
  1636. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  1637. package/esm/theme/buildin-theme/light/series/bar.js +1 -4
  1638. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  1639. package/esm/theme/buildin-theme/light/series/bar3d.js +1 -4
  1640. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  1641. package/esm/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
  1642. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  1643. package/esm/theme/buildin-theme/light/series/dot.js +11 -3
  1644. package/esm/theme/buildin-theme/light/series/dot.js.map +1 -1
  1645. package/esm/theme/buildin-theme/light/series/funnel.js +0 -3
  1646. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  1647. package/esm/theme/buildin-theme/light/series/funnel3d.js +0 -3
  1648. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  1649. package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
  1650. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  1651. package/esm/theme/buildin-theme/light/series/heatmap.js +2 -3
  1652. package/esm/theme/buildin-theme/light/series/heatmap.js.map +1 -1
  1653. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  1654. package/esm/theme/buildin-theme/light/series/line.js +6 -5
  1655. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  1656. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  1657. package/esm/theme/buildin-theme/light/series/link.js +5 -3
  1658. package/esm/theme/buildin-theme/light/series/link.js.map +1 -1
  1659. package/esm/theme/buildin-theme/light/series/map.js +1 -2
  1660. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  1661. package/esm/theme/buildin-theme/light/series/pie.js +1 -3
  1662. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  1663. package/esm/theme/buildin-theme/light/series/pie3d.js +1 -3
  1664. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  1665. package/esm/theme/buildin-theme/light/series/radar.js +6 -5
  1666. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  1667. package/esm/theme/buildin-theme/light/series/rangeColumn.js +1 -4
  1668. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  1669. package/esm/theme/buildin-theme/light/series/scatter.js +1 -4
  1670. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  1671. package/esm/theme/buildin-theme/light/series/sunburst.js.map +1 -1
  1672. package/esm/theme/buildin-theme/light/series/treemap.js +1 -5
  1673. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  1674. package/esm/theme/buildin-theme/light/series/waterfall.js +1 -5
  1675. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  1676. package/esm/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
  1677. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  1678. package/esm/theme/color-scheme/interface.d.ts +1 -1
  1679. package/esm/theme/color-scheme/interface.js.map +1 -1
  1680. package/esm/theme/color-scheme/util.js.map +1 -1
  1681. package/esm/theme/index.js.map +1 -1
  1682. package/esm/theme/interface.d.ts +13 -5
  1683. package/esm/theme/interface.js.map +1 -1
  1684. package/esm/theme/theme-manager.js.map +1 -1
  1685. package/esm/typings/common.js.map +1 -1
  1686. package/esm/typings/coordinate.js.map +1 -1
  1687. package/esm/typings/cursor.js.map +1 -1
  1688. package/esm/typings/data.js.map +1 -1
  1689. package/esm/typings/geo.js.map +1 -1
  1690. package/esm/typings/index.js.map +1 -1
  1691. package/esm/typings/interpolate.js.map +1 -1
  1692. package/esm/typings/line-stroke.js.map +1 -1
  1693. package/esm/typings/params.js.map +1 -1
  1694. package/esm/typings/scale.js.map +1 -1
  1695. package/esm/typings/shape.js.map +1 -1
  1696. package/esm/typings/space.d.ts +1 -1
  1697. package/esm/typings/space.js.map +1 -1
  1698. package/esm/typings/spec/chart.js.map +1 -1
  1699. package/esm/typings/spec/common.d.ts +5 -5
  1700. package/esm/typings/spec/common.js.map +1 -1
  1701. package/esm/typings/spec/index.js.map +1 -1
  1702. package/esm/typings/tooltip/common.js.map +1 -1
  1703. package/esm/typings/tooltip/handler.js.map +1 -1
  1704. package/esm/typings/tooltip/index.js.map +1 -1
  1705. package/esm/typings/tooltip/line.js.map +1 -1
  1706. package/esm/typings/tooltip/position.js.map +1 -1
  1707. package/esm/typings/tooltip/shape.js.map +1 -1
  1708. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1709. package/esm/typings/visual.d.ts +21 -3
  1710. package/esm/typings/visual.js.map +1 -1
  1711. package/esm/util/array.js.map +1 -1
  1712. package/esm/util/color.js.map +1 -1
  1713. package/esm/util/data.js +3 -2
  1714. package/esm/util/data.js.map +1 -1
  1715. package/esm/util/debug.js.map +1 -1
  1716. package/esm/util/env.js.map +1 -1
  1717. package/esm/util/hierarchy.js.map +1 -1
  1718. package/esm/util/id.js +4 -4
  1719. package/esm/util/id.js.map +1 -1
  1720. package/esm/util/image.js.map +1 -1
  1721. package/esm/util/index.js.map +1 -1
  1722. package/esm/util/math.js.map +1 -1
  1723. package/esm/util/model.js.map +1 -1
  1724. package/esm/util/object.js.map +1 -1
  1725. package/esm/util/scale.js.map +1 -1
  1726. package/esm/util/space.js.map +1 -1
  1727. package/esm/util/spec.js.map +1 -1
  1728. package/esm/util/style.js +4 -6
  1729. package/esm/util/style.js.map +1 -1
  1730. package/esm/util/text.js.map +1 -1
  1731. package/esm/util/type.js.map +1 -1
  1732. package/esm/vchart-all.js +3 -1
  1733. package/esm/vchart-all.js.map +1 -1
  1734. package/package.json +16 -57
  1735. package/cjs/component/brush/config.d.ts +0 -8
  1736. package/cjs/component/brush/config.js +0 -13
  1737. package/cjs/component/brush/config.js.map +0 -1
  1738. package/cjs/component/indicator/config.d.ts +0 -5
  1739. package/cjs/component/indicator/config.js.map +0 -1
  1740. package/cjs/component/tooltip/config.d.ts +0 -2
  1741. package/cjs/component/tooltip/config.js +0 -12
  1742. package/cjs/component/tooltip/config.js.map +0 -1
  1743. package/esm/component/brush/config.d.ts +0 -8
  1744. package/esm/component/brush/config.js +0 -9
  1745. package/esm/component/brush/config.js.map +0 -1
  1746. package/esm/component/indicator/config.d.ts +0 -5
  1747. package/esm/component/indicator/config.js.map +0 -1
  1748. package/esm/component/tooltip/config.d.ts +0 -2
  1749. package/esm/component/tooltip/config.js +0 -8
  1750. package/esm/component/tooltip/config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/funnel.ts"],"names":[],"mappings":"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","file":"funnel.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValidNumber } from '@visactor/vutils';\n\nexport interface IFunnelOpt {\n valueField: string;\n /** 转化率(当前层到下一层的比例) **/\n asTransformRatio: string;\n /** 到达率 (上一层到当前层的比例)*/\n asReachRatio: string;\n /** 高度轴占总量的比例 **/\n asHeightRatio: string;\n /** 当前值大小占比 */\n asValueRatio: string;\n /** 上一层值大小占比 */\n asLastValueRatio: string;\n /** 下一层值大小占比 */\n asNextValueRatio: string;\n /** 当前层的值 */\n asCurrentValue: string;\n /** 上一层的值 **/\n asLastValue: string;\n /** 下一层的值 **/\n asNextValue: string;\n\n /** 最底层漏斗是否为锥形 */\n isCone?: boolean;\n /** 高度是否进行数据映射 **/\n heightVisual?: boolean;\n\n /** 数值范围 */\n range?: { min: number; max: number };\n}\n\nexport const funnel = (originData: Array<DataView>, op: IFunnelOpt) => {\n const data = originData.map(datum => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n const {\n valueField,\n asTransformRatio,\n asReachRatio,\n asHeightRatio,\n asValueRatio,\n asNextValueRatio,\n asLastValueRatio,\n asLastValue,\n asCurrentValue,\n asNextValue,\n heightVisual = false,\n isCone = true,\n range\n } = op;\n\n const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[valueField]) || -Infinity), -Infinity);\n const min = data.reduce((m, d) => Math.min(m, Number.parseFloat(d[valueField]) || Infinity), Infinity);\n const rangeArr = [range?.min ?? min, range?.max ?? max];\n\n data.forEach((d, i) => {\n const currentValue: number = Number.parseFloat(d[valueField]);\n const lastValue: number = Number.parseFloat(data[i - 1]?.[valueField]);\n const nextValue: number = Number.parseFloat(data[i + 1]?.[valueField]);\n\n const transformRatio = !isValidNumber(nextValue * currentValue) ? null : nextValue / currentValue;\n\n const reachRatio = !isValidNumber(currentValue * currentValue) ? null : currentValue / lastValue;\n\n asLastValue && (d[asLastValue] = lastValue);\n asNextValue && (d[asNextValue] = nextValue);\n asTransformRatio && (d[asTransformRatio] = transformRatio);\n asReachRatio && (d[asReachRatio] = i === 0 ? 1 : reachRatio);\n asHeightRatio && (d[asHeightRatio] = heightVisual === true ? transformRatio : 1 / data.length);\n asValueRatio && (d[asValueRatio] = currentValue / rangeArr[1]);\n asNextValueRatio &&\n (d[asNextValueRatio] = i === data.length - 1 ? (isCone ? 0 : d[asValueRatio]) : nextValue / rangeArr[1]);\n asLastValueRatio && (d[asLastValueRatio] = i === 0 ? 1 : lastValue / rangeArr[1]);\n asCurrentValue && (d[asCurrentValue] = currentValue);\n });\n\n return data;\n};\n\nexport interface IFunnelTransformOpt {\n asIsTransformLevel: string;\n}\n\nexport const funnelTransform = (originData: Array<DataView>, op: IFunnelTransformOpt) => {\n const data = originData[0]?.latestData?.map((datum: any) => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n data.shift();\n data.forEach((d: any) => {\n d[op.asIsTransformLevel] = true;\n });\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/funnel.ts"],"names":[],"mappings":";;;AACA,6CAAiD;AAgC1C,MAAM,MAAM,GAAG,CAAC,UAA2B,EAAE,EAAc,EAAE,EAAE;;IACpE,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAM,KAAK,EAAG,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EACJ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,IAAI,EACb,KAAK,EACN,GAAG,EAAE,CAAC;IAEP,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,GAAG,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,GAAG,CAAC,CAAC;IAExD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QACpB,MAAM,YAAY,GAAW,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAW,MAAM,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,0CAAG,UAAU,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAW,MAAM,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,0CAAG,UAAU,CAAC,CAAC,CAAC;QAEvE,MAAM,cAAc,GAAG,CAAC,IAAA,sBAAa,EAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC;QAElG,MAAM,UAAU,GAAG,CAAC,IAAA,sBAAa,EAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC;QAEjG,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QAC5C,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QAC5C,gBAAgB,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,CAAC;QAC3D,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7D,aAAa,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/F,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,gBAAgB;YACd,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,gBAAgB,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,cAAc,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA/CW,QAAA,MAAM,UA+CjB;AAMK,MAAM,eAAe,GAAG,CAAC,UAA2B,EAAE,EAAuB,EAAE,EAAE;;IACtF,MAAM,IAAI,GAAG,MAAA,MAAA,UAAU,CAAC,CAAC,CAAC,0CAAE,UAAU,0CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,mBAAM,KAAK,EAAG,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;QACtB,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B","file":"funnel.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValidNumber } from '@visactor/vutils';\n\nexport interface IFunnelOpt {\n valueField: string;\n /** 转化率(当前层到下一层的比例) **/\n asTransformRatio: string;\n /** 到达率 (上一层到当前层的比例)*/\n asReachRatio: string;\n /** 高度轴占总量的比例 **/\n asHeightRatio: string;\n /** 当前值大小占比 */\n asValueRatio: string;\n /** 上一层值大小占比 */\n asLastValueRatio: string;\n /** 下一层值大小占比 */\n asNextValueRatio: string;\n /** 当前层的值 */\n asCurrentValue: string;\n /** 上一层的值 **/\n asLastValue: string;\n /** 下一层的值 **/\n asNextValue: string;\n\n /** 最底层漏斗是否为锥形 */\n isCone?: boolean;\n /** 高度是否进行数据映射 **/\n heightVisual?: boolean;\n\n /** 数值范围 */\n range?: { min: number; max: number };\n}\n\nexport const funnel = (originData: Array<DataView>, op: IFunnelOpt) => {\n const data = originData.map(datum => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n const {\n valueField,\n asTransformRatio,\n asReachRatio,\n asHeightRatio,\n asValueRatio,\n asNextValueRatio,\n asLastValueRatio,\n asLastValue,\n asCurrentValue,\n asNextValue,\n heightVisual = false,\n isCone = true,\n range\n } = op;\n\n const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[valueField]) || -Infinity), -Infinity);\n const min = data.reduce((m, d) => Math.min(m, Number.parseFloat(d[valueField]) || Infinity), Infinity);\n const rangeArr = [range?.min ?? min, range?.max ?? max];\n\n data.forEach((d, i) => {\n const currentValue: number = Number.parseFloat(d[valueField]);\n const lastValue: number = Number.parseFloat(data[i - 1]?.[valueField]);\n const nextValue: number = Number.parseFloat(data[i + 1]?.[valueField]);\n\n const transformRatio = !isValidNumber(nextValue * currentValue) ? null : nextValue / currentValue;\n\n const reachRatio = !isValidNumber(currentValue * currentValue) ? null : currentValue / lastValue;\n\n asLastValue && (d[asLastValue] = lastValue);\n asNextValue && (d[asNextValue] = nextValue);\n asTransformRatio && (d[asTransformRatio] = transformRatio);\n asReachRatio && (d[asReachRatio] = i === 0 ? 1 : reachRatio);\n asHeightRatio && (d[asHeightRatio] = heightVisual === true ? transformRatio : 1 / data.length);\n asValueRatio && (d[asValueRatio] = currentValue / rangeArr[1]);\n asNextValueRatio &&\n (d[asNextValueRatio] = i === data.length - 1 ? (isCone ? 0 : d[asValueRatio]) : nextValue / rangeArr[1]);\n asLastValueRatio && (d[asLastValueRatio] = i === 0 ? 1 : lastValue / rangeArr[1]);\n asCurrentValue && (d[asCurrentValue] = currentValue);\n });\n\n return data;\n};\n\nexport interface IFunnelTransformOpt {\n asIsTransformLevel: string;\n}\n\nexport const funnelTransform = (originData: Array<DataView>, op: IFunnelTransformOpt) => {\n const data = originData[0]?.latestData?.map((datum: any) => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n data.shift();\n data.forEach((d: any) => {\n d[op.asIsTransformLevel] = true;\n });\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/hierarchy-dimension-statistics.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,iEAA6D;AAG7D,uCAAoC;AAS7B,MAAM,4BAA4B,GAAG,CAAC,IAAqB,EAAE,EAAqB,EAAE,EAAE;IAC3F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACvB,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB;IACD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;QACpC,OAAO,MAAM,CAAC;KACf;IAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAqB,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,aAAa,CAAC,CAAC;IACxC,MAAM,GAAG,IAAA,0CAAmB,EAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,4BAA4B,gCAkBvC","file":"hierarchy-dimension-statistics.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { dimensionStatistics } from './dimension-statistics';\nimport type { IStatisticsOption } from './dimension-statistics';\nimport type { DataView } from '@visactor/vdataset';\nimport { flatten } from './flatten';\nimport type { Datum } from '../../typings';\n\n/**\n * 层次聚合统计主要用于处理层次数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const hierarchyDimensionStatistics = (data: Array<DataView>, op: IStatisticsOption) => {\n let result = {};\n let fields = op.fields;\n if (isFunction(fields)) {\n fields = fields();\n }\n if (!fields?.length || !data?.length) {\n return result;\n }\n\n if (!data[0].latestData) {\n return result;\n }\n\n const hierarchyData = data[0].latestData as Datum[];\n const flatData = flatten(hierarchyData);\n result = dimensionStatistics([{ latestData: flatData } as any], op);\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/hierarchy-dimension-statistics.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,iEAA6D;AAG7D,uCAAoC;AAS7B,MAAM,4BAA4B,GAAG,CAAC,IAAqB,EAAE,EAAqB,EAAE,EAAE;IAC3F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACvB,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB;IACD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;QACpC,OAAO,MAAM,CAAC;KACf;IAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAqB,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,aAAa,CAAC,CAAC;IACxC,MAAM,GAAG,IAAA,0CAAmB,EAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,4BAA4B,gCAkBvC","file":"hierarchy-dimension-statistics.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { dimensionStatistics } from './dimension-statistics';\nimport type { IStatisticsOption } from './dimension-statistics';\nimport type { DataView } from '@visactor/vdataset';\nimport { flatten } from './flatten';\nimport type { Datum } from '../../typings';\n\n/**\n * 层次聚合统计主要用于处理层次数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const hierarchyDimensionStatistics = (data: Array<DataView>, op: IStatisticsOption) => {\n let result = {};\n let fields = op.fields;\n if (isFunction(fields)) {\n fields = fields();\n }\n if (!fields?.length || !data?.length) {\n return result;\n }\n\n if (!data[0].latestData) {\n return result;\n }\n\n const hierarchyData = data[0].latestData as Datum[];\n const flatData = flatten(hierarchyData);\n result = dimensionStatistics([{ latestData: flatData } as any], op);\n return result;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/invalid-travel.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AASzC,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,EAAc,EAAE,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7C,IAAI,WAAW,KAAK,MAAM,EAAE;QAC1B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,yBAAkB,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC7E;SAAM,IAAI,WAAW,KAAK,MAAM,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAA,yBAAkB,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC1C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB","file":"invalid-travel.js","sourcesContent":["import type { Datum, IInvalidType, StringOrNumber } from '../../typings';\nimport { couldBeValidNumber } from '../../util';\n\nexport interface ITravelOpt {\n config: () => {\n invalidType: IInvalidType;\n checkField: StringOrNumber;\n };\n}\n\nexport const invalidTravel = (data: Array<any>, op: ITravelOpt) => {\n const { config } = op;\n if (!config) {\n return data;\n }\n const { invalidType, checkField } = config();\n if (invalidType === 'link') {\n data = data.filter((datum: Datum) => couldBeValidNumber(datum[checkField]));\n } else if (invalidType === 'zero') {\n data.forEach((datum: Datum) => {\n if (!couldBeValidNumber(datum[checkField])) {\n datum[checkField] = 0;\n }\n });\n return data;\n }\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/invalid-travel.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AASzC,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,EAAc,EAAE,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7C,IAAI,WAAW,KAAK,MAAM,EAAE;QAC1B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,IAAA,yBAAkB,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC7E;SAAM,IAAI,WAAW,KAAK,MAAM,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAA,yBAAkB,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC1C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB","file":"invalid-travel.js","sourcesContent":["import type { Datum, IInvalidType, StringOrNumber } from '../../typings';\nimport { couldBeValidNumber } from '../../util';\n\nexport interface ITravelOpt {\n config: () => {\n invalidType: IInvalidType;\n checkField: StringOrNumber;\n };\n}\n\nexport const invalidTravel = (data: Array<any>, op: ITravelOpt) => {\n const { config } = op;\n if (!config) {\n return data;\n }\n const { invalidType, checkField } = config();\n if (invalidType === 'link') {\n data = data.filter((datum: Datum) => couldBeValidNumber(datum[checkField]));\n } else if (invalidType === 'zero') {\n data.forEach((datum: Datum) => {\n if (!couldBeValidNumber(datum[checkField])) {\n datum[checkField] = 0;\n }\n });\n return data;\n }\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/legend-data/continuous/continuous.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAKnD,MAAM,wBAAwB,GAAG,CAAC,IAAoB,EAAE,EAAmC,EAAE,EAAE;IACpG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,IAAI,KAAK,IAAI,UAAU,EAAE;QACvB,IAAI,GAAG,GAAW,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,GAAG,GAAW,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YACnB,MAAM,aAAa,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,UAAU,CAAC,0CAAE,GAAG,CAAC;YACnD,MAAM,SAAS,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,UAAU,CAAC,0CAAE,GAAG,CAAC;YACnD,IAAI,IAAA,sBAAa,EAAC,SAAS,CAAC,IAAI,SAAS,GAAG,GAAG,EAAE;gBAC/C,GAAG,GAAG,SAAS,CAAC;aACjB;YACD,IAAI,IAAA,sBAAa,EAAC,SAAS,CAAC,IAAI,SAAS,GAAG,GAAG,EAAE;gBAC/C,GAAG,GAAG,SAAS,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACnB;IACD,IAAI,KAAK,EAAE;QACT,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,CAAC;SACX;QACD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;KACxB;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AA3BW,QAAA,wBAAwB,4BA2BnC;AAGK,MAAM,sBAAsB,GAAG,CAAC,IAAgB,EAAE,EAAiC,EAAE,EAAE;IAC5F,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAG/B,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,UAAU,IAAI,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;QAC9D,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AApBW,QAAA,sBAAsB,0BAoBjC","file":"continuous.js","sourcesContent":["import { isEmpty, isValidNumber } from '@visactor/vutils';\nimport type { ISeries } from '../../../../series/interface';\nimport type { IContinuousLegendDataMakeOption, IContinuousLegendFilterOption } from './interface';\n\n// 获取数值范围\nexport const continuousLegendDataMake = (data: Array<ISeries>, op: IContinuousLegendDataMakeOption) => {\n const { series, field, scale } = op;\n const datumField = field();\n if (field && datumField) {\n let min: number = Number.MAX_VALUE;\n let max: number = Number.MIN_VALUE;\n series().forEach(s => {\n const statisticData = s.getRawDataStatistics().latestData;\n const seriesMin = statisticData?.[datumField]?.min;\n const seriesMax = statisticData?.[datumField]?.max;\n if (isValidNumber(seriesMin) && seriesMin < min) {\n min = seriesMin;\n }\n if (isValidNumber(seriesMax) && seriesMax > max) {\n max = seriesMax;\n }\n });\n return [min, max];\n }\n if (scale) {\n const _scale = scale();\n if (!_scale) {\n return [];\n }\n return _scale.domain();\n }\n return [];\n};\n\n// 连续数据过滤\nexport const continuousLegendFilter = (data: Array<any>, op: IContinuousLegendFilterOption) => {\n const { selected, field, data: legendData } = op;\n const selectedRange = selected();\n const datumField = field();\n const dataRange = legendData();\n\n // 如果数值范围相等,就不进行返回 data,不需要进行过滤\n if (selectedRange === dataRange) {\n return data;\n }\n\n if (datumField && !isEmpty(selectedRange)) {\n const [min, max] = selectedRange;\n\n return data.filter(datum => {\n return datum[datumField] >= min && datum[datumField] <= max;\n });\n }\n\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/legend-data/continuous/continuous.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAKnD,MAAM,wBAAwB,GAAG,CAAC,IAAoB,EAAE,EAAmC,EAAE,EAAE;IACpG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,IAAI,KAAK,IAAI,UAAU,EAAE;QACvB,IAAI,GAAG,GAAW,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,GAAG,GAAW,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YACnB,MAAM,aAAa,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,UAAU,CAAC,0CAAE,GAAG,CAAC;YACnD,MAAM,SAAS,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,UAAU,CAAC,0CAAE,GAAG,CAAC;YACnD,IAAI,IAAA,sBAAa,EAAC,SAAS,CAAC,IAAI,SAAS,GAAG,GAAG,EAAE;gBAC/C,GAAG,GAAG,SAAS,CAAC;aACjB;YACD,IAAI,IAAA,sBAAa,EAAC,SAAS,CAAC,IAAI,SAAS,GAAG,GAAG,EAAE;gBAC/C,GAAG,GAAG,SAAS,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACnB;IACD,IAAI,KAAK,EAAE;QACT,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,CAAC;SACX;QACD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;KACxB;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AA3BW,QAAA,wBAAwB,4BA2BnC;AAGK,MAAM,sBAAsB,GAAG,CAAC,IAAgB,EAAE,EAAiC,EAAE,EAAE;IAC5F,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAG/B,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,UAAU,IAAI,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;QAC9D,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AApBW,QAAA,sBAAsB,0BAoBjC","file":"continuous.js","sourcesContent":["import { isEmpty, isValidNumber } from '@visactor/vutils';\nimport type { ISeries } from '../../../../series/interface';\nimport type { IContinuousLegendDataMakeOption, IContinuousLegendFilterOption } from './interface';\n\n// 获取数值范围\nexport const continuousLegendDataMake = (data: Array<ISeries>, op: IContinuousLegendDataMakeOption) => {\n const { series, field, scale } = op;\n const datumField = field();\n if (field && datumField) {\n let min: number = Number.MAX_VALUE;\n let max: number = Number.MIN_VALUE;\n series().forEach(s => {\n const statisticData = s.getRawDataStatistics().latestData;\n const seriesMin = statisticData?.[datumField]?.min;\n const seriesMax = statisticData?.[datumField]?.max;\n if (isValidNumber(seriesMin) && seriesMin < min) {\n min = seriesMin;\n }\n if (isValidNumber(seriesMax) && seriesMax > max) {\n max = seriesMax;\n }\n });\n return [min, max];\n }\n if (scale) {\n const _scale = scale();\n if (!_scale) {\n return [];\n }\n return _scale.domain();\n }\n return [];\n};\n\n// 连续数据过滤\nexport const continuousLegendFilter = (data: Array<any>, op: IContinuousLegendFilterOption) => {\n const { selected, field, data: legendData } = op;\n const selectedRange = selected();\n const datumField = field();\n const dataRange = legendData();\n\n // 如果数值范围相等,就不进行返回 data,不需要进行过滤\n if (selectedRange === dataRange) {\n return data;\n }\n\n if (datumField && !isEmpty(selectedRange)) {\n const [min, max] = selectedRange;\n\n return data.filter(datum => {\n return datum[datumField] >= min && datum[datumField] <= max;\n });\n }\n\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/legend-data/continuous/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,8CAA4B","file":"index.js","sourcesContent":["export * from './continuous';\nexport * from './interface';\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/legend-data/continuous/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,8CAA4B","file":"index.js","sourcesContent":["export * from './continuous';\nexport * from './interface';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/legend-data/continuous/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { ISeries } from '../../../../series/interface';\nimport type { StringOrNumber } from '../../../../typings';\n\nexport interface IContinuousLegendDataMakeOption {\n series: () => ISeries[];\n field: () => string | undefined;\n scale?: () => IBaseScale;\n}\n\nexport interface IContinuousLegendFilterOption {\n selected: () => StringOrNumber[];\n field: () => string | undefined;\n data: () => StringOrNumber[];\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/legend-data/continuous/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { ISeries } from '../../../../series/interface';\nimport type { StringOrNumber } from '../../../../typings';\n\nexport interface IContinuousLegendDataMakeOption {\n series: () => ISeries[];\n field: () => string | undefined;\n scale?: () => IBaseScale;\n}\n\nexport interface IContinuousLegendFilterOption {\n selected: () => StringOrNumber[];\n field: () => string | undefined;\n data: () => StringOrNumber[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/legend-data/discrete/discrete.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAIpC,MAAM,sBAAsB,GAAG,CAAC,IAAoB,EAAE,EAAiC,EAAE,EAAE;IAChG,MAAM,MAAM,GAER,EAAE,CAAC;IACP,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtB,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACpB,OAAO;aACR;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEK,MAAM,oBAAoB,GAAG,CAAC,IAAgB,EAAE,EAA+B,EAAE,EAAE;IACxF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE;QAClD,OAAO,EAAE,CAAC;KACX;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;QAC7C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACvB,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,IAAI,IAAA,gBAAO,EAAC,UAAU,CAAC,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;KACjE;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AArBW,QAAA,oBAAoB,wBAqB/B","file":"discrete.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { ISeries } from '../../../../series/interface';\nimport type { IDiscreteLegendData, IDiscreteLegendDataMakeOption, IDiscreteLegendFilterOption } from './interface';\n\nexport const discreteLegendDataMake = (data: Array<ISeries>, op: IDiscreteLegendDataMakeOption) => {\n const result: {\n [key in string]: IDiscreteLegendData;\n } = {};\n const { series } = op;\n series().forEach(s => {\n s.getSeriesInfoList().forEach(info => {\n if (result[info.key]) {\n return;\n }\n result[info.key] = info;\n });\n });\n return Object.values(result);\n};\n\nexport const discreteLegendFilter = (data: Array<any>, op: IDiscreteLegendFilterOption) => {\n const { selected, field, data: legendData } = op;\n const selectedData = selected();\n const legendKeys = legendData(); // 全量的图例项\n if (selectedData.length === 0 && legendKeys.length) {\n return [];\n }\n\n if (selectedData.length === legendKeys.length) {\n return data;\n }\n\n const selectedFilter = {};\n selectedData.forEach(s => {\n selectedFilter[s] = true;\n });\n const datumField = field();\n if (isValid(datumField)) {\n data = data.filter(d => selectedFilter[d[datumField]] === true);\n }\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/legend-data/discrete/discrete.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAIpC,MAAM,sBAAsB,GAAG,CAAC,IAAoB,EAAE,EAAiC,EAAE,EAAE;IAChG,MAAM,MAAM,GAER,EAAE,CAAC;IACP,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtB,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACpB,OAAO;aACR;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEK,MAAM,oBAAoB,GAAG,CAAC,IAAgB,EAAE,EAA+B,EAAE,EAAE;IACxF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE;QAClD,OAAO,EAAE,CAAC;KACX;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;QAC7C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACvB,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,IAAI,IAAA,gBAAO,EAAC,UAAU,CAAC,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;KACjE;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AArBW,QAAA,oBAAoB,wBAqB/B","file":"discrete.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { ISeries } from '../../../../series/interface';\nimport type { IDiscreteLegendData, IDiscreteLegendDataMakeOption, IDiscreteLegendFilterOption } from './interface';\n\nexport const discreteLegendDataMake = (data: Array<ISeries>, op: IDiscreteLegendDataMakeOption) => {\n const result: {\n [key in string]: IDiscreteLegendData;\n } = {};\n const { series } = op;\n series().forEach(s => {\n s.getSeriesInfoList().forEach(info => {\n if (result[info.key]) {\n return;\n }\n result[info.key] = info;\n });\n });\n return Object.values(result);\n};\n\nexport const discreteLegendFilter = (data: Array<any>, op: IDiscreteLegendFilterOption) => {\n const { selected, field, data: legendData } = op;\n const selectedData = selected();\n const legendKeys = legendData(); // 全量的图例项\n if (selectedData.length === 0 && legendKeys.length) {\n return [];\n }\n\n if (selectedData.length === legendKeys.length) {\n return data;\n }\n\n const selectedFilter = {};\n selectedData.forEach(s => {\n selectedFilter[s] = true;\n });\n const datumField = field();\n if (isValid(datumField)) {\n data = data.filter(d => selectedFilter[d[datumField]] === true);\n }\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/legend-data/discrete/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B","file":"index.js","sourcesContent":["export * from './discrete';\nexport * from './interface';\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/legend-data/discrete/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B","file":"index.js","sourcesContent":["export * from './discrete';\nexport * from './interface';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/legend-data/discrete/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeries } from '../../../../series/interface';\nimport type { StringOrNumber } from '../../../../typings';\n\nexport interface IDiscreteLegendData {\n key: string;\n style: (attribute: string) => any;\n}\n\nexport interface IDiscreteLegendDataMakeOption {\n series: () => ISeries[];\n}\n\nexport interface IDiscreteLegendFilterOption {\n selected: () => StringOrNumber[];\n field: () => string;\n data: () => StringOrNumber[];\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/legend-data/discrete/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeries } from '../../../../series/interface';\nimport type { StringOrNumber } from '../../../../typings';\n\nexport interface IDiscreteLegendData {\n key: string;\n style: (attribute: string) => any;\n}\n\nexport interface IDiscreteLegendDataMakeOption {\n series: () => ISeries[];\n}\n\nexport interface IDiscreteLegendFilterOption {\n selected: () => StringOrNumber[];\n field: () => string;\n data: () => StringOrNumber[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/lookup.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAYrC,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAE,GAAe,EAAE,EAAE;IAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,GAAwB,EAAE,GAAG;QACrE,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE;YACf,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IAE9B,IAAI,GAAqB,CAAC;IAC1B,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,GAAG,GAAG,UAAU,CAAM;YACpB,MAAM,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,IAAA,YAAK,EAAC,CAAC,CAAC,EAAE;gBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;iBACzB;aACF;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzB;aACF;QACH,CAAC,CAAC;KACH;SAAM;QACL,GAAG,GAAG,UAAU,CAAM;YACpB,MAAM,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3C,CAAC,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAClB,GAAG,CAAC,CAAC,CAAC,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA9CW,QAAA,MAAM,UA8CjB","file":"lookup.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isNil, isValid } from '../../util';\n\nexport interface ILookUpOpt {\n from: () => object[];\n key: string;\n // 暂时不支持Multi-field lookup\n fields: string;\n values?: string[];\n as?: string[];\n default?: any;\n}\n\nexport const lookup = (data: Array<DataView>, opt: ILookUpOpt) => {\n if (!opt.from || !opt.from()) {\n return data;\n }\n\n const fields = opt.fields;\n const key = opt.key;\n const values = opt.values;\n const defaultValue = opt.default;\n const as = opt.as || [fields];\n const index = opt.from().reduce(function (map: Map<string, object>, obj) {\n if (obj[fields]) {\n map.set(obj[fields], obj);\n }\n return map;\n }, new Map<string, object>());\n\n let set: (d: any) => void;\n if (values) {\n const m = values.length;\n set = function (d: any) {\n const v = (index as Map<string, object>).get(d[key]);\n if (isNil(v)) {\n for (let i = 0; i < m; ++i) {\n d[as[i]] = defaultValue;\n }\n } else {\n for (let i = 0; i < m; ++i) {\n d[as[i]] = v[values[i]];\n }\n }\n };\n } else {\n set = function (d: any) {\n const v = (index as Map<string, object>).get(d[key]);\n d[as[0]] = isValid(v) ? v : defaultValue;\n };\n }\n\n if (data.length === 0) {\n return [];\n }\n return data.map(d => {\n set(d);\n return d;\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/lookup.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAYrC,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAE,GAAe,EAAE,EAAE;IAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,GAAwB,EAAE,GAAG;QACrE,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE;YACf,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IAE9B,IAAI,GAAqB,CAAC;IAC1B,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,GAAG,GAAG,UAAU,CAAM;YACpB,MAAM,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,IAAA,YAAK,EAAC,CAAC,CAAC,EAAE;gBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;iBACzB;aACF;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzB;aACF;QACH,CAAC,CAAC;KACH;SAAM;QACL,GAAG,GAAG,UAAU,CAAM;YACpB,MAAM,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3C,CAAC,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAClB,GAAG,CAAC,CAAC,CAAC,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA9CW,QAAA,MAAM,UA8CjB","file":"lookup.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isNil, isValid } from '../../util';\n\nexport interface ILookUpOpt {\n from: () => object[];\n key: string;\n // 暂时不支持Multi-field lookup\n fields: string;\n values?: string[];\n as?: string[];\n default?: any;\n}\n\nexport const lookup = (data: Array<DataView>, opt: ILookUpOpt) => {\n if (!opt.from || !opt.from()) {\n return data;\n }\n\n const fields = opt.fields;\n const key = opt.key;\n const values = opt.values;\n const defaultValue = opt.default;\n const as = opt.as || [fields];\n const index = opt.from().reduce(function (map: Map<string, object>, obj) {\n if (obj[fields]) {\n map.set(obj[fields], obj);\n }\n return map;\n }, new Map<string, object>());\n\n let set: (d: any) => void;\n if (values) {\n const m = values.length;\n set = function (d: any) {\n const v = (index as Map<string, object>).get(d[key]);\n if (isNil(v)) {\n for (let i = 0; i < m; ++i) {\n d[as[i]] = defaultValue;\n }\n } else {\n for (let i = 0; i < m; ++i) {\n d[as[i]] = v[values[i]];\n }\n }\n };\n } else {\n set = function (d: any) {\n const v = (index as Map<string, object>).get(d[key]);\n d[as[0]] = isValid(v) ? v : defaultValue;\n };\n }\n\n if (data.length === 0) {\n return [];\n }\n return data.map(d => {\n set(d);\n return d;\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/map.ts"],"names":[],"mappings":";;;AAOO,MAAM,GAAG,GAAG,CAAC,IAAmB,EAAE,GAAY,EAAE,EAAE;IACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;;YAC/B,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAA,CAAC,CAAC,UAAU,0CAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;aACxD;iBAAM;gBACL,CAAC,CAAC,IAAI,GAAG,MAAA,CAAC,CAAC,UAAU,0CAAG,GAAG,CAAC,YAAY,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC,CAAC;AAXW,QAAA,GAAG,OAWd","file":"map.js","sourcesContent":["import type { GeoSourceType } from '../../typings/geo';\n\nexport interface IMapOpt {\n nameMap: Record<string, string>;\n nameProperty: string;\n}\n\nexport const map = (data: GeoSourceType, opt: IMapOpt) => {\n if (data.features) {\n data.features.forEach((f: any) => {\n if (opt.nameMap) {\n f.name = opt.nameMap[f.properties?.[opt.nameProperty]];\n } else {\n f.name = f.properties?.[opt.nameProperty];\n }\n });\n }\n return data.features;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/map.ts"],"names":[],"mappings":";;;AAOO,MAAM,GAAG,GAAG,CAAC,IAAmB,EAAE,GAAY,EAAE,EAAE;IACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;;YAC/B,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAA,CAAC,CAAC,UAAU,0CAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;aACxD;iBAAM;gBACL,CAAC,CAAC,IAAI,GAAG,MAAA,CAAC,CAAC,UAAU,0CAAG,GAAG,CAAC,YAAY,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC,CAAC;AAXW,QAAA,GAAG,OAWd","file":"map.js","sourcesContent":["import type { GeoSourceType } from '../../typings/geo';\n\nexport interface IMapOpt {\n nameMap: Record<string, string>;\n nameProperty: string;\n}\n\nexport const map = (data: GeoSourceType, opt: IMapOpt) => {\n if (data.features) {\n data.features.forEach((f: any) => {\n if (opt.nameMap) {\n f.name = opt.nameMap[f.properties?.[opt.nameProperty]];\n } else {\n f.name = f.properties?.[opt.nameProperty];\n }\n });\n }\n return data.features;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/obj-flat.ts"],"names":[],"mappings":";;;AAIO,MAAM,OAAO,GAAG,CAAC,IAAqB,EAAE,EAAU,EAAE,EAAE;IAE3D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACzE,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,WAAW,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;QACjC,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,GAAG,KAAK,EAAE,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3B;SACF;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB","file":"obj-flat.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\n/**\n * @description 针对某个数组进行数据展开,将数组中的每个元素拆出来加入数据集\n */\nexport const objFlat = (data: Array<DataView>, op: string) => {\n // 数据处理\n const dataCollect = data[0].latestData ? data[0].latestData : data || [];\n const result: any[] = [];\n dataCollect.forEach((datum: any) => {\n const dataKey: any = {};\n for (const key in datum) {\n if (key !== op) {\n dataKey[key] = datum[key];\n }\n }\n const dataOp = datum[op];\n dataOp?.forEach((d: any) => {\n result.push(Object.assign({}, dataKey, d));\n });\n });\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/obj-flat.ts"],"names":[],"mappings":";;;AAIO,MAAM,OAAO,GAAG,CAAC,IAAqB,EAAE,EAAU,EAAE,EAAE;IAE3D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACzE,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,WAAW,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;QACjC,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,GAAG,KAAK,EAAE,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3B;SACF;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB","file":"obj-flat.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\n/**\n * @description 针对某个数组进行数据展开,将数组中的每个元素拆出来加入数据集\n */\nexport const objFlat = (data: Array<DataView>, op: string) => {\n // 数据处理\n const dataCollect = data[0].latestData ? data[0].latestData : data || [];\n const result: any[] = [];\n dataCollect.forEach((datum: any) => {\n const dataKey: any = {};\n for (const key in datum) {\n if (key !== op) {\n dataKey[key] = datum[key];\n }\n }\n const dataOp = datum[op];\n dataOp?.forEach((d: any) => {\n result.push(Object.assign({}, dataKey, d));\n });\n });\n return result;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/pie.ts"],"names":[],"mappings":";;;AAEA,qCAA6C;AAiBtC,MAAM,GAAG,GAAG,CAAC,UAA2B,EAAE,EAAW,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,mBAAM,KAAK,EAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,EACV,GAAG,EACJ,GAAG,EAAE,CAAC;IAEP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE5F,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5C,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;QAErC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QAChC,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;QAC9C,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;QACnD,aAAa,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;QACnC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAA,sBAAe,EAAC,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEzD,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvCW,QAAA,GAAG,OAuCd","file":"pie.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { Datum } from '../../typings';\nimport { computeQuadrant } from '../../util';\n\nexport interface IPieOpt {\n angleField: string;\n\n startAngle: number;\n endAngle: number;\n\n asStartAngle: string;\n asEndAngle: string;\n asMiddleAngle: string;\n asRadian: string;\n asRatio: string;\n asQuadrant: string;\n asK: string;\n}\n\nexport const pie = (originData: Array<DataView>, op: IPieOpt) => {\n const data = originData.map((datum: Datum) => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n const {\n angleField,\n startAngle,\n endAngle,\n asStartAngle,\n asEndAngle,\n asMiddleAngle,\n asRadian,\n asRatio,\n asQuadrant,\n asK\n } = op;\n\n const total = data.reduce((sum, d) => Number.parseFloat(d[angleField]) + sum, 0);\n const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[angleField])), -Infinity);\n\n const intervalAngle = endAngle - startAngle;\n let lastAngle = startAngle;\n data.forEach(d => {\n const ratio = Number.parseFloat(d[angleField]) / total;\n const radian = ratio * intervalAngle;\n\n asRatio && (d[asRatio] = ratio);\n asStartAngle && (d[asStartAngle] = lastAngle);\n asEndAngle && (d[asEndAngle] = lastAngle + radian);\n asMiddleAngle && (d[asMiddleAngle] = lastAngle + radian / 2);\n asRadian && (d[asRadian] = radian);\n asQuadrant && (d[asQuadrant] = computeQuadrant(lastAngle + radian / 2));\n asK && (d[asK] = Number.parseFloat(d[angleField]) / max);\n\n lastAngle = d[asEndAngle];\n });\n data[data.length - 1][asEndAngle] = endAngle;\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/pie.ts"],"names":[],"mappings":";;;AAEA,qCAA6C;AAiBtC,MAAM,GAAG,GAAG,CAAC,UAA2B,EAAE,EAAW,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,mBAAM,KAAK,EAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,EACV,GAAG,EACJ,GAAG,EAAE,CAAC;IAEP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE5F,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5C,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;QAErC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QAChC,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;QAC9C,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;QACnD,aAAa,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;QACnC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAA,sBAAe,EAAC,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEzD,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvCW,QAAA,GAAG,OAuCd","file":"pie.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { Datum } from '../../typings';\nimport { computeQuadrant } from '../../util';\n\nexport interface IPieOpt {\n angleField: string;\n\n startAngle: number;\n endAngle: number;\n\n asStartAngle: string;\n asEndAngle: string;\n asMiddleAngle: string;\n asRadian: string;\n asRatio: string;\n asQuadrant: string;\n asK: string;\n}\n\nexport const pie = (originData: Array<DataView>, op: IPieOpt) => {\n const data = originData.map((datum: Datum) => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n const {\n angleField,\n startAngle,\n endAngle,\n asStartAngle,\n asEndAngle,\n asMiddleAngle,\n asRadian,\n asRatio,\n asQuadrant,\n asK\n } = op;\n\n const total = data.reduce((sum, d) => Number.parseFloat(d[angleField]) + sum, 0);\n const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[angleField])), -Infinity);\n\n const intervalAngle = endAngle - startAngle;\n let lastAngle = startAngle;\n data.forEach(d => {\n const ratio = Number.parseFloat(d[angleField]) / total;\n const radian = ratio * intervalAngle;\n\n asRatio && (d[asRatio] = ratio);\n asStartAngle && (d[asStartAngle] = lastAngle);\n asEndAngle && (d[asEndAngle] = lastAngle + radian);\n asMiddleAngle && (d[asMiddleAngle] = lastAngle + radian / 2);\n asRadian && (d[asRadian] = radian);\n asQuadrant && (d[asQuadrant] = computeQuadrant(lastAngle + radian / 2));\n asK && (d[asK] = Number.parseFloat(d[angleField]) / max);\n\n lastAngle = d[asEndAngle];\n });\n data[data.length - 1][asEndAngle] = endAngle;\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/regression.ts"],"names":[],"mappings":";;;AACA,qCAAwC;AAOxC,SAAgB,gBAAgB,CAAC,KAAsB,EAAE,GAAgB;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,iBAAU,EAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAJD,4CAIC","file":"regression.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { regression } from '../../util';\n\nexport type IOptionRegr = {\n fieldX: string;\n fieldY: string;\n};\n\nexport function markerRegression(_data: Array<DataView>, opt: IOptionRegr) {\n const data = _data[0].latestData;\n\n return regression(data, opt.fieldX, opt.fieldY);\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/regression.ts"],"names":[],"mappings":";;;AACA,qCAAwC;AAOxC,SAAgB,gBAAgB,CAAC,KAAsB,EAAE,GAAgB;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,iBAAU,EAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAJD,4CAIC","file":"regression.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { regression } from '../../util';\n\nexport type IOptionRegr = {\n fieldX: string;\n fieldY: string;\n};\n\nexport function markerRegression(_data: Array<DataView>, opt: IOptionRegr) {\n const data = _data[0].latestData;\n\n return regression(data, opt.fieldX, opt.fieldY);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/sankey-links.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAEpC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,EAAE;;IAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,UAAU,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC7E,OAAO,MAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB","file":"sankey-links.js","sourcesContent":["import type { SankeyData } from '@visactor/vgrammar-sankey';\nimport { isArray } from '@visactor/vutils';\n\nexport const sankeyLinks = (data: SankeyData) => {\n if (!data || !isArray(data)) {\n return [];\n }\n\n if (data[0]?.latestData && data[0].latestData.length && data[0].latestData[0]) {\n return data[0].latestData[0].links ?? [];\n }\n\n return [];\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/sankey-links.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAEpC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,EAAE;;IAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,UAAU,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC7E,OAAO,MAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB","file":"sankey-links.js","sourcesContent":["import type { SankeyData } from '@visactor/vgrammar-sankey';\nimport { isArray } from '@visactor/vutils';\n\nexport const sankeyLinks = (data: SankeyData) => {\n if (!data || !isArray(data)) {\n return [];\n }\n\n if (data[0]?.latestData && data[0].latestData.length && data[0].latestData[0]) {\n return data[0].latestData[0].links ?? [];\n }\n\n return [];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/sankey-nodes.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAEpC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,EAAE;;IAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,UAAU,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC7E,OAAO,MAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB","file":"sankey-nodes.js","sourcesContent":["import type { SankeyData } from '@visactor/vgrammar-sankey';\nimport { isArray } from '@visactor/vutils';\n\nexport const sankeyNodes = (data: SankeyData) => {\n if (!data || !isArray(data)) {\n return [];\n }\n\n if (data[0]?.latestData && data[0].latestData.length && data[0].latestData[0]) {\n return data[0].latestData[0].nodes ?? [];\n }\n\n return [];\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/sankey-nodes.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAEpC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,EAAE;;IAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,UAAU,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC7E,OAAO,MAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB","file":"sankey-nodes.js","sourcesContent":["import type { SankeyData } from '@visactor/vgrammar-sankey';\nimport { isArray } from '@visactor/vutils';\n\nexport const sankeyNodes = (data: SankeyData) => {\n if (!data || !isArray(data)) {\n return [];\n }\n\n if (data[0]?.latestData && data[0].latestData.length && data[0].latestData[0]) {\n return data[0].latestData[0].nodes ?? [];\n }\n\n return [];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/sankey.ts"],"names":[],"mappings":";;;AACA,+DAAyD;AACzD,6CAA2C;AAMpC,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAE,EAAc,EAAE,EAAE;;IACzD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,CAAA,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEvB,IACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ;QAC9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ,EAC9B;QACA,OAAO,IAAI,CAAC;KACb;IAED,IAAI,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC9B;SAAM;QACL,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;IAED,MAAM,MAAM,GAAG,IAAI,8BAAY,CAAC,EAAE,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA/BW,QAAA,MAAM,UA+BjB","file":"sankey.js","sourcesContent":["import type { SankeyOptions, SankeyData } from '@visactor/vgrammar-sankey';\nimport { SankeyLayout } from '@visactor/vgrammar-sankey';\nimport { isArray } from '@visactor/vutils';\n\nexport interface ISankeyOpt extends SankeyOptions {\n view: () => { x0: number; x1: number; y0: number; y1: number };\n}\n\nexport const sankey = (data: SankeyData, op: ISankeyOpt) => {\n if (!data || !op?.view || !isArray(data)) {\n return data;\n }\n\n const view = op.view();\n\n if (\n view.x1 - view.x0 === 0 ||\n view.y1 - view.y0 === 0 ||\n view.x1 - view.x0 === -Infinity ||\n view.x1 - view.x0 === Infinity ||\n view.y1 - view.y0 === -Infinity ||\n view.y1 - view.y0 === Infinity\n ) {\n return data;\n }\n\n if (data[0]?.latestData) {\n data = data[0].latestData[0];\n } else {\n data = data[0];\n }\n\n const layout = new SankeyLayout(op);\n\n const result = [];\n\n result.push(layout.layout(data, view));\n\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/sankey.ts"],"names":[],"mappings":";;;AACA,+DAAyD;AACzD,6CAA2C;AAMpC,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAE,EAAc,EAAE,EAAE;;IACzD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,CAAA,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEvB,IACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ;QAC9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ,EAC9B;QACA,OAAO,IAAI,CAAC;KACb;IAED,IAAI,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC9B;SAAM;QACL,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;IAED,MAAM,MAAM,GAAG,IAAI,8BAAY,CAAC,EAAE,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA/BW,QAAA,MAAM,UA+BjB","file":"sankey.js","sourcesContent":["import type { SankeyOptions, SankeyData } from '@visactor/vgrammar-sankey';\nimport { SankeyLayout } from '@visactor/vgrammar-sankey';\nimport { isArray } from '@visactor/vutils';\n\nexport interface ISankeyOpt extends SankeyOptions {\n view: () => { x0: number; x1: number; y0: number; y1: number };\n}\n\nexport const sankey = (data: SankeyData, op: ISankeyOpt) => {\n if (!data || !op?.view || !isArray(data)) {\n return data;\n }\n\n const view = op.view();\n\n if (\n view.x1 - view.x0 === 0 ||\n view.y1 - view.y0 === 0 ||\n view.x1 - view.x0 === -Infinity ||\n view.x1 - view.x0 === Infinity ||\n view.y1 - view.y0 === -Infinity ||\n view.y1 - view.y0 === Infinity\n ) {\n return data;\n }\n\n if (data[0]?.latestData) {\n data = data[0].latestData[0];\n } else {\n data = data[0];\n }\n\n const layout = new SankeyLayout(op);\n\n const result = [];\n\n result.push(layout.layout(data, view));\n\n return result;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/stack-split.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAQ5B,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAE,EAAgB,EAAE,EAAE;IACpE,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,EAAE;KACV,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;QACnB,OAAO,MAAM,CAAC;KACf;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,GAAyB,MAAM,CAAC;IACxC,IAAI,QAA8B,CAAC;IACnC,IAAI,IAA0B,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QAChB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE;YACjC,IAAI,GAAG,MAAM,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,IAAA,YAAK,EAAC,EAAE,CAAC,EAAE;oBACb,MAAM;iBACP;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBACnB,IAAI,CAAC,KAAK,cAAc,EAAE;wBACxB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;qBACjC;yBAAM;wBACL,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;wBACzB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;qBAC3B;iBACF;gBACD,IAAI,CAAC,KAAK,cAAc,EAAE;oBACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAyB,CAAC;oBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACrB;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAyB,CAAC;iBAC/C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAvCW,QAAA,UAAU,cAuCrB","file":"stack-split.js","sourcesContent":["import type { ISeriesStackData, ISeriesStackDataLeaf, ISeriesStackDataNode } from '../../series/interface';\nimport { isNil } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum } from '../../typings';\n\nexport interface IStackOption {\n fields: string[];\n}\n\nexport const stackSplit = (data: Array<DataView>, op: IStackOption) => {\n const result: ISeriesStackData = {\n nodes: {}\n };\n const { fields } = op;\n if (!fields?.length) {\n return result;\n }\n const lastFieldIndex = fields.length - 1;\n let temp: ISeriesStackDataNode = result;\n let nextNode: ISeriesStackDataNode;\n let leaf: ISeriesStackDataLeaf;\n data.forEach(dv => {\n dv.latestData.forEach((d: Datum) => {\n temp = result;\n for (let i = 0; i < fields.length; i++) {\n const f = fields[i];\n const fV = d[f];\n if (isNil(fV)) {\n break;\n }\n if (!temp.nodes[fV]) {\n if (i === lastFieldIndex) {\n temp.nodes[fV] = { values: [] };\n } else {\n nextNode = { nodes: {} };\n temp.nodes[fV] = nextNode;\n }\n }\n if (i === lastFieldIndex) {\n leaf = temp.nodes[fV] as ISeriesStackDataLeaf;\n leaf.values.push(d);\n } else {\n temp = temp.nodes[fV] as ISeriesStackDataNode;\n }\n }\n });\n });\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/stack-split.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAQ5B,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAE,EAAgB,EAAE,EAAE;IACpE,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,EAAE;KACV,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;QACnB,OAAO,MAAM,CAAC;KACf;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,GAAyB,MAAM,CAAC;IACxC,IAAI,QAA8B,CAAC;IACnC,IAAI,IAA0B,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QAChB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE;YACjC,IAAI,GAAG,MAAM,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,IAAA,YAAK,EAAC,EAAE,CAAC,EAAE;oBACb,MAAM;iBACP;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBACnB,IAAI,CAAC,KAAK,cAAc,EAAE;wBACxB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;qBACjC;yBAAM;wBACL,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;wBACzB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;qBAC3B;iBACF;gBACD,IAAI,CAAC,KAAK,cAAc,EAAE;oBACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAyB,CAAC;oBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACrB;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAyB,CAAC;iBAC/C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAvCW,QAAA,UAAU,cAuCrB","file":"stack-split.js","sourcesContent":["import type { ISeriesStackData, ISeriesStackDataLeaf, ISeriesStackDataNode } from '../../series/interface';\nimport { isNil } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum } from '../../typings';\n\nexport interface IStackOption {\n fields: string[];\n}\n\nexport const stackSplit = (data: Array<DataView>, op: IStackOption) => {\n const result: ISeriesStackData = {\n nodes: {}\n };\n const { fields } = op;\n if (!fields?.length) {\n return result;\n }\n const lastFieldIndex = fields.length - 1;\n let temp: ISeriesStackDataNode = result;\n let nextNode: ISeriesStackDataNode;\n let leaf: ISeriesStackDataLeaf;\n data.forEach(dv => {\n dv.latestData.forEach((d: Datum) => {\n temp = result;\n for (let i = 0; i < fields.length; i++) {\n const f = fields[i];\n const fV = d[f];\n if (isNil(fV)) {\n break;\n }\n if (!temp.nodes[fV]) {\n if (i === lastFieldIndex) {\n temp.nodes[fV] = { values: [] };\n } else {\n nextNode = { nodes: {} };\n temp.nodes[fV] = nextNode;\n }\n }\n if (i === lastFieldIndex) {\n leaf = temp.nodes[fV] as ISeriesStackDataLeaf;\n leaf.values.push(d);\n } else {\n temp = temp.nodes[fV] as ISeriesStackDataNode;\n }\n }\n });\n });\n return result;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/sunburst.ts"],"names":[],"mappings":";;;AAEA,qEAA8D;AAWvD,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAsB,EAAE,EAAE;IAC3E,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,mCAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB","file":"sunburst.js","sourcesContent":["import type { SunburstOptions } from '@visactor/vgrammar-hierarchy';\n// eslint-disable-next-line no-duplicate-imports\nimport { SunburstLayout } from '@visactor/vgrammar-hierarchy';\nimport type { Datum } from '../../typings';\n\nexport interface ISunburstOpt extends SunburstOptions {\n width: number;\n height: number;\n}\n\n/**\n * 旭日图布局算法,VGrammar 提供.\n */\nexport const sunburstLayout = (data: Array<Datum>, op: () => ISunburstOpt) => {\n if (!data) {\n return data;\n }\n const options = op();\n const { width, height } = options;\n const layout = new SunburstLayout(options);\n return layout.layout(data, { width, height });\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/sunburst.ts"],"names":[],"mappings":";;;AAEA,qEAA8D;AAWvD,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAsB,EAAE,EAAE;IAC3E,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,mCAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB","file":"sunburst.js","sourcesContent":["import type { SunburstOptions } from '@visactor/vgrammar-hierarchy';\n// eslint-disable-next-line no-duplicate-imports\nimport { SunburstLayout } from '@visactor/vgrammar-hierarchy';\nimport type { Datum } from '../../typings';\n\nexport interface ISunburstOpt extends SunburstOptions {\n width: number;\n height: number;\n}\n\n/**\n * 旭日图布局算法,VGrammar 提供.\n */\nexport const sunburstLayout = (data: Array<Datum>, op: () => ISunburstOpt) => {\n if (!data) {\n return data;\n }\n const options = op();\n const { width, height } = options;\n const layout = new SunburstLayout(options);\n return layout.layout(data, { width, height });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/config.ts"],"names":[],"mappings":";;;AACa,QAAA,6BAA6B,GAAG,CAAC,CAAC","file":"config.js","sourcesContent":["/** 连续轴默认 tick 数量 */\nexport const DEFAULT_CONTINUOUS_TICK_COUNT = 5;\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/config.ts"],"names":[],"mappings":";;;AACa,QAAA,6BAA6B,GAAG,CAAC,CAAC","file":"config.js","sourcesContent":["/** 连续轴默认 tick 数量 */\nexport const DEFAULT_CONTINUOUS_TICK_COUNT = 5;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/continuous.ts"],"names":[],"mappings":"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","file":"continuous.js","sourcesContent":["import type { LinearScale, ContinuousScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { isValid, peek } from '../../../util';\nimport { DEFAULT_CONTINUOUS_TICK_COUNT } from './config';\nimport type { ICartesianTickDataOpt, ITickData, ITickDataOpt } from './interface';\nimport type { ILabelItem } from './util';\n// eslint-disable-next-line no-duplicate-imports\nimport { convertDomainToTickData, getCartesianLabelBounds, hasOverlap, intersect } from './util';\n\n/**\n * 对于连续轴:\n * - 如果spec配了tickCount、forceTickCount、tickStep,则直接输出LinearScale的ticks()、forceTicks()、stepTicks()结果;\n * - 默认输出tickCount为10的ticks()结果。\n *\n * @param scale\n * @param op\n * @returns\n */\nexport const continuousTicks = (scale: ContinuousScale, op: ITickDataOpt): ITickData[] => {\n if (!isContinuous(scale.type)) {\n return convertDomainToTickData(scale.domain(), op);\n }\n const { tickCount, forceTickCount, tickStep } = op;\n\n let scaleTicks: number[];\n if (isValid(tickStep)) {\n scaleTicks = (scale as LinearScale).stepTicks(tickStep);\n } else if (isValid(forceTickCount)) {\n scaleTicks = (scale as LinearScale).forceTicks(forceTickCount);\n } else {\n scaleTicks = (scale as LinearScale).ticks(tickCount ?? DEFAULT_CONTINUOUS_TICK_COUNT);\n }\n\n // 判断重叠\n if (op.coordinateType === 'cartesian' || (op.coordinateType === 'polar' && op.axisOrientType === 'radius')) {\n const { labelGap = 4, labelFlush } = op as ICartesianTickDataOpt;\n let items = getCartesianLabelBounds(scale, scaleTicks, op as ICartesianTickDataOpt).map(\n (bounds, i) =>\n ({\n AABBBounds: bounds,\n value: scaleTicks[i]\n } as ILabelItem<number>)\n );\n while (items.length >= 3 && hasOverlap(items, labelGap)) {\n items = methods.parity(items);\n }\n const ticks = items.map(item => item.value);\n\n if (ticks.length < 3 && labelFlush) {\n if (ticks.length > 1) {\n ticks.pop();\n }\n if (peek(ticks) !== peek(scaleTicks)) {\n ticks.push(peek(scaleTicks));\n }\n }\n\n scaleTicks = ticks;\n }\n return convertDomainToTickData(scaleTicks, op);\n};\n\nconst methods = {\n parity: function <T>(items: ILabelItem<T>[]) {\n return items.filter((item, i) => i % 2 === 0);\n },\n greedy: function <T>(items: ILabelItem<T>[], sep: number) {\n let a: ILabelItem<T>;\n return items.filter((b, i) => {\n if (!i || !intersect(a.AABBBounds, b.AABBBounds, sep)) {\n a = b;\n return true;\n }\n return false;\n });\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/continuous.ts"],"names":[],"mappings":"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","file":"continuous.js","sourcesContent":["import type { LinearScale, ContinuousScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { isValid, peek } from '../../../util';\nimport { DEFAULT_CONTINUOUS_TICK_COUNT } from './config';\nimport type { ICartesianTickDataOpt, ITickData, ITickDataOpt } from './interface';\nimport type { ILabelItem } from './util';\n// eslint-disable-next-line no-duplicate-imports\nimport { convertDomainToTickData, getCartesianLabelBounds, hasOverlap, intersect } from './util';\n\n/**\n * 对于连续轴:\n * - 如果spec配了tickCount、forceTickCount、tickStep,则直接输出LinearScale的ticks()、forceTicks()、stepTicks()结果;\n * - 默认输出tickCount为10的ticks()结果。\n *\n * @param scale\n * @param op\n * @returns\n */\nexport const continuousTicks = (scale: ContinuousScale, op: ITickDataOpt): ITickData[] => {\n if (!isContinuous(scale.type)) {\n return convertDomainToTickData(scale.domain(), op);\n }\n const { tickCount, forceTickCount, tickStep } = op;\n\n let scaleTicks: number[];\n if (isValid(tickStep)) {\n scaleTicks = (scale as LinearScale).stepTicks(tickStep);\n } else if (isValid(forceTickCount)) {\n scaleTicks = (scale as LinearScale).forceTicks(forceTickCount);\n } else {\n scaleTicks = (scale as LinearScale).ticks(tickCount ?? DEFAULT_CONTINUOUS_TICK_COUNT);\n }\n\n // 判断重叠\n if (op.coordinateType === 'cartesian' || (op.coordinateType === 'polar' && op.axisOrientType === 'radius')) {\n const { labelGap = 4, labelFlush } = op as ICartesianTickDataOpt;\n let items = getCartesianLabelBounds(scale, scaleTicks, op as ICartesianTickDataOpt).map(\n (bounds, i) =>\n ({\n AABBBounds: bounds,\n value: scaleTicks[i]\n } as ILabelItem<number>)\n );\n while (items.length >= 3 && hasOverlap(items, labelGap)) {\n items = methods.parity(items);\n }\n const ticks = items.map(item => item.value);\n\n if (ticks.length < 3 && labelFlush) {\n if (ticks.length > 1) {\n ticks.pop();\n }\n if (peek(ticks) !== peek(scaleTicks)) {\n ticks.push(peek(scaleTicks));\n }\n }\n\n scaleTicks = ticks;\n }\n return convertDomainToTickData(scaleTicks, op);\n};\n\nconst methods = {\n parity: function <T>(items: ILabelItem<T>[]) {\n return items.filter((item, i) => i % 2 === 0);\n },\n greedy: function <T>(items: ILabelItem<T>[], sep: number) {\n let a: ILabelItem<T>;\n return items.filter((b, i) => {\n if (!i || !intersect(a.AABBBounds, b.AABBBounds, sep)) {\n a = b;\n return true;\n }\n return false;\n });\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/discrete/linear.ts"],"names":[],"mappings":"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","file":"linear.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport { isValid } from '../../../../util';\nimport type { ICartesianTickDataOpt, ITickData } from '../interface';\nimport { convertDomainToTickData, getCartesianLabelBounds, labelDistance, labelOverlap } from '../util';\nimport type { AABBBounds } from '@visactor/vutils';\n\n/**\n * 对于离散轴:\n * - 如果spec配了tickCount、forceTickCount、tickStep,则直接输出BandScale的ticks()、forceTicks()、stepTicks()结果;\n * - 估算所有轴label的宽度(或高度,在竖轴的情况下)并存为数组domainLengthList;\n * - 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡(此处用到domainLengthList和scale.range());\n * - 如果用户配置了spec.label.lastVisible,则处理右边界:强制采样最后一个tick数据,并删掉这个tick的label所覆盖的那些tick数据。\n *\n * @param scale\n * @param op\n * @returns\n */\nexport const linearDiscreteTicks = (scale: BandScale, op: ICartesianTickDataOpt): ITickData[] => {\n const { tickCount, forceTickCount, tickStep, labelGap = 4, axisOrientType } = op;\n const isHorizontal = ['bottom', 'top'].includes(axisOrientType);\n\n let scaleTicks;\n if (isValid(tickStep)) {\n scaleTicks = scale.stepTicks(tickStep);\n } else if (isValid(forceTickCount)) {\n scaleTicks = scale.forceTicks(forceTickCount);\n } else if (isValid(tickCount)) {\n scaleTicks = scale.ticks(tickCount);\n } else {\n const domain = scale.domain();\n const range = scale.range();\n\n const labelBoundsList = getCartesianLabelBounds(scale, domain, op);\n\n const domainLengthList = labelBoundsList.map(b => {\n return isHorizontal ? b.width() : b.height();\n });\n\n const rangeStart = Math.min(...range);\n const rangeEnd = Math.max(...range);\n const incrementUnit = (rangeEnd - rangeStart) / domain.length;\n const result = getStep(\n domain,\n labelBoundsList,\n labelGap,\n op.labelLastVisible,\n isHorizontal,\n Math.floor(Math.min(...domainLengthList) / incrementUnit) // 给step赋上合适的初值,有效改善外层循环次数\n );\n\n scaleTicks = (scale as BandScale).stepTicks(result.step);\n if (op.labelLastVisible) {\n scaleTicks = scaleTicks.slice(0, scaleTicks.length - result.delCount);\n scaleTicks.push(domain[domain.length - 1]);\n }\n }\n\n return convertDomainToTickData(scaleTicks, op);\n};\n\n/** 计算合适的step */\nconst getStep = (\n domain: any[],\n labelBoundsList: AABBBounds[],\n labelGap: number,\n labelLastVisible: boolean,\n isHorizontal: boolean,\n defaultStep: number\n) => {\n let step = defaultStep;\n let delCount = 0;\n let resultDelCount = 0;\n let resultStep = 0;\n let resultTickCount = -1;\n let minDiff = Number.MAX_VALUE;\n // 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡\n do {\n let success = true;\n step++;\n let ptr = 0;\n do {\n if (ptr + step < domain.length && labelOverlap(labelBoundsList[ptr], labelBoundsList[ptr + step], labelGap)) {\n success = false;\n }\n ptr += step;\n } while (success && ptr < domain.length);\n\n if (success) {\n if (labelLastVisible) {\n const lastIndex = domain.length - 1;\n delCount = 0;\n do {\n ptr -= step; // 获取最后一个label位置\n if (ptr === lastIndex || labelOverlap(labelBoundsList[ptr], labelBoundsList[lastIndex], labelGap)) {\n delCount++;\n } else {\n break;\n }\n } while (ptr > 0);\n if (ptr === lastIndex) {\n // 采到的最后的一个 label 刚好是最后一项,直接退出\n resultStep = step;\n resultDelCount = delCount;\n break;\n } else {\n // 尝试获取最均匀的结果,防止倒数第二项和最后一项有大的空档\n const tickCount = Math.floor(domain.length / step) - delCount + 1;\n if (tickCount < resultTickCount) {\n break;\n } else {\n resultTickCount = tickCount;\n const distanceIndex = isHorizontal ? 0 : 1;\n const distance1 = labelDistance(labelBoundsList[ptr], labelBoundsList[lastIndex])[distanceIndex]; // 倒数第2项和最后一项的距离\n const distance2 =\n ptr - step >= 0\n ? labelDistance(labelBoundsList[ptr - step], labelBoundsList[ptr])[distanceIndex]\n : distance1; // 倒数第3项和倒数第2项的距离\n const diff = Math.abs(distance1 - distance2);\n if (diff < minDiff) {\n minDiff = diff;\n resultStep = step; // 记录最均匀的 step\n resultDelCount = delCount;\n }\n }\n }\n } else {\n resultStep = step;\n break;\n }\n }\n } while (step <= domain.length);\n\n return {\n step: resultStep,\n delCount: resultDelCount\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/discrete/linear.ts"],"names":[],"mappings":"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","file":"linear.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport { isValid } from '../../../../util';\nimport type { ICartesianTickDataOpt, ITickData } from '../interface';\nimport { convertDomainToTickData, getCartesianLabelBounds, labelDistance, labelOverlap } from '../util';\nimport type { AABBBounds } from '@visactor/vutils';\n\n/**\n * 对于离散轴:\n * - 如果spec配了tickCount、forceTickCount、tickStep,则直接输出BandScale的ticks()、forceTicks()、stepTicks()结果;\n * - 估算所有轴label的宽度(或高度,在竖轴的情况下)并存为数组domainLengthList;\n * - 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡(此处用到domainLengthList和scale.range());\n * - 如果用户配置了spec.label.lastVisible,则处理右边界:强制采样最后一个tick数据,并删掉这个tick的label所覆盖的那些tick数据。\n *\n * @param scale\n * @param op\n * @returns\n */\nexport const linearDiscreteTicks = (scale: BandScale, op: ICartesianTickDataOpt): ITickData[] => {\n const { tickCount, forceTickCount, tickStep, labelGap = 4, axisOrientType } = op;\n const isHorizontal = ['bottom', 'top'].includes(axisOrientType);\n\n let scaleTicks;\n if (isValid(tickStep)) {\n scaleTicks = scale.stepTicks(tickStep);\n } else if (isValid(forceTickCount)) {\n scaleTicks = scale.forceTicks(forceTickCount);\n } else if (isValid(tickCount)) {\n scaleTicks = scale.ticks(tickCount);\n } else {\n const domain = scale.domain();\n const range = scale.range();\n\n const labelBoundsList = getCartesianLabelBounds(scale, domain, op);\n\n const domainLengthList = labelBoundsList.map(b => {\n return isHorizontal ? b.width() : b.height();\n });\n\n const rangeStart = Math.min(...range);\n const rangeEnd = Math.max(...range);\n const incrementUnit = (rangeEnd - rangeStart) / domain.length;\n const result = getStep(\n domain,\n labelBoundsList,\n labelGap,\n op.labelLastVisible,\n isHorizontal,\n Math.floor(Math.min(...domainLengthList) / incrementUnit) // 给step赋上合适的初值,有效改善外层循环次数\n );\n\n scaleTicks = (scale as BandScale).stepTicks(result.step);\n if (op.labelLastVisible) {\n scaleTicks = scaleTicks.slice(0, scaleTicks.length - result.delCount);\n scaleTicks.push(domain[domain.length - 1]);\n }\n }\n\n return convertDomainToTickData(scaleTicks, op);\n};\n\n/** 计算合适的step */\nconst getStep = (\n domain: any[],\n labelBoundsList: AABBBounds[],\n labelGap: number,\n labelLastVisible: boolean,\n isHorizontal: boolean,\n defaultStep: number\n) => {\n let step = defaultStep;\n let delCount = 0;\n let resultDelCount = 0;\n let resultStep = 0;\n let resultTickCount = -1;\n let minDiff = Number.MAX_VALUE;\n // 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡\n do {\n let success = true;\n step++;\n let ptr = 0;\n do {\n if (ptr + step < domain.length && labelOverlap(labelBoundsList[ptr], labelBoundsList[ptr + step], labelGap)) {\n success = false;\n }\n ptr += step;\n } while (success && ptr < domain.length);\n\n if (success) {\n if (labelLastVisible) {\n const lastIndex = domain.length - 1;\n delCount = 0;\n do {\n ptr -= step; // 获取最后一个label位置\n if (ptr === lastIndex || labelOverlap(labelBoundsList[ptr], labelBoundsList[lastIndex], labelGap)) {\n delCount++;\n } else {\n break;\n }\n } while (ptr > 0);\n if (ptr === lastIndex) {\n // 采到的最后的一个 label 刚好是最后一项,直接退出\n resultStep = step;\n resultDelCount = delCount;\n break;\n } else {\n // 尝试获取最均匀的结果,防止倒数第二项和最后一项有大的空档\n const tickCount = Math.floor(domain.length / step) - delCount + 1;\n if (tickCount < resultTickCount) {\n break;\n } else {\n resultTickCount = tickCount;\n const distanceIndex = isHorizontal ? 0 : 1;\n const distance1 = labelDistance(labelBoundsList[ptr], labelBoundsList[lastIndex])[distanceIndex]; // 倒数第2项和最后一项的距离\n const distance2 =\n ptr - step >= 0\n ? labelDistance(labelBoundsList[ptr - step], labelBoundsList[ptr])[distanceIndex]\n : distance1; // 倒数第3项和倒数第2项的距离\n const diff = Math.abs(distance1 - distance2);\n if (diff < minDiff) {\n minDiff = diff;\n resultStep = step; // 记录最均匀的 step\n resultDelCount = delCount;\n }\n }\n }\n } else {\n resultStep = step;\n break;\n }\n }\n } while (step <= domain.length);\n\n return {\n step: resultStep,\n delCount: resultDelCount\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/discrete/polar-angle.ts"],"names":[],"mappings":"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","file":"polar-angle.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport { isValid } from '../../../../util';\nimport type { IPolarTickDataOpt, ITickData } from '../interface';\nimport { convertDomainToTickData, getPolarAngleLabelBounds, labelOverlap } from '../util';\nimport type { AABBBounds } from '@visactor/vutils';\nimport { getAxisLabelOffset } from '../../../../component/axis/utils';\n\n/**\n * 对于离散轴:\n * - 如果spec配了tickCount、forceTickCount、tickStep,则直接输出BandScale的ticks()、forceTicks()、stepTicks()结果;\n * - 估算所有轴label的宽高并存为数组labelBoundsList;\n * - 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡(此处用到labelBoundsList和scale.range());\n *\n * @param scale\n * @param op\n * @returns\n */\nexport const polarAngleAxisDiscreteTicks = (scale: BandScale, op: IPolarTickDataOpt): ITickData[] => {\n const { tickCount, forceTickCount, tickStep, getRadius, axisSpec, labelGap = 0 } = op;\n const radius = getRadius?.();\n if (!radius) {\n return convertDomainToTickData(scale.domain(), op);\n }\n\n let scaleTicks;\n if (isValid(tickStep)) {\n scaleTicks = scale.stepTicks(tickStep);\n } else if (isValid(forceTickCount)) {\n scaleTicks = scale.forceTicks(forceTickCount);\n } else if (isValid(tickCount)) {\n scaleTicks = scale.ticks(tickCount);\n } else {\n const domain = scale.domain();\n const range = scale.range();\n\n const labelOffset = getAxisLabelOffset(axisSpec);\n const labelBoundsList = getPolarAngleLabelBounds(scale, domain, op);\n\n const rangeStart = Math.min(...range);\n const rangeEnd = Math.max(...range);\n\n const axisLength = Math.abs(rangeEnd - rangeStart) * (radius + labelOffset);\n const incrementUnit = axisLength / domain.length;\n const { step, delCount } = getStep(\n domain,\n labelBoundsList,\n labelGap,\n Math.floor(\n labelBoundsList.reduce((min, curBounds) => {\n return Math.min(min, curBounds.width(), curBounds.height());\n }, Number.MAX_VALUE) / incrementUnit\n ) // 给step赋上合适的初值,有效改善外层循环次数\n );\n\n scaleTicks = (scale as BandScale).stepTicks(step);\n scaleTicks = scaleTicks.slice(0, scaleTicks.length - delCount);\n }\n\n return convertDomainToTickData(scaleTicks, op);\n};\n\n/** 计算合适的step */\nconst getStep = (domain: any[], labelBoundsList: AABBBounds[], labelGap: number, defaultStep: number) => {\n let step = defaultStep;\n // 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡\n do {\n let success = true;\n step++;\n let ptr = 0;\n do {\n if (ptr + step < domain.length && labelOverlap(labelBoundsList[ptr], labelBoundsList[ptr + step], labelGap)) {\n success = false;\n }\n ptr += step;\n } while (success && ptr < domain.length);\n if (success) {\n break;\n }\n } while (step <= domain.length);\n\n let delCount = 0;\n if (domain.length > 2) {\n let ptr = domain.length - (domain.length % step);\n if (ptr >= domain.length) {\n ptr -= step;\n }\n // 判断首尾是否互相覆盖\n while (ptr > 0 && labelOverlap(labelBoundsList[0], labelBoundsList[ptr])) {\n delCount++;\n ptr -= step;\n }\n }\n\n return {\n step,\n delCount\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/discrete/polar-angle.ts"],"names":[],"mappings":"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","file":"polar-angle.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport { isValid } from '../../../../util';\nimport type { IPolarTickDataOpt, ITickData } from '../interface';\nimport { convertDomainToTickData, getPolarAngleLabelBounds, labelOverlap } from '../util';\nimport type { AABBBounds } from '@visactor/vutils';\nimport { getAxisLabelOffset } from '../../../../component/axis/utils';\n\n/**\n * 对于离散轴:\n * - 如果spec配了tickCount、forceTickCount、tickStep,则直接输出BandScale的ticks()、forceTicks()、stepTicks()结果;\n * - 估算所有轴label的宽高并存为数组labelBoundsList;\n * - 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡(此处用到labelBoundsList和scale.range());\n *\n * @param scale\n * @param op\n * @returns\n */\nexport const polarAngleAxisDiscreteTicks = (scale: BandScale, op: IPolarTickDataOpt): ITickData[] => {\n const { tickCount, forceTickCount, tickStep, getRadius, axisSpec, labelGap = 0 } = op;\n const radius = getRadius?.();\n if (!radius) {\n return convertDomainToTickData(scale.domain(), op);\n }\n\n let scaleTicks;\n if (isValid(tickStep)) {\n scaleTicks = scale.stepTicks(tickStep);\n } else if (isValid(forceTickCount)) {\n scaleTicks = scale.forceTicks(forceTickCount);\n } else if (isValid(tickCount)) {\n scaleTicks = scale.ticks(tickCount);\n } else {\n const domain = scale.domain();\n const range = scale.range();\n\n const labelOffset = getAxisLabelOffset(axisSpec);\n const labelBoundsList = getPolarAngleLabelBounds(scale, domain, op);\n\n const rangeStart = Math.min(...range);\n const rangeEnd = Math.max(...range);\n\n const axisLength = Math.abs(rangeEnd - rangeStart) * (radius + labelOffset);\n const incrementUnit = axisLength / domain.length;\n const { step, delCount } = getStep(\n domain,\n labelBoundsList,\n labelGap,\n Math.floor(\n labelBoundsList.reduce((min, curBounds) => {\n return Math.min(min, curBounds.width(), curBounds.height());\n }, Number.MAX_VALUE) / incrementUnit\n ) // 给step赋上合适的初值,有效改善外层循环次数\n );\n\n scaleTicks = (scale as BandScale).stepTicks(step);\n scaleTicks = scaleTicks.slice(0, scaleTicks.length - delCount);\n }\n\n return convertDomainToTickData(scaleTicks, op);\n};\n\n/** 计算合适的step */\nconst getStep = (domain: any[], labelBoundsList: AABBBounds[], labelGap: number, defaultStep: number) => {\n let step = defaultStep;\n // 通过循环来寻找最小的step,使:如果在这个step下采样,轴标签互不遮挡\n do {\n let success = true;\n step++;\n let ptr = 0;\n do {\n if (ptr + step < domain.length && labelOverlap(labelBoundsList[ptr], labelBoundsList[ptr + step], labelGap)) {\n success = false;\n }\n ptr += step;\n } while (success && ptr < domain.length);\n if (success) {\n break;\n }\n } while (step <= domain.length);\n\n let delCount = 0;\n if (domain.length > 2) {\n let ptr = domain.length - (domain.length % step);\n if (ptr >= domain.length) {\n ptr -= step;\n }\n // 判断首尾是否互相覆盖\n while (ptr > 0 && labelOverlap(labelBoundsList[0], labelBoundsList[ptr])) {\n delCount++;\n ptr -= step;\n }\n }\n\n return {\n step,\n delCount\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,6CAA4D;AAC5D,6CAA+C;AAC/C,8CAAwD;AACxD,wDAAqE;AAErE,iCAAiD;AAEjD,8CAA4B;AAGrB,MAAM,KAAK,GAAG,CAAC,KAAiB,EAAE,EAAgB,EAAe,EAAE;IACxE,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAA,4BAAe,EAAC,KAAwB,EAAE,EAAE,CAAC,CAAC;KACtD;SAAM,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,EAAE,CAAC,cAAc,KAAK,WAAW,EAAE;YACrC,OAAO,IAAA,4BAAmB,EAAC,KAAkB,EAAE,EAA2B,CAAC,CAAC;SAC7E;aAAM,IAAI,EAAE,CAAC,cAAc,KAAK,OAAO,EAAE;YACxC,IAAI,EAAE,CAAC,cAAc,KAAK,OAAO,EAAE;gBACjC,OAAO,IAAA,yCAA2B,EAAC,KAAkB,EAAE,EAAuB,CAAC,CAAC;aACjF;SACF;KACF;IACD,OAAO,IAAA,8BAAuB,EAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAbW,QAAA,KAAK,SAahB","file":"index.js","sourcesContent":["import type { BandScale, ContinuousScale, IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous, isDiscrete } from '@visactor/vscale';\nimport { continuousTicks } from './continuous';\nimport { linearDiscreteTicks } from './discrete/linear';\nimport { polarAngleAxisDiscreteTicks } from './discrete/polar-angle';\nimport type { ICartesianTickDataOpt, IPolarTickDataOpt, ITickData, ITickDataOpt } from './interface';\nimport { convertDomainToTickData } from './util';\n\nexport * from './interface';\n\n// 总入口\nexport const ticks = (scale: IBaseScale, op: ITickDataOpt): ITickData[] => {\n if (isContinuous(scale.type)) {\n return continuousTicks(scale as ContinuousScale, op);\n } else if (isDiscrete(scale.type)) {\n if (op.coordinateType === 'cartesian') {\n return linearDiscreteTicks(scale as BandScale, op as ICartesianTickDataOpt);\n } else if (op.coordinateType === 'polar') {\n if (op.axisOrientType === 'angle') {\n return polarAngleAxisDiscreteTicks(scale as BandScale, op as IPolarTickDataOpt);\n }\n }\n }\n return convertDomainToTickData(scale.domain(), op);\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,6CAA4D;AAC5D,6CAA+C;AAC/C,8CAAwD;AACxD,wDAAqE;AAErE,iCAAiD;AAEjD,8CAA4B;AAGrB,MAAM,KAAK,GAAG,CAAC,KAAiB,EAAE,EAAgB,EAAe,EAAE;IACxE,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAA,4BAAe,EAAC,KAAwB,EAAE,EAAE,CAAC,CAAC;KACtD;SAAM,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,EAAE,CAAC,cAAc,KAAK,WAAW,EAAE;YACrC,OAAO,IAAA,4BAAmB,EAAC,KAAkB,EAAE,EAA2B,CAAC,CAAC;SAC7E;aAAM,IAAI,EAAE,CAAC,cAAc,KAAK,OAAO,EAAE;YACxC,IAAI,EAAE,CAAC,cAAc,KAAK,OAAO,EAAE;gBACjC,OAAO,IAAA,yCAA2B,EAAC,KAAkB,EAAE,EAAuB,CAAC,CAAC;aACjF;SACF;KACF;IACD,OAAO,IAAA,8BAAuB,EAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAbW,QAAA,KAAK,SAahB","file":"index.js","sourcesContent":["import type { BandScale, ContinuousScale, IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous, isDiscrete } from '@visactor/vscale';\nimport { continuousTicks } from './continuous';\nimport { linearDiscreteTicks } from './discrete/linear';\nimport { polarAngleAxisDiscreteTicks } from './discrete/polar-angle';\nimport type { ICartesianTickDataOpt, IPolarTickDataOpt, ITickData, ITickDataOpt } from './interface';\nimport { convertDomainToTickData } from './util';\n\nexport * from './interface';\n\n// 总入口\nexport const ticks = (scale: IBaseScale, op: ITickDataOpt): ITickData[] => {\n if (isContinuous(scale.type)) {\n return continuousTicks(scale as ContinuousScale, op);\n } else if (isDiscrete(scale.type)) {\n if (op.coordinateType === 'cartesian') {\n return linearDiscreteTicks(scale as BandScale, op as ICartesianTickDataOpt);\n } else if (op.coordinateType === 'polar') {\n if (op.axisOrientType === 'angle') {\n return polarAngleAxisDiscreteTicks(scale as BandScale, op as IPolarTickDataOpt);\n }\n }\n }\n return convertDomainToTickData(scale.domain(), op);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPolarAxisSpec } from '../../../component/axis/polar/interface';\nimport type { CoordinateType, IOrientType, IPolarOrientType, ITextMarkSpec } from '../../../typings';\n\nexport interface ITickDataOpt {\n tickCount?: number;\n forceTickCount?: number;\n tickStep?: number;\n\n coordinateType: CoordinateType;\n axisOrientType: IOrientType | IPolarOrientType;\n startAngle?: number;\n\n labelFormatter?: (value: any) => string;\n labelStyle: ITextMarkSpec;\n labelGap?: number;\n}\n\nexport interface ICartesianTickDataOpt extends ITickDataOpt {\n axisOrientType: IOrientType;\n labelLastVisible: boolean;\n labelFlush: boolean;\n}\n\nexport interface IPolarTickDataOpt extends ITickDataOpt {\n axisOrientType: IPolarOrientType;\n getRadius: () => number;\n axisSpec: IPolarAxisSpec;\n}\n\nexport interface ITickData {\n index: number;\n value: number | string;\n label: string;\n}\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPolarAxisSpec } from '../../../component/axis/polar/interface';\nimport type { CoordinateType, IOrientType, IPolarOrientType, ITextMarkSpec } from '../../../typings';\n\nexport interface ITickDataOpt {\n tickCount?: number;\n forceTickCount?: number;\n tickStep?: number;\n\n coordinateType: CoordinateType;\n axisOrientType: IOrientType | IPolarOrientType;\n startAngle?: number;\n\n labelFormatter?: (value: any) => string;\n labelStyle: ITextMarkSpec;\n labelGap?: number;\n}\n\nexport interface ICartesianTickDataOpt extends ITickDataOpt {\n axisOrientType: IOrientType;\n labelLastVisible: boolean;\n labelFlush: boolean;\n}\n\nexport interface IPolarTickDataOpt extends ITickDataOpt {\n axisOrientType: IPolarOrientType;\n getRadius: () => number;\n axisSpec: IPolarAxisSpec;\n}\n\nexport interface ITickData {\n index: number;\n value: number | string;\n label: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/tick-data/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { AABBBounds, polarToCartesian } from '@visactor/vutils';\nimport { getAxisLabelOffset } from '../../../component/axis/utils';\nimport type { TextAlign, TextBaseLine } from '../../../typings';\nimport { angleLabelOrientAttribute, initTextMeasure, radians } from '../../../util';\nimport type { ICartesianTickDataOpt, IPolarTickDataOpt, ITickData, ITickDataOpt } from './interface';\nimport type { IGraphic } from '@visactor/vrender';\n\nexport const convertDomainToTickData = (domain: any[], op: ITickDataOpt): ITickData[] => {\n const ticks = domain.map((t: number, index: number) => {\n return {\n index,\n value: t,\n label: op.labelFormatter ? op.labelFormatter(t) : `${t}`\n };\n });\n return ticks;\n};\n\n/** 判断两个label是否有重叠情况 */\nexport const labelOverlap = (prevLabel: AABBBounds, nextLabel: AABBBounds, gap: number = 0): boolean => {\n const prevBounds = new AABBBounds(prevLabel).expand(gap / 2);\n const nextBounds = new AABBBounds(nextLabel).expand(gap / 2);\n return prevBounds.intersects(nextBounds);\n};\n\n/** 判断两个不相交的label相隔的距离 */\nexport const labelDistance = (prevLabel: AABBBounds, nextLabel: AABBBounds): [number, number] => {\n let horizontal = 0;\n if (prevLabel.x2 < nextLabel.x1) {\n horizontal = nextLabel.x1 - prevLabel.x2;\n } else if (nextLabel.x2 < prevLabel.x1) {\n horizontal = prevLabel.x1 - nextLabel.x2;\n }\n\n let vertical = 0;\n if (prevLabel.y2 < nextLabel.y1) {\n vertical = nextLabel.y1 - prevLabel.y2;\n } else if (nextLabel.y2 < prevLabel.y1) {\n vertical = prevLabel.y1 - nextLabel.y2;\n }\n\n return [horizontal, vertical];\n};\n\nexport function intersect(a: IBoundsLike, b: IBoundsLike, sep: number) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport interface ILabelItem<T> extends Pick<IGraphic, 'AABBBounds'> {\n value?: T;\n}\n\nexport function hasOverlap<T>(items: ILabelItem<T>[], pad: number): boolean {\n for (let i = 1, n = items.length, a = items[0], b; i < n; a = b, ++i) {\n b = items[i];\n if (intersect(a.AABBBounds, b.AABBBounds, pad)) {\n return true;\n }\n }\n return false;\n}\n\nconst MIN_TICK_GAP = 12;\n\nexport const getCartesianLabelBounds = (scale: IBaseScale, domain: any[], op: ICartesianTickDataOpt): AABBBounds[] => {\n const { labelStyle, axisOrientType, labelFlush, labelFormatter, startAngle = 0 } = op;\n const labelAngle = labelStyle.angle ?? 0;\n const isHorizontal = ['bottom', 'top'].includes(axisOrientType);\n const isVertical = ['left', 'right'].includes(axisOrientType);\n let orientAngle = startAngle;\n if (isHorizontal) {\n orientAngle = 0;\n } else if (isVertical) {\n orientAngle = radians(-90);\n }\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any, i: number) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const pos = scale.scale(v);\n let textX = Math.cos(orientAngle) * pos;\n let textY = -Math.sin(orientAngle) * pos;\n\n let align: TextAlign;\n if (labelFlush && isHorizontal && i === 0) {\n align = 'left';\n } else if (labelFlush && isHorizontal && i === domain.length - 1) {\n align = 'right';\n } else {\n align = labelStyle.textAlign ?? 'center';\n }\n if (align === 'right') {\n textX -= textWidth;\n } else if (align === 'center') {\n textX -= textWidth / 2;\n }\n\n let baseline: TextBaseLine;\n if (labelFlush && isVertical && i === 0) {\n baseline = 'top';\n } else if (labelFlush && isVertical && i === domain.length - 1) {\n baseline = 'bottom';\n } else {\n baseline = labelStyle.textBaseline ?? 'middle';\n }\n if (baseline === 'bottom') {\n textY -= textHeight;\n } else if (baseline === 'middle') {\n textY -= textHeight / 2;\n }\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n\nexport const getPolarAngleLabelBounds = (scale: IBaseScale, domain: any[], op: IPolarTickDataOpt): AABBBounds[] => {\n const { labelStyle, getRadius, axisSpec, labelFormatter } = op;\n const radius = getRadius?.();\n const labelAngle = labelStyle.angle ?? 0;\n\n const labelOffset = getAxisLabelOffset(axisSpec);\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const angle = scale.scale(v);\n let textX = 0;\n let textY = 0;\n const orient = angleLabelOrientAttribute(angle);\n const { x, y } = polarToCartesian({ x: 0, y: 0 }, radius + labelOffset, angle);\n textX = x + (orient.align === 'right' ? -textWidth : orient.align === 'center' ? -textWidth / 2 : 0);\n textY = y + (orient.baseline === 'bottom' ? -textHeight : orient.baseline === 'middle' ? -textHeight / 2 : 0);\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/tick-data/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { AABBBounds, polarToCartesian } from '@visactor/vutils';\nimport { getAxisLabelOffset } from '../../../component/axis/utils';\nimport type { TextAlign, TextBaseLine } from '../../../typings';\nimport { angleLabelOrientAttribute, initTextMeasure, radians } from '../../../util';\nimport type { ICartesianTickDataOpt, IPolarTickDataOpt, ITickData, ITickDataOpt } from './interface';\nimport type { IGraphic } from '@visactor/vrender';\n\nexport const convertDomainToTickData = (domain: any[], op: ITickDataOpt): ITickData[] => {\n const ticks = domain.map((t: number, index: number) => {\n return {\n index,\n value: t,\n label: op.labelFormatter ? op.labelFormatter(t) : `${t}`\n };\n });\n return ticks;\n};\n\n/** 判断两个label是否有重叠情况 */\nexport const labelOverlap = (prevLabel: AABBBounds, nextLabel: AABBBounds, gap: number = 0): boolean => {\n const prevBounds = new AABBBounds(prevLabel).expand(gap / 2);\n const nextBounds = new AABBBounds(nextLabel).expand(gap / 2);\n return prevBounds.intersects(nextBounds);\n};\n\n/** 判断两个不相交的label相隔的距离 */\nexport const labelDistance = (prevLabel: AABBBounds, nextLabel: AABBBounds): [number, number] => {\n let horizontal = 0;\n if (prevLabel.x2 < nextLabel.x1) {\n horizontal = nextLabel.x1 - prevLabel.x2;\n } else if (nextLabel.x2 < prevLabel.x1) {\n horizontal = prevLabel.x1 - nextLabel.x2;\n }\n\n let vertical = 0;\n if (prevLabel.y2 < nextLabel.y1) {\n vertical = nextLabel.y1 - prevLabel.y2;\n } else if (nextLabel.y2 < prevLabel.y1) {\n vertical = prevLabel.y1 - nextLabel.y2;\n }\n\n return [horizontal, vertical];\n};\n\nexport function intersect(a: IBoundsLike, b: IBoundsLike, sep: number) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport interface ILabelItem<T> extends Pick<IGraphic, 'AABBBounds'> {\n value?: T;\n}\n\nexport function hasOverlap<T>(items: ILabelItem<T>[], pad: number): boolean {\n for (let i = 1, n = items.length, a = items[0], b; i < n; a = b, ++i) {\n b = items[i];\n if (intersect(a.AABBBounds, b.AABBBounds, pad)) {\n return true;\n }\n }\n return false;\n}\n\nconst MIN_TICK_GAP = 12;\n\nexport const getCartesianLabelBounds = (scale: IBaseScale, domain: any[], op: ICartesianTickDataOpt): AABBBounds[] => {\n const { labelStyle, axisOrientType, labelFlush, labelFormatter, startAngle = 0 } = op;\n const labelAngle = labelStyle.angle ?? 0;\n const isHorizontal = ['bottom', 'top'].includes(axisOrientType);\n const isVertical = ['left', 'right'].includes(axisOrientType);\n let orientAngle = startAngle;\n if (isHorizontal) {\n orientAngle = 0;\n } else if (isVertical) {\n orientAngle = radians(-90);\n }\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any, i: number) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const pos = scale.scale(v);\n let textX = Math.cos(orientAngle) * pos;\n let textY = -Math.sin(orientAngle) * pos;\n\n let align: TextAlign;\n if (labelFlush && isHorizontal && i === 0) {\n align = 'left';\n } else if (labelFlush && isHorizontal && i === domain.length - 1) {\n align = 'right';\n } else {\n align = labelStyle.textAlign ?? 'center';\n }\n if (align === 'right') {\n textX -= textWidth;\n } else if (align === 'center') {\n textX -= textWidth / 2;\n }\n\n let baseline: TextBaseLine;\n if (labelFlush && isVertical && i === 0) {\n baseline = 'top';\n } else if (labelFlush && isVertical && i === domain.length - 1) {\n baseline = 'bottom';\n } else {\n baseline = labelStyle.textBaseline ?? 'middle';\n }\n if (baseline === 'bottom') {\n textY -= textHeight;\n } else if (baseline === 'middle') {\n textY -= textHeight / 2;\n }\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n\nexport const getPolarAngleLabelBounds = (scale: IBaseScale, domain: any[], op: IPolarTickDataOpt): AABBBounds[] => {\n const { labelStyle, getRadius, axisSpec, labelFormatter } = op;\n const radius = getRadius?.();\n const labelAngle = labelStyle.angle ?? 0;\n\n const labelOffset = getAxisLabelOffset(axisSpec);\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const angle = scale.scale(v);\n let textX = 0;\n let textY = 0;\n const orient = angleLabelOrientAttribute(angle);\n const { x, y } = polarToCartesian({ x: 0, y: 0 }, radius + labelOffset, angle);\n textX = x + (orient.align === 'right' ? -textWidth : orient.align === 'center' ? -textWidth / 2 : 0);\n textY = y + (orient.baseline === 'bottom' ? -textHeight : orient.baseline === 'middle' ? -textHeight / 2 : 0);\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/treemap.ts"],"names":[],"mappings":";;;AACA,qEAA6D;AAOtD,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAE,EAAe,EAAE,EAAE;IAC7D,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAA,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IAEzB,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE;QAC1D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,MAAM,GAAG,IAAI,kCAAa,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB","file":"treemap.js","sourcesContent":["import type { TreemapOptions } from '@visactor/vgrammar-hierarchy';\nimport { TreemapLayout } from '@visactor/vgrammar-hierarchy';\nimport type { Datum } from '../../typings';\n\nexport interface ITreemapOpt extends TreemapOptions {\n range: () => { x0: number; x1: number; y0: number; y1: number };\n}\n\nexport const treemap = (data: Array<Datum>, op: ITreemapOpt) => {\n if (!data || !op?.range) {\n return data;\n }\n\n const range = op.range();\n\n if (range.x1 - range.x0 === 0 || range.y1 - range.y0 === 0) {\n return data;\n }\n\n const layout = new TreemapLayout(op);\n return layout.layout(data, range);\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/treemap.ts"],"names":[],"mappings":";;;AACA,qEAA6D;AAOtD,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAE,EAAe,EAAE,EAAE;IAC7D,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAA,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IAEzB,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE;QAC1D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,MAAM,GAAG,IAAI,kCAAa,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB","file":"treemap.js","sourcesContent":["import type { TreemapOptions } from '@visactor/vgrammar-hierarchy';\nimport { TreemapLayout } from '@visactor/vgrammar-hierarchy';\nimport type { Datum } from '../../typings';\n\nexport interface ITreemapOpt extends TreemapOptions {\n range: () => { x0: number; x1: number; y0: number; y1: number };\n}\n\nexport const treemap = (data: Array<Datum>, op: ITreemapOpt) => {\n if (!data || !op?.range) {\n return data;\n }\n\n const range = op.range();\n\n if (range.x1 - range.x0 === 0 || range.y1 - range.y0 === 0) {\n return data;\n }\n\n const layout = new TreemapLayout(op);\n return layout.layout(data, range);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["data/transforms/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { Datum } from '../../typings';\nimport { WaterfallDefaultSeriesField } from '../../constant/waterfall';\n\nexport interface IWaterfallOpt {\n indexField: string;\n valueField: string;\n seriesField?: string;\n startAs: string;\n endAs: string;\n total: IWaterfallSeriesSpec['total'];\n seriesFieldName: {\n total: string;\n increase: string;\n decrease: string;\n };\n groupData: () => DataView;\n}\n\nexport const waterfall = (lastData: Array<Datum>, op: IWaterfallOpt) => {\n if (!lastData || lastData.length === 0) {\n return lastData;\n }\n const { indexField, valueField, startAs, endAs, total: totalSpec, seriesField, seriesFieldName, groupData } = op;\n const totalData: {\n start: number;\n end: number;\n lastIndex: string;\n lastEnd: number;\n index: string;\n isTotal: boolean;\n }[] = [];\n const { dimensionValues, dimensionData } = groupData().latestData as {\n dimensionValues: { [key in string]: Set<string> };\n dimensionData: { [key in string]: Datum[] };\n };\n const indexValues = Array.from(dimensionValues[indexField]);\n let temp: { start: number; end: number; lastIndex: string } = { start: 0, end: 0, lastIndex: null };\n indexValues.forEach((key, index) => {\n const total = {\n start: temp.end,\n end: temp.end,\n lastIndex: temp.lastIndex,\n lastEnd: temp.end,\n index: key,\n isTotal: false\n };\n\n const indexData = dimensionData[key];\n indexData.forEach(d => {\n let isTotalTag = false;\n if (!totalSpec || totalSpec.type === 'end') {\n if (index === indexValues.length - 1) {\n total.start = 0;\n d[startAs] = total.start;\n d[endAs] = total.end;\n isTotalTag = true;\n }\n } else if (totalSpec.type === 'field' || totalSpec.type === 'custom') {\n const tag = d[totalSpec.tagField];\n if (tag) {\n isTotalTag = true;\n if (totalSpec.type === 'custom') {\n const { start, end } = totalSpec.product(d, temp);\n d[startAs] = start;\n d[endAs] = end;\n total.end = end;\n total.start = start;\n } else {\n let start = 0;\n let end = total.end;\n // 如果有设置count, valueField 和 startField 无效\n if (totalSpec.collectCountField && !isNil(d[totalSpec.collectCountField])) {\n const startIndex = totalData.length - +d[totalSpec.collectCountField];\n const endIndex = totalData.length - 1;\n if (startIndex < 0) {\n console.warn('total.collectCountField error');\n } else {\n start = totalData[startIndex].start;\n }\n if (endIndex < 0) {\n console.warn('total.collectCountField error');\n } else {\n end = totalData[endIndex].end;\n }\n } else {\n if (totalSpec.startField && !isNil(d[totalSpec.startField])) {\n start = +d[totalSpec.startField];\n }\n if (totalSpec.valueField && !isNil(d[totalSpec.valueField])) {\n end = start + +d[totalSpec.valueField];\n }\n }\n d[startAs] = start;\n d[endAs] = end;\n d[valueField] = end - start;\n total.start = start;\n total.end = end;\n }\n }\n }\n if (!isTotalTag) {\n d[startAs] = +total.end;\n d[endAs] = d[startAs] + +d[valueField];\n total.end = d[endAs];\n }\n total.isTotal = isTotalTag;\n\n if (isNil(seriesField) || seriesField === WaterfallDefaultSeriesField) {\n if (isTotalTag) {\n d[WaterfallDefaultSeriesField] = seriesFieldName.total;\n } else {\n d[WaterfallDefaultSeriesField] = +d[valueField] >= 0 ? seriesFieldName.increase : seriesFieldName.decrease;\n }\n }\n });\n temp = { ...total, lastIndex: key };\n totalData.push(total);\n });\n return totalData;\n};\n\nexport interface IWaterfallFillEndOpt {\n indexField: string;\n valueField: string;\n seriesField?: string;\n total: IWaterfallSeriesSpec['total'];\n}\n\nexport const waterfallFillTotal = (data: Array<Datum>, op: IWaterfallFillEndOpt) => {\n if (!data) {\n return data;\n }\n const { indexField, valueField, total, seriesField } = op;\n const totalData = {\n [indexField]: total?.text || 'total',\n [valueField]: data.reduce((pre, cur) => pre + +cur[valueField], 0)\n };\n if (seriesField) {\n totalData[seriesField] = 'total';\n }\n data.push(totalData);\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { Datum } from '../../typings';\nimport { WaterfallDefaultSeriesField } from '../../constant/waterfall';\n\nexport interface IWaterfallOpt {\n indexField: string;\n valueField: string;\n seriesField?: string;\n startAs: string;\n endAs: string;\n total: IWaterfallSeriesSpec['total'];\n seriesFieldName: {\n total: string;\n increase: string;\n decrease: string;\n };\n groupData: () => DataView;\n}\n\nexport const waterfall = (lastData: Array<Datum>, op: IWaterfallOpt) => {\n if (!lastData || lastData.length === 0) {\n return lastData;\n }\n const { indexField, valueField, startAs, endAs, total: totalSpec, seriesField, seriesFieldName, groupData } = op;\n const totalData: {\n start: number;\n end: number;\n lastIndex: string;\n lastEnd: number;\n index: string;\n isTotal: boolean;\n }[] = [];\n const { dimensionValues, dimensionData } = groupData().latestData as {\n dimensionValues: { [key in string]: Set<string> };\n dimensionData: { [key in string]: Datum[] };\n };\n const indexValues = Array.from(dimensionValues[indexField]);\n let temp: { start: number; end: number; lastIndex: string } = { start: 0, end: 0, lastIndex: null };\n indexValues.forEach((key, index) => {\n const total = {\n start: temp.end,\n end: temp.end,\n lastIndex: temp.lastIndex,\n lastEnd: temp.end,\n index: key,\n isTotal: false\n };\n\n const indexData = dimensionData[key];\n indexData.forEach(d => {\n let isTotalTag = false;\n if (!totalSpec || totalSpec.type === 'end') {\n if (index === indexValues.length - 1) {\n total.start = 0;\n d[startAs] = total.start;\n d[endAs] = total.end;\n isTotalTag = true;\n }\n } else if (totalSpec.type === 'field' || totalSpec.type === 'custom') {\n const tag = d[totalSpec.tagField];\n if (tag) {\n isTotalTag = true;\n if (totalSpec.type === 'custom') {\n const { start, end } = totalSpec.product(d, temp);\n d[startAs] = start;\n d[endAs] = end;\n total.end = end;\n total.start = start;\n } else {\n let start = 0;\n let end = total.end;\n // 如果有设置count, valueField 和 startField 无效\n if (totalSpec.collectCountField && !isNil(d[totalSpec.collectCountField])) {\n const startIndex = totalData.length - +d[totalSpec.collectCountField];\n const endIndex = totalData.length - 1;\n if (startIndex < 0) {\n console.warn('total.collectCountField error');\n } else {\n start = totalData[startIndex].start;\n }\n if (endIndex < 0) {\n console.warn('total.collectCountField error');\n } else {\n end = totalData[endIndex].end;\n }\n } else {\n if (totalSpec.startField && !isNil(d[totalSpec.startField])) {\n start = +d[totalSpec.startField];\n }\n if (totalSpec.valueField && !isNil(d[totalSpec.valueField])) {\n end = start + +d[totalSpec.valueField];\n }\n }\n d[startAs] = start;\n d[endAs] = end;\n d[valueField] = end - start;\n total.start = start;\n total.end = end;\n }\n }\n }\n if (!isTotalTag) {\n d[startAs] = +total.end;\n d[endAs] = d[startAs] + +d[valueField];\n total.end = d[endAs];\n }\n total.isTotal = isTotalTag;\n\n if (isNil(seriesField) || seriesField === WaterfallDefaultSeriesField) {\n if (isTotalTag) {\n d[WaterfallDefaultSeriesField] = seriesFieldName.total;\n } else {\n d[WaterfallDefaultSeriesField] = +d[valueField] >= 0 ? seriesFieldName.increase : seriesFieldName.decrease;\n }\n }\n });\n temp = { ...total, lastIndex: key };\n totalData.push(total);\n });\n return totalData;\n};\n\nexport interface IWaterfallFillEndOpt {\n indexField: string;\n valueField: string;\n seriesField?: string;\n total: IWaterfallSeriesSpec['total'];\n}\n\nexport const waterfallFillTotal = (data: Array<Datum>, op: IWaterfallFillEndOpt) => {\n if (!data) {\n return data;\n }\n const { indexField, valueField, total, seriesField } = op;\n const totalData = {\n [indexField]: total?.text || 'total',\n [valueField]: data.reduce((pre, cur) => pre + +cur[valueField], 0)\n };\n if (seriesField) {\n totalData[seriesField] = 'total';\n }\n data.push(totalData);\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["event/bubble.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAQjD,MAAa,MAAM;IAIjB;QAHQ,SAAI,GAAgD,IAAI,GAAG,EAAE,CAAC;QAC9D,gBAAW,GAAwC,IAAI,GAAG,EAAE,CAAC;QAGnE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,OAAkC,EAAE,KAAuB;;QACpE,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5C,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,OAAkC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7E,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAuB;;QACjC,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;IACtE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF;AA3CD,wBA2CC","file":"bubble.js","sourcesContent":["import { Event_Bubble_Level } from '../constant';\nimport type { EventCallback, EventHandler, EventParams, EventBubbleLevel } from './interface';\n\nexport type BubbleNode = {\n handler: EventHandler<EventParams>;\n level: EventBubbleLevel;\n};\n\nexport class Bubble {\n private _map: Map<EventCallback<EventParams>, BubbleNode> = new Map();\n private _levelNodes: Map<EventBubbleLevel, BubbleNode[]> = new Map();\n\n constructor() {\n this._levelNodes.set(Event_Bubble_Level.vchart, []);\n this._levelNodes.set(Event_Bubble_Level.chart, []);\n this._levelNodes.set(Event_Bubble_Level.model, []);\n this._levelNodes.set(Event_Bubble_Level.mark, []);\n }\n\n addHandler(handler: EventHandler<EventParams>, level: EventBubbleLevel): this {\n const node: BubbleNode = { level, handler };\n this._levelNodes.get(level)?.push(node);\n this._map.set(handler.callback, node);\n return this;\n }\n\n removeHandler(handler: EventHandler<EventParams>): this {\n const node = this._map.get(handler.callback);\n if (!node) {\n return this;\n }\n this._map.delete(handler.callback);\n const nodes = this._levelNodes.get(node.level);\n // 由于顶层 API 封装不是 handler 形式,因此通过 callback 唯一判断\n const index = nodes?.findIndex(n => n.handler.callback === handler.callback);\n index !== undefined && index >= 0 && nodes?.splice(index, 1);\n return this;\n }\n\n getHandlers(level: EventBubbleLevel): EventHandler<EventParams>[] {\n return this._levelNodes.get(level)?.map(node => node.handler) || [];\n }\n\n getCount() {\n return this._map.size;\n }\n\n release() {\n this._map.clear();\n this._levelNodes.clear();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/event/bubble.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAQjD,MAAa,MAAM;IAIjB;QAHQ,SAAI,GAAgD,IAAI,GAAG,EAAE,CAAC;QAC9D,gBAAW,GAAwC,IAAI,GAAG,EAAE,CAAC;QAGnE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,OAAkC,EAAE,KAAuB;;QACpE,MAAM,IAAI,GAAe,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5C,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,OAAkC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7E,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAuB;;QACjC,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;IACtE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF;AA3CD,wBA2CC","file":"bubble.js","sourcesContent":["import { Event_Bubble_Level } from '../constant';\nimport type { EventCallback, EventHandler, EventParams, EventBubbleLevel } from './interface';\n\nexport type BubbleNode = {\n handler: EventHandler<EventParams>;\n level: EventBubbleLevel;\n};\n\nexport class Bubble {\n private _map: Map<EventCallback<EventParams>, BubbleNode> = new Map();\n private _levelNodes: Map<EventBubbleLevel, BubbleNode[]> = new Map();\n\n constructor() {\n this._levelNodes.set(Event_Bubble_Level.vchart, []);\n this._levelNodes.set(Event_Bubble_Level.chart, []);\n this._levelNodes.set(Event_Bubble_Level.model, []);\n this._levelNodes.set(Event_Bubble_Level.mark, []);\n }\n\n addHandler(handler: EventHandler<EventParams>, level: EventBubbleLevel): this {\n const node: BubbleNode = { level, handler };\n this._levelNodes.get(level)?.push(node);\n this._map.set(handler.callback, node);\n return this;\n }\n\n removeHandler(handler: EventHandler<EventParams>): this {\n const node = this._map.get(handler.callback);\n if (!node) {\n return this;\n }\n this._map.delete(handler.callback);\n const nodes = this._levelNodes.get(node.level);\n // 由于顶层 API 封装不是 handler 形式,因此通过 callback 唯一判断\n const index = nodes?.findIndex(n => n.handler.callback === handler.callback);\n index !== undefined && index >= 0 && nodes?.splice(index, 1);\n return this;\n }\n\n getHandlers(level: EventBubbleLevel): EventHandler<EventParams>[] {\n return this._levelNodes.get(level)?.map(node => node.handler) || [];\n }\n\n getCount() {\n return this._map.size;\n }\n\n release() {\n this._map.clear();\n this._levelNodes.clear();\n }\n}\n"]}