@visactor/vchart 2.1.0-alpha.16 → 2.1.0-alpha.18

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 (690) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +63796 -59964
  3. package/build/index.js +63798 -59966
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/callback-disappear.d.ts +1 -1
  7. package/cjs/animation/callback-disappear.js +2 -2
  8. package/cjs/animation/callback-disappear.js.map +1 -1
  9. package/cjs/animation/config.js +34 -34
  10. package/cjs/animation/config.js.map +1 -1
  11. package/cjs/animation/index.js +2 -1
  12. package/cjs/chart/base/base-chart-transformer.d.ts +3 -0
  13. package/cjs/chart/base/base-chart-transformer.js +23 -3
  14. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  15. package/cjs/chart/base/base-chart.d.ts +27 -9
  16. package/cjs/chart/base/base-chart.js +209 -28
  17. package/cjs/chart/base/base-chart.js.map +1 -1
  18. package/cjs/chart/gauge/gauge-transformer.js +3 -2
  19. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  20. package/cjs/chart/interface/chart.d.ts +1 -0
  21. package/cjs/chart/interface/chart.js.map +1 -1
  22. package/cjs/chart/pie/base/pie-transformer.js +2 -2
  23. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  24. package/cjs/chart/polar/polar-transformer.js +1 -1
  25. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  26. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  27. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  28. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -1
  29. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  30. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  31. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  32. package/cjs/chart/radar/radar-transformer.js +3 -2
  33. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  34. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  35. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  36. package/cjs/chart/rose/rose-transformer.js +2 -1
  37. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  38. package/cjs/chart/util.d.ts +4 -1
  39. package/cjs/chart/util.js +40 -4
  40. package/cjs/chart/util.js.map +1 -1
  41. package/cjs/chart/waterfall/waterfall-transformer.js +2 -1
  42. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  43. package/cjs/compile/compiler.d.ts +2 -0
  44. package/cjs/compile/compiler.js +68 -48
  45. package/cjs/compile/compiler.js.map +1 -1
  46. package/cjs/compile/data/compilable-data.d.ts +1 -1
  47. package/cjs/compile/data/compilable-data.js +1 -1
  48. package/cjs/compile/data/compilable-data.js.map +1 -1
  49. package/cjs/compile/grammar-item.d.ts +1 -1
  50. package/cjs/compile/grammar-item.js.map +1 -1
  51. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  52. package/cjs/compile/interface/compilable-item.js.map +1 -1
  53. package/cjs/compile/interface/compiler.d.ts +2 -1
  54. package/cjs/compile/interface/compiler.js.map +1 -1
  55. package/cjs/compile/morph.js +5 -6
  56. package/cjs/compile/morph.js.map +1 -1
  57. package/cjs/compile/stage-app.d.ts +17 -0
  58. package/cjs/compile/stage-app.js +82 -0
  59. package/cjs/compile/stage-app.js.map +1 -0
  60. package/cjs/component/axis/base-axis.d.ts +3 -8
  61. package/cjs/component/axis/base-axis.js +27 -7
  62. package/cjs/component/axis/base-axis.js.map +1 -1
  63. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -7
  64. package/cjs/component/axis/cartesian/band-axis.js +4 -4
  65. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  66. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -1
  67. package/cjs/component/axis/cartesian/linear-axis.js +4 -4
  68. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  69. package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -10
  70. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  71. package/cjs/component/axis/polar/band-axis.d.ts +2 -0
  72. package/cjs/component/axis/polar/band-axis.js +3 -0
  73. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  74. package/cjs/component/axis/polar/linear-axis.js +3 -0
  75. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  76. package/cjs/component/base/base-component.d.ts +7 -7
  77. package/cjs/component/base/base-component.js +41 -6
  78. package/cjs/component/base/base-component.js.map +1 -1
  79. package/cjs/component/base/release-vrender-component.d.ts +10 -0
  80. package/cjs/component/base/release-vrender-component.js +37 -0
  81. package/cjs/component/base/release-vrender-component.js.map +1 -0
  82. package/cjs/component/brush/brush.d.ts +3 -7
  83. package/cjs/component/brush/brush.js +34 -16
  84. package/cjs/component/brush/brush.js.map +1 -1
  85. package/cjs/component/crosshair/base.d.ts +5 -8
  86. package/cjs/component/crosshair/base.js +33 -5
  87. package/cjs/component/crosshair/base.js.map +1 -1
  88. package/cjs/component/crosshair/cartesian.js +3 -3
  89. package/cjs/component/crosshair/cartesian.js.map +1 -1
  90. package/cjs/component/custom-mark/custom-mark.d.ts +4 -7
  91. package/cjs/component/custom-mark/custom-mark.js +27 -3
  92. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  93. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -7
  94. package/cjs/component/data-zoom/data-filter-base-component.js +15 -2
  95. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  96. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  97. package/cjs/component/data-zoom/data-zoom/data-zoom.js +19 -1
  98. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  99. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  100. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  101. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  102. package/cjs/component/geo/geo-coordinate.d.ts +1 -7
  103. package/cjs/component/indicator/indicator.d.ts +1 -0
  104. package/cjs/component/indicator/indicator.js +11 -2
  105. package/cjs/component/indicator/indicator.js.map +1 -1
  106. package/cjs/component/indicator/util.d.ts +4 -3
  107. package/cjs/component/indicator/util.js +1 -1
  108. package/cjs/component/indicator/util.js.map +1 -1
  109. package/cjs/component/label/base-label.d.ts +1 -7
  110. package/cjs/component/label/base-label.js +6 -2
  111. package/cjs/component/label/base-label.js.map +1 -1
  112. package/cjs/component/label/label.js +3 -3
  113. package/cjs/component/label/label.js.map +1 -1
  114. package/cjs/component/legend/base-legend.d.ts +2 -7
  115. package/cjs/component/legend/base-legend.js +20 -3
  116. package/cjs/component/legend/base-legend.js.map +1 -1
  117. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  118. package/cjs/component/legend/discrete/legend.js +7 -7
  119. package/cjs/component/legend/discrete/legend.js.map +1 -1
  120. package/cjs/component/marker/base-marker.d.ts +14 -7
  121. package/cjs/component/marker/base-marker.js +112 -12
  122. package/cjs/component/marker/base-marker.js.map +1 -1
  123. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  124. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  125. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  126. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  127. package/cjs/component/marker/mark-line/base-mark-line.js +2 -4
  128. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  129. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  130. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  131. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  132. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  133. package/cjs/component/marker/mark-point/base-mark-point.js +26 -11
  134. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  135. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  136. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  137. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  138. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  139. package/cjs/component/marker/utils.d.ts +4 -4
  140. package/cjs/component/marker/utils.js +27 -23
  141. package/cjs/component/marker/utils.js.map +1 -1
  142. package/cjs/component/player/player.d.ts +1 -0
  143. package/cjs/component/player/player.js +10 -0
  144. package/cjs/component/player/player.js.map +1 -1
  145. package/cjs/component/title/title.d.ts +1 -7
  146. package/cjs/component/title/title.js +6 -2
  147. package/cjs/component/title/title.js.map +1 -1
  148. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  149. package/cjs/component/tooltip/tooltip.js +8 -0
  150. package/cjs/component/tooltip/tooltip.js.map +1 -1
  151. package/cjs/component/util.js +2 -1
  152. package/cjs/constant/correlation.js +1 -2
  153. package/cjs/constant/marker.js +1 -1
  154. package/cjs/constant/polar.js +1 -1
  155. package/cjs/constant/scatter.js +1 -1
  156. package/cjs/constant/scroll-bar.js +2 -1
  157. package/cjs/constant/sunburst.js +1 -1
  158. package/cjs/constant/waterfall.js +1 -1
  159. package/cjs/constant/word-cloud.js +1 -1
  160. package/cjs/core/expression-function.js +1 -2
  161. package/cjs/core/index.d.ts +2 -1
  162. package/cjs/core/index.js +8 -4
  163. package/cjs/core/index.js.map +1 -1
  164. package/cjs/core/interface.js +1 -1
  165. package/cjs/core/util.js +1 -1
  166. package/cjs/core/vchart.d.ts +5 -1
  167. package/cjs/core/vchart.js +38 -21
  168. package/cjs/core/vchart.js.map +1 -1
  169. package/cjs/data/data-view-utils.d.ts +5 -0
  170. package/cjs/data/data-view-utils.js +58 -0
  171. package/cjs/data/data-view-utils.js.map +1 -0
  172. package/cjs/data/transforms/box-plot.d.ts +4 -1
  173. package/cjs/data/transforms/box-plot.js +3 -3
  174. package/cjs/data/transforms/box-plot.js.map +1 -1
  175. package/cjs/data/transforms/correlation-center.d.ts +11 -4
  176. package/cjs/data/transforms/correlation-center.js +3 -2
  177. package/cjs/data/transforms/correlation-center.js.map +1 -1
  178. package/cjs/data/transforms/correlation.d.ts +18 -15
  179. package/cjs/data/transforms/correlation.js +22 -17
  180. package/cjs/data/transforms/correlation.js.map +1 -1
  181. package/cjs/data/transforms/funnel.d.ts +10 -8
  182. package/cjs/data/transforms/funnel.js +4 -3
  183. package/cjs/data/transforms/funnel.js.map +1 -1
  184. package/cjs/data/transforms/lookup.d.ts +3 -3
  185. package/cjs/data/transforms/lookup.js +12 -7
  186. package/cjs/data/transforms/lookup.js.map +1 -1
  187. package/cjs/data/transforms/map.d.ts +8 -2
  188. package/cjs/data/transforms/map.js +9 -6
  189. package/cjs/data/transforms/map.js.map +1 -1
  190. package/cjs/data/transforms/sankey.d.ts +12 -4
  191. package/cjs/data/transforms/sankey.js +18 -13
  192. package/cjs/data/transforms/sankey.js.map +1 -1
  193. package/cjs/data/transforms/stack-split.d.ts +2 -1
  194. package/cjs/data/transforms/stack-split.js +1 -1
  195. package/cjs/data/transforms/stack-split.js.map +1 -1
  196. package/cjs/data/transforms/treemap.d.ts +5 -3
  197. package/cjs/data/transforms/treemap.js +7 -6
  198. package/cjs/data/transforms/treemap.js.map +1 -1
  199. package/cjs/data/transforms/venn.d.ts +4 -2
  200. package/cjs/data/transforms/venn.js +4 -4
  201. package/cjs/data/transforms/venn.js.map +1 -1
  202. package/cjs/data/transforms/waterfall.d.ts +4 -2
  203. package/cjs/data/transforms/waterfall.js +7 -7
  204. package/cjs/data/transforms/waterfall.js.map +1 -1
  205. package/cjs/env/env.js +11 -11
  206. package/cjs/env/env.js.map +1 -1
  207. package/cjs/env/index.js +1 -1
  208. package/cjs/event/event.d.ts +4 -0
  209. package/cjs/event/event.js +26 -7
  210. package/cjs/event/event.js.map +1 -1
  211. package/cjs/interaction/interaction.js +11 -8
  212. package/cjs/interaction/interaction.js.map +1 -1
  213. package/cjs/interaction/triggers/element-active-by-legend.js +3 -2
  214. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  215. package/cjs/interaction/triggers/element-active.js +4 -3
  216. package/cjs/interaction/triggers/element-active.js.map +1 -1
  217. package/cjs/interaction/triggers/element-highlight-by-group.js +3 -2
  218. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  219. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  220. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  221. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  222. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  223. package/cjs/interaction/triggers/element-highlight.js +2 -2
  224. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  225. package/cjs/interaction/triggers/element-select.js +3 -3
  226. package/cjs/interaction/triggers/element-select.js.map +1 -1
  227. package/cjs/mark/arc.js +4 -4
  228. package/cjs/mark/arc.js.map +1 -1
  229. package/cjs/mark/area.js +4 -5
  230. package/cjs/mark/area.js.map +1 -1
  231. package/cjs/mark/base/base-mark.d.ts +12 -2
  232. package/cjs/mark/base/base-mark.js +98 -29
  233. package/cjs/mark/base/base-mark.js.map +1 -1
  234. package/cjs/mark/component.d.ts +9 -0
  235. package/cjs/mark/component.js +51 -3
  236. package/cjs/mark/component.js.map +1 -1
  237. package/cjs/mark/glyph.js +1 -1
  238. package/cjs/mark/glyph.js.map +1 -1
  239. package/cjs/mark/group.js +6 -6
  240. package/cjs/mark/group.js.map +1 -1
  241. package/cjs/mark/interface/common.js.map +1 -1
  242. package/cjs/mark/interface/mark.d.ts +2 -0
  243. package/cjs/mark/interface/mark.js.map +1 -1
  244. package/cjs/mark/line.js +4 -5
  245. package/cjs/mark/line.js.map +1 -1
  246. package/cjs/mark/rect.js +3 -3
  247. package/cjs/mark/rect.js.map +1 -1
  248. package/cjs/mark/symbol.js +3 -3
  249. package/cjs/mark/symbol.js.map +1 -1
  250. package/cjs/mark/text.js +4 -4
  251. package/cjs/mark/text.js.map +1 -1
  252. package/cjs/mark/utils/glyph.js +3 -2
  253. package/cjs/mark/utils/glyph.js.map +1 -1
  254. package/cjs/model/base-model.d.ts +3 -15
  255. package/cjs/model/base-model.js.map +1 -1
  256. package/cjs/model/interface.d.ts +13 -0
  257. package/cjs/model/interface.js.map +1 -1
  258. package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
  259. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  260. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  261. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
  262. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  263. package/cjs/plugin/other.js +5 -5
  264. package/cjs/plugin/other.js.map +1 -1
  265. package/cjs/region/region.d.ts +1 -7
  266. package/cjs/scale/color-ordinal-scale.d.ts +1 -0
  267. package/cjs/scale/color-ordinal-scale.js +3 -0
  268. package/cjs/scale/color-ordinal-scale.js.map +1 -1
  269. package/cjs/scale/global-scale.js +9 -2
  270. package/cjs/scale/global-scale.js.map +1 -1
  271. package/cjs/series/area/area.d.ts +2 -0
  272. package/cjs/series/area/area.js +6 -0
  273. package/cjs/series/area/area.js.map +1 -1
  274. package/cjs/series/bar/bar.d.ts +3 -0
  275. package/cjs/series/bar/bar.js +30 -4
  276. package/cjs/series/bar/bar.js.map +1 -1
  277. package/cjs/series/base/base-series.d.ts +11 -7
  278. package/cjs/series/base/base-series.js +93 -23
  279. package/cjs/series/base/base-series.js.map +1 -1
  280. package/cjs/series/base/constant.d.ts +3 -0
  281. package/cjs/series/base/constant.js +9 -1
  282. package/cjs/series/base/constant.js.map +1 -1
  283. package/cjs/series/box-plot/box-plot.d.ts +2 -0
  284. package/cjs/series/box-plot/box-plot.js +16 -4
  285. package/cjs/series/box-plot/box-plot.js.map +1 -1
  286. package/cjs/series/correlation/correlation.js +13 -11
  287. package/cjs/series/correlation/correlation.js.map +1 -1
  288. package/cjs/series/dot/dot.d.ts +12 -0
  289. package/cjs/series/dot/dot.js +16 -1
  290. package/cjs/series/dot/dot.js.map +1 -1
  291. package/cjs/series/funnel/funnel.js +5 -8
  292. package/cjs/series/funnel/funnel.js.map +1 -1
  293. package/cjs/series/heatmap/heatmap.d.ts +2 -0
  294. package/cjs/series/heatmap/heatmap.js +10 -0
  295. package/cjs/series/heatmap/heatmap.js.map +1 -1
  296. package/cjs/series/line/line.d.ts +2 -0
  297. package/cjs/series/line/line.js +9 -3
  298. package/cjs/series/line/line.js.map +1 -1
  299. package/cjs/series/map/map.js +3 -3
  300. package/cjs/series/map/map.js.map +1 -1
  301. package/cjs/series/mixin/line-mixin.d.ts +1 -0
  302. package/cjs/series/mixin/line-mixin.js +6 -1
  303. package/cjs/series/mixin/line-mixin.js.map +1 -1
  304. package/cjs/series/pie/pie.d.ts +3 -7
  305. package/cjs/series/pie/pie.js +16 -1
  306. package/cjs/series/pie/pie.js.map +1 -1
  307. package/cjs/series/polar/progress-like/progress-like.d.ts +2 -0
  308. package/cjs/series/polar/progress-like/progress-like.js +16 -1
  309. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  310. package/cjs/series/polar/rose-like/rose-like.d.ts +2 -0
  311. package/cjs/series/polar/rose-like/rose-like.js +15 -1
  312. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  313. package/cjs/series/progress/circular/circular.d.ts +2 -0
  314. package/cjs/series/progress/circular/circular.js +10 -1
  315. package/cjs/series/progress/circular/circular.js.map +1 -1
  316. package/cjs/series/progress/linear/linear.d.ts +2 -0
  317. package/cjs/series/progress/linear/linear.js +19 -1
  318. package/cjs/series/progress/linear/linear.js.map +1 -1
  319. package/cjs/series/sankey/sankey.js +67 -57
  320. package/cjs/series/sankey/sankey.js.map +1 -1
  321. package/cjs/series/scatter/scatter.d.ts +2 -0
  322. package/cjs/series/scatter/scatter.js +9 -1
  323. package/cjs/series/scatter/scatter.js.map +1 -1
  324. package/cjs/series/treemap/treemap.js +23 -20
  325. package/cjs/series/treemap/treemap.js.map +1 -1
  326. package/cjs/series/venn/venn.js +2 -2
  327. package/cjs/series/venn/venn.js.map +1 -1
  328. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  329. package/cjs/series/waterfall/waterfall.js +36 -20
  330. package/cjs/series/waterfall/waterfall.js.map +1 -1
  331. package/cjs/series/word-cloud/animation.js +3 -0
  332. package/cjs/series/word-cloud/animation.js.map +1 -1
  333. package/cjs/theme/builtin/common/series/word-cloud.js +2 -6
  334. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
  335. package/cjs/util/graphic-state.d.ts +4 -0
  336. package/cjs/util/graphic-state.js +40 -0
  337. package/cjs/util/graphic-state.js.map +1 -0
  338. package/cjs/util/mark.js +7 -3
  339. package/cjs/util/mark.js.map +1 -1
  340. package/cjs/util/math.d.ts +1 -1
  341. package/cjs/util/math.js +2 -2
  342. package/cjs/util/math.js.map +1 -1
  343. package/cjs/util/text.js +2 -2
  344. package/cjs/util/text.js.map +1 -1
  345. package/cjs/vchart-line.d.ts +4 -0
  346. package/cjs/vchart-line.js +35 -0
  347. package/cjs/vchart-line.js.map +1 -0
  348. package/esm/animation/callback-disappear.d.ts +1 -1
  349. package/esm/animation/callback-disappear.js +1 -1
  350. package/esm/animation/callback-disappear.js.map +1 -1
  351. package/esm/animation/config.js +33 -1
  352. package/esm/animation/config.js.map +1 -1
  353. package/esm/animation/index.js +2 -1
  354. package/esm/chart/base/base-chart-transformer.d.ts +3 -0
  355. package/esm/chart/base/base-chart-transformer.js +24 -2
  356. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  357. package/esm/chart/base/base-chart.d.ts +27 -9
  358. package/esm/chart/base/base-chart.js +202 -27
  359. package/esm/chart/base/base-chart.js.map +1 -1
  360. package/esm/chart/gauge/gauge-transformer.js +3 -2
  361. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  362. package/esm/chart/interface/chart.d.ts +1 -0
  363. package/esm/chart/interface/chart.js.map +1 -1
  364. package/esm/chart/pie/base/pie-transformer.js +2 -2
  365. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  366. package/esm/chart/polar/polar-transformer.js +1 -1
  367. package/esm/chart/polar/polar-transformer.js.map +1 -1
  368. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  369. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  370. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -1
  371. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  372. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  373. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  374. package/esm/chart/radar/radar-transformer.js +3 -2
  375. package/esm/chart/radar/radar-transformer.js.map +1 -1
  376. package/esm/chart/range-area/range-area-transformer.js +2 -2
  377. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  378. package/esm/chart/rose/rose-transformer.js +2 -1
  379. package/esm/chart/rose/rose-transformer.js.map +1 -1
  380. package/esm/chart/util.d.ts +4 -1
  381. package/esm/chart/util.js +34 -1
  382. package/esm/chart/util.js.map +1 -1
  383. package/esm/chart/waterfall/waterfall-transformer.js +2 -1
  384. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  385. package/esm/compile/compiler.d.ts +2 -0
  386. package/esm/compile/compiler.js +69 -47
  387. package/esm/compile/compiler.js.map +1 -1
  388. package/esm/compile/data/compilable-data.d.ts +1 -1
  389. package/esm/compile/data/compilable-data.js +1 -1
  390. package/esm/compile/data/compilable-data.js.map +1 -1
  391. package/esm/compile/grammar-item.d.ts +1 -1
  392. package/esm/compile/grammar-item.js.map +1 -1
  393. package/esm/compile/interface/compilable-item.d.ts +1 -1
  394. package/esm/compile/interface/compilable-item.js.map +1 -1
  395. package/esm/compile/interface/compiler.d.ts +2 -1
  396. package/esm/compile/interface/compiler.js.map +1 -1
  397. package/esm/compile/morph.js +2 -3
  398. package/esm/compile/morph.js.map +1 -1
  399. package/esm/compile/stage-app.d.ts +17 -0
  400. package/esm/compile/stage-app.js +77 -0
  401. package/esm/compile/stage-app.js.map +1 -0
  402. package/esm/component/axis/base-axis.d.ts +3 -8
  403. package/esm/component/axis/base-axis.js +27 -6
  404. package/esm/component/axis/base-axis.js.map +1 -1
  405. package/esm/component/axis/cartesian/band-axis.d.ts +1 -7
  406. package/esm/component/axis/cartesian/band-axis.js +4 -2
  407. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  408. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -1
  409. package/esm/component/axis/cartesian/linear-axis.js +5 -1
  410. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  411. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -10
  412. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  413. package/esm/component/axis/polar/band-axis.d.ts +2 -0
  414. package/esm/component/axis/polar/band-axis.js +3 -0
  415. package/esm/component/axis/polar/band-axis.js.map +1 -1
  416. package/esm/component/axis/polar/linear-axis.js +3 -0
  417. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  418. package/esm/component/base/base-component.d.ts +7 -7
  419. package/esm/component/base/base-component.js +41 -5
  420. package/esm/component/base/base-component.js.map +1 -1
  421. package/esm/component/base/release-vrender-component.d.ts +10 -0
  422. package/esm/component/base/release-vrender-component.js +24 -0
  423. package/esm/component/base/release-vrender-component.js.map +1 -0
  424. package/esm/component/brush/brush.d.ts +3 -7
  425. package/esm/component/brush/brush.js +29 -11
  426. package/esm/component/brush/brush.js.map +1 -1
  427. package/esm/component/crosshair/base.d.ts +5 -8
  428. package/esm/component/crosshair/base.js +27 -3
  429. package/esm/component/crosshair/base.js.map +1 -1
  430. package/esm/component/crosshair/cartesian.js +3 -1
  431. package/esm/component/crosshair/cartesian.js.map +1 -1
  432. package/esm/component/custom-mark/custom-mark.d.ts +4 -7
  433. package/esm/component/custom-mark/custom-mark.js +27 -2
  434. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  435. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -7
  436. package/esm/component/data-zoom/data-filter-base-component.js +14 -2
  437. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  438. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  439. package/esm/component/data-zoom/data-zoom/data-zoom.js +20 -0
  440. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  441. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  442. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  443. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  444. package/esm/component/geo/geo-coordinate.d.ts +1 -7
  445. package/esm/component/indicator/indicator.d.ts +1 -0
  446. package/esm/component/indicator/indicator.js +11 -2
  447. package/esm/component/indicator/indicator.js.map +1 -1
  448. package/esm/component/indicator/util.d.ts +4 -3
  449. package/esm/component/indicator/util.js +2 -2
  450. package/esm/component/indicator/util.js.map +1 -1
  451. package/esm/component/label/base-label.d.ts +1 -7
  452. package/esm/component/label/base-label.js +5 -1
  453. package/esm/component/label/base-label.js.map +1 -1
  454. package/esm/component/label/label.js +2 -2
  455. package/esm/component/label/label.js.map +1 -1
  456. package/esm/component/legend/base-legend.d.ts +2 -7
  457. package/esm/component/legend/base-legend.js +20 -2
  458. package/esm/component/legend/base-legend.js.map +1 -1
  459. package/esm/component/legend/discrete/legend.d.ts +1 -1
  460. package/esm/component/legend/discrete/legend.js +2 -2
  461. package/esm/component/legend/discrete/legend.js.map +1 -1
  462. package/esm/component/marker/base-marker.d.ts +14 -7
  463. package/esm/component/marker/base-marker.js +113 -11
  464. package/esm/component/marker/base-marker.js.map +1 -1
  465. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  466. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  467. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  468. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  469. package/esm/component/marker/mark-line/base-mark-line.js +2 -4
  470. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  471. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  472. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  473. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  474. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  475. package/esm/component/marker/mark-point/base-mark-point.js +24 -11
  476. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  477. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  478. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  479. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  480. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  481. package/esm/component/marker/utils.d.ts +4 -4
  482. package/esm/component/marker/utils.js +27 -23
  483. package/esm/component/marker/utils.js.map +1 -1
  484. package/esm/component/player/player.d.ts +1 -0
  485. package/esm/component/player/player.js +10 -0
  486. package/esm/component/player/player.js.map +1 -1
  487. package/esm/component/title/title.d.ts +1 -7
  488. package/esm/component/title/title.js +6 -2
  489. package/esm/component/title/title.js.map +1 -1
  490. package/esm/component/tooltip/tooltip.d.ts +1 -0
  491. package/esm/component/tooltip/tooltip.js +9 -1
  492. package/esm/component/tooltip/tooltip.js.map +1 -1
  493. package/esm/component/util.js +2 -1
  494. package/esm/constant/correlation.js +1 -2
  495. package/esm/constant/marker.js +1 -1
  496. package/esm/constant/polar.js +1 -1
  497. package/esm/constant/scatter.js +1 -1
  498. package/esm/constant/scroll-bar.js +2 -1
  499. package/esm/constant/sunburst.js +1 -1
  500. package/esm/constant/waterfall.js +1 -1
  501. package/esm/constant/word-cloud.js +1 -1
  502. package/esm/core/expression-function.js +1 -2
  503. package/esm/core/index.d.ts +2 -1
  504. package/esm/core/index.js +3 -1
  505. package/esm/core/index.js.map +1 -1
  506. package/esm/core/interface.js +1 -1
  507. package/esm/core/util.js +1 -1
  508. package/esm/core/vchart.d.ts +5 -1
  509. package/esm/core/vchart.js +39 -21
  510. package/esm/core/vchart.js.map +1 -1
  511. package/esm/data/data-view-utils.d.ts +5 -0
  512. package/esm/data/data-view-utils.js +46 -0
  513. package/esm/data/data-view-utils.js.map +1 -0
  514. package/esm/data/transforms/box-plot.d.ts +4 -1
  515. package/esm/data/transforms/box-plot.js +4 -4
  516. package/esm/data/transforms/box-plot.js.map +1 -1
  517. package/esm/data/transforms/correlation-center.d.ts +11 -4
  518. package/esm/data/transforms/correlation-center.js +4 -2
  519. package/esm/data/transforms/correlation-center.js.map +1 -1
  520. package/esm/data/transforms/correlation.d.ts +18 -15
  521. package/esm/data/transforms/correlation.js +13 -8
  522. package/esm/data/transforms/correlation.js.map +1 -1
  523. package/esm/data/transforms/funnel.d.ts +10 -8
  524. package/esm/data/transforms/funnel.js +5 -3
  525. package/esm/data/transforms/funnel.js.map +1 -1
  526. package/esm/data/transforms/lookup.d.ts +3 -3
  527. package/esm/data/transforms/lookup.js +12 -6
  528. package/esm/data/transforms/lookup.js.map +1 -1
  529. package/esm/data/transforms/map.d.ts +8 -2
  530. package/esm/data/transforms/map.js +11 -6
  531. package/esm/data/transforms/map.js.map +1 -1
  532. package/esm/data/transforms/sankey.d.ts +12 -4
  533. package/esm/data/transforms/sankey.js +19 -14
  534. package/esm/data/transforms/sankey.js.map +1 -1
  535. package/esm/data/transforms/stack-split.d.ts +2 -1
  536. package/esm/data/transforms/stack-split.js +2 -2
  537. package/esm/data/transforms/stack-split.js.map +1 -1
  538. package/esm/data/transforms/treemap.d.ts +5 -3
  539. package/esm/data/transforms/treemap.js +8 -5
  540. package/esm/data/transforms/treemap.js.map +1 -1
  541. package/esm/data/transforms/venn.d.ts +4 -2
  542. package/esm/data/transforms/venn.js +5 -3
  543. package/esm/data/transforms/venn.js.map +1 -1
  544. package/esm/data/transforms/waterfall.d.ts +4 -2
  545. package/esm/data/transforms/waterfall.js +7 -8
  546. package/esm/data/transforms/waterfall.js.map +1 -1
  547. package/esm/env/env.js +2 -2
  548. package/esm/env/env.js.map +1 -1
  549. package/esm/env/index.js +1 -1
  550. package/esm/event/event.d.ts +4 -0
  551. package/esm/event/event.js +26 -7
  552. package/esm/event/event.js.map +1 -1
  553. package/esm/interaction/interaction.js +10 -8
  554. package/esm/interaction/interaction.js.map +1 -1
  555. package/esm/interaction/triggers/element-active-by-legend.js +3 -1
  556. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  557. package/esm/interaction/triggers/element-active.js +4 -2
  558. package/esm/interaction/triggers/element-active.js.map +1 -1
  559. package/esm/interaction/triggers/element-highlight-by-group.js +4 -1
  560. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  561. package/esm/interaction/triggers/element-highlight-by-legend.js +3 -1
  562. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  563. package/esm/interaction/triggers/element-highlight-by-name.js +3 -1
  564. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  565. package/esm/interaction/triggers/element-highlight.js +3 -1
  566. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  567. package/esm/interaction/triggers/element-select.js +4 -2
  568. package/esm/interaction/triggers/element-select.js.map +1 -1
  569. package/esm/mark/arc.js +4 -2
  570. package/esm/mark/arc.js.map +1 -1
  571. package/esm/mark/area.js +6 -2
  572. package/esm/mark/area.js.map +1 -1
  573. package/esm/mark/base/base-mark.d.ts +12 -2
  574. package/esm/mark/base/base-mark.js +99 -28
  575. package/esm/mark/base/base-mark.js.map +1 -1
  576. package/esm/mark/component.d.ts +9 -0
  577. package/esm/mark/component.js +51 -2
  578. package/esm/mark/component.js.map +1 -1
  579. package/esm/mark/glyph.js +1 -1
  580. package/esm/mark/glyph.js.map +1 -1
  581. package/esm/mark/group.js +6 -5
  582. package/esm/mark/group.js.map +1 -1
  583. package/esm/mark/interface/common.js.map +1 -1
  584. package/esm/mark/interface/mark.d.ts +2 -0
  585. package/esm/mark/interface/mark.js.map +1 -1
  586. package/esm/mark/line.js +6 -2
  587. package/esm/mark/line.js.map +1 -1
  588. package/esm/mark/rect.js +4 -2
  589. package/esm/mark/rect.js.map +1 -1
  590. package/esm/mark/symbol.js +4 -2
  591. package/esm/mark/symbol.js.map +1 -1
  592. package/esm/mark/text.js +5 -1
  593. package/esm/mark/text.js.map +1 -1
  594. package/esm/mark/utils/glyph.js +3 -1
  595. package/esm/mark/utils/glyph.js.map +1 -1
  596. package/esm/model/base-model.d.ts +3 -15
  597. package/esm/model/base-model.js.map +1 -1
  598. package/esm/model/interface.d.ts +13 -0
  599. package/esm/model/interface.js.map +1 -1
  600. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  601. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  602. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  603. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
  604. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  605. package/esm/plugin/other.js +2 -2
  606. package/esm/plugin/other.js.map +1 -1
  607. package/esm/region/region.d.ts +1 -7
  608. package/esm/scale/color-ordinal-scale.d.ts +1 -0
  609. package/esm/scale/color-ordinal-scale.js +3 -0
  610. package/esm/scale/color-ordinal-scale.js.map +1 -1
  611. package/esm/scale/global-scale.js +9 -1
  612. package/esm/scale/global-scale.js.map +1 -1
  613. package/esm/series/area/area.d.ts +2 -0
  614. package/esm/series/area/area.js +7 -1
  615. package/esm/series/area/area.js.map +1 -1
  616. package/esm/series/bar/bar.d.ts +3 -0
  617. package/esm/series/bar/bar.js +30 -4
  618. package/esm/series/bar/bar.js.map +1 -1
  619. package/esm/series/base/base-series.d.ts +11 -7
  620. package/esm/series/base/base-series.js +89 -21
  621. package/esm/series/base/base-series.js.map +1 -1
  622. package/esm/series/base/constant.d.ts +3 -0
  623. package/esm/series/base/constant.js +10 -0
  624. package/esm/series/base/constant.js.map +1 -1
  625. package/esm/series/box-plot/box-plot.d.ts +2 -0
  626. package/esm/series/box-plot/box-plot.js +15 -4
  627. package/esm/series/box-plot/box-plot.js.map +1 -1
  628. package/esm/series/correlation/correlation.js +13 -11
  629. package/esm/series/correlation/correlation.js.map +1 -1
  630. package/esm/series/dot/dot.d.ts +12 -0
  631. package/esm/series/dot/dot.js +17 -0
  632. package/esm/series/dot/dot.js.map +1 -1
  633. package/esm/series/funnel/funnel.js +5 -8
  634. package/esm/series/funnel/funnel.js.map +1 -1
  635. package/esm/series/heatmap/heatmap.d.ts +2 -0
  636. package/esm/series/heatmap/heatmap.js +10 -0
  637. package/esm/series/heatmap/heatmap.js.map +1 -1
  638. package/esm/series/line/line.d.ts +2 -0
  639. package/esm/series/line/line.js +10 -2
  640. package/esm/series/line/line.js.map +1 -1
  641. package/esm/series/map/map.js +3 -3
  642. package/esm/series/map/map.js.map +1 -1
  643. package/esm/series/mixin/line-mixin.d.ts +1 -0
  644. package/esm/series/mixin/line-mixin.js +5 -0
  645. package/esm/series/mixin/line-mixin.js.map +1 -1
  646. package/esm/series/pie/pie.d.ts +3 -7
  647. package/esm/series/pie/pie.js +17 -0
  648. package/esm/series/pie/pie.js.map +1 -1
  649. package/esm/series/polar/progress-like/progress-like.d.ts +2 -0
  650. package/esm/series/polar/progress-like/progress-like.js +17 -0
  651. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  652. package/esm/series/polar/rose-like/rose-like.d.ts +2 -0
  653. package/esm/series/polar/rose-like/rose-like.js +16 -0
  654. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  655. package/esm/series/progress/circular/circular.d.ts +2 -0
  656. package/esm/series/progress/circular/circular.js +11 -0
  657. package/esm/series/progress/circular/circular.js.map +1 -1
  658. package/esm/series/progress/linear/linear.d.ts +2 -0
  659. package/esm/series/progress/linear/linear.js +20 -0
  660. package/esm/series/progress/linear/linear.js.map +1 -1
  661. package/esm/series/sankey/sankey.js +60 -54
  662. package/esm/series/sankey/sankey.js.map +1 -1
  663. package/esm/series/scatter/scatter.d.ts +2 -0
  664. package/esm/series/scatter/scatter.js +10 -0
  665. package/esm/series/scatter/scatter.js.map +1 -1
  666. package/esm/series/treemap/treemap.js +23 -20
  667. package/esm/series/treemap/treemap.js.map +1 -1
  668. package/esm/series/venn/venn.js +2 -2
  669. package/esm/series/venn/venn.js.map +1 -1
  670. package/esm/series/waterfall/waterfall.d.ts +2 -0
  671. package/esm/series/waterfall/waterfall.js +36 -20
  672. package/esm/series/waterfall/waterfall.js.map +1 -1
  673. package/esm/series/word-cloud/animation.js +3 -0
  674. package/esm/series/word-cloud/animation.js.map +1 -1
  675. package/esm/theme/builtin/common/series/word-cloud.js +2 -6
  676. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
  677. package/esm/util/graphic-state.d.ts +4 -0
  678. package/esm/util/graphic-state.js +30 -0
  679. package/esm/util/graphic-state.js.map +1 -0
  680. package/esm/util/mark.js +8 -2
  681. package/esm/util/mark.js.map +1 -1
  682. package/esm/util/math.d.ts +1 -1
  683. package/esm/util/math.js +1 -1
  684. package/esm/util/math.js.map +1 -1
  685. package/esm/util/text.js +1 -1
  686. package/esm/util/text.js.map +1 -1
  687. package/esm/vchart-line.d.ts +4 -0
  688. package/esm/vchart-line.js +28 -0
  689. package/esm/vchart-line.js.map +1 -0
  690. package/package.json +12 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/cartesian-mark-point.ts"],"names":[],"mappings":"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","file":"cartesian-mark-point.js","sourcesContent":["import type { IMarkPointCoordinateSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { cartesianCoordinateLayout, getMarkPointProcessInfo, positionLayout, xyLayout } from '../utils';\nimport { registerMarkPointAnimate } from '@visactor/vrender-components';\nimport { isValid } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint } from '../../../typings';\nimport { BaseMarkPoint } from './base-mark-point';\nimport type { IMarkProcessOptions } from '../interface';\nimport type { IOptionAggr, IOptionWithCoordinates } from '../../../data/transforms/interface';\nimport { markPoint } from '../../../theme/builtin/common/component/mark-point';\n\nexport class CartesianMarkPoint extends BaseMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n static coordinateType = 'cartesian';\n coordinateType = 'cartesian' as CoordinateType;\n\n static readonly builtInTheme = {\n markPoint: markPoint\n };\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isXYLayout = isValid(spec.x) && isValid(spec.y);\n const isCoordinateLayout = isValid(spec.coordinate);\n const isPositionLayout = isValid(spec.position);\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPoint;\n\n if (isXYLayout) {\n point = xyLayout(data, relativeSeries, relativeSeries, relativeSeries, autoRange)?.[0]?.[0];\n } else if (isCoordinateLayout) {\n point = cartesianCoordinateLayout(\n data,\n relativeSeries,\n autoRange,\n (spec as IMarkPointCoordinateSpec).coordinatesOffset\n )[0];\n } else if (isPositionLayout) {\n point = positionLayout(spec.position, relativeSeries, spec.regionRelative)[0];\n }\n\n return { point };\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const { doXYProcess } = getMarkPointProcessInfo(spec);\n const isCoordinateProcess = isValid(spec.coordinate);\n\n let options: IOptionAggr[] | IOptionWithCoordinates;\n if (doXYProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ])\n ];\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n }\n\n return { options };\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(CartesianMarkPoint.type, CartesianMarkPoint);\n registerMarkPointAnimate();\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/cartesian-mark-point.ts"],"names":[],"mappings":"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","file":"cartesian-mark-point.js","sourcesContent":["import type { IMarkPointCoordinateSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { cartesianCoordinateLayout, getMarkPointProcessInfo, positionLayout, xyLayout } from '../utils';\nimport { registerMarkPointAnimate } from '@visactor/vrender-components';\nimport { isValid } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint } from '../../../typings';\nimport { BaseMarkPoint } from './base-mark-point';\nimport type { IMarkProcessOptions } from '../interface';\nimport type { IOptionAggr, IOptionWithCoordinates } from '../../../data/transforms/interface';\nimport { markPoint } from '../../../theme/builtin/common/component/mark-point';\n\nexport class CartesianMarkPoint extends BaseMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n static coordinateType = 'cartesian';\n coordinateType = 'cartesian' as CoordinateType;\n\n static readonly builtInTheme = {\n markPoint: markPoint\n };\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isXYLayout = isValid(spec.x) && isValid(spec.y);\n const isCoordinateLayout = isValid(spec.coordinate);\n const isPositionLayout = isValid(spec.position);\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPoint;\n\n if (isXYLayout) {\n point = xyLayout(\n data,\n relativeSeries,\n relativeSeries,\n relativeSeries,\n autoRange,\n false,\n this._getAutoRangeExtendDomainKeyPrefix()\n )?.[0]?.[0];\n } else if (isCoordinateLayout) {\n point = cartesianCoordinateLayout(\n data,\n relativeSeries,\n autoRange,\n (spec as IMarkPointCoordinateSpec).coordinatesOffset,\n this._getAutoRangeExtendDomainKeyPrefix()\n )[0];\n } else if (isPositionLayout) {\n point = positionLayout(spec.position, relativeSeries, spec.regionRelative)[0];\n }\n\n return { point };\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const { doXYProcess } = getMarkPointProcessInfo(spec);\n const isCoordinateProcess = isValid(spec.coordinate);\n\n let options: IOptionAggr[] | IOptionWithCoordinates;\n if (doXYProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ])\n ];\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n }\n\n return { options };\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(CartesianMarkPoint.type, CartesianMarkPoint);\n registerMarkPointAnimate();\n};\n"]}
