@visactor/vchart 1.4.0-alpha.4 → 1.4.0-alpha.6

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 (581) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +24905 -23999
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/animate-manager.js.map +1 -1
  6. package/cjs/animation/config.js +54 -56
  7. package/cjs/animation/config.js.map +1 -1
  8. package/cjs/animation/interface.d.ts +1 -1
  9. package/cjs/animation/interface.js.map +1 -1
  10. package/cjs/animation/spec.d.ts +2 -2
  11. package/cjs/animation/spec.js.map +1 -1
  12. package/cjs/animation/utils.d.ts +1 -1
  13. package/cjs/animation/utils.js.map +1 -1
  14. package/cjs/chart/base-chart.d.ts +1 -1
  15. package/cjs/chart/base-chart.js +11 -8
  16. package/cjs/chart/base-chart.js.map +1 -1
  17. package/cjs/chart/cartesian/cartesian.js +2 -1
  18. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  19. package/cjs/chart/cartesian/interface.d.ts +3 -3
  20. package/cjs/chart/cartesian/interface.js.map +1 -1
  21. package/cjs/chart/interface/chart.d.ts +1 -1
  22. package/cjs/chart/interface/chart.js.map +1 -1
  23. package/cjs/chart/interface/common.d.ts +1 -1
  24. package/cjs/chart/interface/common.js.map +1 -1
  25. package/cjs/chart/polar/polar.js +4 -3
  26. package/cjs/chart/polar/polar.js.map +1 -1
  27. package/cjs/chart/sequence/sequence.js +5 -4
  28. package/cjs/chart/sequence/sequence.js.map +1 -1
  29. package/cjs/compile/compilable-base.d.ts +1 -1
  30. package/cjs/compile/compiler.d.ts +2 -2
  31. package/cjs/compile/compiler.js +7 -7
  32. package/cjs/compile/compiler.js.map +1 -1
  33. package/cjs/compile/data/compilable-data.d.ts +1 -1
  34. package/cjs/compile/data/compilable-data.js.map +1 -1
  35. package/cjs/compile/grammar-item.d.ts +1 -1
  36. package/cjs/compile/grammar-item.js.map +1 -1
  37. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  38. package/cjs/compile/interface/compilable-item.js.map +1 -1
  39. package/cjs/compile/mark/compilable-mark.d.ts +5 -5
  40. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  41. package/cjs/compile/mark/interface.d.ts +1 -1
  42. package/cjs/compile/mark/interface.js.map +1 -1
  43. package/cjs/compile/mark/mark-state-manager.d.ts +1 -1
  44. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  45. package/cjs/compile/signal/compilable-signal.d.ts +1 -1
  46. package/cjs/compile/signal/compilable-signal.js.map +1 -1
  47. package/cjs/compile/signal/interface.d.ts +1 -1
  48. package/cjs/compile/signal/interface.js.map +1 -1
  49. package/cjs/compile/signal/signal-manager.d.ts +1 -1
  50. package/cjs/compile/signal/signal-manager.js.map +1 -1
  51. package/cjs/compile/util.js +3 -0
  52. package/cjs/compile/util.js.map +1 -1
  53. package/cjs/component/axis/base-axis.js +4 -2
  54. package/cjs/component/axis/base-axis.js.map +1 -1
  55. package/cjs/component/axis/cartesian/axis.js +2 -2
  56. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  57. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  58. package/cjs/component/axis/polar/axis.js +2 -2
  59. package/cjs/component/axis/polar/axis.js.map +1 -1
  60. package/cjs/component/axis/polar/interface/common.d.ts +2 -0
  61. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  62. package/cjs/component/base/base-component.d.ts +1 -1
  63. package/cjs/component/base/base-component.js.map +1 -1
  64. package/cjs/component/brush/brush.d.ts +1 -1
  65. package/cjs/component/brush/brush.js.map +1 -1
  66. package/cjs/component/crosshair/polar.js.map +1 -1
  67. package/cjs/component/data-zoom/constant.d.ts +4 -0
  68. package/cjs/component/data-zoom/constant.js +10 -0
  69. package/cjs/component/data-zoom/constant.js.map +1 -0
  70. package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -0
  71. package/cjs/component/data-zoom/data-filter-base-component.js +9 -8
  72. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  73. package/cjs/component/data-zoom/data-zoom/data-zoom.js +4 -3
  74. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  75. package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -0
  76. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  77. package/cjs/component/data-zoom/interface.d.ts +0 -1
  78. package/cjs/component/data-zoom/interface.js.map +1 -1
  79. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -0
  80. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  81. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +2 -0
  82. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +15 -7
  83. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  84. package/cjs/component/geo/geo-coordinate.js +7 -5
  85. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  86. package/cjs/component/geo/interface.d.ts +1 -1
  87. package/cjs/component/geo/interface.js.map +1 -1
  88. package/cjs/component/geo/projection.js.map +1 -1
  89. package/cjs/component/label/label.d.ts +1 -1
  90. package/cjs/component/label/label.js +2 -2
  91. package/cjs/component/label/label.js.map +1 -1
  92. package/cjs/component/label/totalLabel.js.map +1 -1
  93. package/cjs/component/marker/base-marker.d.ts +16 -3
  94. package/cjs/component/marker/base-marker.js +24 -17
  95. package/cjs/component/marker/base-marker.js.map +1 -1
  96. package/cjs/component/marker/interface.d.ts +4 -2
  97. package/cjs/component/marker/interface.js.map +1 -1
  98. package/cjs/component/marker/mark-area/mark-area.js +14 -11
  99. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  100. package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
  101. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  102. package/cjs/component/marker/mark-line/interface/theme.d.ts +2 -2
  103. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  104. package/cjs/component/marker/mark-line/mark-line.js +60 -24
  105. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  106. package/cjs/component/marker/mark-line/util.d.ts +9 -0
  107. package/cjs/component/marker/mark-line/util.js +69 -0
  108. package/cjs/component/marker/mark-line/util.js.map +1 -0
  109. package/cjs/component/marker/mark-point/mark-point.js +16 -13
  110. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  111. package/cjs/component/tooltip/handler/base.d.ts +2 -2
  112. package/cjs/component/tooltip/handler/base.js.map +1 -1
  113. package/cjs/component/tooltip/handler/dom/interface.d.ts +0 -1
  114. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  115. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  116. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  117. package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +4 -2
  118. package/cjs/component/tooltip/handler/dom/model/shape-model.js +20 -11
  119. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  120. package/cjs/component/tooltip/handler/dom/model/title-model.js +4 -4
  121. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  122. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +1 -7
  123. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  124. package/cjs/component/tooltip/handler/dom/util.d.ts +1 -0
  125. package/cjs/component/tooltip/handler/dom/util.js +34 -25
  126. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  127. package/cjs/component/tooltip/handler/utils/attribute.js +22 -19
  128. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  129. package/cjs/component/tooltip/handler/utils/common.d.ts +1 -1
  130. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  131. package/cjs/component/tooltip/handler/utils/compose.js +12 -5
  132. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  133. package/cjs/component/tooltip/handler/utils/get-spec.js +2 -2
  134. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  135. package/cjs/component/tooltip/processor/interface.d.ts +1 -1
  136. package/cjs/component/tooltip/processor/interface.js.map +1 -1
  137. package/cjs/constant/event.d.ts +1 -1
  138. package/cjs/constant/event.js +2 -2
  139. package/cjs/constant/event.js.map +1 -1
  140. package/cjs/core/index.d.ts +1 -1
  141. package/cjs/core/index.js +1 -1
  142. package/cjs/core/index.js.map +1 -1
  143. package/cjs/core/vchart.js +32 -20
  144. package/cjs/core/vchart.js.map +1 -1
  145. package/cjs/data/transforms/aggregation.d.ts +10 -5
  146. package/cjs/data/transforms/aggregation.js +7 -5
  147. package/cjs/data/transforms/aggregation.js.map +1 -1
  148. package/cjs/data/transforms/dimension-data.js.map +1 -1
  149. package/cjs/event/interface.d.ts +1 -1
  150. package/cjs/event/interface.js.map +1 -1
  151. package/cjs/index.d.ts +1 -0
  152. package/cjs/index.js +10 -1
  153. package/cjs/index.js.map +1 -1
  154. package/cjs/interaction/dimension-trigger.d.ts +1 -1
  155. package/cjs/interaction/dimension-trigger.js.map +1 -1
  156. package/cjs/interaction/interaction.d.ts +1 -1
  157. package/cjs/interaction/interaction.js.map +1 -1
  158. package/cjs/interaction/interface.d.ts +1 -1
  159. package/cjs/interaction/interface.js.map +1 -1
  160. package/cjs/mark/box-plot.d.ts +1 -1
  161. package/cjs/mark/box-plot.js +2 -2
  162. package/cjs/mark/box-plot.js.map +1 -1
  163. package/cjs/mark/component.d.ts +1 -1
  164. package/cjs/mark/component.js +2 -2
  165. package/cjs/mark/component.js.map +1 -1
  166. package/cjs/mark/group.d.ts +1 -1
  167. package/cjs/mark/group.js.map +1 -1
  168. package/cjs/mark/link-path.d.ts +1 -1
  169. package/cjs/mark/link-path.js +2 -2
  170. package/cjs/mark/link-path.js.map +1 -1
  171. package/cjs/model/base-model.d.ts +1 -1
  172. package/cjs/model/base-model.js.map +1 -1
  173. package/cjs/model/interface.d.ts +1 -1
  174. package/cjs/model/interface.js.map +1 -1
  175. package/cjs/region/region.d.ts +1 -1
  176. package/cjs/region/region.js +8 -2
  177. package/cjs/region/region.js.map +1 -1
  178. package/cjs/series/area/animation.d.ts +1 -1
  179. package/cjs/series/area/animation.js.map +1 -1
  180. package/cjs/series/bar/animation.d.ts +1 -1
  181. package/cjs/series/bar/animation.js.map +1 -1
  182. package/cjs/series/base/base-series.js +2 -1
  183. package/cjs/series/base/base-series.js.map +1 -1
  184. package/cjs/series/base/tooltip-helper.d.ts +1 -1
  185. package/cjs/series/base/tooltip-helper.js +2 -0
  186. package/cjs/series/base/tooltip-helper.js.map +1 -1
  187. package/cjs/series/box-plot/tooltip-helper.js +7 -0
  188. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  189. package/cjs/series/circle-packing/animation.d.ts +1 -1
  190. package/cjs/series/circle-packing/animation.js.map +1 -1
  191. package/cjs/series/dot/tooltip-helper.js +6 -0
  192. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  193. package/cjs/series/funnel/tooltip-helper.d.ts +1 -1
  194. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  195. package/cjs/series/gauge/constant.js +2 -2
  196. package/cjs/series/gauge/constant.js.map +1 -1
  197. package/cjs/series/gauge/gauge.d.ts +3 -3
  198. package/cjs/series/gauge/gauge.js +7 -4
  199. package/cjs/series/gauge/gauge.js.map +1 -1
  200. package/cjs/series/geo/geo.js +9 -3
  201. package/cjs/series/geo/geo.js.map +1 -1
  202. package/cjs/series/heatmap/animation.d.ts +1 -1
  203. package/cjs/series/heatmap/animation.js.map +1 -1
  204. package/cjs/series/line/animation.d.ts +1 -1
  205. package/cjs/series/line/animation.js.map +1 -1
  206. package/cjs/series/link/tooltip-helper.js +4 -0
  207. package/cjs/series/link/tooltip-helper.js.map +1 -1
  208. package/cjs/series/map/map.d.ts +2 -0
  209. package/cjs/series/map/map.js +41 -45
  210. package/cjs/series/map/map.js.map +1 -1
  211. package/cjs/series/mixin/line-mixin.js +2 -1
  212. package/cjs/series/mixin/line-mixin.js.map +1 -1
  213. package/cjs/series/pie/animation/animation.d.ts +1 -1
  214. package/cjs/series/pie/animation/animation.js.map +1 -1
  215. package/cjs/series/pie/animation/centerOffset.d.ts +1 -1
  216. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  217. package/cjs/series/pie/pie.js.map +1 -1
  218. package/cjs/series/polar/progress-like/animation.d.ts +1 -1
  219. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  220. package/cjs/series/polar/progress-like/constant.d.ts +2 -0
  221. package/cjs/series/polar/progress-like/constant.js +15 -0
  222. package/cjs/series/polar/progress-like/constant.js.map +1 -0
  223. package/cjs/series/polar/progress-like/interface.d.ts +12 -0
  224. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  225. package/cjs/series/polar/progress-like/progress-like.d.ts +19 -4
  226. package/cjs/series/polar/progress-like/progress-like.js +112 -5
  227. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  228. package/cjs/series/progress/circular/circular.d.ts +6 -4
  229. package/cjs/series/progress/circular/circular.js +49 -32
  230. package/cjs/series/progress/circular/circular.js.map +1 -1
  231. package/cjs/series/progress/circular/constant.js +2 -2
  232. package/cjs/series/progress/circular/constant.js.map +1 -1
  233. package/cjs/series/progress/linear/animation.d.ts +1 -1
  234. package/cjs/series/progress/linear/animation.js.map +1 -1
  235. package/cjs/series/progress/linear/linear.d.ts +6 -6
  236. package/cjs/series/progress/linear/linear.js +8 -8
  237. package/cjs/series/progress/linear/linear.js.map +1 -1
  238. package/cjs/series/radar/animation.d.ts +1 -1
  239. package/cjs/series/radar/animation.js.map +1 -1
  240. package/cjs/series/radar/radar.d.ts +1 -1
  241. package/cjs/series/radar/radar.js +10 -3
  242. package/cjs/series/radar/radar.js.map +1 -1
  243. package/cjs/series/range-area/tooltip-helper.js +2 -0
  244. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  245. package/cjs/series/range-column/animation.d.ts +1 -1
  246. package/cjs/series/range-column/animation.js.map +1 -1
  247. package/cjs/series/range-column/tooltip-helper.js +1 -0
  248. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  249. package/cjs/series/rose/animation.d.ts +1 -1
  250. package/cjs/series/rose/animation.js.map +1 -1
  251. package/cjs/series/sankey/animation.d.ts +1 -1
  252. package/cjs/series/sankey/animation.js.map +1 -1
  253. package/cjs/series/sankey/sankey.d.ts +1 -1
  254. package/cjs/series/sankey/sankey.js.map +1 -1
  255. package/cjs/series/sankey/tooltip-helper.js +3 -1
  256. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  257. package/cjs/series/scatter/animation.d.ts +1 -1
  258. package/cjs/series/scatter/animation.js.map +1 -1
  259. package/cjs/series/scatter/scatter.d.ts +3 -2
  260. package/cjs/series/scatter/scatter.js +13 -5
  261. package/cjs/series/scatter/scatter.js.map +1 -1
  262. package/cjs/series/sunburst/animation/enter.d.ts +1 -1
  263. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  264. package/cjs/series/sunburst/animation/exit.d.ts +1 -1
  265. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  266. package/cjs/series/sunburst/animation/preset.d.ts +1 -1
  267. package/cjs/series/sunburst/animation/preset.js.map +1 -1
  268. package/cjs/series/sunburst/animation/utils.d.ts +1 -1
  269. package/cjs/series/sunburst/animation/utils.js +2 -2
  270. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  271. package/cjs/series/treemap/animation.d.ts +1 -1
  272. package/cjs/series/treemap/animation.js.map +1 -1
  273. package/cjs/series/treemap/treemap.js.map +1 -1
  274. package/cjs/series/waterfall/animation.d.ts +1 -1
  275. package/cjs/series/waterfall/animation.js.map +1 -1
  276. package/cjs/series/word-cloud/animation.d.ts +7 -1
  277. package/cjs/series/word-cloud/animation.js +27 -2
  278. package/cjs/series/word-cloud/animation.js.map +1 -1
  279. package/cjs/series/word-cloud/base.js +13 -2
  280. package/cjs/series/word-cloud/base.js.map +1 -1
  281. package/cjs/series/word-cloud/interface.d.ts +7 -2
  282. package/cjs/series/word-cloud/interface.js.map +1 -1
  283. package/cjs/typings/spec/common.d.ts +2 -1
  284. package/cjs/typings/spec/common.js +2 -1
  285. package/cjs/typings/spec/common.js.map +1 -1
  286. package/cjs/typings/tooltip/line.d.ts +2 -0
  287. package/cjs/typings/tooltip/line.js.map +1 -1
  288. package/cjs/typings/tooltip/shape.d.ts +10 -4
  289. package/cjs/typings/tooltip/shape.js.map +1 -1
  290. package/cjs/util/env.js +1 -1
  291. package/cjs/util/env.js.map +1 -1
  292. package/cjs/util/math.js.map +1 -1
  293. package/esm/animation/animate-manager.js.map +1 -1
  294. package/esm/animation/config.js +4 -4
  295. package/esm/animation/config.js.map +1 -1
  296. package/esm/animation/interface.d.ts +1 -1
  297. package/esm/animation/interface.js.map +1 -1
  298. package/esm/animation/spec.d.ts +2 -2
  299. package/esm/animation/spec.js.map +1 -1
  300. package/esm/animation/utils.d.ts +1 -1
  301. package/esm/animation/utils.js.map +1 -1
  302. package/esm/chart/base-chart.d.ts +1 -1
  303. package/esm/chart/base-chart.js +11 -8
  304. package/esm/chart/base-chart.js.map +1 -1
  305. package/esm/chart/cartesian/cartesian.js +2 -1
  306. package/esm/chart/cartesian/cartesian.js.map +1 -1
  307. package/esm/chart/cartesian/interface.d.ts +3 -3
  308. package/esm/chart/cartesian/interface.js.map +1 -1
  309. package/esm/chart/interface/chart.d.ts +1 -1
  310. package/esm/chart/interface/chart.js.map +1 -1
  311. package/esm/chart/interface/common.d.ts +1 -1
  312. package/esm/chart/interface/common.js.map +1 -1
  313. package/esm/chart/polar/polar.js +5 -2
  314. package/esm/chart/polar/polar.js.map +1 -1
  315. package/esm/chart/sequence/sequence.js +6 -3
  316. package/esm/chart/sequence/sequence.js.map +1 -1
  317. package/esm/compile/compilable-base.d.ts +1 -1
  318. package/esm/compile/compiler.d.ts +2 -2
  319. package/esm/compile/compiler.js +6 -6
  320. package/esm/compile/compiler.js.map +1 -1
  321. package/esm/compile/data/compilable-data.d.ts +1 -1
  322. package/esm/compile/data/compilable-data.js.map +1 -1
  323. package/esm/compile/grammar-item.d.ts +1 -1
  324. package/esm/compile/grammar-item.js.map +1 -1
  325. package/esm/compile/interface/compilable-item.d.ts +1 -1
  326. package/esm/compile/interface/compilable-item.js.map +1 -1
  327. package/esm/compile/mark/compilable-mark.d.ts +5 -5
  328. package/esm/compile/mark/compilable-mark.js.map +1 -1
  329. package/esm/compile/mark/interface.d.ts +1 -1
  330. package/esm/compile/mark/interface.js.map +1 -1
  331. package/esm/compile/mark/mark-state-manager.d.ts +1 -1
  332. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  333. package/esm/compile/signal/compilable-signal.d.ts +1 -1
  334. package/esm/compile/signal/compilable-signal.js.map +1 -1
  335. package/esm/compile/signal/interface.d.ts +1 -1
  336. package/esm/compile/signal/interface.js.map +1 -1
  337. package/esm/compile/signal/signal-manager.d.ts +1 -1
  338. package/esm/compile/signal/signal-manager.js.map +1 -1
  339. package/esm/compile/util.js +3 -0
  340. package/esm/compile/util.js.map +1 -1
  341. package/esm/component/axis/base-axis.js +3 -1
  342. package/esm/component/axis/base-axis.js.map +1 -1
  343. package/esm/component/axis/cartesian/axis.js +1 -1
  344. package/esm/component/axis/cartesian/axis.js.map +1 -1
  345. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  346. package/esm/component/axis/polar/axis.js +1 -1
  347. package/esm/component/axis/polar/axis.js.map +1 -1
  348. package/esm/component/axis/polar/interface/common.d.ts +2 -0
  349. package/esm/component/axis/polar/interface/common.js.map +1 -1
  350. package/esm/component/base/base-component.d.ts +1 -1
  351. package/esm/component/base/base-component.js.map +1 -1
  352. package/esm/component/brush/brush.d.ts +1 -1
  353. package/esm/component/brush/brush.js.map +1 -1
  354. package/esm/component/crosshair/polar.js.map +1 -1
  355. package/esm/component/data-zoom/constant.d.ts +4 -0
  356. package/esm/component/data-zoom/constant.js +6 -0
  357. package/esm/component/data-zoom/constant.js.map +1 -0
  358. package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -0
  359. package/esm/component/data-zoom/data-filter-base-component.js +9 -7
  360. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  361. package/esm/component/data-zoom/data-zoom/data-zoom.js +5 -2
  362. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  363. package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -0
  364. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  365. package/esm/component/data-zoom/interface.d.ts +0 -1
  366. package/esm/component/data-zoom/interface.js.map +1 -1
  367. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -0
  368. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  369. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +2 -0
  370. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +16 -6
  371. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  372. package/esm/component/geo/geo-coordinate.js +8 -6
  373. package/esm/component/geo/geo-coordinate.js.map +1 -1
  374. package/esm/component/geo/interface.d.ts +1 -1
  375. package/esm/component/geo/interface.js.map +1 -1
  376. package/esm/component/geo/projection.js.map +1 -1
  377. package/esm/component/label/label.d.ts +1 -1
  378. package/esm/component/label/label.js +3 -1
  379. package/esm/component/label/label.js.map +1 -1
  380. package/esm/component/label/totalLabel.js.map +1 -1
  381. package/esm/component/marker/base-marker.d.ts +16 -3
  382. package/esm/component/marker/base-marker.js +25 -18
  383. package/esm/component/marker/base-marker.js.map +1 -1
  384. package/esm/component/marker/interface.d.ts +4 -2
  385. package/esm/component/marker/interface.js.map +1 -1
  386. package/esm/component/marker/mark-area/mark-area.js +14 -11
  387. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  388. package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
  389. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  390. package/esm/component/marker/mark-line/interface/theme.d.ts +2 -2
  391. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  392. package/esm/component/marker/mark-line/mark-line.js +60 -23
  393. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  394. package/esm/component/marker/mark-line/util.d.ts +9 -0
  395. package/esm/component/marker/mark-line/util.js +62 -0
  396. package/esm/component/marker/mark-line/util.js.map +1 -0
  397. package/esm/component/marker/mark-point/mark-point.js +16 -13
  398. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  399. package/esm/component/tooltip/handler/base.d.ts +2 -2
  400. package/esm/component/tooltip/handler/base.js.map +1 -1
  401. package/esm/component/tooltip/handler/dom/interface.d.ts +0 -1
  402. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  403. package/esm/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  404. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  405. package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +4 -2
  406. package/esm/component/tooltip/handler/dom/model/shape-model.js +22 -11
  407. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  408. package/esm/component/tooltip/handler/dom/model/title-model.js +4 -4
  409. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  410. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +1 -7
  411. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  412. package/esm/component/tooltip/handler/dom/util.d.ts +1 -0
  413. package/esm/component/tooltip/handler/dom/util.js +29 -23
  414. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  415. package/esm/component/tooltip/handler/utils/attribute.js +22 -19
  416. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  417. package/esm/component/tooltip/handler/utils/common.d.ts +1 -1
  418. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  419. package/esm/component/tooltip/handler/utils/compose.js +7 -4
  420. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  421. package/esm/component/tooltip/handler/utils/get-spec.js +2 -2
  422. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  423. package/esm/component/tooltip/processor/interface.d.ts +1 -1
  424. package/esm/component/tooltip/processor/interface.js.map +1 -1
  425. package/esm/constant/event.d.ts +1 -1
  426. package/esm/constant/event.js +1 -1
  427. package/esm/constant/event.js.map +1 -1
  428. package/esm/core/index.d.ts +1 -1
  429. package/esm/core/index.js +1 -1
  430. package/esm/core/index.js.map +1 -1
  431. package/esm/core/vchart.js +32 -20
  432. package/esm/core/vchart.js.map +1 -1
  433. package/esm/data/transforms/aggregation.d.ts +10 -5
  434. package/esm/data/transforms/aggregation.js +8 -6
  435. package/esm/data/transforms/aggregation.js.map +1 -1
  436. package/esm/data/transforms/dimension-data.js.map +1 -1
  437. package/esm/event/interface.d.ts +1 -1
  438. package/esm/event/interface.js.map +1 -1
  439. package/esm/index.d.ts +1 -0
  440. package/esm/index.js +3 -1
  441. package/esm/index.js.map +1 -1
  442. package/esm/interaction/dimension-trigger.d.ts +1 -1
  443. package/esm/interaction/dimension-trigger.js.map +1 -1
  444. package/esm/interaction/interaction.d.ts +1 -1
  445. package/esm/interaction/interaction.js.map +1 -1
  446. package/esm/interaction/interface.d.ts +1 -1
  447. package/esm/interaction/interface.js.map +1 -1
  448. package/esm/mark/box-plot.d.ts +1 -1
  449. package/esm/mark/box-plot.js +1 -1
  450. package/esm/mark/box-plot.js.map +1 -1
  451. package/esm/mark/component.d.ts +1 -1
  452. package/esm/mark/component.js +1 -1
  453. package/esm/mark/component.js.map +1 -1
  454. package/esm/mark/group.d.ts +1 -1
  455. package/esm/mark/group.js.map +1 -1
  456. package/esm/mark/link-path.d.ts +1 -1
  457. package/esm/mark/link-path.js +1 -1
  458. package/esm/mark/link-path.js.map +1 -1
  459. package/esm/model/base-model.d.ts +1 -1
  460. package/esm/model/base-model.js.map +1 -1
  461. package/esm/model/interface.d.ts +1 -1
  462. package/esm/model/interface.js.map +1 -1
  463. package/esm/region/region.d.ts +1 -1
  464. package/esm/region/region.js +9 -1
  465. package/esm/region/region.js.map +1 -1
  466. package/esm/series/area/animation.d.ts +1 -1
  467. package/esm/series/area/animation.js.map +1 -1
  468. package/esm/series/bar/animation.d.ts +1 -1
  469. package/esm/series/bar/animation.js.map +1 -1
  470. package/esm/series/base/base-series.js +2 -1
  471. package/esm/series/base/base-series.js.map +1 -1
  472. package/esm/series/base/tooltip-helper.d.ts +1 -1
  473. package/esm/series/base/tooltip-helper.js +2 -0
  474. package/esm/series/base/tooltip-helper.js.map +1 -1
  475. package/esm/series/box-plot/tooltip-helper.js +7 -0
  476. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  477. package/esm/series/circle-packing/animation.d.ts +1 -1
  478. package/esm/series/circle-packing/animation.js.map +1 -1
  479. package/esm/series/dot/tooltip-helper.js +6 -0
  480. package/esm/series/dot/tooltip-helper.js.map +1 -1
  481. package/esm/series/funnel/tooltip-helper.d.ts +1 -1
  482. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  483. package/esm/series/gauge/constant.js +3 -1
  484. package/esm/series/gauge/constant.js.map +1 -1
  485. package/esm/series/gauge/gauge.d.ts +3 -3
  486. package/esm/series/gauge/gauge.js +7 -4
  487. package/esm/series/gauge/gauge.js.map +1 -1
  488. package/esm/series/geo/geo.js +9 -3
  489. package/esm/series/geo/geo.js.map +1 -1
  490. package/esm/series/heatmap/animation.d.ts +1 -1
  491. package/esm/series/heatmap/animation.js.map +1 -1
  492. package/esm/series/line/animation.d.ts +1 -1
  493. package/esm/series/line/animation.js.map +1 -1
  494. package/esm/series/link/tooltip-helper.js +4 -0
  495. package/esm/series/link/tooltip-helper.js.map +1 -1
  496. package/esm/series/map/map.d.ts +2 -0
  497. package/esm/series/map/map.js +43 -51
  498. package/esm/series/map/map.js.map +1 -1
  499. package/esm/series/mixin/line-mixin.js +4 -3
  500. package/esm/series/mixin/line-mixin.js.map +1 -1
  501. package/esm/series/pie/animation/animation.d.ts +1 -1
  502. package/esm/series/pie/animation/animation.js.map +1 -1
  503. package/esm/series/pie/animation/centerOffset.d.ts +1 -1
  504. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  505. package/esm/series/pie/pie.js.map +1 -1
  506. package/esm/series/polar/progress-like/animation.d.ts +1 -1
  507. package/esm/series/polar/progress-like/animation.js.map +1 -1
  508. package/esm/series/polar/progress-like/constant.d.ts +2 -0
  509. package/esm/series/polar/progress-like/constant.js +13 -0
  510. package/esm/series/polar/progress-like/constant.js.map +1 -0
  511. package/esm/series/polar/progress-like/interface.d.ts +12 -0
  512. package/esm/series/polar/progress-like/interface.js.map +1 -1
  513. package/esm/series/polar/progress-like/progress-like.d.ts +19 -4
  514. package/esm/series/polar/progress-like/progress-like.js +117 -5
  515. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  516. package/esm/series/progress/circular/circular.d.ts +6 -4
  517. package/esm/series/progress/circular/circular.js +50 -31
  518. package/esm/series/progress/circular/circular.js.map +1 -1
  519. package/esm/series/progress/circular/constant.js +3 -3
  520. package/esm/series/progress/circular/constant.js.map +1 -1
  521. package/esm/series/progress/linear/animation.d.ts +1 -1
  522. package/esm/series/progress/linear/animation.js.map +1 -1
  523. package/esm/series/progress/linear/linear.d.ts +6 -6
  524. package/esm/series/progress/linear/linear.js +8 -8
  525. package/esm/series/progress/linear/linear.js.map +1 -1
  526. package/esm/series/radar/animation.d.ts +1 -1
  527. package/esm/series/radar/animation.js.map +1 -1
  528. package/esm/series/radar/radar.d.ts +1 -1
  529. package/esm/series/radar/radar.js +12 -4
  530. package/esm/series/radar/radar.js.map +1 -1
  531. package/esm/series/range-area/tooltip-helper.js +2 -0
  532. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  533. package/esm/series/range-column/animation.d.ts +1 -1
  534. package/esm/series/range-column/animation.js.map +1 -1
  535. package/esm/series/range-column/tooltip-helper.js +1 -0
  536. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  537. package/esm/series/rose/animation.d.ts +1 -1
  538. package/esm/series/rose/animation.js.map +1 -1
  539. package/esm/series/sankey/animation.d.ts +1 -1
  540. package/esm/series/sankey/animation.js.map +1 -1
  541. package/esm/series/sankey/sankey.d.ts +1 -1
  542. package/esm/series/sankey/sankey.js.map +1 -1
  543. package/esm/series/sankey/tooltip-helper.js +3 -1
  544. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  545. package/esm/series/scatter/animation.d.ts +1 -1
  546. package/esm/series/scatter/animation.js.map +1 -1
  547. package/esm/series/scatter/scatter.d.ts +3 -2
  548. package/esm/series/scatter/scatter.js +15 -5
  549. package/esm/series/scatter/scatter.js.map +1 -1
  550. package/esm/series/sunburst/animation/enter.d.ts +1 -1
  551. package/esm/series/sunburst/animation/enter.js.map +1 -1
  552. package/esm/series/sunburst/animation/exit.d.ts +1 -1
  553. package/esm/series/sunburst/animation/exit.js.map +1 -1
  554. package/esm/series/sunburst/animation/preset.d.ts +1 -1
  555. package/esm/series/sunburst/animation/preset.js.map +1 -1
  556. package/esm/series/sunburst/animation/utils.d.ts +1 -1
  557. package/esm/series/sunburst/animation/utils.js +1 -1
  558. package/esm/series/sunburst/animation/utils.js.map +1 -1
  559. package/esm/series/treemap/animation.d.ts +1 -1
  560. package/esm/series/treemap/animation.js.map +1 -1
  561. package/esm/series/treemap/treemap.js.map +1 -1
  562. package/esm/series/waterfall/animation.d.ts +1 -1
  563. package/esm/series/waterfall/animation.js.map +1 -1
  564. package/esm/series/word-cloud/animation.d.ts +7 -1
  565. package/esm/series/word-cloud/animation.js +25 -0
  566. package/esm/series/word-cloud/animation.js.map +1 -1
  567. package/esm/series/word-cloud/base.js +12 -1
  568. package/esm/series/word-cloud/base.js.map +1 -1
  569. package/esm/series/word-cloud/interface.d.ts +7 -2
  570. package/esm/series/word-cloud/interface.js.map +1 -1
  571. package/esm/typings/spec/common.d.ts +2 -1
  572. package/esm/typings/spec/common.js +2 -1
  573. package/esm/typings/spec/common.js.map +1 -1
  574. package/esm/typings/tooltip/line.d.ts +2 -0
  575. package/esm/typings/tooltip/line.js.map +1 -1
  576. package/esm/typings/tooltip/shape.d.ts +10 -4
  577. package/esm/typings/tooltip/shape.js.map +1 -1
  578. package/esm/util/env.js +1 -1
  579. package/esm/util/env.js.map +1 -1
  580. package/esm/util/math.js.map +1 -1
  581. package/package.json +16 -16
