@visactor/vchart 1.1.0-beta.1 → 1.1.0-beta.3

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 (377) hide show
  1. package/build/index.js +29012 -39002
  2. package/build/index.min.js +15 -3
  3. package/cjs/animation/config.js +1 -1
  4. package/cjs/animation/config.js.map +1 -1
  5. package/cjs/animation/utils.d.ts +2 -0
  6. package/cjs/animation/utils.js +20 -6
  7. package/cjs/animation/utils.js.map +1 -1
  8. package/cjs/chart/bar/bar.d.ts +1 -0
  9. package/cjs/chart/bar/bar.js +7 -0
  10. package/cjs/chart/bar/bar.js.map +1 -1
  11. package/cjs/chart/base-chart.d.ts +2 -1
  12. package/cjs/chart/base-chart.js +12 -0
  13. package/cjs/chart/base-chart.js.map +1 -1
  14. package/cjs/chart/interface/chart.d.ts +3 -3
  15. package/cjs/chart/interface/chart.js.map +1 -1
  16. package/cjs/chart/polar/rose-like.js.map +1 -1
  17. package/cjs/chart/radar/radar.js +10 -1
  18. package/cjs/chart/radar/radar.js.map +1 -1
  19. package/cjs/chart/rose/rose.js +11 -2
  20. package/cjs/chart/rose/rose.js.map +1 -1
  21. package/cjs/chart/word-cloud/word-cloud-3d.js +1 -2
  22. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  23. package/cjs/chart/word-cloud/word-cloud.js +1 -2
  24. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  25. package/cjs/compile/compiler.d.ts +1 -0
  26. package/cjs/compile/compiler.js +12 -5
  27. package/cjs/compile/compiler.js.map +1 -1
  28. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  29. package/cjs/compile/interface/compilable-item.js.map +1 -1
  30. package/cjs/component/axis/base-axis.d.ts +6 -14
  31. package/cjs/component/axis/base-axis.js +10 -1
  32. package/cjs/component/axis/base-axis.js.map +1 -1
  33. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  34. package/cjs/component/axis/cartesian/axis.js +8 -3
  35. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  36. package/cjs/component/axis/cartesian/interface/spec.d.ts +9 -2
  37. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  38. package/cjs/component/axis/interface.d.ts +9 -0
  39. package/cjs/component/axis/interface.js.map +1 -1
  40. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
  41. package/cjs/component/axis/mixin/linear-axis-mixin.js +6 -1
  42. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  43. package/cjs/component/base/base-component.js +4 -2
  44. package/cjs/component/base/base-component.js.map +1 -1
  45. package/cjs/component/common/trigger/config.d.ts +0 -2
  46. package/cjs/component/common/trigger/config.js +0 -2
  47. package/cjs/component/common/trigger/config.js.map +1 -1
  48. package/cjs/component/common/trigger/desktop.js +1 -1
  49. package/cjs/component/common/trigger/desktop.js.map +1 -1
  50. package/cjs/component/crosshair/base.d.ts +13 -13
  51. package/cjs/component/crosshair/base.js +44 -36
  52. package/cjs/component/crosshair/base.js.map +1 -1
  53. package/cjs/component/crosshair/cartesian.d.ts +4 -4
  54. package/cjs/component/crosshair/cartesian.js +22 -8
  55. package/cjs/component/crosshair/cartesian.js.map +1 -1
  56. package/cjs/component/crosshair/polar.d.ts +4 -4
  57. package/cjs/component/crosshair/polar.js +8 -8
  58. package/cjs/component/crosshair/polar.js.map +1 -1
  59. package/cjs/component/crosshair/util.d.ts +2 -0
  60. package/cjs/component/crosshair/util.js +12 -1
  61. package/cjs/component/crosshair/util.js.map +1 -1
  62. package/cjs/component/data-zoom/data-zoom/interface.d.ts +13 -13
  63. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  64. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -3
  65. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  66. package/cjs/component/geo/geo-coordinate.js +2 -2
  67. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  68. package/cjs/component/index.js +1 -2
  69. package/cjs/component/label/bar.d.ts +4 -1
  70. package/cjs/component/label/bar.js +2 -2
  71. package/cjs/component/label/bar.js.map +1 -1
  72. package/cjs/component/label/label.js +5 -4
  73. package/cjs/component/label/label.js.map +1 -1
  74. package/cjs/component/label/symbol.d.ts +5 -1
  75. package/cjs/component/label/symbol.js +8 -11
  76. package/cjs/component/label/symbol.js.map +1 -1
  77. package/cjs/component/legend/discrete/interface.d.ts +2 -0
  78. package/cjs/component/legend/discrete/interface.js.map +1 -1
  79. package/cjs/component/legend/discrete/legend.d.ts +2 -0
  80. package/cjs/component/legend/discrete/legend.js +15 -2
  81. package/cjs/component/legend/discrete/legend.js.map +1 -1
  82. package/cjs/component/map-label/component.js +0 -1
  83. package/cjs/component/map-label/component.js.map +1 -1
  84. package/cjs/component/marker/base-marker.js +2 -1
  85. package/cjs/component/marker/base-marker.js.map +1 -1
  86. package/cjs/component/marker/interface.d.ts +6 -5
  87. package/cjs/component/marker/interface.js.map +1 -1
  88. package/cjs/component/marker/mark-area/interface/theme.d.ts +2 -2
  89. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  90. package/cjs/component/marker/mark-area/mark-area.js +10 -9
  91. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  92. package/cjs/component/marker/mark-line/interface/theme.d.ts +2 -2
  93. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  94. package/cjs/component/marker/mark-line/mark-line.js +16 -15
  95. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  96. package/cjs/component/marker/mark-point/interface/theme.d.ts +3 -3
  97. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  98. package/cjs/component/marker/mark-point/mark-point.js +14 -13
  99. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  100. package/cjs/component/tooltip/handler/base.js.map +1 -1
  101. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +1 -1
  102. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  103. package/cjs/component/tooltip/handler/dom/model/style-constants.d.ts +1 -0
  104. package/cjs/component/tooltip/handler/dom/model/style-constants.js +3 -1
  105. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  106. package/cjs/component/tooltip/handler/dom/util.js +7 -7
  107. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  108. package/cjs/component/tooltip/handler/utils/get-spec.js +22 -8
  109. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  110. package/cjs/component/tooltip/tooltip.d.ts +9 -9
  111. package/cjs/component/tooltip/tooltip.js +20 -20
  112. package/cjs/component/tooltip/tooltip.js.map +1 -1
  113. package/cjs/constant/box-plot.js +2 -1
  114. package/cjs/constant/event.d.ts +1 -0
  115. package/cjs/constant/event.js +4 -4
  116. package/cjs/constant/event.js.map +1 -1
  117. package/cjs/core/factory.js +1 -2
  118. package/cjs/core/index.d.ts +1 -1
  119. package/cjs/core/index.js +1 -1
  120. package/cjs/core/index.js.map +1 -1
  121. package/cjs/core/instance-manager.js +2 -1
  122. package/cjs/data/transforms/dimension-statistics.js +1 -0
  123. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  124. package/cjs/data/transforms/legend-data/discrete/discrete.js +5 -2
  125. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  126. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +1 -0
  127. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  128. package/cjs/event/event-dispatcher.d.ts +2 -2
  129. package/cjs/event/event-dispatcher.js +23 -18
  130. package/cjs/event/event-dispatcher.js.map +1 -1
  131. package/cjs/event/event.d.ts +2 -2
  132. package/cjs/event/event.js +4 -3
  133. package/cjs/event/event.js.map +1 -1
  134. package/cjs/event/interface.d.ts +2 -2
  135. package/cjs/event/interface.js.map +1 -1
  136. package/cjs/interaction/drill/drillable.js +3 -2
  137. package/cjs/interaction/drill/drillable.js.map +1 -1
  138. package/cjs/interaction/zoom/zoomable.d.ts +1 -1
  139. package/cjs/interaction/zoom/zoomable.js +23 -25
  140. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  141. package/cjs/layout/base-layout.js +1 -2
  142. package/cjs/model/base-model.d.ts +1 -1
  143. package/cjs/model/base-model.js +2 -2
  144. package/cjs/model/base-model.js.map +1 -1
  145. package/cjs/plugin/components/axis-sync-plugin/axis-sync.d.ts +11 -0
  146. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js +53 -0
  147. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -0
  148. package/cjs/plugin/components/axis-sync-plugin/index.d.ts +1 -0
  149. package/cjs/plugin/components/axis-sync-plugin/index.js +21 -0
  150. package/cjs/plugin/components/axis-sync-plugin/index.js.map +1 -0
  151. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.d.ts +7 -0
  152. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js +36 -0
  153. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -0
  154. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.d.ts +15 -0
  155. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js +123 -0
  156. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js.map +1 -0
  157. package/cjs/plugin/components/index.d.ts +2 -0
  158. package/cjs/plugin/components/index.js +3 -2
  159. package/cjs/plugin/components/index.js.map +1 -1
  160. package/cjs/plugin/components/interface.d.ts +2 -0
  161. package/cjs/plugin/components/interface.js.map +1 -1
  162. package/cjs/series/base/base-series.d.ts +11 -1
  163. package/cjs/series/base/base-series.js +19 -13
  164. package/cjs/series/base/base-series.js.map +1 -1
  165. package/cjs/series/cartesian/cartesian.js +7 -1
  166. package/cjs/series/cartesian/cartesian.js.map +1 -1
  167. package/cjs/series/interface/series.d.ts +11 -4
  168. package/cjs/series/interface/series.js.map +1 -1
  169. package/cjs/series/line/interface.d.ts +1 -1
  170. package/cjs/series/line/interface.js.map +1 -1
  171. package/cjs/series/line/line.d.ts +2 -6
  172. package/cjs/series/line/line.js +6 -17
  173. package/cjs/series/line/line.js.map +1 -1
  174. package/cjs/series/progress/linear/linear.js +50 -30
  175. package/cjs/series/progress/linear/linear.js.map +1 -1
  176. package/cjs/series/scatter/interface.d.ts +1 -1
  177. package/cjs/series/scatter/interface.js.map +1 -1
  178. package/cjs/series/word-cloud/base.d.ts +2 -2
  179. package/cjs/series/word-cloud/base.js +42 -43
  180. package/cjs/series/word-cloud/base.js.map +1 -1
  181. package/cjs/series/word-cloud/interface.d.ts +1 -2
  182. package/cjs/series/word-cloud/interface.js.map +1 -1
  183. package/cjs/series/word-cloud/word-cloud-3d.js +37 -37
  184. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  185. package/cjs/theme/buildin-theme/light/component/tooltip.js +0 -1
  186. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  187. package/esm/animation/config.js +1 -1
  188. package/esm/animation/config.js.map +1 -1
  189. package/esm/animation/utils.d.ts +2 -0
  190. package/esm/animation/utils.js +18 -5
  191. package/esm/animation/utils.js.map +1 -1
  192. package/esm/chart/bar/bar.d.ts +1 -0
  193. package/esm/chart/bar/bar.js +7 -0
  194. package/esm/chart/bar/bar.js.map +1 -1
  195. package/esm/chart/base-chart.d.ts +2 -1
  196. package/esm/chart/base-chart.js +12 -0
  197. package/esm/chart/base-chart.js.map +1 -1
  198. package/esm/chart/interface/chart.d.ts +3 -3
  199. package/esm/chart/interface/chart.js.map +1 -1
  200. package/esm/chart/polar/rose-like.js.map +1 -1
  201. package/esm/chart/radar/radar.js +10 -2
  202. package/esm/chart/radar/radar.js.map +1 -1
  203. package/esm/chart/rose/rose.js +11 -1
  204. package/esm/chart/rose/rose.js.map +1 -1
  205. package/esm/chart/word-cloud/word-cloud-3d.js +1 -2
  206. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  207. package/esm/chart/word-cloud/word-cloud.js +1 -2
  208. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  209. package/esm/compile/compiler.d.ts +1 -0
  210. package/esm/compile/compiler.js +13 -6
  211. package/esm/compile/compiler.js.map +1 -1
  212. package/esm/compile/interface/compilable-item.d.ts +1 -0
  213. package/esm/compile/interface/compilable-item.js.map +1 -1
  214. package/esm/component/axis/base-axis.d.ts +6 -14
  215. package/esm/component/axis/base-axis.js +10 -1
  216. package/esm/component/axis/base-axis.js.map +1 -1
  217. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  218. package/esm/component/axis/cartesian/axis.js +8 -3
  219. package/esm/component/axis/cartesian/axis.js.map +1 -1
  220. package/esm/component/axis/cartesian/interface/spec.d.ts +9 -2
  221. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  222. package/esm/component/axis/interface.d.ts +9 -0
  223. package/esm/component/axis/interface.js.map +1 -1
  224. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
  225. package/esm/component/axis/mixin/linear-axis-mixin.js +6 -1
  226. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  227. package/esm/component/base/base-component.js +4 -2
  228. package/esm/component/base/base-component.js.map +1 -1
  229. package/esm/component/common/trigger/config.d.ts +0 -2
  230. package/esm/component/common/trigger/config.js +0 -2
  231. package/esm/component/common/trigger/config.js.map +1 -1
  232. package/esm/component/common/trigger/desktop.js +1 -1
  233. package/esm/component/common/trigger/desktop.js.map +1 -1
  234. package/esm/component/crosshair/base.d.ts +13 -13
  235. package/esm/component/crosshair/base.js +43 -35
  236. package/esm/component/crosshair/base.js.map +1 -1
  237. package/esm/component/crosshair/cartesian.d.ts +4 -4
  238. package/esm/component/crosshair/cartesian.js +23 -9
  239. package/esm/component/crosshair/cartesian.js.map +1 -1
  240. package/esm/component/crosshair/polar.d.ts +4 -4
  241. package/esm/component/crosshair/polar.js +8 -8
  242. package/esm/component/crosshair/polar.js.map +1 -1
  243. package/esm/component/crosshair/util.d.ts +2 -0
  244. package/esm/component/crosshair/util.js +10 -0
  245. package/esm/component/crosshair/util.js.map +1 -1
  246. package/esm/component/data-zoom/data-zoom/interface.d.ts +13 -13
  247. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  248. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -3
  249. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  250. package/esm/component/geo/geo-coordinate.js +2 -2
  251. package/esm/component/geo/geo-coordinate.js.map +1 -1
  252. package/esm/component/index.js +1 -2
  253. package/esm/component/label/bar.d.ts +4 -1
  254. package/esm/component/label/bar.js +3 -3
  255. package/esm/component/label/bar.js.map +1 -1
  256. package/esm/component/label/label.js +5 -4
  257. package/esm/component/label/label.js.map +1 -1
  258. package/esm/component/label/symbol.d.ts +5 -1
  259. package/esm/component/label/symbol.js +5 -6
  260. package/esm/component/label/symbol.js.map +1 -1
  261. package/esm/component/legend/discrete/interface.d.ts +2 -0
  262. package/esm/component/legend/discrete/interface.js.map +1 -1
  263. package/esm/component/legend/discrete/legend.d.ts +2 -0
  264. package/esm/component/legend/discrete/legend.js +16 -3
  265. package/esm/component/legend/discrete/legend.js.map +1 -1
  266. package/esm/component/map-label/component.js +0 -1
  267. package/esm/component/map-label/component.js.map +1 -1
  268. package/esm/component/marker/base-marker.js +2 -1
  269. package/esm/component/marker/base-marker.js.map +1 -1
  270. package/esm/component/marker/interface.d.ts +6 -5
  271. package/esm/component/marker/interface.js.map +1 -1
  272. package/esm/component/marker/mark-area/interface/theme.d.ts +2 -2
  273. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  274. package/esm/component/marker/mark-area/mark-area.js +10 -9
  275. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  276. package/esm/component/marker/mark-line/interface/theme.d.ts +2 -2
  277. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  278. package/esm/component/marker/mark-line/mark-line.js +16 -15
  279. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  280. package/esm/component/marker/mark-point/interface/theme.d.ts +3 -3
  281. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  282. package/esm/component/marker/mark-point/mark-point.js +14 -13
  283. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  284. package/esm/component/tooltip/handler/base.js.map +1 -1
  285. package/esm/component/tooltip/handler/dom/model/content-column-model.js +2 -2
  286. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  287. package/esm/component/tooltip/handler/dom/model/style-constants.d.ts +1 -0
  288. package/esm/component/tooltip/handler/dom/model/style-constants.js +4 -0
  289. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  290. package/esm/component/tooltip/handler/dom/util.js +7 -7
  291. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  292. package/esm/component/tooltip/handler/utils/get-spec.js +22 -8
  293. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  294. package/esm/component/tooltip/tooltip.d.ts +9 -9
  295. package/esm/component/tooltip/tooltip.js +20 -20
  296. package/esm/component/tooltip/tooltip.js.map +1 -1
  297. package/esm/constant/box-plot.js +2 -1
  298. package/esm/constant/event.d.ts +1 -0
  299. package/esm/constant/event.js +4 -4
  300. package/esm/constant/event.js.map +1 -1
  301. package/esm/core/factory.js +1 -2
  302. package/esm/core/index.d.ts +1 -1
  303. package/esm/core/index.js +1 -1
  304. package/esm/core/index.js.map +1 -1
  305. package/esm/core/instance-manager.js +2 -1
  306. package/esm/data/transforms/dimension-statistics.js +2 -1
  307. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  308. package/esm/data/transforms/legend-data/discrete/discrete.js +5 -2
  309. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  310. package/esm/data/transforms/legend-data/discrete/interface.d.ts +1 -0
  311. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  312. package/esm/event/event-dispatcher.d.ts +2 -2
  313. package/esm/event/event-dispatcher.js +23 -18
  314. package/esm/event/event-dispatcher.js.map +1 -1
  315. package/esm/event/event.d.ts +2 -2
  316. package/esm/event/event.js +4 -3
  317. package/esm/event/event.js.map +1 -1
  318. package/esm/event/interface.d.ts +2 -2
  319. package/esm/event/interface.js.map +1 -1
  320. package/esm/interaction/drill/drillable.js +3 -2
  321. package/esm/interaction/drill/drillable.js.map +1 -1
  322. package/esm/interaction/zoom/zoomable.d.ts +1 -1
  323. package/esm/interaction/zoom/zoomable.js +23 -25
  324. package/esm/interaction/zoom/zoomable.js.map +1 -1
  325. package/esm/layout/base-layout.js +1 -2
  326. package/esm/model/base-model.d.ts +1 -1
  327. package/esm/model/base-model.js +2 -2
  328. package/esm/model/base-model.js.map +1 -1
  329. package/esm/plugin/components/axis-sync-plugin/axis-sync.d.ts +11 -0
  330. package/esm/plugin/components/axis-sync-plugin/axis-sync.js +55 -0
  331. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -0
  332. package/esm/plugin/components/axis-sync-plugin/index.d.ts +1 -0
  333. package/esm/plugin/components/axis-sync-plugin/index.js +2 -0
  334. package/esm/plugin/components/axis-sync-plugin/index.js.map +1 -0
  335. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.d.ts +7 -0
  336. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js +30 -0
  337. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -0
  338. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.d.ts +15 -0
  339. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js +115 -0
  340. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js.map +1 -0
  341. package/esm/plugin/components/index.d.ts +2 -0
  342. package/esm/plugin/components/index.js +4 -1
  343. package/esm/plugin/components/index.js.map +1 -1
  344. package/esm/plugin/components/interface.d.ts +2 -0
  345. package/esm/plugin/components/interface.js.map +1 -1
  346. package/esm/series/base/base-series.d.ts +11 -1
  347. package/esm/series/base/base-series.js +19 -13
  348. package/esm/series/base/base-series.js.map +1 -1
  349. package/esm/series/cartesian/cartesian.js +7 -1
  350. package/esm/series/cartesian/cartesian.js.map +1 -1
  351. package/esm/series/interface/series.d.ts +11 -4
  352. package/esm/series/interface/series.js.map +1 -1
  353. package/esm/series/line/interface.d.ts +1 -1
  354. package/esm/series/line/interface.js.map +1 -1
  355. package/esm/series/line/line.d.ts +2 -6
  356. package/esm/series/line/line.js +5 -18
  357. package/esm/series/line/line.js.map +1 -1
  358. package/esm/series/progress/linear/linear.js +51 -29
  359. package/esm/series/progress/linear/linear.js.map +1 -1
  360. package/esm/series/scatter/interface.d.ts +1 -1
  361. package/esm/series/scatter/interface.js.map +1 -1
  362. package/esm/series/word-cloud/base.d.ts +2 -2
  363. package/esm/series/word-cloud/base.js +42 -43
  364. package/esm/series/word-cloud/base.js.map +1 -1
  365. package/esm/series/word-cloud/interface.d.ts +1 -2
  366. package/esm/series/word-cloud/interface.js.map +1 -1
  367. package/esm/series/word-cloud/word-cloud-3d.js +37 -37
  368. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  369. package/esm/theme/buildin-theme/light/component/tooltip.js +0 -1
  370. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  371. package/package.json +12 -12
  372. package/cjs/series/treemap/config.d.ts +0 -44
  373. package/cjs/series/treemap/config.js +0 -51
  374. package/cjs/series/treemap/config.js.map +0 -1
  375. package/esm/series/treemap/config.d.ts +0 -44
  376. package/esm/series/treemap/config.js +0 -49
  377. package/esm/series/treemap/config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { ICartesianSeries } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPoint } from '../../typings/coordinate';\nimport type { IBaseScale } from '@visactor/vscale';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_START_OffsetSilhouette\n} from '../../constant';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { DirectionType } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { array, shallowCompare, isValid } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { ICartesianSeriesSpec } from './interface';\n\nexport abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec>\n extends BaseSeries<T>\n implements ICartesianSeries\n{\n readonly coordinate: 'cartesian' = 'cartesian';\n protected _bandPosition = 0.5;\n\n protected _fieldX!: string[];\n get fieldX() {\n return this._fieldX;\n }\n setFieldX(f: string | string[]) {\n this._fieldX = array(f);\n }\n\n protected _fieldY!: string[];\n get fieldY() {\n return this._fieldY;\n }\n setFieldY(f: string | string[]) {\n this._fieldY = array(f);\n }\n\n protected _fieldZ?: string[];\n get fieldZ(): string[] | undefined {\n return this._fieldZ;\n }\n setFieldZ(f?: string | string[]) {\n this._fieldZ = f && array(f);\n }\n\n protected _fieldX2!: string;\n get fieldX2() {\n return this._fieldX2;\n }\n setFieldX2(f: string) {\n this._fieldX2 = f;\n }\n\n protected _fieldY2!: string;\n get fieldY2() {\n return this._fieldY2;\n }\n setFieldY2(f: string) {\n this._fieldY2 = f;\n }\n\n protected _direction: DirectionType = Direction.vertical;\n get direction() {\n return this._direction;\n }\n\n protected _scaleX!: IBaseScale;\n get scaleX() {\n return this._scaleX;\n }\n setScaleX(s: IBaseScale) {\n this._scaleX = s;\n }\n\n protected _scaleY!: IBaseScale;\n get scaleY() {\n return this._scaleY;\n }\n setScaleY(s: IBaseScale) {\n this._scaleY = s;\n }\n\n protected _scaleZ?: IBaseScale;\n get scaleZ() {\n return this._scaleZ;\n }\n setScaleZ(s: IBaseScale) {\n this._scaleZ = s;\n }\n\n _xAxisHelper!: IAxisHelper;\n getXAxisHelper() {\n return this._xAxisHelper;\n }\n setXAxisHelper(h: IAxisHelper) {\n this._xAxisHelper = h;\n this.onXAxisHelperUpdate();\n }\n\n _yAxisHelper!: IAxisHelper;\n getYAxisHelper() {\n return this._yAxisHelper;\n }\n setYAxisHelper(h: IAxisHelper) {\n this._yAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n _zAxisHelper?: IAxisHelper;\n getZAxisHelper() {\n return this._zAxisHelper;\n }\n setZAxisHelper(h: IAxisHelper) {\n this._zAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: StatisticOperations }[] = [];\n if (this.getXAxisHelper()?.getScale) {\n this._fieldX.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getXAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.getYAxisHelper()?.getScale) {\n this._fieldY.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getYAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this._fieldZ && this.getZAxisHelper()?.getScale) {\n this._fieldZ.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getZAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n return fields;\n }\n\n getGroupFields() {\n return this.direction === 'vertical' ? this._fieldX : this._fieldY;\n }\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getStackValueField() {\n // TODO: hack\n if (this.direction === Direction.vertical) {\n return array(this._spec.yField)[0];\n }\n return array(this._spec.xField)[0];\n }\n\n setValueFieldToStack(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END);\n this.setFieldY2(STACK_FIELD_START);\n } else {\n this.setFieldX(STACK_FIELD_END);\n this.setFieldX2(STACK_FIELD_START);\n }\n }\n\n setValueFieldToPercent(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_PERCENT);\n this.setFieldY2(STACK_FIELD_START_PERCENT);\n } else {\n this.setFieldX(STACK_FIELD_END_PERCENT);\n this.setFieldX2(STACK_FIELD_START_PERCENT);\n }\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldY2(STACK_FIELD_START_OffsetSilhouette);\n } else {\n this.setFieldX(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldX2(STACK_FIELD_START_OffsetSilhouette);\n }\n }\n\n onXAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onYAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onZAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { xField, yField } = originalSpec;\n const result = super.updateSpec(spec);\n if (!shallowCompare(spec.xField, xField) || !shallowCompare(spec.yField, yField)) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldX(this._spec.xField);\n this.setFieldY(this._spec.yField);\n this.setFieldZ(this._spec.zField);\n if (isValid(this._spec.direction)) {\n this._direction = this._spec.direction;\n }\n\n if (this._direction === Direction.vertical) {\n this.setFieldY2('y1');\n this.setFieldX2(this._spec?.x2Field);\n } else {\n this.setFieldX2('x1');\n this.setFieldY2(this._spec?.y2Field);\n }\n\n if (this._stack) {\n this.setValueFieldToStack();\n }\n if (this._percent) {\n this.setValueFieldToPercent();\n }\n if (this._stackOffsetSilhouette) {\n this.setValueFieldToStackOffsetSilhouette();\n }\n }\n\n dataToPosition(datum: Datum): IPoint | null {\n if (!datum) {\n return null;\n }\n return {\n x: this.dataToPositionX(datum),\n y: this.dataToPositionY(datum)\n } as IPoint;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToX = this.valueToPositionX.bind(this);\n this._markAttributeContext.valueToY = this.valueToPositionY.bind(this);\n this._markAttributeContext.valueToPosition = (\n valueX: StringOrNumber | StringOrNumber[],\n valueY: StringOrNumber | StringOrNumber[]\n ) => {\n return {\n x: this.valueToPositionX(valueX),\n y: this.valueToPositionY(valueY)\n };\n };\n }\n\n valueToPositionX(value: StringOrNumber | StringOrNumber[]) {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n return dataToPosition(array(value), { bandPosition: this._bandPosition });\n }\n\n valueToPositionY(value: StringOrNumber | StringOrNumber[]) {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n return dataToPosition(array(value), { bandPosition: this._bandPosition });\n }\n\n dataToPositionX(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX));\n }\n\n dataToPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY));\n }\n\n dataToPositionZ(datum: Datum): number {\n if (!this._zAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._zAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fieldZ), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionX1(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this._fieldX2 && this._fieldX2 in datum\n ? this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX2))\n : this._xAxisHelper.getScale?.(0).range()[0];\n }\n\n dataToPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this._fieldY2 && this._fieldY2 in datum\n ? this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY2))\n : this._yAxisHelper.getScale?.(0).range()[0];\n }\n\n positionToData(p: IPoint): IPoint | null {\n if (!p) {\n return null;\n }\n return {\n x: this.positionToDataX(p.x),\n y: this.positionToDataY(p.y)\n };\n }\n\n positionToDataX(xPos: number): any | null {\n if (!this._scaleX) {\n return null;\n }\n return this._scaleX.invert(xPos);\n }\n\n positionToDataY(yPos: number): any | null {\n if (!this._scaleY) {\n return null;\n }\n return this._scaleY.invert(yPos);\n }\n\n getRegionRectLeft(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[0];\n }\n\n getRegionRectRight(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[1];\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this.setFieldX(this._fieldX);\n this.setFieldY(this._fieldY);\n this._trigger.setStateKeys([...this._fieldX, ...this._fieldY]);\n }\n\n getDimensionField(): string[] {\n if (this._direction === Direction.vertical) {\n return this.fieldX;\n }\n return this.fieldY;\n }\n\n getMeasureField(): string[] {\n if (this._direction === Direction.vertical) {\n return array(this._spec.yField ?? this.fieldY);\n }\n return array(this._spec.xField ?? this.fieldX);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { ICartesianSeries } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPoint } from '../../typings/coordinate';\nimport type { IBaseScale } from '@visactor/vscale';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_START_OffsetSilhouette\n} from '../../constant';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { DirectionType } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { array, shallowCompare, isValid } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { ICartesianSeriesSpec } from './interface';\n\nexport abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec>\n extends BaseSeries<T>\n implements ICartesianSeries\n{\n readonly coordinate: 'cartesian' = 'cartesian';\n protected _bandPosition = 0.5;\n\n protected _fieldX!: string[];\n get fieldX() {\n return this._fieldX;\n }\n setFieldX(f: string | string[]) {\n this._fieldX = array(f);\n }\n\n protected _fieldY!: string[];\n get fieldY() {\n return this._fieldY;\n }\n setFieldY(f: string | string[]) {\n this._fieldY = array(f);\n }\n\n protected _fieldZ?: string[];\n get fieldZ(): string[] | undefined {\n return this._fieldZ;\n }\n setFieldZ(f?: string | string[]) {\n this._fieldZ = f && array(f);\n }\n\n protected _fieldX2!: string;\n get fieldX2() {\n return this._fieldX2;\n }\n setFieldX2(f: string) {\n this._fieldX2 = f;\n }\n\n protected _fieldY2!: string;\n get fieldY2() {\n return this._fieldY2;\n }\n setFieldY2(f: string) {\n this._fieldY2 = f;\n }\n\n protected _direction: DirectionType = Direction.vertical;\n get direction() {\n return this._direction;\n }\n\n protected _scaleX!: IBaseScale;\n get scaleX() {\n return this._scaleX;\n }\n setScaleX(s: IBaseScale) {\n this._scaleX = s;\n }\n\n protected _scaleY!: IBaseScale;\n get scaleY() {\n return this._scaleY;\n }\n setScaleY(s: IBaseScale) {\n this._scaleY = s;\n }\n\n protected _scaleZ?: IBaseScale;\n get scaleZ() {\n return this._scaleZ;\n }\n setScaleZ(s: IBaseScale) {\n this._scaleZ = s;\n }\n\n _xAxisHelper!: IAxisHelper;\n getXAxisHelper() {\n return this._xAxisHelper;\n }\n setXAxisHelper(h: IAxisHelper) {\n this._xAxisHelper = h;\n this.onXAxisHelperUpdate();\n }\n\n _yAxisHelper!: IAxisHelper;\n getYAxisHelper() {\n return this._yAxisHelper;\n }\n setYAxisHelper(h: IAxisHelper) {\n this._yAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n _zAxisHelper?: IAxisHelper;\n getZAxisHelper() {\n return this._zAxisHelper;\n }\n setZAxisHelper(h: IAxisHelper) {\n this._zAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: StatisticOperations }[] = [];\n if (this.getXAxisHelper()?.getScale) {\n this._fieldX.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getXAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.getYAxisHelper()?.getScale) {\n this._fieldY.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getYAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this._fieldZ && this.getZAxisHelper()?.getScale) {\n this._fieldZ.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getZAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n return fields;\n }\n\n getGroupFields() {\n return this.direction === 'vertical' ? this._fieldX : this._fieldY;\n }\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getStackValueField() {\n // TODO: hack\n if (this.direction === Direction.vertical) {\n return array(this._spec.yField)[0];\n }\n return array(this._spec.xField)[0];\n }\n\n setValueFieldToStack(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END);\n this.setFieldY2(STACK_FIELD_START);\n } else {\n this.setFieldX(STACK_FIELD_END);\n this.setFieldX2(STACK_FIELD_START);\n }\n }\n\n setValueFieldToPercent(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_PERCENT);\n this.setFieldY2(STACK_FIELD_START_PERCENT);\n } else {\n this.setFieldX(STACK_FIELD_END_PERCENT);\n this.setFieldX2(STACK_FIELD_START_PERCENT);\n }\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldY2(STACK_FIELD_START_OffsetSilhouette);\n } else {\n this.setFieldX(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldX2(STACK_FIELD_START_OffsetSilhouette);\n }\n }\n\n onXAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onYAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onZAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { xField, yField } = originalSpec;\n const result = super.updateSpec(spec);\n if (!shallowCompare(spec.xField, xField) || !shallowCompare(spec.yField, yField)) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldX(this._spec.xField);\n this.setFieldY(this._spec.yField);\n this.setFieldZ(this._spec.zField);\n if (isValid(this._spec.direction)) {\n this._direction = this._spec.direction;\n }\n\n if (this._direction === Direction.vertical) {\n this.setFieldY2('y1');\n this.setFieldX2(this._spec?.x2Field);\n } else {\n this.setFieldX2('x1');\n this.setFieldY2(this._spec?.y2Field);\n }\n\n if (this._stack) {\n this.setValueFieldToStack();\n }\n if (this._percent) {\n this.setValueFieldToPercent();\n }\n if (this._stackOffsetSilhouette) {\n this.setValueFieldToStackOffsetSilhouette();\n }\n }\n\n dataToPosition(datum: Datum): IPoint | null {\n if (!datum) {\n return null;\n }\n return {\n x: this.dataToPositionX(datum),\n y: this.dataToPositionY(datum)\n } as IPoint;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToX = this.valueToPositionX.bind(this);\n this._markAttributeContext.valueToY = this.valueToPositionY.bind(this);\n this._markAttributeContext.xBandwidth = (depth: number = 0) => this.getXAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.yBandwidth = (depth: number = 0) => this.getYAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.valueToPosition = (\n valueX: StringOrNumber | StringOrNumber[],\n valueY: StringOrNumber | StringOrNumber[]\n ) => {\n return {\n x: this.valueToPositionX(valueX),\n y: this.valueToPositionY(valueY)\n };\n };\n }\n\n valueToPositionX(value: StringOrNumber | StringOrNumber[]) {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n return dataToPosition(array(value), { bandPosition: this._bandPosition });\n }\n\n valueToPositionY(value: StringOrNumber | StringOrNumber[]) {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n return dataToPosition(array(value), { bandPosition: this._bandPosition });\n }\n\n dataToPositionX(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX));\n }\n\n dataToPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY));\n }\n\n dataToPositionZ(datum: Datum): number {\n if (!this._zAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._zAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fieldZ), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionX1(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this._fieldX2 && this._fieldX2 in datum\n ? this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX2))\n : this._xAxisHelper.getScale?.(0).range()[0];\n }\n\n dataToPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this._fieldY2 && this._fieldY2 in datum\n ? this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY2))\n : this._yAxisHelper.getScale?.(0).range()[0];\n }\n\n positionToData(p: IPoint): IPoint | null {\n if (!p) {\n return null;\n }\n return {\n x: this.positionToDataX(p.x),\n y: this.positionToDataY(p.y)\n };\n }\n\n positionToDataX(xPos: number): any | null {\n if (!this._scaleX) {\n return null;\n }\n return this._scaleX.invert(xPos);\n }\n\n positionToDataY(yPos: number): any | null {\n if (!this._scaleY) {\n return null;\n }\n return this._scaleY.invert(yPos);\n }\n\n getRegionRectLeft(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[0];\n }\n\n getRegionRectRight(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[1];\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this.setFieldX(this._fieldX);\n this.setFieldY(this._fieldY);\n this._trigger.setStateKeys([...this._fieldX, ...this._fieldY]);\n }\n\n getDimensionField(): string[] {\n if (this._direction === Direction.vertical) {\n return this.fieldX;\n }\n return this.fieldY;\n }\n\n getMeasureField(): string[] {\n if (this._direction === Direction.vertical) {\n return array(this._spec.yField ?? this.fieldY);\n }\n return array(this._spec.xField ?? this.fieldX);\n }\n}\n"]}
@@ -60,6 +60,7 @@ export interface ISeries extends IModel, ILayoutItem {
60
60
  getSeriesField: () => string | undefined;
61
61
  getSeriesKeys: () => string[];
62
62
  getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];
63
+ getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];
63
64
  getSeriesInfoList: () => ISeriesSeriesInfo[];
64
65
  getGroups: () => Group | undefined;
65
66
  getDimensionField: () => string[];
@@ -71,10 +72,10 @@ export interface ISeries extends IModel, ILayoutItem {
71
72
  setSeriesField: (field: string) => void;
72
73
  handleZoom?: (e: ZoomEventParam) => void;
73
74
  handlePan?: (e: PanEventParam) => void;
74
- dataToPosition: (datum: any) => IPoint | null;
75
- dataToPositionX: (xValue: any) => number | null;
76
- dataToPositionY: (yValue: any) => number | null;
77
- dataToPositionZ?: (yValue: any) => number | null;
75
+ dataToPosition: (datum: Datum) => IPoint | null;
76
+ dataToPositionX: (datum: Datum) => number | null;
77
+ dataToPositionY: (datum: Datum) => number | null;
78
+ dataToPositionZ?: (datum: Datum) => number | null;
78
79
  getColorAttribute: () => {
79
80
  scale: IBaseScale;
80
81
  field: string;
@@ -96,8 +97,12 @@ export interface ICartesianSeries extends ISeries {
96
97
  setScaleZ: (s: IBaseScale) => void;
97
98
  fieldX: string[];
98
99
  setFieldX: (field: string | string[], level?: number) => void;
100
+ fieldX2: string;
101
+ setFieldX2: (field: string) => void;
99
102
  fieldY: string[];
100
103
  setFieldY: (field: string | string[], level?: number) => void;
104
+ fieldY2: string;
105
+ setFieldY2: (field: string) => void;
101
106
  fieldZ?: string[];
102
107
  setFieldZ: (field: string | string[], level?: number) => void;
103
108
  positionToData: (p: IPoint) => any | null;
@@ -109,6 +114,8 @@ export interface ICartesianSeries extends ISeries {
109
114
  setYAxisHelper: (h: IAxisHelper) => void;
110
115
  getZAxisHelper: () => IAxisHelper | undefined;
111
116
  setZAxisHelper: (h: IAxisHelper) => void;
117
+ dataToPositionX1: (datum: Datum) => number | null;
118
+ dataToPositionY1: (datum: Datum) => number | null;
112
119
  }
113
120
  export interface IPolarSeries extends ISeries {
114
121
  readonly coordinate: 'polar';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ITrigger } from '../../interaction/interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, ILayoutItem } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { Group } from '../base/group';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesStackData, ISeriesUpdateDataOption } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType } from '../../typings';\nimport type { StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { ITextMark } from '../../mark/text';\nimport type { IArcLabelSpec } from '../pie/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel, ILayoutItem {\n readonly type: string;\n readonly name?: string;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatistics?: () => DataView | undefined;\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any, opt: ISeriesUpdateDataOption) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => Group | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: any) => IPoint | null;\n dataToPositionX: (xValue: any) => number | null;\n dataToPositionY: (yValue: any) => number | null;\n dataToPositionZ?: (yValue: any) => number | null;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n getTrigger: () => ITrigger;\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (textMark: ITextMark) => void;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n\n dataToPosition: (datum: any) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n center: (() => IPoint) | IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n getLabelConfig: () => IArcLabelSpec;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ITrigger } from '../../interaction/interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, ILayoutItem } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { Group } from '../base/group';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesStackData, ISeriesUpdateDataOption } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType } from '../../typings';\nimport type { StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { ITextMark } from '../../mark/text';\nimport type { IArcLabelSpec } from '../pie/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel, ILayoutItem {\n readonly type: string;\n readonly name?: string;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatistics?: () => DataView | undefined;\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any, opt: ISeriesUpdateDataOption) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => Group | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n getTrigger: () => ITrigger;\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (textMark: ITextMark) => void;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n\n dataToPosition: (datum: any) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n center: (() => IPoint) | IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n getLabelConfig: () => IArcLabelSpec;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n}\n"]}
@@ -14,7 +14,7 @@ export interface ILineSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<Li
14
14
  point?: IMarkSpec<ISymbolMarkSpec>;
15
15
  line?: IMarkSpec<ILineMarkSpec>;
16
16
  label?: ILabelSpec & {
17
- position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
17
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
18
18
  };
19
19
  }
20
20
  export interface ILineSeriesTheme extends Omit<ICartesianSeriesTheme, 'label'>, ILineLikeSeriesTheme {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/line/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec } from '../../typings/spec/common';\nimport type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { ISymbolMarkSpec, ILineMarkSpec } from '../../typings/visual';\nimport type { IInvalidType } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { LineAppearPreset } from './animation';\nimport type { ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\ntype LineMarks = 'point' | 'line';\n\nexport interface ILineSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<LineMarks, LineAppearPreset>,\n IMarkProgressiveConfig {\n /** 系列类型 */\n type: 'line';\n /**\n * 非合规数据点连接方式\n * @description null,undefined等非法数据点连接方式。\n * 'break'指在该数据点处断开\n * 'link' 指忽略该点保持连续\n * 'zero' 指该点默认数值为0\n * 'ignore' 指不处理\n */\n invalidType?: IInvalidType;\n /**\n * 点图元配置\n */\n point?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 线图元配置\n */\n line?: IMarkSpec<ILineMarkSpec>;\n /** 标签配置 */\n label?: ILabelSpec & {\n /** 标签位置 */\n position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\n };\n}\n\nexport interface ILineSeriesTheme extends Omit<ICartesianSeriesTheme, 'label'>, ILineLikeSeriesTheme {\n label?: Partial<ILineSeriesSpec['label']>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/line/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec } from '../../typings/spec/common';\nimport type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { ISymbolMarkSpec, ILineMarkSpec } from '../../typings/visual';\nimport type { IInvalidType } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { LineAppearPreset } from './animation';\nimport type { ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\ntype LineMarks = 'point' | 'line';\n\nexport interface ILineSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<LineMarks, LineAppearPreset>,\n IMarkProgressiveConfig {\n /** 系列类型 */\n type: 'line';\n /**\n * 非合规数据点连接方式\n * @description null,undefined等非法数据点连接方式。\n * 'break'指在该数据点处断开\n * 'link' 指忽略该点保持连续\n * 'zero' 指该点默认数值为0\n * 'ignore' 指不处理\n */\n invalidType?: IInvalidType;\n /**\n * 点图元配置\n */\n point?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 线图元配置\n */\n line?: IMarkSpec<ILineMarkSpec>;\n /** 标签配置 */\n label?: ILabelSpec & {\n /** 标签位置 */\n position?:\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n | 'center';\n };\n}\n\nexport interface ILineSeriesTheme extends Omit<ICartesianSeriesTheme, 'label'>, ILineLikeSeriesTheme {\n label?: Partial<ILineSeriesSpec['label']>;\n}\n"]}
@@ -2,7 +2,7 @@ import { CartesianSeries } from '../cartesian/cartesian';
2
2
  import type { SeriesMarkMap } from '../interface';
3
3
  import { SeriesTypeEnum } from '../interface';
4
4
  import { LineLikeSeriesMixin } from '../mixin/line-mixin';
5
- import type { IInvalidType, Maybe } from '../../typings';
5
+ import type { Datum, IInvalidType, Maybe } from '../../typings';
6
6
  import type { ILineSeriesSpec, ILineSeriesTheme } from './interface';
7
7
  export interface LineSeries extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | '_lineMark' | '_symbolMark'>, CartesianSeries<ILineSeriesSpec> {
8
8
  }
@@ -15,9 +15,5 @@ export declare class LineSeries extends CartesianSeries<ILineSeriesSpec> {
15
15
  initMark(): void;
16
16
  initMarkStyle(): void;
17
17
  initAnimation(): void;
18
- getSeriesInfoList(): {
19
- key: string;
20
- style: (attribute: string) => unknown;
21
- shapeType: string;
22
- }[];
18
+ getSeriesStyle(datum: Datum): (attribute: string) => unknown;
23
19
  }
@@ -1,5 +1,3 @@
1
- import { DEFAULT_DATA_SERIES_FIELD } from "../../constant";
2
-
3
1
  import { CartesianSeries } from "../cartesian/cartesian";
4
2
 
5
3
  import { SeriesMarkNameEnum } from "../interface";
@@ -50,22 +48,11 @@ export class LineSeries extends CartesianSeries {
50
48
  this._lineMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.line, this._spec))),
51
49
  this._symbolMark && this._symbolMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec)));