@@ -19,7 +19,7 @@ export class PolarMarkPoint extends BaseMarkPoint {
19
19
  }
20
20
  _computePointsAttr() {
21
21
  var _a, _b;
22
- const data = this._markerData, relativeSeries = this._relativeSeries, autoRange = null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.autoRange) && void 0 !== _b && _b, polarPoint = polarLayout(data, relativeSeries, relativeSeries, relativeSeries, autoRange)[0][0], center = {
22
+ const data = this._markerData, relativeSeries = this._relativeSeries, autoRange = null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.autoRange) && void 0 !== _b && _b, polarPoint = polarLayout(data, relativeSeries, relativeSeries, relativeSeries, autoRange, this._getAutoRangeExtendDomainKeyPrefix())[0][0], center = {
23
23
  x: this._relativeSeries.getRegion().getLayoutStartPoint().x + this._relativeSeries.angleAxisHelper.center().x,
24
24
  y: this._relativeSeries.getRegion().getLayoutStartPoint().y + this._relativeSeries.angleAxisHelper.center().y
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/polar-mark-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAE/E,MAAM,OAAO,cAAe,SAAQ,aAAa;IAAjD;;QAEE,SAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC;QACxC,SAAI,GAAW,iBAAiB,CAAC,cAAc,CAAC;QAEhD,mBAAc,GAAG,OAAyB,CAAC;IAkC7C,CAAC;IA5BW,kBAAkB;;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,mCAAI,KAAK,CAAC;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,MAAM,GAAG;YACb,CAAC,EACC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAgC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC,EACC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAgC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE,CAAC;QACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAE5E,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAES,eAAe;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,OAAO,GAAG;YACd,IAAI,CAAC,kBAAkB,CAAC;gBACtB,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE;aACxC,CAAC;SACH,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;;AArCM,mBAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAGxC,6BAAc,GAAG,OAAO,CAAC;AAGhB,2BAAY,GAAG;IAC7B,cAAc,EAAE,SAAS;CAC1B,CAAC;AAgCJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/D,wBAAwB,EAAE,CAAC;AAC7B,CAAC,CAAC","file":"polar-mark-point.js","sourcesContent":["import { ComponentTypeEnum } from '../../interface/type';\nimport { polarLayout } from '../utils';\nimport { registerMarkPointAnimate } from '@visactor/vrender-components';\nimport { Factory } from '../../../core/factory';\nimport { BaseMarkPoint } from './base-mark-point';\nimport type { IPolarSeries } from 'src/series';\nimport type { IMarkProcessOptions } from '../interface';\nimport { polarToCartesian } from '@visactor/vutils';\nimport type { CoordinateType } from '../../../typings';\nimport { markPoint } from '../../../theme/builtin/common/component/mark-point';\n\nexport class PolarMarkPoint extends BaseMarkPoint {\n static type = ComponentTypeEnum.polarMarkPoint;\n type = ComponentTypeEnum.polarMarkPoint;\n name: string = ComponentTypeEnum.polarMarkPoint;\n static coordinateType = 'polar';\n coordinateType = 'polar' as CoordinateType;\n\n static readonly builtInTheme = {\n polarMarkPoint: markPoint\n };\n\n protected _computePointsAttr() {\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const autoRange = this._spec?.autoRange ?? false;\n const polarPoint = polarLayout(data, relativeSeries, relativeSeries, relativeSeries, autoRange)[0][0];\n const center = {\n x:\n this._relativeSeries.getRegion().getLayoutStartPoint().x +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().x,\n y:\n this._relativeSeries.getRegion().getLayoutStartPoint().y +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().y\n };\n const point = polarToCartesian(center, polarPoint.radius, polarPoint.angle);\n\n return { point };\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const options = [\n this._processSpecByDims([\n { dim: 'radius', specValue: spec.radius },\n { dim: 'angle', specValue: spec.angle }\n ])\n ];\n return { options };\n }\n}\n\nexport const registerPolarMarkPoint = () => {\n Factory.registerComponent(PolarMarkPoint.type, PolarMarkPoint);\n registerMarkPointAnimate();\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/polar-mark-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAE/E,MAAM,OAAO,cAAe,SAAQ,aAAa;IAAjD;;QAEE,SAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC;QACxC,SAAI,GAAW,iBAAiB,CAAC,cAAc,CAAC;QAEhD,mBAAc,GAAG,OAAyB,CAAC;IAyC7C,CAAC;IAnCW,kBAAkB;;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,mCAAI,KAAK,CAAC;QACjD,MAAM,UAAU,GAAG,WAAW,CAC5B,IAAI,EACJ,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,IAAI,CAAC,kCAAkC,EAAE,CAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACR,MAAM,MAAM,GAAG;YACb,CAAC,EACC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAgC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC,EACC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAgC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE,CAAC;QACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAE5E,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAES,eAAe;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,OAAO,GAAG;YACd,IAAI,CAAC,kBAAkB,CAAC;gBACtB,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE;aACxC,CAAC;SACH,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;;AA5CM,mBAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAGxC,6BAAc,GAAG,OAAO,CAAC;AAGhB,2BAAY,GAAG;IAC7B,cAAc,EAAE,SAAS;CAC1B,CAAC;AAuCJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/D,wBAAwB,EAAE,CAAC;AAC7B,CAAC,CAAC","file":"polar-mark-point.js","sourcesContent":["import { ComponentTypeEnum } from '../../interface/type';\nimport { polarLayout } from '../utils';\nimport { registerMarkPointAnimate } from '@visactor/vrender-components';\nimport { Factory } from '../../../core/factory';\nimport { BaseMarkPoint } from './base-mark-point';\nimport type { IPolarSeries } from 'src/series';\nimport type { IMarkProcessOptions } from '../interface';\nimport { polarToCartesian } from '@visactor/vutils';\nimport type { CoordinateType } from '../../../typings';\nimport { markPoint } from '../../../theme/builtin/common/component/mark-point';\n\nexport class PolarMarkPoint extends BaseMarkPoint {\n static type = ComponentTypeEnum.polarMarkPoint;\n type = ComponentTypeEnum.polarMarkPoint;\n name: string = ComponentTypeEnum.polarMarkPoint;\n static coordinateType = 'polar';\n coordinateType = 'polar' as CoordinateType;\n\n static readonly builtInTheme = {\n polarMarkPoint: markPoint\n };\n\n protected _computePointsAttr() {\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const autoRange = this._spec?.autoRange ?? false;\n const polarPoint = polarLayout(\n data,\n relativeSeries,\n relativeSeries,\n relativeSeries,\n autoRange,\n this._getAutoRangeExtendDomainKeyPrefix()\n )[0][0];\n const center = {\n x:\n this._relativeSeries.getRegion().getLayoutStartPoint().x +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().x,\n y:\n this._relativeSeries.getRegion().getLayoutStartPoint().y +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().y\n };\n const point = polarToCartesian(center, polarPoint.radius, polarPoint.angle);\n\n return { point };\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const options = [\n this._processSpecByDims([\n { dim: 'radius', specValue: spec.radius },\n { dim: 'angle', specValue: spec.angle }\n ])\n ];\n return { options };\n }\n}\n\nexport const registerPolarMarkPoint = () => {\n Factory.registerComponent(PolarMarkPoint.type, PolarMarkPoint);\n registerMarkPointAnimate();\n};\n"]}
@@ -5,11 +5,11 @@ import type { IDataPos, IMarkerAttributeContext, IMarkerLabelSpec, IMarkerState,
5
5
  import type { IRegion } from '../../region/interface';
6
6
  import type { OffsetPoint } from './interface';
7
7
  export declare function isAggrSpec(spec: IDataPos): boolean;
8
- export declare function xyLayout(data: DataView, startRelativeSeries: IMarkerSupportSeries, endRelativeSeries: IMarkerSupportSeries, relativeSeries: IMarkerSupportSeries, autoRange: boolean, includeFullBand?: boolean): IPoint[][];
9
- export declare function polarLayout(data: DataView, startRelativeSeries: IMarkerSupportSeries, endRelativeSeries: IMarkerSupportSeries, relativeSeries: IMarkerSupportSeries, autoRange: boolean): IPolarPoint[][];
8
+ export declare function xyLayout(data: DataView, startRelativeSeries: IMarkerSupportSeries, endRelativeSeries: IMarkerSupportSeries, relativeSeries: IMarkerSupportSeries, autoRange: boolean, includeFullBand?: boolean, autoRangeExtendDomainKeyPrefix?: string): IPoint[][];
9
+ export declare function polarLayout(data: DataView, startRelativeSeries: IMarkerSupportSeries, endRelativeSeries: IMarkerSupportSeries, relativeSeries: IMarkerSupportSeries, autoRange: boolean, autoRangeExtendDomainKeyPrefix?: string): IPolarPoint[][];
10
10
  export declare function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries): IPoint[][];
11
- export declare function cartesianCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean, coordinatesOffset: OffsetPoint[] | OffsetPoint): IPoint[];
12
- export declare function polarCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean): IPolarPoint[];
11
+ export declare function cartesianCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean, coordinatesOffset: OffsetPoint[] | OffsetPoint, autoRangeExtendDomainKeyPrefix?: string): IPoint[];
12
+ export declare function polarCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean, autoRangeExtendDomainKeyPrefix?: string): IPolarPoint[];
13
13
  export declare function positionLayout(positions: MarkerPositionPoint | MarkerPositionPoint[] | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint) | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]), series: IMarkerSupportSeries, regionRelative: boolean): IPoint[];