@@ -1,4 +1,4 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  export type ProgressLikeAppearPreset = 'grow' | 'fadeIn';
3
3
  export interface IProgressLikeAnimationParams {
4
4
  startAngle?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/polar/progress-like/animation.ts"],"names":[],"mappings":";;;AAQA,MAAM,WAAW,GAAG,CAAC,MAAoC,EAAwB,EAAE,CAAC,CAAC;IACnF,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC,UAAU;KAC3B;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,SAAgB,2BAA2B,CAAC,MAAoC,EAAE,MAAgC;IAChH,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;AACH,CAAC;AAPD,kEAOC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar';\n\nexport type ProgressLikeAppearPreset = 'grow' | 'fadeIn';\n\nexport interface IProgressLikeAnimationParams {\n startAngle?: number;\n}\n\nconst Appear_Grow = (params: IProgressLikeAnimationParams): IAnimationTypeConfig => ({\n type: 'growAngleIn',\n options: {\n overall: params.startAngle\n }\n});\n\nconst Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nexport function progressLikePresetAnimation(params: IProgressLikeAnimationParams, preset: ProgressLikeAppearPreset) {\n switch (preset) {\n case 'fadeIn':\n return Appear_FadeIn;\n default:\n return Appear_Grow(params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/polar/progress-like/animation.ts"],"names":[],"mappings":";;;AAQA,MAAM,WAAW,GAAG,CAAC,MAAoC,EAAwB,EAAE,CAAC,CAAC;IACnF,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC,UAAU;KAC3B;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,SAAgB,2BAA2B,CAAC,MAAoC,EAAE,MAAgC;IAChH,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;AACH,CAAC;AAPD,kEAOC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\n\nexport type ProgressLikeAppearPreset = 'grow' | 'fadeIn';\n\nexport interface IProgressLikeAnimationParams {\n startAngle?: number;\n}\n\nconst Appear_Grow = (params: IProgressLikeAnimationParams): IAnimationTypeConfig => ({\n type: 'growAngleIn',\n options: {\n overall: params.startAngle\n }\n});\n\nconst Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nexport function progressLikePresetAnimation(params: IProgressLikeAnimationParams, preset: ProgressLikeAppearPreset) {\n switch (preset) {\n case 'fadeIn':\n return Appear_FadeIn;\n default:\n return Appear_Grow(params);\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { SeriesMarkMap } from '../../interface/common';
2
+ export declare const progressLikeSeriesMark: SeriesMarkMap;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.progressLikeSeriesMark = void 0;
6
+
7
+ const interface_1 = require("../../../mark/interface"), constant_1 = require("../../base/constant"), type_1 = require("../../interface/type");
8
+
9
+ exports.progressLikeSeriesMark = Object.assign(Object.assign({}, constant_1.baseSeriesMark), {
10
+ [type_1.SeriesMarkNameEnum.group]: {
11
+ name: type_1.SeriesMarkNameEnum.group,
12
+ type: interface_1.MarkTypeEnum.group
13
+ }
14
+ });
15
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/series/polar/progress-like/constant.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,kDAAqD;AAErD,+CAA0D;AAE7C,QAAA,sBAAsB,mCAC9B,yBAAc,KACjB,CAAC,yBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAY,CAAC,KAAK,EAAE,IACxF","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../../mark/interface';\nimport { baseSeriesMark } from '../../base/constant';\nimport type { SeriesMarkMap } from '../../interface/common';\nimport { SeriesMarkNameEnum } from '../../interface/type';\n\nexport const progressLikeSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group }\n};\n"]}
@@ -1,9 +1,21 @@
1
+ import type { IArcMarkSpec, IMarkSpec, IMarkTheme } from '../../../typings';
1
2
  import type { IPolarSeriesSpec, IPolarSeriesTheme } from '../interface';
3
+ export interface IContinuousTickData {
4
+ index?: number;
5
+ value: number;
6
+ }
7
+ export interface ITickMaskSpec {
8
+ angle?: number;
9
+ offsetAngle?: number;
10
+ forceAlign?: boolean;
11
+ }
2
12
  export interface IProgressLikeSeriesSpec extends IPolarSeriesSpec {
3
13
  roundCap?: boolean | [boolean, boolean];
4
14
  cornerRadius?: number;
15
+ tickMask?: Omit<IMarkSpec<IArcMarkSpec>, 'state'> & ITickMaskSpec;
5
16
  }
6
17
  export interface IProgressLikeSeriesTheme extends IPolarSeriesTheme {
7
18
  roundCap?: boolean | [boolean, boolean];
8
19
  cornerRadius?: number;
20
+ tickMask?: Omit<IMarkTheme<IArcMarkSpec>, 'state'> & ITickMaskSpec;
9
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/polar/progress-like/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPolarSeriesSpec, IPolarSeriesTheme } from '../interface';\n\nexport interface IProgressLikeSeriesSpec extends IPolarSeriesSpec {\n /** 圆角部分是否突出(可分别设置左侧和右侧) */\n roundCap?: boolean | [boolean, boolean];\n\n /** 圆角半径 */\n cornerRadius?: number;\n}\n\nexport interface IProgressLikeSeriesTheme extends IPolarSeriesTheme {\n /** 圆角部分是否突出 */\n roundCap?: boolean | [boolean, boolean];\n\n /** 圆角半径 */\n cornerRadius?: number;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/polar/progress-like/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IArcMarkSpec, IMarkSpec, IMarkTheme } from '../../../typings';\nimport type { IPolarSeriesSpec, IPolarSeriesTheme } from '../interface';\n\nexport interface IContinuousTickData {\n index?: number;\n value: number;\n}\n\nexport interface ITickMaskSpec {\n /** 单个 tick 的默认宽度,角度值 */\n angle?: number;\n /** 单个 tick 的偏移角度,角度值 */\n offsetAngle?: number;\n /** tick mask 下的图元是否强制和 tick 的边线对齐 */\n forceAlign?: boolean;\n}\n\nexport interface IProgressLikeSeriesSpec extends IPolarSeriesSpec {\n /** 圆角部分是否突出(可分别设置左侧和右侧) */\n roundCap?: boolean | [boolean, boolean];\n\n /** 圆角半径 */\n cornerRadius?: number;\n\n /**\n * tick 模式显示\n * @since 1.4.0\n */\n tickMask?: Omit<IMarkSpec<IArcMarkSpec>, 'state'> & ITickMaskSpec;\n}\n\nexport interface IProgressLikeSeriesTheme extends IPolarSeriesTheme {\n /** 圆角部分是否突出 */\n roundCap?: boolean | [boolean, boolean];\n\n /** 圆角半径 */\n cornerRadius?: number;\n\n /**\n * tick 模式显示\n * @since 1.4.0\n */\n tickMask?: Omit<IMarkTheme<IArcMarkSpec>, 'state'> & ITickMaskSpec;\n}\n"]}
@@ -1,12 +1,17 @@
1
- import type { Datum } from '@visactor/vgrammar';
1
+ import type { Datum } from '@visactor/vgrammar-core';
2
2
  import type { IMarkStyle } from '../../../mark/interface';
3
3
  import type { ConvertToMarkStyleSpec, ICommonSpec } from '../../../typings';
4
4
  import { PolarSeries } from '../polar';
5
- import type { IProgressLikeSeriesSpec } from './interface';
5
+ import type { IContinuousTickData, IProgressLikeSeriesSpec } from './interface';
6
+ import type { IPolarAxis } from '../../../component/axis';
7
+ import type { IGroupMark } from '../../../mark/group';
8
+ import type { SeriesMarkMap } from '../../interface';
6
9
  export declare abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSpec> extends PolarSeries<T> {
10
+ static readonly mark: SeriesMarkMap;
7
11
  protected _stack: boolean;
8
12
  protected _startAngle: number;
9
13
  protected _endAngle: number;
14
+ protected _arcGroupMark: IGroupMark | null;
10
15
  setAttrFromSpec(): void;
11
16
  getStackGroupFields(): string[];
12
17
  getStackValueField(): string;
@@ -15,8 +20,18 @@ export declare abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSp
15
20
  setValueFieldToStackOffsetSilhouette(): void;
16
21
  getGroupFields(): string[];
17
22
  protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>;
18
- protected _getAngleValueStart(datum: Datum): number;
19
- protected _getAngleValueEnd(datum: Datum): number;
23
+ protected _getAngleValueStart: (datum: Datum) => number;
24
+ protected _getAngleValueEnd: (datum: Datum) => number;
25
+ protected _getAngleValueStartWithoutMask(datum: Datum): number;
26
+ protected _getAngleValueEndWithoutMask(datum: Datum): number;
20
27
  getDimensionField(): string[];
21
28
  getMeasureField(): string[];
29
+ initMark(): void;
30
+ initMarkStyle(): void;
31
+ protected _initArcGroupMark(): IGroupMark;
32
+ protected _initArcGroupMarkStyle(): void;
33
+ protected _getAngleAxis(): IPolarAxis;
34
+ protected _getAngleAxisTickData(angleAxis?: IPolarAxis): IContinuousTickData[];
35
+ protected _isTickMaskVisible(angleAxis?: IPolarAxis): boolean;
36
+ protected _getAngleAxisSubTickData(angleAxis: IPolarAxis): IContinuousTickData[];
22
37
  }
@@ -4,11 +4,38 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.ProgressLikeSeries = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), constant_1 = require("../../../constant"), util_1 = require("../../../util"), polar_1 = require("../polar");
7
+ const vutils_1 = require("@visactor/vutils"), constant_1 = require("../../../constant"), util_1 = require("../../../util"), polar_1 = require("../polar"), vrender_1 = require("@visactor/vrender"), constant_2 = require("./constant"), vutils_extension_1 = require("@visactor/vutils-extension");
8
8
 