52
50
  }
53
- getSeriesInfoList() {
54
- const seriesKeys = this.getSeriesKeys(), shapeType = this.getDefaultShapeType();
55
- return seriesKeys.map((key => ({
56
- key: key,
57
- style: attribute => {
58
- var _a, _b;
59
- if (!this._lineMark) return null;
60
- const attr = this._lineMark.getAttribute(attribute, {
61
- [null !== (_a = this._seriesField) && void 0 !== _a ? _a : DEFAULT_DATA_SERIES_FIELD]: key
62
- });
63
- return attr || this._symbolMark.getAttribute(attribute, {
64
- [null !== (_b = this._seriesField) && void 0 !== _b ? _b : DEFAULT_DATA_SERIES_FIELD]: key
65
- });
66
- },
67
- shapeType: shapeType
68
- })));
51
+ getSeriesStyle(datum) {
52
+ return attribute => {
53
+ var _a, _b;
54
+ return "fill" === attribute && (attribute = "stroke"), null !== (_b = null === (_a = this._seriesMark) || void 0 === _a ? void 0 : _a.getAttribute(attribute, datum)) && void 0 !== _b ? _b : null;
55
+ };
69
56
  }
70
57
  }
71
58
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/line/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { LineLikeSeriesMixin, lineLikeSeriesMarkMap } from '../mixin/line-mixin';\nimport { mixin } from '@visactor/vutils';\nimport type { IInvalidType, Maybe } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { ILineSeriesSpec, ILineSeriesTheme } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { LineAppearPreset } from './animation';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { LineMark } from '../../mark/line';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([LineMark, SymbolMark, TextMark]);\n\nexport interface LineSeries\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n >,\n CartesianSeries<ILineSeriesSpec> {}\n\nexport class LineSeries extends CartesianSeries<ILineSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.line;\n type = SeriesTypeEnum.line;\n protected _invalidType: IInvalidType = 'break';\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n ...lineLikeSeriesMarkMap\n };\n\n protected declare _theme: Maybe<ILineSeriesTheme>;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n this.initLineMark(progressive);\n this.initSymbolMark(progressive);\n }\n\n initMarkStyle(): void {\n this.initLineMarkStyle(this._direction);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LineAppearPreset>)?.preset;\n this._lineMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec)\n )\n );\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec))\n );\n }\n }\n\n getSeriesInfoList() {\n const seriesKeys = this.getSeriesKeys();\n const shapeType = this.getDefaultShapeType();\n return seriesKeys.map(key => {\n return {\n key,\n style: (attribute: string) => {\n if (!this._lineMark) {\n return null;\n }\n const attr = this._lineMark.getAttribute(attribute as any, {\n [this._seriesField ?? DEFAULT_DATA_SERIES_FIELD]: key\n });\n if (attr) {\n return attr;\n }\n return this._symbolMark.getAttribute(attribute as any, {\n [this._seriesField ?? DEFAULT_DATA_SERIES_FIELD]: key\n });\n },\n shapeType\n };\n });\n }\n}\n\nmixin(LineSeries, LineLikeSeriesMixin);\n"]}
1
+ {"version":3,"sources":["../src/series/line/line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAejD,MAAM,OAAO,UAAW,SAAQ,eAAgC;IAAhE;;QAEE,SAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QACjB,iBAAY,GAAiB,OAAO,CAAC;IAgDjD,CAAC;IAvCC,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,aAAa;;QACX,MAAM,eAAe,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAAuD,0CAAE,MAAM,CAAC;QAClG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,eAAe,CACb,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAC1D,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CACzD,CACF,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,eAAe,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5G,CAAC;SACH;IACH,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,OAAO,CAAC,SAAiB,EAAE,EAAE;;YAC3B,SAAS,KAAK,MAAM,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;YAC/C,OAAO,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,YAAY,CAAC,SAAgB,EAAE,KAAK,CAAC,mCAAI,IAAI,CAAC;QACzE,CAAC,CAAC;IACJ,CAAC;;AAjDe,eAAI,GAAW,cAAc,CAAC,IAAI,CAAC;AAInC,eAAI,mCACf,UAAU,CAAC,IAAI,GACf,qBAAqB,EACxB;AA6CJ,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC","file":"line.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { LineLikeSeriesMixin, lineLikeSeriesMarkMap } from '../mixin/line-mixin';\nimport { mixin } from '@visactor/vutils';\nimport type { Datum, IInvalidType, Maybe } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { ILineSeriesSpec, ILineSeriesTheme } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { LineAppearPreset } from './animation';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { LineMark } from '../../mark/line';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([LineMark, SymbolMark, TextMark]);\n\nexport interface LineSeries\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n >,\n CartesianSeries<ILineSeriesSpec> {}\n\nexport class LineSeries extends CartesianSeries<ILineSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.line;\n type = SeriesTypeEnum.line;\n protected _invalidType: IInvalidType = 'break';\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n ...lineLikeSeriesMarkMap\n };\n\n protected declare _theme: Maybe<ILineSeriesTheme>;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n this.initLineMark(progressive);\n this.initSymbolMark(progressive);\n }\n\n initMarkStyle(): void {\n this.initLineMarkStyle(this._direction);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LineAppearPreset>)?.preset;\n this._lineMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec)\n )\n );\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec))\n );\n }\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n attribute === 'fill' && (attribute = 'stroke');\n return this._seriesMark?.getAttribute(attribute as any, datum) ?? null;\n };\n }\n}\n\nmixin(LineSeries, LineLikeSeriesMixin);\n"]}
@@ -20,6 +20,8 @@ import { VChart } from "../../../core/vchart";
20
20
 