14
14
  export declare function computeClipRange(regions: IRegion[]): {
15
15
  minX: number;
@@ -22,35 +22,39 @@ function isNeedExtendDomain(domain, datum, autoRange) {
22
22
  return datum < min || datum > max;
23
23
  }
24
24
 
25
- function getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint) {
25
+ function getAutoRangeExtendDomainKey(keyPrefix, axisKey) {
26
+ return keyPrefix ? `${keyPrefix}_${axisKey}_extend` : `marker_${axisKey}_extend`;
27
+ }
28
+
29
+ function getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint, autoRangeExtendDomainKeyPrefix) {
26
30
  var _a, _b;
27
31
  const {relativeSeries: relativeSeries} = refSeries;
28
32
  let x;
29
- return isNumber(datum.x) && isNeedExtendDomain(xDomain, datum.x, autoRange) && (null === (_b = null == relativeSeries ? void 0 : (_a = relativeSeries.getXAxisHelper()).setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", datum.x)),
33
+ return isNumber(datum.x) && isNeedExtendDomain(xDomain, datum.x, autoRange) && (null === (_b = null == relativeSeries ? void 0 : (_a = relativeSeries.getXAxisHelper()).setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "xAxis"), datum.x)),
30
34
  x = isPercent(datum.x) ? convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x : convertDatumToValue(relativeSeries.getXAxisHelper(), [ datum.x ]) + regionStartLayoutStartPoint.x,
31
35
  x;
32
36
  }
33
37
 
34
- function getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint) {
38
+ function getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint, autoRangeExtendDomainKeyPrefix) {
35
39
  var _a, _b;
36
40
  const {relativeSeries: relativeSeries} = refSeries;
37
41
  let y;
38
- return isNumber(datum.y) && isNeedExtendDomain(yDomain, datum.y, autoRange) && (null === (_b = null === (_a = relativeSeries.getYAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_yAxis_extend", datum.y)),
42
+ return isNumber(datum.y) && isNeedExtendDomain(yDomain, datum.y, autoRange) && (null === (_b = null === (_a = relativeSeries.getYAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "yAxis"), datum.y)),
39
43
  y = isPercent(datum.y) ? convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y : convertDatumToValue(relativeSeries.getYAxisHelper(), [ datum.y ]) + regionStartLayoutStartPoint.y,
40
44
  y;
41
45
  }
42
46
 
43
- function getAngleValue(datum, angleDomain, autoRange, refSeries) {
47
+ function getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix) {
44
48
  var _a, _b;
45
49
  const {relativeSeries: relativeSeries} = refSeries;
46
- return isNumber(datum.angle) && isNeedExtendDomain(angleDomain, datum.angle, autoRange) && (null === (_b = null === (_a = relativeSeries.angleAxisHelper) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_angleAxis_extend", datum.angle)),
50
+ return isNumber(datum.angle) && isNeedExtendDomain(angleDomain, datum.angle, autoRange) && (null === (_b = null === (_a = relativeSeries.angleAxisHelper) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "angleAxis"), datum.angle)),
47
51
  convertDatumToValue(relativeSeries.angleAxisHelper, [ datum.angle ]);
48
52
  }
49
53
 
50
- function getRadiusValue(datum, radiusDomain, autoRange, refSeries) {
54
+ function getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix) {
51
55
  var _a, _b;
52
56
  const {relativeSeries: relativeSeries} = refSeries;
53
- return isNumber(datum.radius) && isNeedExtendDomain(radiusDomain, datum.radius, autoRange) && (null === (_b = null === (_a = relativeSeries.radiusAxisHelper) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_radiusAxis_extend", datum.radius)),
57
+ return isNumber(datum.radius) && isNeedExtendDomain(radiusDomain, datum.radius, autoRange) && (null === (_b = null === (_a = relativeSeries.radiusAxisHelper) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "radiusAxis"), datum.radius)),
54
58
  convertDatumToValue(relativeSeries.radiusAxisHelper, [ datum.radius ]);
55
59
  }
56
60
 
@@ -67,7 +71,7 @@ export function isAggrSpec(spec) {
67
71
  return AGGR_TYPE.includes(spec);
68
72
  }
69
73
 
70
- export function xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand = !1) {
74
+ export function xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand = !1, autoRangeExtendDomainKeyPrefix) {
71
75
  const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), regionWidth = Math.abs(Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) - Math.max(regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width)), regionHeight = Math.abs(Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) - Math.max(regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height)), refSeries = {
72
76
  relativeSeries: relativeSeries,
73
77
  startRelativeSeries: startRelativeSeries,
@@ -82,14 +86,14 @@ export function xyLayout(data, startRelativeSeries, endRelativeSeries, relativeS
82
86
  return dataPoints.forEach((datum => {
83
87
  const isValidX = isValid(datum.x), isValidY = isValid(datum.y);
84
88
  let x, y;
85
- if (isValidX && isValidY) x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint),
86
- y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint),
89
+ if (isValidX && isValidY) x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint, autoRangeExtendDomainKeyPrefix),
90
+ y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint, autoRangeExtendDomainKeyPrefix),
87
91
  setTempWithValid(x, isXExpand, xTemp, lines.length), setTempWithValid(y, isyExpand, yTemp, lines.length),
88
92
  lines.push([ {
89
93
  x: x,
90
94
  y: y
91
95
  } ]); else if (isValidX) {
92
- x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint),
96
+ x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint, autoRangeExtendDomainKeyPrefix),
93
97
  y = Math.max(regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height);
94
98
  const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);
95
99
  setTempWithValid(x, isXExpand, xTemp, lines.length), lines.push([ {
@@ -100,7 +104,7 @@ export function xyLayout(data, startRelativeSeries, endRelativeSeries, relativeS
100
104
  y: y1
101
105
  } ]);
102
106
  } else if (isValidY) {
103
- x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x), y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);
107
+ x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x), y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint, autoRangeExtendDomainKeyPrefix);
104
108
  const x1 = Math.max(regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width);