9
9
  class ProgressLikeSeries extends polar_1.PolarSeries {
10
10
  constructor() {
11
- super(...arguments), this._stack = !0;
11
+ super(...arguments), this._stack = !0, this._arcGroupMark = null, this._getAngleValueStart = datum => {
12
+ const axis = this._getAngleAxis(), {tickMask: tickMask} = this._spec;
13
+ if ((null == tickMask ? void 0 : tickMask.forceAlign) && this._isTickMaskVisible(axis)) {
14
+ const originValue = datum[this._stack ? constant_1.STACK_FIELD_START : constant_1.SEGMENT_FIELD_START], scale = this.angleAxisHelper.getScale(0), subTickData = this._getAngleAxisSubTickData(axis), step = subTickData[1].value - subTickData[0].value, offsetAngle = (0,
15
+ vutils_1.degreeToRadian)(tickMask.offsetAngle);
16
+ if ((0, vutils_1.isValid)(originValue)) {
17
+ const index = (0, vutils_extension_1.binaryFuzzySearch)(subTickData, (tick => tick.value - originValue)), targetIndex = originValue > subTickData[index].value - step / 2 ? Math.min(index, subTickData.length - 1) : index > 0 ? 0 : void 0;
18
+ if (void 0 !== targetIndex) {
19
+ return this.angleAxisHelper.dataToPosition([ subTickData[targetIndex].value - step / 2 ]) + offsetAngle;
20
+ }
21
+ }
22
+ const pos = this.angleAxisHelper.dataToPosition([ subTickData[0].value - step / 2 ]);
23
+ return this._stack ? (0, util_1.valueInScaleRange)(pos, scale) + offsetAngle : pos + offsetAngle;
24
+ }
25
+ return this._getAngleValueStartWithoutMask(datum);
26
+ }, this._getAngleValueEnd = datum => {
27
+ const axis = this._getAngleAxis(), {tickMask: tickMask} = this._spec;
28
+ if ((null == tickMask ? void 0 : tickMask.forceAlign) && this._isTickMaskVisible(axis)) {
29
+ const originValue = datum[this._stack ? constant_1.STACK_FIELD_END : this._angleField[0]], scale = this.angleAxisHelper.getScale(0), subTickData = this._getAngleAxisSubTickData(axis), step = subTickData[1].value - subTickData[0].value, offsetAngle = (0,
30
+ vutils_1.degreeToRadian)(tickMask.offsetAngle), index = (0, vutils_extension_1.binaryFuzzySearch)(subTickData, (tick => tick.value - originValue)), targetIndex = originValue > subTickData[index].value - step / 2 ? Math.min(index, subTickData.length - 1) : index > 0 ? 0 : void 0;
31
+ if (void 0 !== targetIndex) {
32
+ return this.angleAxisHelper.dataToPosition([ subTickData[targetIndex].value + step / 2 ]) + offsetAngle;
33
+ }
34
+ const pos = this.angleAxisHelper.dataToPosition([ subTickData[0].value - step / 2 ]);
35
+ return this._stack ? (0, util_1.valueInScaleRange)(pos, scale) + offsetAngle : pos + offsetAngle;
36
+ }
37
+ return this._getAngleValueEndWithoutMask(datum);
38
+ };
12
39
  }
13
40
  setAttrFromSpec() {
14
41
  var _a, _b, _c;
@@ -44,14 +71,14 @@ class ProgressLikeSeries extends polar_1.PolarSeries {
44
71
  }
45
72
  return newStyle;
46
73
  }
47
- _getAngleValueStart(datum) {
74
+ _getAngleValueStartWithoutMask(datum) {
48
75
  if (this._stack) {
49
76
  const value = (0, util_1.valueInScaleRange)(this.angleAxisHelper.dataToPosition([ datum[constant_1.STACK_FIELD_START] ]), this.angleAxisHelper.getScale(0));
50
77
  if ((0, vutils_1.isValidNumber)(value)) return value;
51
78
  }
52
79
  return this._startAngle;
53
80
  }
54
- _getAngleValueEnd(datum) {
81
+ _getAngleValueEndWithoutMask(datum) {
55
82
  if (this._stack) {
56
83
  const value = (0, util_1.valueInScaleRange)(this.angleAxisHelper.dataToPosition([ datum[constant_1.STACK_FIELD_END] ]), this.angleAxisHelper.getScale(0));
57
84
  if ((0, vutils_1.isValidNumber)(value)) return value;
@@ -64,7 +91,87 @@ class ProgressLikeSeries extends polar_1.PolarSeries {
64
91
  getMeasureField() {
65
92
  return this._angleField;
66
93
  }
94
+ initMark() {
95
+ this._initArcGroupMark();
96
+ }
97
+ initMarkStyle() {
98
+ this._initArcGroupMarkStyle();
99
+ }
100
+ _initArcGroupMark() {
101
+ return this._arcGroupMark = this._createMark(ProgressLikeSeries.mark.group, {
102
+ skipBeforeLayouted: !1
103
+ }), this._arcGroupMark;
104
+ }
105
+ _initArcGroupMarkStyle() {
106
+ const groupMark = this._arcGroupMark;
107
+ groupMark.setZIndex(this.layoutZIndex), groupMark.created(), this.setMarkStyle(groupMark, {
108
+ clip: !0,
109
+ x: 0,
110
+ y: 0,
111
+ path: () => {
112
+ var _a;
113
+ const axis = this._getAngleAxis();
114
+ if (this._isTickMaskVisible(axis)) {
115
+ const {tickMask: tickMask} = this._spec, {angle: angle, offsetAngle: offsetAngle, style: style = {}} = tickMask, subTickData = this._getAngleAxisSubTickData(axis), {x: x, y: y} = this.angleAxisHelper.center(), radius = this._computeLayoutRadius(), markStyle = (0,
116
+ util_1.preprocessSpecOrTheme)("mark-spec", style, null === (_a = this._option.getTheme()) || void 0 === _a ? void 0 : _a.colorScheme, this.type);
117
+ return subTickData.map((({value: value}) => {
118
+ const pos = this._getAngleValueEndWithoutMask({
119
+ [constant_1.STACK_FIELD_END]: value,
120
+ [constant_1.SEGMENT_FIELD_END]: value,
121
+ [this._angleField[0]]: value
122
+ }) + (0, vutils_1.degreeToRadian)(offsetAngle), angleUnit = (0, vutils_1.degreeToRadian)(angle) / 2;
123
+ return (0, vrender_1.createArc)(Object.assign(Object.assign({}, markStyle), {
124
+ x: x,
125
+ y: y,
126
+ startAngle: pos - angleUnit,
127
+ endAngle: pos + angleUnit,
128
+ innerRadius: radius * this._innerRadius,
129
+ outerRadius: radius * this._outerRadius,
130
+ fill: !0
131
+ }));
132
+ }));
133
+ }
134
+ const {width: width, height: height} = this.getLayoutRect(), {x: x, y: y} = this.getLayoutStartPoint();
135
+ return [ (0, vrender_1.createRect)({
136
+ x: x,
137
+ y: y,
138
+ width: width,
139
+ height: height,
140
+ fill: !0
141
+ }) ];
142
+ }
143
+ }, "normal", constant_1.AttributeLevel.Series), this._arcGroupMark.setInteractive(!1);
144
+ }
145
+ _getAngleAxis() {
146
+ const angleAxisId = this.angleAxisHelper.getAxisId();
147
+ return this._option.getChart().getAllComponents().find((component => component.id === angleAxisId));
148
+ }
149
+ _getAngleAxisTickData(angleAxis) {
150
+ return null == angleAxis ? void 0 : angleAxis.getTickData().getLatestData();
151
+ }
152
+ _isTickMaskVisible(angleAxis) {
153
+ const tickData = this._getAngleAxisTickData(angleAxis), {tickMask: tickMask} = this._spec;
154
+ return tickMask && !1 !== tickMask.visible && (null == tickData ? void 0 : tickData.length) > 1;
155
+ }
156
+ _getAngleAxisSubTickData(angleAxis) {
157
+ const tickData = this._getAngleAxisTickData(angleAxis), subTickData = [], {subTick: subTick = {}, tick: tick = {}} = null == angleAxis ? void 0 : angleAxis.getSpec(), {tickCount: subTickCount = 4} = subTick, {alignWithLabel: alignWithLabel} = tick;
158
+ if (tickData.length >= 2) {
159
+ const tickSegment = tickData[1].value - tickData[0].value;
160
+ for (let i = 0; i < tickData.length - 1; i++) {
161
+ const pre = tickData[i], next = tickData[i + 1];
162
+ subTickData.push(pre);
163
+ for (let j = 0; j < subTickCount; j++) {
164
+ const percent = (j + 1) / (subTickCount + 1), value = (1 - percent) * pre.value + percent * (next ? next.value : alignWithLabel ? 1 : pre.value + tickSegment);
165
+ subTickData.push({
166
+ value: value
167
+ });
168
+ }
169
+ }
170
+ return subTickData.push(tickData[tickData.length - 1]), subTickData;
171
+ }
172
+ return tickData;
173
+ }
67
174
  }
68
175
 
69
- exports.ProgressLikeSeries = ProgressLikeSeries;
176
+ exports.ProgressLikeSeries = ProgressLikeSeries, ProgressLikeSeries.mark = constant_2.progressLikeSeriesMark;
70
177
  //# sourceMappingURL=progress-like.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/polar/progress-like/progress-like.ts"],"names":[],"mappings":"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","file":"progress-like.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar';\nimport { degreeToRadian, isValid, isValidNumber } from '@visactor/vutils';\nimport { POLAR_END_RADIAN, POLAR_START_RADIAN, STACK_FIELD_END, STACK_FIELD_START } from '../../../constant';\nimport type { IMarkStyle } from '../../../mark/interface';\nimport type { ConvertToMarkStyleSpec, ICommonSpec } from '../../../typings';\nimport { valueInScaleRange } from '../../../util';\nimport { PolarSeries } from '../polar';\nimport type { IProgressLikeSeriesSpec } from './interface';\n\nexport abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSpec> extends PolarSeries<T> {\n protected _stack: boolean = true;\n\n protected _startAngle: number;\n protected _endAngle: number;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const chartSpec = this._option.globalInstance.getChart()?.getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec?.startAngle;\n this._startAngle = isValid(startAngle) ? degreeToRadian(startAngle) : POLAR_START_RADIAN;\n const endAngle = this._spec.endAngle ?? chartSpec?.endAngle;\n this._endAngle = isValid(endAngle) ? degreeToRadian(endAngle) : POLAR_END_RADIAN;\n\n // 值信息给角度\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n // 分类信息给半径\n this.setRadiusField(this._spec.categoryField || this._spec.radiusField);\n }\n\n getStackGroupFields(): string[] {\n return this._radiusField;\n }\n\n getStackValueField() {\n return this._angleField?.[0];\n }\n\n setValueFieldToStack(): void {\n // this.setAngleField(STACK_FIELD_END);\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields() {\n return this._angleField;\n }\n\n /** 重载 mark style 赋值前转换逻辑 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle = super._convertMarkStyle(style) as unknown as any;\n\n const fillKey = 'fill';\n if (newStyle[fillKey]) {\n const value = style[fillKey] as unknown as any;\n // 为环形渐变色自动加 startAngle 和 endAngle\n if (value?.gradient === 'conical' && !isValid(value?.startAngle) && !isValid(value?.endAngle)) {\n newStyle[fillKey] = {\n ...value,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n }\n }\n\n return newStyle;\n }\n\n protected _getAngleValueStart(datum: Datum) {\n if (this._stack) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_START]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this._startAngle;\n }\n\n protected _getAngleValueEnd(datum: Datum) {\n if (this._stack) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_END]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this.angleAxisHelper.dataToPosition([datum[this._angleField[0]]]);\n }\n\n getDimensionField(): string[] {\n return this._radiusField;\n }\n\n getMeasureField(): string[] {\n return this._angleField;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/polar/progress-like/progress-like.ts"],"names":[],"mappings":"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","file":"progress-like.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar-core';\nimport { degreeToRadian, isValid, isValidNumber } from '@visactor/vutils';\nimport {\n AttributeLevel,\n POLAR_END_RADIAN,\n POLAR_START_RADIAN,\n SEGMENT_FIELD_END,\n SEGMENT_FIELD_START,\n STACK_FIELD_END,\n STACK_FIELD_START\n} from '../../../constant';\nimport type { IMarkStyle } from '../../../mark/interface';\nimport type { ConvertToMarkStyleSpec, ICommonSpec } from '../../../typings';\nimport { preprocessSpecOrTheme, valueInScaleRange } from '../../../util';\nimport { PolarSeries } from '../polar';\nimport type { IContinuousTickData, IProgressLikeSeriesSpec } from './interface';\nimport type { IPolarAxis, IPolarAxisSpec } from '../../../component/axis';\nimport type { IGroupMark } from '../../../mark/group';\nimport { createArc, createRect } from '@visactor/vrender';\nimport type { SeriesMarkMap } from '../../interface';\nimport { progressLikeSeriesMark } from './constant';\nimport { binaryFuzzySearch } from '@visactor/vutils-extension';\n\nexport abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSpec> extends PolarSeries<T> {\n static readonly mark: SeriesMarkMap = progressLikeSeriesMark;\n\n protected _stack: boolean = true;\n\n protected _startAngle: number;\n protected _endAngle: number;\n\n protected _arcGroupMark: IGroupMark | null = null;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const chartSpec = this._option.globalInstance.getChart()?.getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec?.startAngle;\n this._startAngle = isValid(startAngle) ? degreeToRadian(startAngle) : POLAR_START_RADIAN;\n const endAngle = this._spec.endAngle ?? chartSpec?.endAngle;\n this._endAngle = isValid(endAngle) ? degreeToRadian(endAngle) : POLAR_END_RADIAN;\n\n // 值信息给角度\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n // 分类信息给半径\n this.setRadiusField(this._spec.categoryField || this._spec.radiusField);\n }\n\n getStackGroupFields(): string[] {\n return this._radiusField;\n }\n\n getStackValueField() {\n return this._angleField?.[0];\n }\n\n setValueFieldToStack(): void {\n // this.setAngleField(STACK_FIELD_END);\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields() {\n return this._angleField;\n }\n\n /** 重载 mark style 赋值前转换逻辑 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle = super._convertMarkStyle(style) as unknown as any;\n\n const fillKey = 'fill';\n if (newStyle[fillKey]) {\n const value = style[fillKey] as unknown as any;\n // 为环形渐变色自动加 startAngle 和 endAngle\n if (value?.gradient === 'conical' && !isValid(value?.startAngle) && !isValid(value?.endAngle)) {\n newStyle[fillKey] = {\n ...value,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n }\n }\n\n return newStyle;\n }\n\n protected _getAngleValueStart = (datum: Datum) => {\n const axis = this._getAngleAxis();\n const { tickMask } = this._spec;\n\n if (tickMask?.forceAlign && this._isTickMaskVisible(axis)) {\n const field = this._stack ? STACK_FIELD_START : SEGMENT_FIELD_START;\n const originValue = datum[field];\n const scale = this.angleAxisHelper.getScale(0);\n const subTickData = this._getAngleAxisSubTickData(axis);\n const step = subTickData[1].value - subTickData[0].value;\n const offsetAngle = degreeToRadian(tickMask.offsetAngle);\n\n if (isValid(originValue)) {\n // 找到第一个大于等于数据值的 tick\n const index = binaryFuzzySearch(subTickData, tick => tick.value - originValue);\n // 对齐\n const targetIndex =\n originValue > subTickData[index].value - step / 2\n ? Math.min(index, subTickData.length - 1)\n : index > 0\n ? 0\n : undefined;\n if (targetIndex !== undefined) {\n const pos = this.angleAxisHelper.dataToPosition([subTickData[targetIndex].value - step / 2]);\n return pos + offsetAngle;\n }\n }\n const pos = this.angleAxisHelper.dataToPosition([subTickData[0].value - step / 2]);\n if (this._stack) {\n return valueInScaleRange(pos, scale) + offsetAngle;\n }\n return pos + offsetAngle;\n }\n return this._getAngleValueStartWithoutMask(datum);\n };\n\n protected _getAngleValueEnd = (datum: Datum) => {\n const axis = this._getAngleAxis();\n const { tickMask } = this._spec;\n\n if (tickMask?.forceAlign && this._isTickMaskVisible(axis)) {\n const field = this._stack ? STACK_FIELD_END : this._angleField[0];\n const originValue = datum[field];\n const scale = this.angleAxisHelper.getScale(0);\n const subTickData = this._getAngleAxisSubTickData(axis);\n const step = subTickData[1].value - subTickData[0].value;\n const offsetAngle = degreeToRadian(tickMask.offsetAngle);\n\n // 找到第一个大于等于数据值的 tick\n const index = binaryFuzzySearch(subTickData, tick => tick.value - originValue);\n // 对齐\n const targetIndex =\n originValue > subTickData[index].value - step / 2\n ? Math.min(index, subTickData.length - 1)\n : index > 0\n ? 0\n : undefined;\n if (targetIndex !== undefined) {\n const pos = this.angleAxisHelper.dataToPosition([subTickData[targetIndex].value + step / 2]);\n return pos + offsetAngle;\n }\n const pos = this.angleAxisHelper.dataToPosition([subTickData[0].value - step / 2]);\n if (this._stack) {\n return valueInScaleRange(pos, scale) + offsetAngle;\n }\n return pos + offsetAngle;\n }\n return this._getAngleValueEndWithoutMask(datum);\n };\n\n protected _getAngleValueStartWithoutMask(datum: Datum) {\n if (this._stack) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_START]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this._startAngle;\n }\n\n protected _getAngleValueEndWithoutMask(datum: Datum) {\n if (this._stack) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_END]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this.angleAxisHelper.dataToPosition([datum[this._angleField[0]]]);\n }\n\n getDimensionField(): string[] {\n return this._radiusField;\n }\n\n getMeasureField(): string[] {\n return this._angleField;\n }\n\n initMark(): void {\n this._initArcGroupMark();\n }\n\n initMarkStyle(): void {\n this._initArcGroupMarkStyle();\n }\n\n protected _initArcGroupMark() {\n // FIXME: disable group mark layout to prevent reevaluate after layout end\n this._arcGroupMark = this._createMark(ProgressLikeSeries.mark.group, {\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._arcGroupMark;\n }\n\n protected _initArcGroupMarkStyle() {\n const groupMark = this._arcGroupMark;\n groupMark.setZIndex(this.layoutZIndex);\n groupMark.created();\n this.setMarkStyle(\n groupMark,\n {\n clip: true,\n x: 0,\n y: 0,\n path: () => {\n const axis = this._getAngleAxis();\n if (this._isTickMaskVisible(axis)) {\n const { tickMask } = this._spec;\n const { angle, offsetAngle, style = {} } = tickMask;\n const subTickData = this._getAngleAxisSubTickData(axis);\n const { x, y } = this.angleAxisHelper.center();\n const radius = this._computeLayoutRadius();\n const markStyle = preprocessSpecOrTheme(\n 'mark-spec',\n style,\n this._option.getTheme()?.colorScheme,\n this.type as any\n );\n return subTickData.map(({ value }) => {\n const pos =\n this._getAngleValueEndWithoutMask({\n [STACK_FIELD_END]: value,\n [SEGMENT_FIELD_END]: value,\n [this._angleField[0]]: value\n }) + degreeToRadian(offsetAngle);\n const angleUnit = degreeToRadian(angle) / 2;\n return createArc({\n ...markStyle,\n x,\n y,\n startAngle: pos - angleUnit,\n endAngle: pos + angleUnit,\n innerRadius: radius * this._innerRadius,\n outerRadius: radius * this._outerRadius,\n fill: true\n });\n });\n }\n const { width, height } = this.getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return [\n createRect({\n x,\n y,\n width,\n height,\n fill: true\n })\n ];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._arcGroupMark.setInteractive(false);\n }\n\n protected _getAngleAxis() {\n const angleAxisId = this.angleAxisHelper.getAxisId();\n const angleAxis = this._option\n .getChart()\n .getAllComponents()\n .find(component => component.id === angleAxisId) as IPolarAxis;\n return angleAxis;\n }\n\n protected _getAngleAxisTickData(angleAxis?: IPolarAxis): IContinuousTickData[] {\n const tickData = angleAxis?.getTickData().getLatestData();\n return tickData;\n }\n\n protected _isTickMaskVisible(angleAxis?: IPolarAxis) {\n const tickData = this._getAngleAxisTickData(angleAxis);\n const { tickMask } = this._spec;\n return tickMask && tickMask.visible !== false && tickData?.length > 1;\n }\n\n protected _getAngleAxisSubTickData(angleAxis: IPolarAxis) {\n const tickData = this._getAngleAxisTickData(angleAxis);\n // TODO: 这块照搬了 vrender-components 的计算方法,需要抽出这块的公用逻辑\n const subTickData: IContinuousTickData[] = [];\n const { subTick = {}, tick = {} } = angleAxis?.getSpec() as IPolarAxisSpec;\n const { tickCount: subTickCount = 4 } = subTick;\n const { alignWithLabel } = tick;\n // 刻度线的数量大于 2 时,才绘制子刻度\n if (tickData.length >= 2) {\n const tickSegment = tickData[1].value - tickData[0].value;\n for (let i = 0; i < tickData.length - 1; i++) {\n const pre = tickData[i];\n const next = tickData[i + 1];\n subTickData.push(pre);\n for (let j = 0; j < subTickCount; j++) {\n const percent = (j + 1) / (subTickCount + 1);\n const value =\n (1 - percent) * pre.value + percent * (next ? next.value : alignWithLabel ? 1 : pre.value + tickSegment);\n subTickData.push({\n value\n });\n }\n }\n subTickData.push(tickData[tickData.length - 1]);\n return subTickData;\n }\n return tickData;\n }\n}\n"]}
@@ -14,9 +14,11 @@ export declare class CircularProgressSeries<T extends ICircularProgressSeriesSpe
14
14
  getGroupFields(): string[];
15
15
  initMark(): void;
16
16
  initMarkStyle(): void;
17
- private initProgressMarkStyle;
18
- private initTrackMarkStyle;
19
- protected _getRadiusValueStart(datum: Datum): number;
20
- protected _getRadiusValueEnd(datum: Datum): number;
17
+ private _initProgressMark;
18
+ private _initProgressMarkStyle;
19
+ private _initTrackMark;
20
+ private _initTrackMarkStyle;
21
+ protected _getRadiusValueStart: (datum: Datum) => number;
22
+ protected _getRadiusValueEnd: (datum: Datum) => number;
21
23
  initAnimation(): void;
22
24
  }
@@ -4,14 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.CircularProgressSeries = void 0;
6
6
 
7
- const util_1 = require("../../../util"), type_1 = require("../../interface/type"), utils_1 = require("../../../animation/utils"), config_1 = require("../../../animation/config"), progress_like_1 = require("../../polar/progress-like/progress-like"), vchart_1 = require("../../../core/vchart"), arc_1 = require("../../../mark/arc"), progress_arc_1 = require("../../../mark/progress-arc"), constant_1 = require("./constant");
7
+ const util_1 = require("../../../util"), type_1 = require("../../interface/type"), utils_1 = require("../../../animation/utils"), config_1 = require("../../../animation/config"), progress_like_1 = require("../../polar/progress-like/progress-like"), vchart_1 = require("../../../core/vchart"), arc_1 = require("../../../mark/arc"), progress_arc_1 = require("../../../mark/progress-arc"), constant_1 = require("./constant"), constant_2 = require("../../../constant");
8
8
 
9
9
  vchart_1.VChart.useMark([ arc_1.ArcMark, progress_arc_1.ProgressArcMark ]);
10
10
 
11
11
  class CircularProgressSeries extends progress_like_1.ProgressLikeSeries {
12
12
  constructor() {
13
13
  super(...arguments), this.type = type_1.SeriesTypeEnum.circularProgress, this._progressMark = null,
14
- this._trackMark = null;
14
+ this._trackMark = null, this._getRadiusValueStart = datum => {
15
+ if (this.getGroupFields().length > 1) {
16
+ const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields()));
17
+ if ((0, util_1.isValidNumber)(value)) return value;
18
+ }
19
+ return this.radiusAxisHelper.dataToPosition([ datum[this._radiusField[0]] ]);
20
+ }, this._getRadiusValueEnd = datum => {
21
+ var _a, _b;
22
+ if (this.getGroupFields().length > 1) {
23
+ const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) + (null === (_b = (_a = this.radiusAxisHelper).getBandwidth) || void 0 === _b ? void 0 : _b.call(_a, this._groups ? this._groups.fields.length - 1 : 0));
24
+ if ((0, util_1.isValidNumber)(value)) return value;
25
+ }
26
+ return this.radiusAxisHelper.dataToPosition([ datum[this._radiusField[0]] ]) + this.radiusAxisHelper.getScale(0).step();
27
+ };
15
28
  }
16
29
  getStackGroupFields() {
17
30
  return this.getGroupFields();
@@ -20,23 +33,27 @@ class CircularProgressSeries extends progress_like_1.ProgressLikeSeries {
20
33
  return this._radiusField;
21
34
  }
22
35
  initMark() {
23
- this._trackMark = this._createMark(CircularProgressSeries.mark.track), this._progressMark = this._createMark(CircularProgressSeries.mark.progress, {
24
- isSeriesMark: !0
25
- });
36
+ super.initMark(), this._initTrackMark(), this._initProgressMark();
26
37
  }
27
38
  initMarkStyle() {
28
- this.initTrackMarkStyle(), this.initProgressMarkStyle();
39
+ super.initMarkStyle(), this._initTrackMarkStyle(), this._initProgressMarkStyle();
40
+ }
41
+ _initProgressMark() {
42
+ return this._progressMark = this._createMark(CircularProgressSeries.mark.progress, {
43
+ parent: this._arcGroupMark,
44
+ isSeriesMark: !0
45
+ }), this._progressMark;
29
46
  }
30
- initProgressMarkStyle() {
47
+ _initProgressMarkStyle() {
31
48
  var _a, _b;
32
49
  const progressMark = this._progressMark;
33
50
  progressMark && (this.setMarkStyle(progressMark, {
34
51
  x: () => this.angleAxisHelper.center().x,
35
52
  y: () => this.angleAxisHelper.center().y,
36
- startAngle: this._getAngleValueStart.bind(this),
37
- endAngle: this._getAngleValueEnd.bind(this),
38
- innerRadius: this._getRadiusValueStart.bind(this),
39
- outerRadius: this._getRadiusValueEnd.bind(this),
53
+ startAngle: this._getAngleValueStart,
54
+ endAngle: this._getAngleValueEnd,
55
+ innerRadius: this._getRadiusValueStart,
56
+ outerRadius: this._getRadiusValueEnd,
40
57
  cap: null !== (_a = this._spec.roundCap) && void 0 !== _a && _a,
41
58
  boundsMode: "imprecise",
42
59
  cornerRadius: this._spec.cornerRadius,
@@ -45,39 +62,39 @@ class CircularProgressSeries extends progress_like_1.ProgressLikeSeries {
45
62
  forceShowCap: !0
46
63
  }), this._trigger.registerMark(progressMark), null === (_b = this._tooltipHelper) || void 0 === _b || _b.activeTriggerSet.mark.add(progressMark));
47
64
  }
48
- initTrackMarkStyle() {
65
+ _initTrackMark() {
66
+ return this._trackMark = this._createMark(CircularProgressSeries.mark.track, {
67
+ parent: this._arcGroupMark
68
+ }), this._trackMark;
69
+ }
70
+ _initTrackMarkStyle() {
49
71
  const trackMark = this._trackMark;
50
72
  trackMark && (this.setMarkStyle(trackMark, {
51
73
  visible: datum => {
52
- const range = this.angleAxisHelper.getScale(0).range(), min = Math.min(range[0], range[range.length - 1]), startValue = this._getAngleValueStart(datum);
74
+ const range = this.angleAxisHelper.getScale(0).range(), min = Math.min(range[0], range[range.length - 1]), startValue = this._getAngleValueStartWithoutMask(datum);
53
75
  return Math.abs(startValue - min) <= 1e-14;
54
76
  },
55
77
  x: () => this.angleAxisHelper.center().x,
56
78
  y: () => this.angleAxisHelper.center().y,
57
- startAngle: this._startAngle,
58
- endAngle: this._endAngle,
59
- innerRadius: this._getRadiusValueStart.bind(this),
60
- outerRadius: this._getRadiusValueEnd.bind(this),
79
+ startAngle: () => {
80
+ const domain = this.angleAxisHelper.getScale(0).domain();
81
+ return this._getAngleValueStart({
82
+ [constant_2.STACK_FIELD_START]: domain[0]
83
+ });
84
+ },
85
+ endAngle: () => {
86
+ const domain = this.angleAxisHelper.getScale(0).domain();
87
+ return this._getAngleValueEnd({
88
+ [constant_2.STACK_FIELD_END]: domain[domain.length - 1]
89
+ });
90
+ },
91
+ innerRadius: this._getRadiusValueStart,
92
+ outerRadius: this._getRadiusValueEnd,
61
93
  cornerRadius: this._spec.cornerRadius,
62
94
  fill: this.getColorAttribute(),
63
95
  zIndex: 100
64
96
  }), this._trigger.registerMark(trackMark));
65
97
  }
66
- _getRadiusValueStart(datum) {
67
- if (this.getGroupFields().length > 1) {
68
- const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields()));
69
- if ((0, util_1.isValidNumber)(value)) return value;
70
- }
71
- return this.radiusAxisHelper.dataToPosition([ datum[this._radiusField[0]] ]);
72
- }
73
- _getRadiusValueEnd(datum) {
74
- var _a, _b;
75
- if (this.getGroupFields().length > 1) {
76
- const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) + (null === (_b = (_a = this.radiusAxisHelper).getBandwidth) || void 0 === _b ? void 0 : _b.call(_a, this._groups ? this._groups.fields.length - 1 : 0));
77
- if ((0, util_1.isValidNumber)(value)) return value;
78
- }
79
- return this.radiusAxisHelper.dataToPosition([ datum[this._radiusField[0]] ]) + this.radiusAxisHelper.getScale(0).step();
80
- }
81
98
  initAnimation() {
82
99
  var _a, _b;
83
100
  const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/progress/circular/circular.ts"],"names":[],"mappings":"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","file":"circular.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { BandScale } from '@visactor/vscale';\nimport type { IArcMark } from '../../../mark/arc';\nimport type { Maybe, Datum } from '../../../typings';\nimport { isValidNumber } from '../../../util';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../../animation/config';\nimport type { ICircularProgressSeriesSpec, ICircularProgressSeriesTheme } from './interface';\nimport { ProgressLikeSeries } from '../../polar/progress-like/progress-like';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport type { IProgressArcMark } from '../../../mark/progress-arc';\nimport { VChart } from '../../../core/vchart';\nimport { ArcMark } from '../../../mark/arc';\nimport { ProgressArcMark } from '../../../mark/progress-arc';\nimport { circularProgressSeriesMark } from './constant';\n\nVChart.useMark([ArcMark, ProgressArcMark]);\n\nexport class CircularProgressSeries<\n T extends ICircularProgressSeriesSpec = ICircularProgressSeriesSpec\n> extends ProgressLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.circularProgress;\n type = SeriesTypeEnum.circularProgress;\n\n static readonly mark: SeriesMarkMap = circularProgressSeriesMark;\n\n protected declare _theme: Maybe<ICircularProgressSeriesTheme>;\n\n private _progressMark: IProgressArcMark | null = null;\n private _trackMark: IProgressArcMark | null = null;\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getGroupFields() {\n return this._radiusField;\n }\n\n initMark(): void {\n this._trackMark = this._createMark(CircularProgressSeries.mark.track) as IArcMark;\n this._progressMark = this._createMark(CircularProgressSeries.mark.progress, {\n isSeriesMark: true\n }) as IArcMark;\n }\n\n initMarkStyle(): void {\n this.initTrackMarkStyle();\n this.initProgressMarkStyle();\n }\n\n private initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n this.setMarkStyle(progressMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: this._getRadiusValueStart.bind(this),\n outerRadius: this._getRadiusValueEnd.bind(this),\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n this._trigger.registerMark(progressMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(progressMark);\n }\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n visible: (datum: Datum) => {\n const scale = this.angleAxisHelper.getScale(0);\n const range = scale.range();\n const min = Math.min(range[0], range[range.length - 1]);\n const startValue = this._getAngleValueStart(datum);\n // 堆叠情况只显示第一组的背景\n return Math.abs(startValue - min) <= 1e-14;\n },\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n innerRadius: this._getRadiusValueStart.bind(this),\n outerRadius: this._getRadiusValueEnd.bind(this),\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 100\n });\n this._trigger.registerMark(trackMark);\n }\n }\n\n protected _getRadiusValueStart(datum: Datum) {\n if (this.getGroupFields().length > 1) {\n const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields()));\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]);\n }\n\n protected _getRadiusValueEnd(datum: Datum) {\n if (this.getGroupFields().length > 1) {\n const value =\n this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.radiusAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0);\n if (isValidNumber(value)) {\n return value;\n }\n }\n return (\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]) +\n (this.radiusAxisHelper.getScale(0) as BandScale).step()\n );\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.circularProgress(\n {\n startAngle: this._startAngle\n },\n appearPreset\n ),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.progressBackground(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec)\n )\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/progress/circular/circular.ts"],"names":[],"mappings":"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","file":"circular.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { BandScale } from '@visactor/vscale';\nimport type { IArcMark } from '../../../mark/arc';\nimport type { Maybe, Datum } from '../../../typings';\nimport { isValidNumber } from '../../../util';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../../animation/config';\nimport type { ICircularProgressSeriesSpec, ICircularProgressSeriesTheme } from './interface';\nimport { ProgressLikeSeries } from '../../polar/progress-like/progress-like';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport type { IProgressArcMark } from '../../../mark/progress-arc';\nimport { VChart } from '../../../core/vchart';\nimport { ArcMark } from '../../../mark/arc';\nimport { ProgressArcMark } from '../../../mark/progress-arc';\nimport { circularProgressSeriesMark } from './constant';\nimport { STACK_FIELD_END, STACK_FIELD_START } from '../../../constant';\n\nVChart.useMark([ArcMark, ProgressArcMark]);\n\nexport class CircularProgressSeries<\n T extends ICircularProgressSeriesSpec = ICircularProgressSeriesSpec\n> extends ProgressLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.circularProgress;\n type = SeriesTypeEnum.circularProgress;\n\n static readonly mark: SeriesMarkMap = circularProgressSeriesMark;\n\n protected declare _theme: Maybe<ICircularProgressSeriesTheme>;\n\n private _progressMark: IProgressArcMark | null = null;\n private _trackMark: IProgressArcMark | null = null;\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getGroupFields() {\n return this._radiusField;\n }\n\n initMark(): void {\n super.initMark();\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(CircularProgressSeries.mark.progress, {\n parent: this._arcGroupMark,\n isSeriesMark: true\n }) as IArcMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n this.setMarkStyle(progressMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart,\n endAngle: this._getAngleValueEnd,\n innerRadius: this._getRadiusValueStart,\n outerRadius: this._getRadiusValueEnd,\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n this._trigger.registerMark(progressMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(progressMark);\n }\n }\n\n private _initTrackMark() {\n this._trackMark = this._createMark(CircularProgressSeries.mark.track, {\n parent: this._arcGroupMark\n }) as IArcMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n visible: (datum: Datum) => {\n const scale = this.angleAxisHelper.getScale(0);\n const range = scale.range();\n const min = Math.min(range[0], range[range.length - 1]);\n const startValue = this._getAngleValueStartWithoutMask(datum);\n // 堆叠情况只显示第一组的背景\n return Math.abs(startValue - min) <= 1e-14;\n },\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: () => {\n const scale = this.angleAxisHelper.getScale(0);\n const domain = scale.domain();\n return this._getAngleValueStart({ [STACK_FIELD_START]: domain[0] });\n },\n endAngle: () => {\n const scale = this.angleAxisHelper.getScale(0);\n const domain = scale.domain();\n return this._getAngleValueEnd({ [STACK_FIELD_END]: domain[domain.length - 1] });\n },\n innerRadius: this._getRadiusValueStart,\n outerRadius: this._getRadiusValueEnd,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 100\n });\n this._trigger.registerMark(trackMark);\n }\n }\n\n protected _getRadiusValueStart = (datum: Datum) => {\n if (this.getGroupFields().length > 1) {\n const value = this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields()));\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]);\n };\n\n protected _getRadiusValueEnd = (datum: Datum) => {\n if (this.getGroupFields().length > 1) {\n const value =\n this.radiusAxisHelper.dataToPosition(this.getDatumPositionValues(datum, this.getGroupFields())) +\n this.radiusAxisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0);\n if (isValidNumber(value)) {\n return value;\n }\n }\n return (\n this.radiusAxisHelper.dataToPosition([datum[this._radiusField[0]]]) +\n (this.radiusAxisHelper.getScale(0) as BandScale).step()\n );\n };\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.circularProgress(\n {\n startAngle: this._startAngle\n },\n appearPreset\n ),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.progressBackground(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec)\n )\n );\n }\n}\n"]}
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.circularProgressSeriesMark = void 0;
6
6
 
7
- const interface_1 = require("../../../mark/interface"), constant_1 = require("../../base/constant"), type_1 = require("../../interface/type");
7
+ const interface_1 = require("../../../mark/interface"), type_1 = require("../../interface/type"), constant_1 = require("../../polar/progress-like/constant");
8
8
 
9
- exports.circularProgressSeriesMark = Object.assign(Object.assign({}, constant_1.baseSeriesMark), {
9
+ exports.circularProgressSeriesMark = Object.assign(Object.assign({}, constant_1.progressLikeSeriesMark), {
10
10
  [type_1.SeriesMarkNameEnum.track]: {
11
11
  name: type_1.SeriesMarkNameEnum.track,
12
12
  type: interface_1.MarkTypeEnum.progressArc
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/progress/circular/constant.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,kDAAqD;AAErD,+CAA0D;AAE7C,QAAA,0BAA0B,mCAClC,yBAAc,KACjB,CAAC,yBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAY,CAAC,WAAW,EAAE,EAC9F,CAAC,yBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,wBAAY,CAAC,WAAW,EAAE,IACpG","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../../mark/interface';\nimport { baseSeriesMark } from '../../base/constant';\nimport type { SeriesMarkMap } from '../../interface/common';\nimport { SeriesMarkNameEnum } from '../../interface/type';\n\nexport const circularProgressSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.track]: { name: SeriesMarkNameEnum.track, type: MarkTypeEnum.progressArc },\n [SeriesMarkNameEnum.progress]: { name: SeriesMarkNameEnum.progress, type: MarkTypeEnum.progressArc }\n};\n"]}
1
+ {"version":3,"sources":["../src/series/progress/circular/constant.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAEvD,+CAA0D;AAC1D,iEAA4E;AAE/D,QAAA,0BAA0B,mCAClC,iCAAsB,KACzB,CAAC,yBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAY,CAAC,WAAW,EAAE,EAC9F,CAAC,yBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,wBAAY,CAAC,WAAW,EAAE,IACpG","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../../mark/interface';\nimport type { SeriesMarkMap } from '../../interface/common';\nimport { SeriesMarkNameEnum } from '../../interface/type';\nimport { progressLikeSeriesMark } from '../../polar/progress-like/constant';\n\nexport const circularProgressSeriesMark: SeriesMarkMap = {\n ...progressLikeSeriesMark,\n [SeriesMarkNameEnum.track]: { name: SeriesMarkNameEnum.track, type: MarkTypeEnum.progressArc },\n [SeriesMarkNameEnum.progress]: { name: SeriesMarkNameEnum.progress, type: MarkTypeEnum.progressArc }\n};\n"]}
@@ -1,4 +1,4 @@
1
- import type { IAnimationTypeConfig } from '@visactor/vgrammar';
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
2
  import type { DirectionType } from '../../../typings';
3
3
  export interface ILinearProgressAnimationParams {
4
4
  direction: DirectionType;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/progress/linear/animation.ts"],"names":[],"mappings":";;;AAGA,8CAA6C;AAQ7C,SAAS,wBAAwB,CAAC,MAAsC;IACtE,OAAO,GAAG,EAAE;QACV,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;YACnC,OAAO;gBACL,MAAM,EAAE,UAAU;aACnB,CAAC;SACH;QACD,OAAO;YACL,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,MAAsC,EAAwB,EAAE;IACnF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,KAAK,mBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;QAChF,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,MAAsC,EAAwB,EAAE;IACtG,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,KAAK,mBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;QAClF,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC;AAEW,QAAA,aAAa,GAAyB;IACjD,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,SAAgB,6BAA6B,CAC3C,MAAsC,EACtC,MAA4C;IAE5C,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,qBAAa,CAAC;QACvB;YACE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;AACH,CAAC;AAbD,sEAaC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar';\nimport type { DirectionType } from '../../../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../../typings';\n\nexport interface ILinearProgressAnimationParams {\n direction: DirectionType;\n}\n\nexport type LinearProgressAppearPreset = 'grow' | 'fadeIn';\n\nfunction LinearProgressGrowOption(params: ILinearProgressAnimationParams) {\n return () => {\n if (params.direction === 'vertical') {\n return {\n orient: 'negative'\n };\n }\n return {\n orient: 'positive'\n };\n };\n}\n\nconst Appear_Grow = (params: ILinearProgressAnimationParams): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthIn' : 'growHeightIn',\n options: LinearProgressGrowOption(params)\n };\n};\n\nexport const linearProgressDisappear = (params: ILinearProgressAnimationParams): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthOut' : 'growHeightOut',\n options: LinearProgressGrowOption(params)\n };\n};\n\nexport const Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nexport function linearProgressPresetAnimation(\n params: ILinearProgressAnimationParams,\n preset: LinearProgressAppearPreset | boolean\n) {\n if (preset === false) {\n return {};\n }\n switch (preset) {\n case 'fadeIn':\n return Appear_FadeIn;\n default:\n return Appear_Grow(params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/progress/linear/animation.ts"],"names":[],"mappings":";;;AAGA,8CAA6C;AAQ7C,SAAS,wBAAwB,CAAC,MAAsC;IACtE,OAAO,GAAG,EAAE;QACV,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;YACnC,OAAO;gBACL,MAAM,EAAE,UAAU;aACnB,CAAC;SACH;QACD,OAAO;YACL,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,MAAsC,EAAwB,EAAE;IACnF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,KAAK,mBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;QAChF,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,MAAsC,EAAwB,EAAE;IACtG,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,KAAK,mBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;QAClF,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC;AAEW,QAAA,aAAa,GAAyB;IACjD,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,SAAgB,6BAA6B,CAC3C,MAAsC,EACtC,MAA4C;IAE5C,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ;YACX,OAAO,qBAAa,CAAC;QACvB;YACE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;AACH,CAAC;AAbD,sEAaC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\nimport type { DirectionType } from '../../../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../../typings';\n\nexport interface ILinearProgressAnimationParams {\n direction: DirectionType;\n}\n\nexport type LinearProgressAppearPreset = 'grow' | 'fadeIn';\n\nfunction LinearProgressGrowOption(params: ILinearProgressAnimationParams) {\n return () => {\n if (params.direction === 'vertical') {\n return {\n orient: 'negative'\n };\n }\n return {\n orient: 'positive'\n };\n };\n}\n\nconst Appear_Grow = (params: ILinearProgressAnimationParams): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthIn' : 'growHeightIn',\n options: LinearProgressGrowOption(params)\n };\n};\n\nexport const linearProgressDisappear = (params: ILinearProgressAnimationParams): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthOut' : 'growHeightOut',\n options: LinearProgressGrowOption(params)\n };\n};\n\nexport const Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nexport function linearProgressPresetAnimation(\n params: ILinearProgressAnimationParams,\n preset: LinearProgressAppearPreset | boolean\n) {\n if (preset === false) {\n return {};\n }\n switch (preset) {\n case 'fadeIn':\n return Appear_FadeIn;\n default:\n return Appear_Grow(params);\n }\n}\n"]}
@@ -13,12 +13,12 @@ export declare class LinearProgressSeries<T extends ILinearProgressSeriesSpec =
13
13
  private _progressGroupMark;
14
14
  initMark(): void;
15
15
  initMarkStyle(): void;
16
- private initProgressMark;
17
- private initProgressMarkStyle;
18
- private initTrackMark;
19
- private initTrackMarkStyle;
20
- private initProgressGroupMark;
21
- private initProgressGroupMarkStyle;
16
+ private _initProgressMark;
17
+ private _initProgressMarkStyle;
18
+ private _initTrackMark;
19
+ private _initTrackMarkStyle;
20
+ private _initProgressGroupMark;
21
+ private _initProgressGroupMarkStyle;
22
22
  initAnimation(): void;
23
23
  protected initTooltip(): void;
24
24
  }