21
21
  import { RectMark } from "../../../mark/rect";
22
22
 
23
+ import { createRect } from "@visactor/vrender";
24
+
23
25
  VChart.useMark([ RectMark ]);
24
26
 
25
27
  export class LinearProgressSeries extends CartesianSeries {
@@ -46,7 +48,10 @@ export class LinearProgressSeries extends CartesianSeries {
46
48
  if ("vertical" === this._spec.direction) {
47
49
  const leftPadding = null !== (_b = null === (_a = this._spec.progress) || void 0 === _a ? void 0 : _a.leftPadding) && void 0 !== _b ? _b : 0, rightPadding = null !== (_d = null === (_c = this._spec.progress) || void 0 === _c ? void 0 : _c.rightPadding) && void 0 !== _d ? _d : 0;
48
50
  this.setMarkStyle(progressMark, {
49
- x: leftPadding,
51
+ x: datum => {
52
+ var _a, _b;
53
+ return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2 + leftPadding;
54
+ },
50
55
  y: datum => {
51
56
  var _a, _b;
52
57
  return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
@@ -70,7 +75,10 @@ export class LinearProgressSeries extends CartesianSeries {
70
75
  bandPosition: this._bandPosition
71
76
  });
72
77
  },
73
- y: topPadding,
78
+ y: datum => {
79
+ var _a, _b;
80
+ return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2 + topPadding;
81
+ },
74
82
  height: this._spec.bandWidth - topPadding - bottomPadding,
75
83
  width: () => {
76
84
  var _a;
@@ -94,7 +102,10 @@ export class LinearProgressSeries extends CartesianSeries {
94
102
  var _a, _b, _c, _d, _e;
95
103
  const trackMark = this._trackMark;
96
104
  trackMark && ("vertical" === this._spec.direction ? this.setMarkStyle(trackMark, {
97
- x: 0,
105
+ x: datum => {
106
+ var _a, _b;
107
+ return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2;
108
+ },
98
109
  y: 0,
99
110
  width: this._spec.bandWidth,
100
111
  height: () => this._scaleY.range()[0],
@@ -102,7 +113,10 @@ export class LinearProgressSeries extends CartesianSeries {
102
113
  fill: null === (_b = null === (_a = this._spec.track) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill
103
114
  }) : this.setMarkStyle(trackMark, {
104
115
  x: 0,
105
- y: 0,
116
+ y: datum => {
117
+ var _a, _b;
118
+ return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2;
119
+ },
106
120
  height: this._spec.bandWidth,
107
121
  width: () => this._scaleX.range()[1],
108
122
  cornerRadius: this._spec.cornerRadius,
@@ -114,32 +128,40 @@ export class LinearProgressSeries extends CartesianSeries {
114
128
  this._progressGroupMark;
115
129
  }
116
130
  initProgressGroupMarkStyle() {
117
- var _a;
118
131
  const groupMark = this._progressGroupMark;
119
- if (groupMark) {
120
- const datum = null === (_a = this._rawData) || void 0 === _a ? void 0 : _a.rawData[0];
121
- groupMark.setZIndex(this.layoutZIndex), groupMark.created(), "vertical" === this._spec.direction ? this.setMarkStyle(groupMark, {
122
- x: () => {
123
- var _a, _b;
124
- return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2;
125
- },
126
- y: 0,
127
- height: () => this._scaleY.range()[0],
128
- width: this._spec.bandWidth,
129
- clip: !0,
130
- cornerRadius: this._spec.cornerRadius
131
- }, "normal", AttributeLevel.Series) : this.setMarkStyle(groupMark, {
132
- x: 0,
133
- y: () => {
134
- var _a, _b;
135
- return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2;
136
- },
137
- height: this._spec.bandWidth,
138
- width: () => this._scaleX.range()[1],
139
- clip: !0,
140
- cornerRadius: this._spec.cornerRadius
141
- }, "normal", AttributeLevel.Series), this._progressGroupMark.setInteractive(!1);
142
- }
132
+ groupMark.setZIndex(this.layoutZIndex), groupMark.created(), this.setMarkStyle(groupMark, {
133
+ clip: !0,
134
+ x: 0,
135
+ y: 0,
136
+ path: () => {
137
+ var _a;
138
+ const rectPaths = [];
139
+ return null === (_a = this._rawData) || void 0 === _a || _a.rawData.forEach(((datum, index) => {
140
+ var _a, _b, _c, _d;
141
+ if ("vertical" === this._spec.direction) {
142
+ const x = valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2, height = this._scaleY.range()[0];
143
+ rectPaths.push(createRect({
144
+ x: x,
145
+ y: 0,
146
+ height: height,
147
+ width: this._spec.bandWidth,
148
+ cornerRadius: this._spec.cornerRadius,
149
+ fill: !0
150
+ }));
151
+ } else {
152
+ const y = valueInScaleRange(this.dataToPositionY(datum), null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0)) - this._spec.bandWidth / 2, width = this._scaleX.range()[1];
153
+ rectPaths.push(createRect({
154
+ x: 0,
155
+ y: y,
156
+ height: this._spec.bandWidth,
157
+ width: width,
158
+ cornerRadius: this._spec.cornerRadius,
159
+ fill: !0
160
+ }));
161
+ }
162
+ })), rectPaths;
163
+ }
164
+ }, "normal", AttributeLevel.Series), this._progressGroupMark.setInteractive(!1);
143
165
  }
144
166
  initAnimation() {
145
167
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/progress/linear/linear.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE3B,MAAM,OAAO,oBAAqB,SAAQ,eAA0C;IAApF;;QAEE,SAAI,GAAG,cAAc,CAAC,cAAc,CAAC;QAW7B,kBAAa,GAAqB,IAAI,CAAC;QACvC,eAAU,GAAqB,IAAI,CAAC;QACpC,uBAAkB,GAAsB,IAAI,CAAC;IA8KvD,CAAC;IAnKC,QAAQ;QACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxE,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,kBAAkB;SAChC,CAAc,CAAC;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,qBAAqB;;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,YAAY,EAAE;YAChB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;gBACvC,MAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,WAAW,mCAAI,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,YAAY,mCAAI,CAAC,CAAC;gBAE5D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;oBAC9B,CAAC,EAAE,WAAW;oBACd,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,eAAC,OAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC,CAAA,EAAA;oBACrG,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA,EAAA;oBAC1F,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY;oBACxD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;iBAC/B,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,UAAU,mCAAI,CAAC,CAAC;gBACxD,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,aAAa,mCAAI,CAAC,CAAC;gBAE9D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;oBAC9B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;;wBAClB,OAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;qBAAA;oBAC7E,CAAC,EAAE,UAAU;oBACb,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,aAAa;oBACzD,KAAK,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA,EAAA;oBACzF,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;iBAC/B,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC9D;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE;YAClE,MAAM,EAAE,IAAI,CAAC,kBAAkB;SAChC,CAAc,CAAC;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,kBAAkB;;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,SAAS,EAAE;YACb,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;gBACvC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;oBAC3B,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI;iBACpC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;oBAC3B,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI;iBACpC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACtC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3D;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;QAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,0BAA0B;;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC1C,IAAI,SAAS,EAAE;YACb,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACxC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;gBACvC,IAAI,CAAC,YAAY,CACf,SAAS,EACT;oBACE,CAAC,EAAE,GAAG,EAAE;;wBACN,OAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAA;qBAAA;oBAC1B,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC3B,IAAI,EAAE,IAAI;oBACV,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;iBACtC,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,YAAY,CACf,SAAS,EACT;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,GAAG,EAAE;;wBACN,OAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAA;qBAAA;oBAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpC,IAAI,EAAE,IAAI;oBACV,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;iBACtC,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;aACH;YAED,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,aAAa;;QACX,MAAM,eAAe,GAAmC;YACtD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAAiE,0CAAE,MAAM,CAAC;QAE5G,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,eAAe,CACb,sBAAsB,CAAC,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,EACpE,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAC7D,CACF,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAChC,eAAe,CACb,sBAAsB,CAAC,kBAAkB,EAAE,EAC3C,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAC1D,CACF,CAAC;IACJ,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;;AA3Le,yBAAI,GAAW,cAAc,CAAC,cAAc,CAAC;AAG7C,yBAAI,mCACf,UAAU,CAAC,IAAI,KAClB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EACvF,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EAC7F,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IACxF","file":"linear.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface';\nimport type { IRectMark } from '../../../mark/rect';\nimport type { IGroupMark } from '../../../mark/group';\nimport { MarkTypeEnum } from '../../../mark/interface';\nimport { valueInScaleRange } from '../../../util';\nimport { AttributeLevel } from '../../../constant';\nimport type { Datum, Maybe } from '../../../typings';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../../animation/config';\nimport type { ILinearProgressAnimationParams, LinearProgressAppearPreset } from './animation';\nimport type { ILinearProgressSeriesSpec, ILinearProgressSeriesTheme } from './interface';\nimport { LinearProgressSeriesTooltipHelper } from './tooltip-helper';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { BaseSeries } from '../../base/base-series';\nimport { VChart } from '../../../core/vchart';\nimport { RectMark } from '../../../mark/rect';\n\nVChart.useMark([RectMark]);\n\nexport class LinearProgressSeries extends CartesianSeries<ILinearProgressSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.linearProgress;\n type = SeriesTypeEnum.linearProgress;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.track]: { name: SeriesMarkNameEnum.track, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.progress]: { name: SeriesMarkNameEnum.progress, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group }\n };\n\n protected declare _theme: Maybe<ILinearProgressSeriesTheme>;\n\n private _progressMark: IRectMark | null = null;\n private _trackMark: IRectMark | null = null;\n private _progressGroupMark: IGroupMark | null = null;\n\n /**\n * 为了解决在圆角情况下,在数值较小时,rect绘图效果不好的问题\n * 1. trackMark的所有样式设置在groupMark上,定位也依靠这个groupMark\n * 2. progressMark长度固定为整个进度条长度,通过x的偏移体现当前进度\n *\n * 为了解决在配置tooltip时,trackMark设置为GroupMark无法绑定数据的问题,\n * 1. 原本的设置为groupMark的trackMark更名为GroupMark。用来保证在clip效果下progressMark小数据值的绘图效果。\n * 1. 增加一层设置为rectMark的trackMark,形状大小与GroupMark相同\n */\n initMark(): void {\n this.initProgressGroupMark();\n this.initTrackMark();\n this.initProgressMark();\n }\n\n initMarkStyle(): void {\n this.initProgressGroupMarkStyle();\n this.initTrackMarkStyle();\n this.initProgressMarkStyle();\n }\n\n private initProgressMark() {\n this._progressMark = this._createMark(LinearProgressSeries.mark.progress, {\n isSeriesMark: true,\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._progressMark;\n }\n\n private initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n if (this._spec.direction === 'vertical') {\n const leftPadding = this._spec.progress?.leftPadding ?? 0;\n const rightPadding = this._spec.progress?.rightPadding ?? 0;\n\n this.setMarkStyle(progressMark, {\n x: leftPadding,\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)),\n height: () => this._yAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition }),\n width: this._spec.bandWidth - leftPadding - rightPadding,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n });\n } else {\n const topPadding = this._spec.progress?.topPadding ?? 0;\n const bottomPadding = this._spec.progress?.bottomPadding ?? 0;\n\n this.setMarkStyle(progressMark, {\n x: (datum: Datum) =>\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._xAxisHelper.dataToPosition([1], { bandPosition: this._bandPosition }),\n y: topPadding,\n height: this._spec.bandWidth - topPadding - bottomPadding,\n width: () => this._xAxisHelper?.dataToPosition([1], { bandPosition: this._bandPosition }),\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n });\n }\n this._trigger.registerMark(progressMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(progressMark);\n }\n }\n\n private initTrackMark() {\n this._trackMark = this._createMark(LinearProgressSeries.mark.track, {\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._trackMark;\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(trackMark, {\n x: 0,\n y: 0,\n width: this._spec.bandWidth,\n height: () => this._scaleY.range()[0],\n cornerRadius: this._spec.cornerRadius,\n fill: this._spec.track?.style?.fill\n });\n } else {\n this.setMarkStyle(trackMark, {\n x: 0,\n y: 0,\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n cornerRadius: this._spec.cornerRadius,\n fill: this._spec.track?.style?.fill\n });\n }\n this._trigger.registerMark(trackMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(trackMark);\n }\n }\n\n private initProgressGroupMark() {\n this._progressGroupMark = this._createMark(LinearProgressSeries.mark.group) as IGroupMark;\n return this._progressGroupMark;\n }\n\n private initProgressGroupMarkStyle() {\n const groupMark = this._progressGroupMark;\n if (groupMark) {\n const datum = this._rawData?.rawData[0];\n groupMark.setZIndex(this.layoutZIndex);\n groupMark.created();\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(\n groupMark,\n {\n x: () =>\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2,\n y: 0,\n height: () => this._scaleY.range()[0],\n width: this._spec.bandWidth,\n clip: true,\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n groupMark,\n {\n x: 0,\n y: () =>\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2,\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n clip: true,\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this._progressGroupMark.setInteractive(false);\n }\n }\n\n initAnimation() {\n const animationParams: ILinearProgressAnimationParams = {\n direction: this.direction\n };\n\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LinearProgressAppearPreset>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.linearProgress(animationParams, appearPreset),\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 protected initTooltip() {\n this._tooltipHelper = new LinearProgressSeriesTooltipHelper(this);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/progress/linear/linear.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE3B,MAAM,OAAO,oBAAqB,SAAQ,eAA0C;IAApF;;QAEE,SAAI,GAAG,cAAc,CAAC,cAAc,CAAC;QAW7B,kBAAa,GAAqB,IAAI,CAAC;QACvC,eAAU,GAAqB,IAAI,CAAC;QACpC,uBAAkB,GAAsB,IAAI,CAAC;IAqNvD,CAAC;IAtMC,QAAQ;QACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxE,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,kBAAkB;SAChC,CAAc,CAAC;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,qBAAqB;;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,YAAY,EAAE;YAChB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;gBACvC,MAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,WAAW,mCAAI,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,YAAY,mCAAI,CAAC,CAAC;gBAE5D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;oBAC9B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;;wBAClB,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;4BACxB,WAAW,CACZ,CAAC;oBACJ,CAAC;oBACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,eAAC,OAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC,CAAA,EAAA;oBACrG,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA,EAAA;oBAC1F,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY;oBACxD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;iBAC/B,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,UAAU,mCAAI,CAAC,CAAC;gBACxD,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,aAAa,mCAAI,CAAC,CAAC;gBAE9D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;oBAC9B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;;wBAClB,OAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;qBAAA;oBAC7E,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;;wBAClB,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;4BACxB,UAAU,CACX,CAAC;oBACJ,CAAC;oBACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,aAAa;oBACzD,KAAK,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA,EAAA;oBACzF,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;iBAC/B,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC9D;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE;YAClE,MAAM,EAAE,IAAI,CAAC,kBAAkB;SAChC,CAAc,CAAC;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,kBAAkB;;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,SAAS,EAAE;YACb,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;gBACvC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;oBAC3B,CAAC,EAAE,CAAC,KAAU,EAAE,EAAE;;wBAChB,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CACzB,CAAC;oBACJ,CAAC;oBACD,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI;iBACpC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;oBAC3B,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC,KAAU,EAAE,EAAE;;wBAChB,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CACzB,CAAC;oBACJ,CAAC;oBACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI;iBACpC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACtC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3D;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;QAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,0BAA0B;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC1C,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,IAAI,EAAE,IAAI;YACV,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,GAAG,EAAE;;gBACT,MAAM,SAAS,GAAU,EAAE,CAAC;gBAC5B,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;;oBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;wBACvC,MAAM,CAAC,GACL,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;wBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;wBAEvC,SAAS,CAAC,IAAI,CACZ,UAAU,CAAC;4BACT,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;4BACJ,MAAM,EAAE,MAAM;4BACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;4BAC3B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;4BACrC,IAAI,EAAE,IAAI;yBACX,CAAC,CACH,CAAC;qBACH;yBAAM;wBACL,MAAM,CAAC,GACL,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,mDAAG,CAAC,CAAC,CAAC;4BAChF,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;wBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;wBAEtC,SAAS,CAAC,IAAI,CACZ,UAAU,CAAC;4BACT,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;4BACJ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;4BAC5B,KAAK,EAAE,KAAK;4BACZ,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;4BACrC,IAAI,EAAE,IAAI;yBACX,CAAC,CACH,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,aAAa;;QACX,MAAM,eAAe,GAAmC;YACtD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAAiE,0CAAE,MAAM,CAAC;QAE5G,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,eAAe,CACb,sBAAsB,CAAC,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,EACpE,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAC7D,CACF,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAChC,eAAe,CACb,sBAAsB,CAAC,kBAAkB,EAAE,EAC3C,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAC1D,CACF,CAAC;IACJ,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;;AAlOe,yBAAI,GAAW,cAAc,CAAC,cAAc,CAAC;AAG7C,yBAAI,mCACf,UAAU,CAAC,IAAI,KAClB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EACvF,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EAC7F,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IACxF","file":"linear.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface';\nimport type { IRectMark } from '../../../mark/rect';\nimport type { IGroupMark } from '../../../mark/group';\nimport { MarkTypeEnum } from '../../../mark/interface';\nimport { valueInScaleRange } from '../../../util';\nimport { AttributeLevel } from '../../../constant';\nimport type { Datum, Maybe } from '../../../typings';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../../animation/config';\nimport type { ILinearProgressAnimationParams, LinearProgressAppearPreset } from './animation';\nimport type { ILinearProgressSeriesSpec, ILinearProgressSeriesTheme } from './interface';\nimport { LinearProgressSeriesTooltipHelper } from './tooltip-helper';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { BaseSeries } from '../../base/base-series';\nimport { VChart } from '../../../core/vchart';\nimport { RectMark } from '../../../mark/rect';\nimport { createRect } from '@visactor/vrender';\n\nVChart.useMark([RectMark]);\n\nexport class LinearProgressSeries extends CartesianSeries<ILinearProgressSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.linearProgress;\n type = SeriesTypeEnum.linearProgress;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.track]: { name: SeriesMarkNameEnum.track, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.progress]: { name: SeriesMarkNameEnum.progress, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group }\n };\n\n protected declare _theme: Maybe<ILinearProgressSeriesTheme>;\n\n private _progressMark: IRectMark | null = null;\n private _trackMark: IRectMark | null = null;\n private _progressGroupMark: IGroupMark | null = null;\n\n /**\n * 为了解决在圆角情况下,在数值较小时,rect绘图效果不好的问题\n * 1. trackMark的所有样式设置在groupMark上,定位也依靠这个groupMark\n * 2. progressMark长度固定为整个进度条长度,通过x的偏移体现当前进度\n *\n * 为了解决在配置tooltip时,trackMark设置为GroupMark无法绑定数据的问题,\n * 1. 原本的设置为groupMark的trackMark更名为GroupMark。用来保证在clip效果下progressMark小数据值的绘图效果。\n * 1. 增加一层设置为rectMark的trackMark,形状大小与GroupMark相同\n *\n * 为了解决成组\n * 给groupMark的path字段赋值为一个rect数组 也就是一个groupMark具有多个以背景条为轮廓的rect的path\n * trackMark与progressMark使用绝对定位\n */\n initMark(): void {\n this.initProgressGroupMark();\n this.initTrackMark();\n this.initProgressMark();\n }\n\n initMarkStyle(): void {\n this.initProgressGroupMarkStyle();\n this.initTrackMarkStyle();\n this.initProgressMarkStyle();\n }\n\n private initProgressMark() {\n this._progressMark = this._createMark(LinearProgressSeries.mark.progress, {\n isSeriesMark: true,\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._progressMark;\n }\n\n private initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n if (this._spec.direction === 'vertical') {\n const leftPadding = this._spec.progress?.leftPadding ?? 0;\n const rightPadding = this._spec.progress?.rightPadding ?? 0;\n\n this.setMarkStyle(progressMark, {\n x: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2 +\n leftPadding\n );\n },\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)),\n height: () => this._yAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition }),\n width: this._spec.bandWidth - leftPadding - rightPadding,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n });\n } else {\n const topPadding = this._spec.progress?.topPadding ?? 0;\n const bottomPadding = this._spec.progress?.bottomPadding ?? 0;\n\n this.setMarkStyle(progressMark, {\n x: (datum: Datum) =>\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._xAxisHelper.dataToPosition([1], { bandPosition: this._bandPosition }),\n y: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2 +\n topPadding\n );\n },\n height: this._spec.bandWidth - topPadding - bottomPadding,\n width: () => this._xAxisHelper?.dataToPosition([1], { bandPosition: this._bandPosition }),\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n });\n }\n this._trigger.registerMark(progressMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(progressMark);\n }\n }\n\n private initTrackMark() {\n this._trackMark = this._createMark(LinearProgressSeries.mark.track, {\n parent: this._progressGroupMark\n }) as IRectMark;\n return this._trackMark;\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(trackMark, {\n x: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2\n );\n },\n y: 0,\n width: this._spec.bandWidth,\n height: () => this._scaleY.range()[0],\n cornerRadius: this._spec.cornerRadius,\n fill: this._spec.track?.style?.fill\n });\n } else {\n this.setMarkStyle(trackMark, {\n x: 0,\n y: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2\n );\n },\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n cornerRadius: this._spec.cornerRadius,\n fill: this._spec.track?.style?.fill\n });\n }\n this._trigger.registerMark(trackMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(trackMark);\n }\n }\n\n private initProgressGroupMark() {\n this._progressGroupMark = this._createMark(LinearProgressSeries.mark.group) as IGroupMark;\n return this._progressGroupMark;\n }\n\n private initProgressGroupMarkStyle() {\n const groupMark = this._progressGroupMark;\n groupMark.setZIndex(this.layoutZIndex);\n groupMark.created();\n\n this.setMarkStyle(\n groupMark,\n {\n clip: true,\n x: 0,\n y: 0,\n path: () => {\n const rectPaths: any[] = [];\n this._rawData?.rawData.forEach((datum: any, index: number) => {\n if (this._spec.direction === 'vertical') {\n const x =\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2;\n const height = this._scaleY.range()[0];\n\n rectPaths.push(\n createRect({\n x: x,\n y: 0,\n height: height,\n width: this._spec.bandWidth,\n cornerRadius: this._spec.cornerRadius,\n fill: true\n })\n );\n } else {\n const y =\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)) -\n this._spec.bandWidth / 2;\n const width = this._scaleX.range()[1];\n\n rectPaths.push(\n createRect({\n x: 0,\n y: y,\n height: this._spec.bandWidth,\n width: width,\n cornerRadius: this._spec.cornerRadius,\n fill: true\n })\n );\n }\n });\n return rectPaths;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._progressGroupMark.setInteractive(false);\n }\n\n initAnimation() {\n const animationParams: ILinearProgressAnimationParams = {\n direction: this.direction\n };\n\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LinearProgressAppearPreset>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.linearProgress(animationParams, appearPreset),\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 protected initTooltip() {\n this._tooltipHelper = new LinearProgressSeriesTooltipHelper(this);\n }\n}\n"]}
@@ -15,7 +15,7 @@ export interface IScatterSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec
15
15
  shape?: ShapeType | ShapeType[] | FunctionType<ShapeType> | IVisualSpecBase<unknown, ShapeType>;
16
16
  invalidType?: IInvalidType;
17
17
  [SeriesMarkNameEnum.label]?: ILabelSpec & {
18
- position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
18
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
19
19
  };
20
20
  }