105
109
  setTempWithValid(y, isyExpand, yTemp, lines.length), lines.push([ {
106
110
  x: x,
@@ -134,7 +138,7 @@ function setTempWithValid(v, isExpand, temp, index) {
134
138
  })), v;
135
139
  }
136
140
 
137
- export function polarLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange) {
141
+ export function polarLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, autoRangeExtendDomainKeyPrefix) {
138
142
  const refSeries = {
139
143
  relativeSeries: relativeSeries,
140
144
  startRelativeSeries: startRelativeSeries,
@@ -143,13 +147,13 @@ export function polarLayout(data, startRelativeSeries, endRelativeSeries, relati
143
147
  return dataPoints.forEach((datum => {
144
148
  const isValidAngle = isValid(datum.angle), isValidRadius = isValid(datum.radius);
145
149
  if (isValidAngle && isValidRadius) {
146
- const angle = getAngleValue(datum, angleDomain, autoRange, refSeries), radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);
150
+ const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix), radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);
147
151
  lines.push([ {
148
152
  angle: angle,
149
153
  radius: radius
150
154
  } ]);
151
155
  } else if (isValidAngle) {
152
- const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);
156
+ const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);
153
157
  lines.push([ {
154
158
  angle: angle,
155
159
  radius: -regionRadius
@@ -158,7 +162,7 @@ export function polarLayout(data, startRelativeSeries, endRelativeSeries, relati
158
162
  radius: regionRadius
159
163
  } ]);
160
164
  } else if (isValidRadius) {
161
- const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);
165
+ const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);
162
166
  lines.push([ {
163
167
  radius: radius,
164
168
  angle: 0
@@ -180,7 +184,7 @@ export function geoLayout(data, relativeSeries) {
180
184
  })), lines;
181
185
  }
182
186
 
183
- export function cartesianCoordinateLayout(data, relativeSeries, autoRange, coordinatesOffset) {
187
+ export function cartesianCoordinateLayout(data, relativeSeries, autoRange, coordinatesOffset, autoRangeExtendDomainKeyPrefix) {
184
188
  const points = [], dataPoints = data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, isArrayCoordinatesOffset = isArray(coordinatesOffset);
185
189
  return dataPoints.forEach(((datum, index) => {
186
190
  var _a, _b, _c, _d;
@@ -192,8 +196,8 @@ export function cartesianCoordinateLayout(data, relativeSeries, autoRange, coord
192
196
  y && (offsetY = isPercent(y) ? Number(y.substring(0, y.length - 1)) * regionHeight / 100 : y);
193
197
  }
194
198
  const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain(), xValue = array(datum.x), yValue = array(datum.y);
195
- 1 === xValue.length && isNumber(xValue[0]) && isNeedExtendDomain(xDomain, xValue[0], autoRange) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", xValue[0])),
196
- 1 === yValue.length && isNumber(yValue[0]) && isNeedExtendDomain(yDomain, yValue[0], autoRange) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, "marker_yAxis_extend", yValue[0])),
199
+ 1 === xValue.length && isNumber(xValue[0]) && isNeedExtendDomain(xDomain, xValue[0], autoRange) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "xAxis"), xValue[0])),
200
+ 1 === yValue.length && isNumber(yValue[0]) && isNeedExtendDomain(yDomain, yValue[0], autoRange) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "yAxis"), yValue[0])),
197
201
  points.push({
198
202
  x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,
199
203
  y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY
@@ -201,13 +205,13 @@ export function cartesianCoordinateLayout(data, relativeSeries, autoRange, coord
201
205
  })), points;
202
206
  }
203
207
 
204
- export function polarCoordinateLayout(data, relativeSeries, autoRange) {
208
+ export function polarCoordinateLayout(data, relativeSeries, autoRange, autoRangeExtendDomainKeyPrefix) {
205
209
  const points = [];
206
210
  return (data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData).forEach((datum => {
207
211
  var _a, _b, _c, _d;
208
212
  const refRelativeSeries = (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries, angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain(), radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain(), angleValue = array(datum.angle), radiusValue = array(datum.radius);
209
- 1 === angleValue.length && isNumber(angleValue[0]) && isNeedExtendDomain(angleDomain, angleValue[0], autoRange) && (null === (_b = null === (_a = refRelativeSeries.angleAxisHelper) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", angleValue[0])),
210
- 1 === radiusValue.length && isNumber(radiusValue[0]) && isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) && (null === (_d = null === (_c = refRelativeSeries.radiusAxisHelper) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, "marker_yAxis_extend", radiusValue[0])),
213
+ 1 === angleValue.length && isNumber(angleValue[0]) && isNeedExtendDomain(angleDomain, angleValue[0], autoRange) && (null === (_b = null === (_a = refRelativeSeries.angleAxisHelper) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "angleAxis"), angleValue[0])),
214
+ 1 === radiusValue.length && isNumber(radiusValue[0]) && isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) && (null === (_d = null === (_c = refRelativeSeries.radiusAxisHelper) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "radiusAxis"), radiusValue[0])),
211
215
  points.push({
212
216
  angle: convertDatumToValue(refRelativeSeries.angleAxisHelper, angleValue),
213
217
  radius: convertDatumToValue(refRelativeSeries.radiusAxisHelper, radiusValue)
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries, IGeoSeries, IPolarSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport {\n isValid,\n isNumber,\n array,\n minInArray,\n maxInArray,\n isArray,\n normalizePadding,\n isFunction,\n type IPointLike\n} from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type {\n IDataPos,\n IMarkerAttributeContext,\n IMarkerLabelSpec,\n IMarkerState,\n IMarkerSupportSeries,\n IPolarPoint,\n MarkerPositionPoint,\n MarkerStateValue\n} from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { OffsetPoint } from './interface';\nimport type { IAxisHelper, IPolarAxisHelper } from '../axis';\nimport type { BandScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\n\ntype FullBandTemp = {\n min: {\n value: number;\n index: number;\n };\n max: {\n value: number;\n index: number;\n };\n};\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n (relativeSeries as ICartesianSeries)?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x =\n convertDatumToValue((relativeSeries as ICartesianSeries).getXAxisHelper(), [datum.x]) +\n regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n (relativeSeries as ICartesianSeries).getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y =\n convertDatumToValue((relativeSeries as ICartesianSeries).getYAxisHelper(), [datum.y]) +\n regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction getAngleValue(\n datum: Datum,\n angleDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries }\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.angle) &&\n isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&\n (relativeSeries as IPolarSeries).angleAxisHelper?.setExtendDomain?.('marker_angleAxis_extend', datum.angle);\n\n return convertDatumToValue((relativeSeries as IPolarSeries).angleAxisHelper, [datum.angle]);\n}\n\nfunction getRadiusValue(\n datum: Datum,\n radiusDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries }\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.radius) &&\n isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&\n (relativeSeries as IPolarSeries).radiusAxisHelper?.setExtendDomain?.('marker_radiusAxis_extend', datum.radius);\n\n return convertDatumToValue((relativeSeries as IPolarSeries).radiusAxisHelper, [datum.radius]);\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nfunction convertDatumToValue(axisHelper: IAxisHelper | IPolarAxisHelper, datum: (number | string)[]) {\n const scale = axisHelper.getScale(0);\n if (isContinuous(scale.type) && scale.domain()[0] === scale.domain()[1] && datum[0] !== scale.domain()[0]) {\n return NaN;\n }\n return axisHelper.dataToPosition(datum);\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n includeFullBand: boolean = false\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const xAxisHelper = (relativeSeries as ICartesianSeries).getXAxisHelper();\n const yAxisHelper = (relativeSeries as ICartesianSeries).getYAxisHelper();\n\n const xDomain = xAxisHelper.getScale(0).domain();\n const yDomain = yAxisHelper.getScale(0).domain();\n\n const isXExpand = includeFullBand && !xAxisHelper.isContinuous && !!xAxisHelper.getBandwidth;\n const isyExpand = includeFullBand && !yAxisHelper.isContinuous && !!yAxisHelper.getBandwidth;\n const xTemp: FullBandTemp = { min: null, max: null };\n const yTemp: FullBandTemp = { min: null, max: null };\n\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n let x;\n let y;\n if (isValidX && isValidY) {\n x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([{ x, y }]);\n } else if (isValidX) {\n x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValidY) {\n x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n setTempToLines(lines, xAxisHelper, yAxisHelper, xTemp, yTemp);\n return lines;\n}\n\nfunction setTempToLines(\n lines: IPoint[][],\n xAxisHelper: IAxisHelper | IPolarAxisHelper,\n yAxisHelper: IAxisHelper | IPolarAxisHelper,\n xTemp: FullBandTemp,\n yTemp: FullBandTemp\n) {\n if (xTemp.min || xTemp.max) {\n const xBandSize = xAxisHelper.getBandwidth(0) * (1 + (xAxisHelper.getScale(0) as BandScale).paddingInner());\n if (xTemp.min) {\n lines[xTemp.min.index].forEach(p => (p.x -= xBandSize / 2));\n }\n if (xTemp.max) {\n lines[xTemp.max.index].forEach(p => (p.x += xBandSize / 2));\n }\n }\n if (yTemp.min || yTemp.max) {\n const yBandSize = yAxisHelper.getBandwidth(0) * (1 + (yAxisHelper.getScale(0) as BandScale).paddingInner());\n if (yTemp.min) {\n lines[yTemp.min.index].forEach(p => (p.y -= yBandSize / 2));\n }\n if (yTemp.max) {\n lines[yTemp.max.index].forEach(p => (p.y += yBandSize / 2));\n }\n }\n}\n\nfunction setTempWithValid(v: number, isExpand: boolean, temp: FullBandTemp, index: number): number {\n if (isExpand) {\n if (temp.min === null || temp.min.value > v) {\n temp.min = {\n value: v,\n index\n };\n }\n if (temp.max === null || temp.max.value < v) {\n temp.max = {\n value: v,\n index\n };\n }\n }\n return v;\n}\n\nexport function polarLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean\n) {\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n const lines: IPolarPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const angleDomain = (relativeSeries as IPolarSeries).angleAxisHelper.getScale(0).domain();\n const radiusDomain = (relativeSeries as IPolarSeries).radiusAxisHelper.getScale(0).domain();\n const regionRadius = Math.min(\n relativeSeries.getRegion().getLayoutRect().width / 2,\n relativeSeries.getRegion().getLayoutRect().height / 2\n );\n dataPoints.forEach((datum: IPolarPoint) => {\n const isValidAngle = isValid(datum.angle);\n const isValidRadius = isValid(datum.radius);\n if (isValidAngle && isValidRadius) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);\n lines.push([{ angle, radius }]);\n } else if (isValidAngle) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);\n lines.push([\n {\n angle,\n radius: -regionRadius\n },\n {\n angle,\n radius: regionRadius\n }\n ]);\n } else if (isValidRadius) {\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);\n lines.push([\n {\n radius,\n angle: 0\n },\n {\n radius,\n angle: Math.PI * 2\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries) {\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: any) => {\n const isValidName = isValid(datum.areaName);\n if (isValidName) {\n lines.push([\n {\n x:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).x +\n relativeSeries.getRegion().getLayoutStartPoint().x,\n y:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).y +\n relativeSeries.getRegion().getLayoutStartPoint().y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function cartesianCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint\n) {\n const points: IPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as ICartesianSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', xValue[0] as number);\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', yValue[0] as number);\n points.push({\n x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function polarCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean) {\n const points: IPolarPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as IPolarSeries;\n\n const angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain();\n const radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain();\n const angleValue = array(datum.angle);\n const radiusValue = array(datum.radius);\n\n angleValue.length === 1 &&\n isNumber(angleValue[0]) &&\n isNeedExtendDomain(angleDomain, angleValue[0], autoRange) &&\n refRelativeSeries.angleAxisHelper?.setExtendDomain?.('marker_xAxis_extend', angleValue[0] as number);\n\n radiusValue.length === 1 &&\n isNumber(radiusValue[0]) &&\n isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&\n refRelativeSeries.radiusAxisHelper?.setExtendDomain?.('marker_yAxis_extend', radiusValue[0] as number);\n points.push({\n angle: convertDatumToValue(refRelativeSeries.angleAxisHelper, angleValue),\n radius: convertDatumToValue(refRelativeSeries.radiusAxisHelper, radiusValue)\n });\n }\n );\n return points;\n}\n\nfunction convertPosition(position: MarkerPositionPoint, relativeWidth: number, relativeHeight: number): IPoint {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, relativeWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, relativeHeight);\n }\n\n return {\n x: x as number,\n y: y as number\n };\n}\n\nexport function positionLayout(\n positions:\n | MarkerPositionPoint\n | MarkerPositionPoint[]\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint)\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]),\n series: IMarkerSupportSeries,\n regionRelative: boolean\n): IPoint[] {\n let transformPositions;\n if (isFunction(positions)) {\n transformPositions = array(positions(series.getData().getLatestData(), series));\n } else {\n transformPositions = array(positions);\n }\n\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return transformPositions.map(position => {\n let { x, y } = convertPosition(position, regionWidth, regionHeight);\n\n x = (x as number) + regionStartX;\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getViewRect();\n return transformPositions.map(position => {\n return convertPosition(position, canvasWidth, canvasHeight);\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(\n label: IMarkerLabelSpec,\n markerData: any,\n markAttributeContext: IMarkerAttributeContext\n) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n customShape: labelBackground.customShape,\n ...transformStyle(transformToGraphic(labelBackground.style), markerData, markAttributeContext)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformStyle(transformToGraphic(style), markerData, markAttributeContext);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n\nexport function transformState(\n state: {} | Record<MarkerStateValue, any | IMarkerState<any>>,\n markerData: DataView,\n markerAttributeContext: IMarkerAttributeContext\n) {\n for (const stateKey in state) {\n if (isFunction(state[stateKey])) {\n state[stateKey] = state[stateKey](markerData, markerAttributeContext);\n }\n }\n return state;\n}\n\nexport function transformStyle(style: any, markerData: DataView, markerAttributeContext: IMarkerAttributeContext) {\n if (isFunction(style)) {\n return style(markerData, markerAttributeContext);\n }\n return style;\n}\n\nexport function transformOffset(offset: string | number | Function, region: IRegion) {\n if (isFunction(offset)) {\n return offset(region);\n }\n return offset;\n}\n\nexport function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number {\n if (!isValid(point)) {\n return offset as number;\n }\n if (offset === 'regionLeft') {\n return region.getLayoutStartPoint().x - point.x;\n } else if (offset === 'regionRight') {\n return region.getLayoutStartPoint().x + region.getLayoutRect().width - point.x;\n } else if (offset === 'regionTop') {\n return region.getLayoutStartPoint().y - point.y;\n } else if (offset === 'regionBottom') {\n return region.getLayoutStartPoint().y + region.getLayoutRect().height - point.y;\n }\n return offset as number;\n}\n\nexport function getProcessInfo(spec: any) {\n return {\n isXProcess: isValid(spec.x),\n isYProcess: isValid(spec.y),\n isX1Process: isValid(spec.x1),\n isY1Process: isValid(spec.y1),\n isAngleProcess: isValid(spec.angle),\n isRadiusProcess: isValid(spec.radius),\n isAngle1Process: isValid(spec.angle1),\n isRadius1Process: isValid(spec.radius1),\n isCoordinatesProcess: isValid(spec.coordinates),\n isValidProcess: isValid(spec.process)\n };\n}\n\nexport function getMarkLineProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess,\n isValidProcess\n } = getProcessInfo(spec);\n\n return {\n doXProcess: isXProcess && !isYProcess && !isY1Process,\n doXYY1Process: isXProcess && isYProcess && isY1Process,\n doYProcess: isYProcess && !isXProcess && !isX1Process,\n doYXX1Process: isYProcess && isXProcess && isX1Process,\n doXYProcess: isXProcess && isYProcess && isX1Process && isY1Process,\n doAngleProcess: isAngleProcess && !isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && !isRadius1Process && !isAngleProcess && !isAngle1Process,\n doAngRadRad1Process: isAngleProcess && !isAngle1Process && isRadiusProcess && isRadius1Process,\n doRadAngAng1Process: isRadiusProcess && isAngleProcess && isAngle1Process && !isRadius1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess && (!isValidProcess || ('process' in spec && 'xy' in spec.process))\n };\n}\n\nexport function getMarkAreaProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess\n } = getProcessInfo(spec);\n return {\n doXProcess: isXProcess && isX1Process && !isYProcess && !isY1Process,\n doYProcess: isYProcess && isY1Process && !isXProcess && !isX1Process,\n doXYProcess: isXProcess && isX1Process && isYProcess && isY1Process,\n doAngleProcess: isAngleProcess && isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && isRadius1Process && !isAngleProcess && !isAngle1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess\n };\n}\n\nexport function getMarkPointProcessInfo(spec: any) {\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isPolarProcess = isValid(spec.angle) && isValid(spec.radius);\n const isGeoProcess = isValid(spec.areaName);\n return {\n doXYProcess: isXYProcess,\n doPolarProcess: isPolarProcess,\n doGeoProcess: isGeoProcess\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries, IGeoSeries, IPolarSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport {\n isValid,\n isNumber,\n array,\n minInArray,\n maxInArray,\n isArray,\n normalizePadding,\n isFunction,\n type IPointLike\n} from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type {\n IDataPos,\n IMarkerAttributeContext,\n IMarkerLabelSpec,\n IMarkerState,\n IMarkerSupportSeries,\n IPolarPoint,\n MarkerPositionPoint,\n MarkerStateValue\n} from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { OffsetPoint } from './interface';\nimport type { IAxisHelper, IPolarAxisHelper } from '../axis';\nimport type { BandScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\n\ntype FullBandTemp = {\n min: {\n value: number;\n index: number;\n };\n max: {\n value: number;\n index: number;\n };\n};\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getAutoRangeExtendDomainKey(\n keyPrefix: string | undefined,\n axisKey: 'xAxis' | 'yAxis' | 'angleAxis' | 'radiusAxis'\n) {\n return keyPrefix ? `${keyPrefix}_${axisKey}_extend` : `marker_${axisKey}_extend`;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n (relativeSeries as ICartesianSeries)\n ?.getXAxisHelper()\n .setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'xAxis'), datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x =\n convertDatumToValue((relativeSeries as ICartesianSeries).getXAxisHelper(), [datum.x]) +\n regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n (relativeSeries as ICartesianSeries)\n .getYAxisHelper()\n ?.setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'yAxis'), datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y =\n convertDatumToValue((relativeSeries as ICartesianSeries).getYAxisHelper(), [datum.y]) +\n regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction getAngleValue(\n datum: Datum,\n angleDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.angle) &&\n isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&\n (relativeSeries as IPolarSeries).angleAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'angleAxis'),\n datum.angle\n );\n\n return convertDatumToValue((relativeSeries as IPolarSeries).angleAxisHelper, [datum.angle]);\n}\n\nfunction getRadiusValue(\n datum: Datum,\n radiusDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.radius) &&\n isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&\n (relativeSeries as IPolarSeries).radiusAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'radiusAxis'),\n datum.radius\n );\n\n return convertDatumToValue((relativeSeries as IPolarSeries).radiusAxisHelper, [datum.radius]);\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nfunction convertDatumToValue(axisHelper: IAxisHelper | IPolarAxisHelper, datum: (number | string)[]) {\n const scale = axisHelper.getScale(0);\n if (isContinuous(scale.type) && scale.domain()[0] === scale.domain()[1] && datum[0] !== scale.domain()[0]) {\n return NaN;\n }\n return axisHelper.dataToPosition(datum);\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n includeFullBand: boolean = false,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const xAxisHelper = (relativeSeries as ICartesianSeries).getXAxisHelper();\n const yAxisHelper = (relativeSeries as ICartesianSeries).getYAxisHelper();\n\n const xDomain = xAxisHelper.getScale(0).domain();\n const yDomain = yAxisHelper.getScale(0).domain();\n\n const isXExpand = includeFullBand && !xAxisHelper.isContinuous && !!xAxisHelper.getBandwidth;\n const isyExpand = includeFullBand && !yAxisHelper.isContinuous && !!yAxisHelper.getBandwidth;\n const xTemp: FullBandTemp = { min: null, max: null };\n const yTemp: FullBandTemp = { min: null, max: null };\n\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n let x;\n let y;\n if (isValidX && isValidY) {\n x = getXValue(\n datum,\n xDomain,\n autoRange,\n refSeries,\n regionWidth,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n y = getYValue(\n datum,\n yDomain,\n autoRange,\n refSeries,\n regionHeight,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([{ x, y }]);\n } else if (isValidX) {\n x = getXValue(\n datum,\n xDomain,\n autoRange,\n refSeries,\n regionWidth,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValidY) {\n x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n y = getYValue(\n datum,\n yDomain,\n autoRange,\n refSeries,\n regionHeight,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n setTempToLines(lines, xAxisHelper, yAxisHelper, xTemp, yTemp);\n return lines;\n}\n\nfunction setTempToLines(\n lines: IPoint[][],\n xAxisHelper: IAxisHelper | IPolarAxisHelper,\n yAxisHelper: IAxisHelper | IPolarAxisHelper,\n xTemp: FullBandTemp,\n yTemp: FullBandTemp\n) {\n if (xTemp.min || xTemp.max) {\n const xBandSize = xAxisHelper.getBandwidth(0) * (1 + (xAxisHelper.getScale(0) as BandScale).paddingInner());\n if (xTemp.min) {\n lines[xTemp.min.index].forEach(p => (p.x -= xBandSize / 2));\n }\n if (xTemp.max) {\n lines[xTemp.max.index].forEach(p => (p.x += xBandSize / 2));\n }\n }\n if (yTemp.min || yTemp.max) {\n const yBandSize = yAxisHelper.getBandwidth(0) * (1 + (yAxisHelper.getScale(0) as BandScale).paddingInner());\n if (yTemp.min) {\n lines[yTemp.min.index].forEach(p => (p.y -= yBandSize / 2));\n }\n if (yTemp.max) {\n lines[yTemp.max.index].forEach(p => (p.y += yBandSize / 2));\n }\n }\n}\n\nfunction setTempWithValid(v: number, isExpand: boolean, temp: FullBandTemp, index: number): number {\n if (isExpand) {\n if (temp.min === null || temp.min.value > v) {\n temp.min = {\n value: v,\n index\n };\n }\n if (temp.max === null || temp.max.value < v) {\n temp.max = {\n value: v,\n index\n };\n }\n }\n return v;\n}\n\nexport function polarLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n const lines: IPolarPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const angleDomain = (relativeSeries as IPolarSeries).angleAxisHelper.getScale(0).domain();\n const radiusDomain = (relativeSeries as IPolarSeries).radiusAxisHelper.getScale(0).domain();\n const regionRadius = Math.min(\n relativeSeries.getRegion().getLayoutRect().width / 2,\n relativeSeries.getRegion().getLayoutRect().height / 2\n );\n dataPoints.forEach((datum: IPolarPoint) => {\n const isValidAngle = isValid(datum.angle);\n const isValidRadius = isValid(datum.radius);\n if (isValidAngle && isValidRadius) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([{ angle, radius }]);\n } else if (isValidAngle) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([\n {\n angle,\n radius: -regionRadius\n },\n {\n angle,\n radius: regionRadius\n }\n ]);\n } else if (isValidRadius) {\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([\n {\n radius,\n angle: 0\n },\n {\n radius,\n angle: Math.PI * 2\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries) {\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: any) => {\n const isValidName = isValid(datum.areaName);\n if (isValidName) {\n lines.push([\n {\n x:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).x +\n relativeSeries.getRegion().getLayoutStartPoint().x,\n y:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).y +\n relativeSeries.getRegion().getLayoutStartPoint().y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function cartesianCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const points: IPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as ICartesianSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries\n .getXAxisHelper()\n ?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'xAxis'),\n xValue[0] as number\n );\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries\n .getYAxisHelper()\n ?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'yAxis'),\n yValue[0] as number\n );\n points.push({\n x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function polarCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const points: IPolarPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as IPolarSeries;\n\n const angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain();\n const radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain();\n const angleValue = array(datum.angle);\n const radiusValue = array(datum.radius);\n\n angleValue.length === 1 &&\n isNumber(angleValue[0]) &&\n isNeedExtendDomain(angleDomain, angleValue[0], autoRange) &&\n refRelativeSeries.angleAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'angleAxis'),\n angleValue[0] as number\n );\n\n radiusValue.length === 1 &&\n isNumber(radiusValue[0]) &&\n isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&\n refRelativeSeries.radiusAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'radiusAxis'),\n radiusValue[0] as number\n );\n points.push({\n angle: convertDatumToValue(refRelativeSeries.angleAxisHelper, angleValue),\n radius: convertDatumToValue(refRelativeSeries.radiusAxisHelper, radiusValue)\n });\n }\n );\n return points;\n}\n\nfunction convertPosition(position: MarkerPositionPoint, relativeWidth: number, relativeHeight: number): IPoint {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, relativeWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, relativeHeight);\n }\n\n return {\n x: x as number,\n y: y as number\n };\n}\n\nexport function positionLayout(\n positions:\n | MarkerPositionPoint\n | MarkerPositionPoint[]\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint)\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]),\n series: IMarkerSupportSeries,\n regionRelative: boolean\n): IPoint[] {\n let transformPositions;\n if (isFunction(positions)) {\n transformPositions = array(positions(series.getData().getLatestData(), series));\n } else {\n transformPositions = array(positions);\n }\n\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return transformPositions.map(position => {\n let { x, y } = convertPosition(position, regionWidth, regionHeight);\n\n x = (x as number) + regionStartX;\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getViewRect();\n return transformPositions.map(position => {\n return convertPosition(position, canvasWidth, canvasHeight);\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(\n label: IMarkerLabelSpec,\n markerData: any,\n markAttributeContext: IMarkerAttributeContext\n) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n customShape: labelBackground.customShape,\n ...transformStyle(transformToGraphic(labelBackground.style), markerData, markAttributeContext)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformStyle(transformToGraphic(style), markerData, markAttributeContext);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n\nexport function transformState(\n state: {} | Record<MarkerStateValue, any | IMarkerState<any>>,\n markerData: DataView,\n markerAttributeContext: IMarkerAttributeContext\n) {\n for (const stateKey in state) {\n if (isFunction(state[stateKey])) {\n state[stateKey] = state[stateKey](markerData, markerAttributeContext);\n }\n }\n return state;\n}\n\nexport function transformStyle(style: any, markerData: DataView, markerAttributeContext: IMarkerAttributeContext) {\n if (isFunction(style)) {\n return style(markerData, markerAttributeContext);\n }\n return style;\n}\n\nexport function transformOffset(offset: string | number | Function, region: IRegion) {\n if (isFunction(offset)) {\n return offset(region);\n }\n return offset;\n}\n\nexport function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number {\n if (!isValid(point)) {\n return offset as number;\n }\n if (offset === 'regionLeft') {\n return region.getLayoutStartPoint().x - point.x;\n } else if (offset === 'regionRight') {\n return region.getLayoutStartPoint().x + region.getLayoutRect().width - point.x;\n } else if (offset === 'regionTop') {\n return region.getLayoutStartPoint().y - point.y;\n } else if (offset === 'regionBottom') {\n return region.getLayoutStartPoint().y + region.getLayoutRect().height - point.y;\n }\n return offset as number;\n}\n\nexport function getProcessInfo(spec: any) {\n return {\n isXProcess: isValid(spec.x),\n isYProcess: isValid(spec.y),\n isX1Process: isValid(spec.x1),\n isY1Process: isValid(spec.y1),\n isAngleProcess: isValid(spec.angle),\n isRadiusProcess: isValid(spec.radius),\n isAngle1Process: isValid(spec.angle1),\n isRadius1Process: isValid(spec.radius1),\n isCoordinatesProcess: isValid(spec.coordinates),\n isValidProcess: isValid(spec.process)\n };\n}\n\nexport function getMarkLineProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess,\n isValidProcess\n } = getProcessInfo(spec);\n\n return {\n doXProcess: isXProcess && !isYProcess && !isY1Process,\n doXYY1Process: isXProcess && isYProcess && isY1Process,\n doYProcess: isYProcess && !isXProcess && !isX1Process,\n doYXX1Process: isYProcess && isXProcess && isX1Process,\n doXYProcess: isXProcess && isYProcess && isX1Process && isY1Process,\n doAngleProcess: isAngleProcess && !isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && !isRadius1Process && !isAngleProcess && !isAngle1Process,\n doAngRadRad1Process: isAngleProcess && !isAngle1Process && isRadiusProcess && isRadius1Process,\n doRadAngAng1Process: isRadiusProcess && isAngleProcess && isAngle1Process && !isRadius1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess && (!isValidProcess || ('process' in spec && 'xy' in spec.process))\n };\n}\n\nexport function getMarkAreaProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess\n } = getProcessInfo(spec);\n return {\n doXProcess: isXProcess && isX1Process && !isYProcess && !isY1Process,\n doYProcess: isYProcess && isY1Process && !isXProcess && !isX1Process,\n doXYProcess: isXProcess && isX1Process && isYProcess && isY1Process,\n doAngleProcess: isAngleProcess && isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && isRadius1Process && !isAngleProcess && !isAngle1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess\n };\n}\n\nexport function getMarkPointProcessInfo(spec: any) {\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isPolarProcess = isValid(spec.angle) && isValid(spec.radius);\n const isGeoProcess = isValid(spec.areaName);\n return {\n doXYProcess: isXYProcess,\n doPolarProcess: isPolarProcess,\n doGeoProcess: isGeoProcess\n };\n}\n"]}
@@ -29,6 +29,7 @@ export declare class Player extends BaseComponent<IPlayer> implements IComponent
29
29
  get orient(): IOrientType;
30
30
  set layoutOrient(v: IOrientType);
31
31
  setAttrFromSpec(): void;
32
+ _compareSpec(spec: IPlayer, prevSpec: IPlayer): import("../../model/interface").IUpdateSpecResult;
32
33
  afterSetLayoutStartPoint(pos: IPoint): void;
33
34
  getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): {
34
35
  x1: number;
@@ -128,6 +128,16 @@ export class Player extends BaseComponent {
128
128
  this._dy = null !== (_f = this._spec.dy) && void 0 !== _f ? _f : 0, this._position = null !== (_g = this._spec.position) && void 0 !== _g ? _g : "middle",
129
129
  this._visible = null === (_h = this._spec.visible) || void 0 === _h || _h;
130
130
  }
131
+ _compareSpec(spec, prevSpec) {
132
+ const result = super._compareSpec(spec, prevSpec), specChanged = !isEqual(prevSpec, spec);
133
+ return (null == prevSpec ? void 0 : prevSpec.type) !== (null == spec ? void 0 : spec.type) ? (result.reMake = !0,
134
+ result) : (!specChanged || result.reMake || result.reCompile || (result.change = !0,
135
+ result.reRender = !0, result.effects = Object.assign(Object.assign({}, result.effects), {
136
+ component: !0,
137
+ layout: !0,
138
+ render: !0
139
+ })), result);
140
+ }
131
141
  afterSetLayoutStartPoint(pos) {
132
142
  if (super.afterSetLayoutStartPoint(pos), isValidNumber(pos.x)) {
133
143
  const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;