21
21
  export interface IScatterSeriesTheme extends ICartesianSeriesTheme {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/scatter/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, IInvalidType, IVisualSpecBase, ShapeType, FunctionType } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { ScatterAppearPreset, ScatterMarks } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport interface IScatterSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<ScatterMarks, ScatterAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'scatter';\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 尺寸 视觉通道\n */\n sizeField?: string;\n size?: number | number[] | FunctionType<number> | IVisualSpecBase<unknown, number>;\n /**\n * 形状 视觉通道\n */\n shapeField?: string;\n shape?: ShapeType | ShapeType[] | FunctionType<ShapeType> | IVisualSpecBase<unknown, ShapeType>;\n /**\n * 非合规数据点连接方式\n * @description null,undefined等非法数据点连接方式。\n * 'zero' 指该点默认数值为0\n * 'ignore' 指不处理\n */\n invalidType?: IInvalidType;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 标签位置 */\n position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\n };\n}\n\nexport interface IScatterSeriesTheme extends ICartesianSeriesTheme {\n size?: number;\n shape?: ShapeType;\n [SeriesMarkNameEnum.point]?: Partial<IMarkTheme<ISymbolMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/scatter/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, IInvalidType, IVisualSpecBase, ShapeType, FunctionType } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { ScatterAppearPreset, ScatterMarks } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport interface IScatterSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<ScatterMarks, ScatterAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'scatter';\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 尺寸 视觉通道\n */\n sizeField?: string;\n size?: number | number[] | FunctionType<number> | IVisualSpecBase<unknown, number>;\n /**\n * 形状 视觉通道\n */\n shapeField?: string;\n shape?: ShapeType | ShapeType[] | FunctionType<ShapeType> | IVisualSpecBase<unknown, ShapeType>;\n /**\n * 非合规数据点连接方式\n * @description null,undefined等非法数据点连接方式。\n * 'zero' 指该点默认数值为0\n * 'ignore' 指不处理\n */\n invalidType?: IInvalidType;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 标签位置 */\n position?:\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n | 'center';\n };\n}\n\nexport interface IScatterSeriesTheme extends ICartesianSeriesTheme {\n size?: number;\n shape?: ShapeType;\n [SeriesMarkNameEnum.point]?: Partial<IMarkTheme<ISymbolMarkSpec>>;\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { IPadding } from '@visactor/vutils';
1
2
  import type { ITextMark } from '../../mark/text';
2
3
  import type { SeriesMarkMap } from '../interface';
3
4
  import type { IWordCloudSeriesSpec, WordCloudConfigType, WordCloudShapeConfigType, WordCloudShapeType } from './interface';
@@ -29,8 +30,7 @@ export declare class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IB
29
30
  protected _fillingFontPadding?: number;
30
31
  protected _wordCloudConfig?: WordCloudConfigType;
31
32
  protected _wordCloudShapeConfig?: WordCloudShapeConfigType;
32
- protected _paddingLeft?: number;
33
- protected _paddingTop?: number;
33
+ protected _padding?: IPadding;
34
34
  setAttrFromSpec(): void;
35
35
  protected _wordMark: ITextMark;
36
36
  protected _fillingWordMark: ITextMark;