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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (757) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +28875 -28418
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/area/area.js +2 -1
  6. package/cjs/chart/area/area.js.map +1 -1
  7. package/cjs/chart/base-chart.d.ts +9 -12
  8. package/cjs/chart/base-chart.js +35 -46
  9. package/cjs/chart/base-chart.js.map +1 -1
  10. package/cjs/chart/cartesian/cartesian.js +6 -4
  11. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  12. package/cjs/chart/common/common.js +5 -2
  13. package/cjs/chart/common/common.js.map +1 -1
  14. package/cjs/chart/interface/chart.d.ts +2 -4
  15. package/cjs/chart/interface/chart.js.map +1 -1
  16. package/cjs/chart/line/line.js +2 -1
  17. package/cjs/chart/line/line.js.map +1 -1
  18. package/cjs/chart/sequence/sequence.d.ts +1 -1
  19. package/cjs/chart/sequence/sequence.js +1 -1
  20. package/cjs/chart/sequence/sequence.js.map +1 -1
  21. package/cjs/chart/stack.js +2 -1
  22. package/cjs/chart/util.d.ts +8 -0
  23. package/cjs/chart/util.js +12 -2
  24. package/cjs/chart/util.js.map +1 -1
  25. package/cjs/compile/compiler.d.ts +2 -2
  26. package/cjs/compile/compiler.js +8 -8
  27. package/cjs/compile/compiler.js.map +1 -1
  28. package/cjs/compile/mark/compilable-mark.d.ts +15 -6
  29. package/cjs/compile/mark/compilable-mark.js +31 -12
  30. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  31. package/cjs/compile/mark/interface.d.ts +8 -4
  32. package/cjs/compile/mark/interface.js.map +1 -1
  33. package/cjs/compile/mark/util.d.ts +1 -3
  34. package/cjs/compile/mark/util.js +1 -37
  35. package/cjs/compile/mark/util.js.map +1 -1
  36. package/cjs/component/axis/base-axis.d.ts +1 -4
  37. package/cjs/component/axis/base-axis.js +20 -35
  38. package/cjs/component/axis/base-axis.js.map +1 -1
  39. package/cjs/component/axis/cartesian/axis.d.ts +3 -13
  40. package/cjs/component/axis/cartesian/axis.js +15 -15
  41. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  42. package/cjs/component/axis/cartesian/band-axis.d.ts +0 -7
  43. package/cjs/component/axis/cartesian/band-axis.js +0 -1
  44. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  45. package/cjs/component/axis/cartesian/interface/common.d.ts +0 -6
  46. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  47. package/cjs/component/axis/interface/common.d.ts +0 -1
  48. package/cjs/component/axis/interface/common.js.map +1 -1
  49. package/cjs/component/axis/interface/spec.d.ts +1 -0
  50. package/cjs/component/axis/interface/spec.js.map +1 -1
  51. package/cjs/component/axis/mixin/band-axis-mixin.d.ts +0 -1
  52. package/cjs/component/axis/mixin/band-axis-mixin.js +1 -1
  53. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  54. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  55. package/cjs/component/axis/mixin/linear-axis-mixin.js +4 -3
  56. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  57. package/cjs/component/axis/polar/axis.js +6 -3
  58. package/cjs/component/axis/polar/axis.js.map +1 -1
  59. package/cjs/component/base/base-component.js +3 -3
  60. package/cjs/component/base/base-component.js.map +1 -1
  61. package/cjs/component/base/util.js +16 -12
  62. package/cjs/component/base/util.js.map +1 -1
  63. package/cjs/component/brush/brush.d.ts +1 -2
  64. package/cjs/component/brush/brush.js +1 -1
  65. package/cjs/component/brush/brush.js.map +1 -1
  66. package/cjs/component/crosshair/base.d.ts +2 -2
  67. package/cjs/component/crosshair/base.js +1 -1
  68. package/cjs/component/crosshair/base.js.map +1 -1
  69. package/cjs/component/custom-mark/custom-mark.d.ts +2 -2
  70. package/cjs/component/custom-mark/custom-mark.js +1 -1
  71. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  72. package/cjs/component/data-zoom/data-filter-base-component.d.ts +7 -2
  73. package/cjs/component/data-zoom/data-filter-base-component.js +87 -42
  74. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  75. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +4 -2
  76. package/cjs/component/data-zoom/data-zoom/data-zoom.js +49 -39
  77. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  78. package/cjs/component/data-zoom/data-zoom/interface.d.ts +5 -1
  79. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  80. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +5 -1
  81. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  82. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -0
  83. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +19 -15
  84. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  85. package/cjs/component/data-zoom/util.d.ts +4 -0
  86. package/cjs/component/data-zoom/util.js +11 -2
  87. package/cjs/component/data-zoom/util.js.map +1 -1
  88. package/cjs/component/geo/geo-coordinate.d.ts +2 -2
  89. package/cjs/component/geo/geo-coordinate.js +1 -1
  90. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  91. package/cjs/component/index.d.ts +3 -2
  92. package/cjs/component/index.js.map +1 -1
  93. package/cjs/component/indicator/indicator.d.ts +2 -2
  94. package/cjs/component/indicator/indicator.js +1 -1
  95. package/cjs/component/indicator/indicator.js.map +1 -1
  96. package/cjs/component/interface/theme.d.ts +2 -1
  97. package/cjs/component/interface/theme.js.map +1 -1
  98. package/cjs/component/label/base-label.d.ts +1 -2
  99. package/cjs/component/label/base-label.js +1 -2
  100. package/cjs/component/label/base-label.js.map +1 -1
  101. package/cjs/component/label/interface.d.ts +5 -0
  102. package/cjs/component/label/interface.js.map +1 -1
  103. package/cjs/component/label/label.d.ts +4 -6
  104. package/cjs/component/label/label.js +15 -10
  105. package/cjs/component/label/label.js.map +1 -1
  106. package/cjs/component/label/totalLabel.d.ts +0 -2
  107. package/cjs/component/label/totalLabel.js +2 -1
  108. package/cjs/component/label/totalLabel.js.map +1 -1
  109. package/cjs/component/label/util.d.ts +10 -3
  110. package/cjs/component/label/util.js +27 -11
  111. package/cjs/component/label/util.js.map +1 -1
  112. package/cjs/component/legend/util.d.ts +1 -1
  113. package/cjs/component/map-label/component.d.ts +2 -2
  114. package/cjs/component/map-label/component.js +1 -1
  115. package/cjs/component/map-label/component.js.map +1 -1
  116. package/cjs/component/marker/base-marker.d.ts +7 -2
  117. package/cjs/component/marker/base-marker.js +43 -19
  118. package/cjs/component/marker/base-marker.js.map +1 -1
  119. package/cjs/component/marker/interface.d.ts +14 -3
  120. package/cjs/component/marker/interface.js.map +1 -1
  121. package/cjs/component/marker/mark-area/interface/spec.d.ts +1 -1
  122. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  123. package/cjs/component/marker/mark-area/mark-area.js +28 -12
  124. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  125. package/cjs/component/marker/mark-line/interface/spec.d.ts +3 -4
  126. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  127. package/cjs/component/marker/mark-line/mark-line.js +32 -14
  128. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  129. package/cjs/component/marker/mark-line/util.d.ts +3 -3
  130. package/cjs/component/marker/mark-line/util.js.map +1 -1
  131. package/cjs/component/marker/mark-point/interface/spec.d.ts +5 -4
  132. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  133. package/cjs/component/marker/mark-point/interface/theme.d.ts +5 -5
  134. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  135. package/cjs/component/marker/mark-point/mark-point.js +13 -5
  136. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  137. package/cjs/component/marker/utils.d.ts +3 -4
  138. package/cjs/component/marker/utils.js +46 -26
  139. package/cjs/component/marker/utils.js.map +1 -1
  140. package/cjs/component/title/title.js +1 -1
  141. package/cjs/component/title/title.js.map +1 -1
  142. package/cjs/component/tooltip/handler/base.js +6 -6
  143. package/cjs/component/tooltip/handler/base.js.map +1 -1
  144. package/cjs/component/tooltip/handler/dom/util.js +3 -2
  145. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  146. package/cjs/component/tooltip/handler/utils/attribute.d.ts +3 -3
  147. package/cjs/component/tooltip/handler/utils/attribute.js +4 -3
  148. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  149. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  150. package/cjs/component/tooltip/interface/spec.d.ts +1 -1
  151. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  152. package/cjs/component/tooltip/interface/theme.d.ts +10 -11
  153. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  154. package/cjs/component/tooltip/tooltip.d.ts +2 -2
  155. package/cjs/component/tooltip/tooltip.js +3 -4
  156. package/cjs/component/tooltip/tooltip.js.map +1 -1
  157. package/cjs/component/util.d.ts +1 -3
  158. package/cjs/component/util.js +2 -2
  159. package/cjs/component/util.js.map +1 -1
  160. package/cjs/constant/scatter.js +1 -2
  161. package/cjs/constant/scroll-bar.js +2 -1
  162. package/cjs/core/expression-function.d.ts +12 -0
  163. package/cjs/core/expression-function.js +30 -0
  164. package/cjs/core/expression-function.js.map +1 -0
  165. package/cjs/core/index.d.ts +2 -1
  166. package/cjs/core/index.js +3 -2
  167. package/cjs/core/index.js.map +1 -1
  168. package/cjs/core/interface.d.ts +5 -0
  169. package/cjs/core/interface.js.map +1 -1
  170. package/cjs/core/vchart.d.ts +9 -1
  171. package/cjs/core/vchart.js +97 -71
  172. package/cjs/core/vchart.js.map +1 -1
  173. package/cjs/data/initialize.js +7 -6
  174. package/cjs/data/initialize.js.map +1 -1
  175. package/cjs/data/transforms/aggregation.d.ts +4 -3
  176. package/cjs/data/transforms/aggregation.js +4 -4
  177. package/cjs/data/transforms/aggregation.js.map +1 -1
  178. package/cjs/data/transforms/dimension-statistics.js +18 -8
  179. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  180. package/cjs/data/transforms/sankey.d.ts +3 -6
  181. package/cjs/data/transforms/sankey.js +40 -23
  182. package/cjs/data/transforms/sankey.js.map +1 -1
  183. package/cjs/event/bubble.js +1 -2
  184. package/cjs/event/event.js +2 -1
  185. package/cjs/event/events/dimension/base.d.ts +1 -0
  186. package/cjs/event/events/dimension/base.js +10 -6
  187. package/cjs/event/events/dimension/base.js.map +1 -1
  188. package/cjs/event/events/dimension/util/polar.js +1 -1
  189. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  190. package/cjs/event/interface.d.ts +1 -1
  191. package/cjs/event/interface.js.map +1 -1
  192. package/cjs/index-wx-simple.d.ts +4 -0
  193. package/cjs/index-wx-simple.js +35 -0
  194. package/cjs/index-wx-simple.js.map +1 -0
  195. package/cjs/interaction/config.d.ts +2 -2
  196. package/cjs/interaction/config.js +2 -2
  197. package/cjs/interaction/config.js.map +1 -1
  198. package/cjs/interaction/trigger.js +2 -2
  199. package/cjs/interaction/trigger.js.map +1 -1
  200. package/cjs/layout/base-layout.js +1 -1
  201. package/cjs/layout/layout-item.js +3 -5
  202. package/cjs/layout/layout-item.js.map +1 -1
  203. package/cjs/mark/arc.js +2 -2
  204. package/cjs/mark/arc.js.map +1 -1
  205. package/cjs/mark/base/base-line.js +1 -1
  206. package/cjs/mark/base/base-line.js.map +1 -1
  207. package/cjs/mark/base/base-mark.d.ts +2 -2
  208. package/cjs/mark/base/base-mark.js +62 -40
  209. package/cjs/mark/base/base-mark.js.map +1 -1
  210. package/cjs/mark/label.js +1 -4
  211. package/cjs/mark/label.js.map +1 -1
  212. package/cjs/model/base-model.d.ts +0 -2
  213. package/cjs/model/base-model.js +9 -15
  214. package/cjs/model/base-model.js.map +1 -1
  215. package/cjs/model/interface.d.ts +3 -9
  216. package/cjs/model/interface.js.map +1 -1
  217. package/cjs/model/layout-model.d.ts +6 -4
  218. package/cjs/model/layout-model.js +28 -17
  219. package/cjs/model/layout-model.js.map +1 -1
  220. package/cjs/series/area/area.d.ts +1 -1
  221. package/cjs/series/area/area.js +7 -7
  222. package/cjs/series/area/area.js.map +1 -1
  223. package/cjs/series/area/interface.d.ts +4 -0
  224. package/cjs/series/area/interface.js.map +1 -1
  225. package/cjs/series/bar/bar.js +8 -7
  226. package/cjs/series/bar/bar.js.map +1 -1
  227. package/cjs/series/base/base-series.d.ts +4 -0
  228. package/cjs/series/base/base-series.js +22 -9
  229. package/cjs/series/base/base-series.js.map +1 -1
  230. package/cjs/series/cartesian/cartesian.d.ts +3 -0
  231. package/cjs/series/cartesian/cartesian.js +16 -4
  232. package/cjs/series/cartesian/cartesian.js.map +1 -1
  233. package/cjs/series/circle-packing/circle-packing.js +3 -2
  234. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  235. package/cjs/series/correlation/correlation.js +8 -9
  236. package/cjs/series/correlation/correlation.js.map +1 -1
  237. package/cjs/series/funnel/funnel-3d.js +1 -1
  238. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  239. package/cjs/series/funnel/funnel.js +9 -11
  240. package/cjs/series/funnel/funnel.js.map +1 -1
  241. package/cjs/series/gauge/gauge.d.ts +0 -1
  242. package/cjs/series/gauge/gauge.js +3 -8
  243. package/cjs/series/gauge/gauge.js.map +1 -1
  244. package/cjs/series/heatmap/heatmap.js +7 -6
  245. package/cjs/series/heatmap/heatmap.js.map +1 -1
  246. package/cjs/series/index.d.ts +2 -2
  247. package/cjs/series/index.js.map +1 -1
  248. package/cjs/series/interface/common.d.ts +4 -2
  249. package/cjs/series/interface/common.js.map +1 -1
  250. package/cjs/series/interface/series.d.ts +1 -0
  251. package/cjs/series/interface/series.js.map +1 -1
  252. package/cjs/series/interface/type.d.ts +3 -1
  253. package/cjs/series/interface/type.js +2 -1
  254. package/cjs/series/interface/type.js.map +1 -1
  255. package/cjs/series/line/interface.d.ts +4 -0
  256. package/cjs/series/line/interface.js.map +1 -1
  257. package/cjs/series/line/line.d.ts +1 -1
  258. package/cjs/series/line/line.js.map +1 -1
  259. package/cjs/series/map/map.js +2 -4
  260. package/cjs/series/map/map.js.map +1 -1
  261. package/cjs/series/mixin/line-mixin.d.ts +3 -1
  262. package/cjs/series/mixin/line-mixin.js +23 -14
  263. package/cjs/series/mixin/line-mixin.js.map +1 -1
  264. package/cjs/series/pie/interface.js.map +1 -1
  265. package/cjs/series/pie/pie.js +3 -4
  266. package/cjs/series/pie/pie.js.map +1 -1
  267. package/cjs/series/polar/progress-like/progress-like.js +4 -4
  268. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  269. package/cjs/series/progress/circular/circular.js +6 -2
  270. package/cjs/series/progress/circular/circular.js.map +1 -1
  271. package/cjs/series/progress/linear/linear.js +6 -2
  272. package/cjs/series/progress/linear/linear.js.map +1 -1
  273. package/cjs/series/radar/animation.js.map +1 -1
  274. package/cjs/series/radar/radar.js +3 -1
  275. package/cjs/series/radar/radar.js.map +1 -1
  276. package/cjs/series/range-area/range-area.js +3 -1
  277. package/cjs/series/range-area/range-area.js.map +1 -1
  278. package/cjs/series/range-column/range-column.js +9 -8
  279. package/cjs/series/range-column/range-column.js.map +1 -1
  280. package/cjs/series/rose/rose.d.ts +2 -1
  281. package/cjs/series/rose/rose.js +4 -4
  282. package/cjs/series/rose/rose.js.map +1 -1
  283. package/cjs/series/sankey/sankey.d.ts +6 -1
  284. package/cjs/series/sankey/sankey.js +54 -46
  285. package/cjs/series/sankey/sankey.js.map +1 -1
  286. package/cjs/series/scatter/scatter.js +5 -5
  287. package/cjs/series/scatter/scatter.js.map +1 -1
  288. package/cjs/series/sunburst/animation/enter.js +2 -1
  289. package/cjs/series/sunburst/animation/enter.js.map +1 -1
  290. package/cjs/series/sunburst/animation/exit.js +3 -1
  291. package/cjs/series/sunburst/animation/exit.js.map +1 -1
  292. package/cjs/series/sunburst/animation/utils.js +3 -2
  293. package/cjs/series/sunburst/animation/utils.js.map +1 -1
  294. package/cjs/series/sunburst/sunburst.js +3 -1
  295. package/cjs/series/sunburst/sunburst.js.map +1 -1
  296. package/cjs/series/treemap/treemap.js +7 -5
  297. package/cjs/series/treemap/treemap.js.map +1 -1
  298. package/cjs/series/waterfall/waterfall.js +4 -3
  299. package/cjs/series/waterfall/waterfall.js.map +1 -1
  300. package/cjs/series/word-cloud/base.d.ts +1 -0
  301. package/cjs/series/word-cloud/base.js +33 -33
  302. package/cjs/series/word-cloud/base.js.map +1 -1
  303. package/cjs/series/word-cloud/word-cloud-3d.js +32 -32
  304. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  305. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +2 -2
  306. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  307. package/cjs/theme/builtin/common/component/axis/common-axis.js +1 -1
  308. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  309. package/cjs/theme/builtin/common/component/crosshair.js +5 -5
  310. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  311. package/cjs/theme/builtin/common/component/data-zoom.js +10 -10
  312. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  313. package/cjs/theme/builtin/common/component/indicator.js +1 -1
  314. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  315. package/cjs/theme/builtin/common/component/legend/color-legend.js +3 -4
  316. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  317. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +2 -2
  318. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  319. package/cjs/theme/builtin/common/component/legend/size-legend.js +6 -6
  320. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  321. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  322. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  323. package/cjs/theme/builtin/common/component/mark-line.js +9 -9
  324. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  325. package/cjs/theme/builtin/common/component/mark-point.js +15 -3
  326. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -1
  327. package/cjs/theme/builtin/common/component/player.js +7 -7
  328. package/cjs/theme/builtin/common/component/player.js.map +1 -1
  329. package/cjs/theme/builtin/common/component/poptip.js +3 -4
  330. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  331. package/cjs/theme/builtin/common/component/scroll-bar.js +20 -7
  332. package/cjs/theme/builtin/common/component/scroll-bar.js.map +1 -1
  333. package/cjs/theme/builtin/common/component/title.js +1 -1
  334. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  335. package/cjs/theme/builtin/common/component/tooltip.d.ts +2 -1
  336. package/cjs/theme/builtin/common/component/tooltip.js +3 -4
  337. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  338. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  339. package/cjs/theme/builtin/common/mark.js.map +1 -1
  340. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -1
  341. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  342. package/cjs/theme/builtin/dark/color-scheme.js +20 -11
  343. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  344. package/cjs/theme/builtin/index.d.ts +2 -4
  345. package/cjs/theme/builtin/index.js +17 -22
  346. package/cjs/theme/builtin/index.js.map +1 -1
  347. package/cjs/theme/builtin/light/color-scheme.js +19 -10
  348. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  349. package/cjs/theme/color-scheme/builtin/interface.d.ts +16 -7
  350. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -1
  351. package/cjs/theme/color-scheme/legacy.js +18 -2
  352. package/cjs/theme/color-scheme/legacy.js.map +1 -1
  353. package/cjs/theme/color-scheme/util.js +2 -2
  354. package/cjs/theme/color-scheme/util.js.map +1 -1
  355. package/cjs/theme/theme-manager.d.ts +1 -1
  356. package/cjs/theme/theme-manager.js +2 -2
  357. package/cjs/theme/theme-manager.js.map +1 -1
  358. package/cjs/typings/spec/common.d.ts +3 -2
  359. package/cjs/typings/spec/common.js.map +1 -1
  360. package/cjs/typings/visual.d.ts +1 -2
  361. package/cjs/typings/visual.js.map +1 -1
  362. package/cjs/util/spec/background.js +8 -14
  363. package/cjs/util/spec/background.js.map +1 -1
  364. package/cjs/util/spec/common.d.ts +1 -1
  365. package/cjs/util/spec/common.js +2 -2
  366. package/cjs/util/spec/common.js.map +1 -1
  367. package/cjs/util/spec/preprocess.d.ts +1 -1
  368. package/cjs/util/spec/preprocess.js +7 -17
  369. package/cjs/util/spec/preprocess.js.map +1 -1
  370. package/cjs/util/spec/transform.d.ts +2 -0
  371. package/cjs/util/spec/transform.js +18 -2
  372. package/cjs/util/spec/transform.js.map +1 -1
  373. package/cjs/vchart-all.js +2 -3
  374. package/cjs/vchart-all.js.map +1 -1
  375. package/cjs/vchart-simple.d.ts +1 -0
  376. package/cjs/vchart-simple.js +4 -4
  377. package/cjs/vchart-simple.js.map +1 -1
  378. package/esm/chart/area/area.js +2 -1
  379. package/esm/chart/area/area.js.map +1 -1
  380. package/esm/chart/base-chart.d.ts +9 -12
  381. package/esm/chart/base-chart.js +33 -45
  382. package/esm/chart/base-chart.js.map +1 -1
  383. package/esm/chart/cartesian/cartesian.js +10 -3
  384. package/esm/chart/cartesian/cartesian.js.map +1 -1
  385. package/esm/chart/common/common.js +9 -2
  386. package/esm/chart/common/common.js.map +1 -1
  387. package/esm/chart/interface/chart.d.ts +2 -4
  388. package/esm/chart/interface/chart.js.map +1 -1
  389. package/esm/chart/line/line.js +2 -1
  390. package/esm/chart/line/line.js.map +1 -1
  391. package/esm/chart/sequence/sequence.d.ts +1 -1
  392. package/esm/chart/sequence/sequence.js +1 -1
  393. package/esm/chart/sequence/sequence.js.map +1 -1
  394. package/esm/chart/stack.js +2 -1
  395. package/esm/chart/util.d.ts +8 -0
  396. package/esm/chart/util.js +9 -0
  397. package/esm/chart/util.js.map +1 -1
  398. package/esm/compile/compiler.d.ts +2 -2
  399. package/esm/compile/compiler.js +8 -8
  400. package/esm/compile/compiler.js.map +1 -1
  401. package/esm/compile/mark/compilable-mark.d.ts +15 -6
  402. package/esm/compile/mark/compilable-mark.js +32 -13
  403. package/esm/compile/mark/compilable-mark.js.map +1 -1
  404. package/esm/compile/mark/interface.d.ts +8 -4
  405. package/esm/compile/mark/interface.js.map +1 -1
  406. package/esm/compile/mark/util.d.ts +1 -3
  407. package/esm/compile/mark/util.js +0 -34
  408. package/esm/compile/mark/util.js.map +1 -1
  409. package/esm/component/axis/base-axis.d.ts +1 -4
  410. package/esm/component/axis/base-axis.js +20 -37
  411. package/esm/component/axis/base-axis.js.map +1 -1
  412. package/esm/component/axis/cartesian/axis.d.ts +3 -13
  413. package/esm/component/axis/cartesian/axis.js +14 -13
  414. package/esm/component/axis/cartesian/axis.js.map +1 -1
  415. package/esm/component/axis/cartesian/band-axis.d.ts +0 -7
  416. package/esm/component/axis/cartesian/band-axis.js +0 -1
  417. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  418. package/esm/component/axis/cartesian/interface/common.d.ts +0 -6
  419. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  420. package/esm/component/axis/interface/common.d.ts +0 -1
  421. package/esm/component/axis/interface/common.js.map +1 -1
  422. package/esm/component/axis/interface/spec.d.ts +1 -0
  423. package/esm/component/axis/interface/spec.js.map +1 -1
  424. package/esm/component/axis/mixin/band-axis-mixin.d.ts +0 -1
  425. package/esm/component/axis/mixin/band-axis-mixin.js +1 -1
  426. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  427. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  428. package/esm/component/axis/mixin/linear-axis-mixin.js +4 -3
  429. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  430. package/esm/component/axis/polar/axis.js +5 -2
  431. package/esm/component/axis/polar/axis.js.map +1 -1
  432. package/esm/component/base/base-component.js +2 -4
  433. package/esm/component/base/base-component.js.map +1 -1
  434. package/esm/component/base/util.js +7 -3
  435. package/esm/component/base/util.js.map +1 -1
  436. package/esm/component/brush/brush.d.ts +1 -2
  437. package/esm/component/brush/brush.js +1 -1
  438. package/esm/component/brush/brush.js.map +1 -1
  439. package/esm/component/crosshair/base.d.ts +2 -2
  440. package/esm/component/crosshair/base.js +1 -1
  441. package/esm/component/crosshair/base.js.map +1 -1
  442. package/esm/component/custom-mark/custom-mark.d.ts +2 -2
  443. package/esm/component/custom-mark/custom-mark.js +1 -1
  444. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  445. package/esm/component/data-zoom/data-filter-base-component.d.ts +7 -2
  446. package/esm/component/data-zoom/data-filter-base-component.js +88 -42
  447. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  448. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +4 -2
  449. package/esm/component/data-zoom/data-zoom/data-zoom.js +50 -40
  450. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  451. package/esm/component/data-zoom/data-zoom/interface.d.ts +5 -1
  452. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  453. package/esm/component/data-zoom/scroll-bar/interface.d.ts +5 -1
  454. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  455. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -0
  456. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +19 -15
  457. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  458. package/esm/component/data-zoom/util.d.ts +4 -0
  459. package/esm/component/data-zoom/util.js +13 -1
  460. package/esm/component/data-zoom/util.js.map +1 -1
  461. package/esm/component/geo/geo-coordinate.d.ts +2 -2
  462. package/esm/component/geo/geo-coordinate.js +1 -1
  463. package/esm/component/geo/geo-coordinate.js.map +1 -1
  464. package/esm/component/index.d.ts +3 -2
  465. package/esm/component/index.js.map +1 -1
  466. package/esm/component/indicator/indicator.d.ts +2 -2
  467. package/esm/component/indicator/indicator.js +1 -1
  468. package/esm/component/indicator/indicator.js.map +1 -1
  469. package/esm/component/interface/theme.d.ts +2 -1
  470. package/esm/component/interface/theme.js.map +1 -1
  471. package/esm/component/label/base-label.d.ts +1 -2
  472. package/esm/component/label/base-label.js +1 -1
  473. package/esm/component/label/base-label.js.map +1 -1
  474. package/esm/component/label/interface.d.ts +5 -0
  475. package/esm/component/label/interface.js.map +1 -1
  476. package/esm/component/label/label.d.ts +4 -6
  477. package/esm/component/label/label.js +16 -10
  478. package/esm/component/label/label.js.map +1 -1
  479. package/esm/component/label/totalLabel.d.ts +0 -2
  480. package/esm/component/label/totalLabel.js +2 -1
  481. package/esm/component/label/totalLabel.js.map +1 -1
  482. package/esm/component/label/util.d.ts +10 -3
  483. package/esm/component/label/util.js +28 -9
  484. package/esm/component/label/util.js.map +1 -1
  485. package/esm/component/legend/util.d.ts +1 -1
  486. package/esm/component/map-label/component.d.ts +2 -2
  487. package/esm/component/map-label/component.js +1 -1
  488. package/esm/component/map-label/component.js.map +1 -1
  489. package/esm/component/marker/base-marker.d.ts +7 -2
  490. package/esm/component/marker/base-marker.js +41 -18
  491. package/esm/component/marker/base-marker.js.map +1 -1
  492. package/esm/component/marker/interface.d.ts +14 -3
  493. package/esm/component/marker/interface.js.map +1 -1
  494. package/esm/component/marker/mark-area/interface/spec.d.ts +1 -1
  495. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  496. package/esm/component/marker/mark-area/mark-area.js +25 -11
  497. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  498. package/esm/component/marker/mark-line/interface/spec.d.ts +3 -4
  499. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  500. package/esm/component/marker/mark-line/mark-line.js +32 -11
  501. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  502. package/esm/component/marker/mark-line/util.d.ts +3 -3
  503. package/esm/component/marker/mark-line/util.js.map +1 -1
  504. package/esm/component/marker/mark-point/interface/spec.d.ts +5 -4
  505. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  506. package/esm/component/marker/mark-point/interface/theme.d.ts +5 -5
  507. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  508. package/esm/component/marker/mark-point/mark-point.js +13 -5
  509. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  510. package/esm/component/marker/utils.d.ts +3 -4
  511. package/esm/component/marker/utils.js +44 -24
  512. package/esm/component/marker/utils.js.map +1 -1
  513. package/esm/component/title/title.js +1 -1
  514. package/esm/component/title/title.js.map +1 -1
  515. package/esm/component/tooltip/handler/base.js +5 -7
  516. package/esm/component/tooltip/handler/base.js.map +1 -1
  517. package/esm/component/tooltip/handler/dom/util.js +3 -1
  518. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  519. package/esm/component/tooltip/handler/utils/attribute.d.ts +3 -3
  520. package/esm/component/tooltip/handler/utils/attribute.js +3 -3
  521. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  522. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  523. package/esm/component/tooltip/interface/spec.d.ts +1 -1
  524. package/esm/component/tooltip/interface/spec.js.map +1 -1
  525. package/esm/component/tooltip/interface/theme.d.ts +10 -11
  526. package/esm/component/tooltip/interface/theme.js.map +1 -1
  527. package/esm/component/tooltip/tooltip.d.ts +2 -2
  528. package/esm/component/tooltip/tooltip.js +3 -3
  529. package/esm/component/tooltip/tooltip.js.map +1 -1
  530. package/esm/component/util.d.ts +1 -3
  531. package/esm/component/util.js +2 -2
  532. package/esm/component/util.js.map +1 -1
  533. package/esm/constant/scatter.js +1 -2
  534. package/esm/constant/scroll-bar.js +2 -1
  535. package/esm/core/expression-function.d.ts +12 -0
  536. package/esm/core/expression-function.js +22 -0
  537. package/esm/core/expression-function.js.map +1 -0
  538. package/esm/core/index.d.ts +2 -1
  539. package/esm/core/index.js +3 -1
  540. package/esm/core/index.js.map +1 -1
  541. package/esm/core/interface.d.ts +5 -0
  542. package/esm/core/interface.js.map +1 -1
  543. package/esm/core/vchart.d.ts +9 -1
  544. package/esm/core/vchart.js +65 -44
  545. package/esm/core/vchart.js.map +1 -1
  546. package/esm/data/initialize.js +7 -7
  547. package/esm/data/initialize.js.map +1 -1
  548. package/esm/data/transforms/aggregation.d.ts +4 -3
  549. package/esm/data/transforms/aggregation.js +6 -6
  550. package/esm/data/transforms/aggregation.js.map +1 -1
  551. package/esm/data/transforms/dimension-statistics.js +19 -9
  552. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  553. package/esm/data/transforms/sankey.d.ts +3 -6
  554. package/esm/data/transforms/sankey.js +36 -22
  555. package/esm/data/transforms/sankey.js.map +1 -1
  556. package/esm/event/bubble.js +1 -2
  557. package/esm/event/event.js +2 -1
  558. package/esm/event/events/dimension/base.d.ts +1 -0
  559. package/esm/event/events/dimension/base.js +10 -6
  560. package/esm/event/events/dimension/base.js.map +1 -1
  561. package/esm/event/events/dimension/util/polar.js +2 -2
  562. package/esm/event/events/dimension/util/polar.js.map +1 -1
  563. package/esm/event/interface.d.ts +1 -1
  564. package/esm/event/interface.js.map +1 -1
  565. package/esm/index-wx-simple.d.ts +4 -0
  566. package/esm/index-wx-simple.js +35 -0
  567. package/esm/index-wx-simple.js.map +1 -0
  568. package/esm/interaction/config.d.ts +2 -2
  569. package/esm/interaction/config.js +2 -2
  570. package/esm/interaction/config.js.map +1 -1
  571. package/esm/interaction/trigger.js +2 -2
  572. package/esm/interaction/trigger.js.map +1 -1
  573. package/esm/layout/base-layout.js +1 -1
  574. package/esm/layout/layout-item.js +3 -5
  575. package/esm/layout/layout-item.js.map +1 -1
  576. package/esm/mark/arc.js +2 -2
  577. package/esm/mark/arc.js.map +1 -1
  578. package/esm/mark/base/base-line.js +1 -1
  579. package/esm/mark/base/base-line.js.map +1 -1
  580. package/esm/mark/base/base-mark.d.ts +2 -2
  581. package/esm/mark/base/base-mark.js +59 -38
  582. package/esm/mark/base/base-mark.js.map +1 -1
  583. package/esm/mark/label.js +1 -4
  584. package/esm/mark/label.js.map +1 -1
  585. package/esm/model/base-model.d.ts +0 -2
  586. package/esm/model/base-model.js +8 -18
  587. package/esm/model/base-model.js.map +1 -1
  588. package/esm/model/interface.d.ts +3 -9
  589. package/esm/model/interface.js.map +1 -1
  590. package/esm/model/layout-model.d.ts +6 -4
  591. package/esm/model/layout-model.js +27 -18
  592. package/esm/model/layout-model.js.map +1 -1
  593. package/esm/series/area/area.d.ts +1 -1
  594. package/esm/series/area/area.js +7 -7
  595. package/esm/series/area/area.js.map +1 -1
  596. package/esm/series/area/interface.d.ts +4 -0
  597. package/esm/series/area/interface.js.map +1 -1
  598. package/esm/series/bar/bar.js +7 -8
  599. package/esm/series/bar/bar.js.map +1 -1
  600. package/esm/series/base/base-series.d.ts +4 -0
  601. package/esm/series/base/base-series.js +22 -12
  602. package/esm/series/base/base-series.js.map +1 -1
  603. package/esm/series/cartesian/cartesian.d.ts +3 -0
  604. package/esm/series/cartesian/cartesian.js +16 -4
  605. package/esm/series/cartesian/cartesian.js.map +1 -1
  606. package/esm/series/circle-packing/circle-packing.js +3 -2
  607. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  608. package/esm/series/correlation/correlation.js +7 -10
  609. package/esm/series/correlation/correlation.js.map +1 -1
  610. package/esm/series/funnel/funnel-3d.js +1 -1
  611. package/esm/series/funnel/funnel-3d.js.map +1 -1
  612. package/esm/series/funnel/funnel.js +10 -12
  613. package/esm/series/funnel/funnel.js.map +1 -1
  614. package/esm/series/gauge/gauge.d.ts +0 -1
  615. package/esm/series/gauge/gauge.js +2 -9
  616. package/esm/series/gauge/gauge.js.map +1 -1
  617. package/esm/series/heatmap/heatmap.js +6 -7
  618. package/esm/series/heatmap/heatmap.js.map +1 -1
  619. package/esm/series/index.d.ts +2 -2
  620. package/esm/series/index.js.map +1 -1
  621. package/esm/series/interface/common.d.ts +4 -2
  622. package/esm/series/interface/common.js.map +1 -1
  623. package/esm/series/interface/series.d.ts +1 -0
  624. package/esm/series/interface/series.js.map +1 -1
  625. package/esm/series/interface/type.d.ts +3 -1
  626. package/esm/series/interface/type.js +2 -1
  627. package/esm/series/interface/type.js.map +1 -1
  628. package/esm/series/line/interface.d.ts +4 -0
  629. package/esm/series/line/interface.js.map +1 -1
  630. package/esm/series/line/line.d.ts +1 -1
  631. package/esm/series/line/line.js.map +1 -1
  632. package/esm/series/map/map.js +1 -5
  633. package/esm/series/map/map.js.map +1 -1
  634. package/esm/series/mixin/line-mixin.d.ts +3 -1
  635. package/esm/series/mixin/line-mixin.js +22 -14
  636. package/esm/series/mixin/line-mixin.js.map +1 -1
  637. package/esm/series/pie/interface.js.map +1 -1
  638. package/esm/series/pie/pie.js +3 -4
  639. package/esm/series/pie/pie.js.map +1 -1
  640. package/esm/series/polar/progress-like/progress-like.js +3 -4
  641. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  642. package/esm/series/progress/circular/circular.js +6 -2
  643. package/esm/series/progress/circular/circular.js.map +1 -1
  644. package/esm/series/progress/linear/linear.js +6 -2
  645. package/esm/series/progress/linear/linear.js.map +1 -1
  646. package/esm/series/radar/animation.js.map +1 -1
  647. package/esm/series/radar/radar.js +3 -1
  648. package/esm/series/radar/radar.js.map +1 -1
  649. package/esm/series/range-area/range-area.js +3 -1
  650. package/esm/series/range-area/range-area.js.map +1 -1
  651. package/esm/series/range-column/range-column.js +8 -9
  652. package/esm/series/range-column/range-column.js.map +1 -1
  653. package/esm/series/rose/rose.d.ts +2 -1
  654. package/esm/series/rose/rose.js +3 -5
  655. package/esm/series/rose/rose.js.map +1 -1
  656. package/esm/series/sankey/sankey.d.ts +6 -1
  657. package/esm/series/sankey/sankey.js +55 -50
  658. package/esm/series/sankey/sankey.js.map +1 -1
  659. package/esm/series/scatter/scatter.js +4 -6
  660. package/esm/series/scatter/scatter.js.map +1 -1
  661. package/esm/series/sunburst/animation/enter.js +2 -2
  662. package/esm/series/sunburst/animation/enter.js.map +1 -1
  663. package/esm/series/sunburst/animation/exit.js +3 -1
  664. package/esm/series/sunburst/animation/exit.js.map +1 -1
  665. package/esm/series/sunburst/animation/utils.js +3 -1
  666. package/esm/series/sunburst/animation/utils.js.map +1 -1
  667. package/esm/series/sunburst/sunburst.js +3 -1
  668. package/esm/series/sunburst/sunburst.js.map +1 -1
  669. package/esm/series/treemap/treemap.js +7 -5
  670. package/esm/series/treemap/treemap.js.map +1 -1
  671. package/esm/series/waterfall/waterfall.js +4 -3
  672. package/esm/series/waterfall/waterfall.js.map +1 -1
  673. package/esm/series/word-cloud/base.d.ts +1 -0
  674. package/esm/series/word-cloud/base.js +33 -33
  675. package/esm/series/word-cloud/base.js.map +1 -1
  676. package/esm/series/word-cloud/word-cloud-3d.js +32 -32
  677. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  678. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +2 -2
  679. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  680. package/esm/theme/builtin/common/component/axis/common-axis.js +1 -1
  681. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  682. package/esm/theme/builtin/common/component/crosshair.js +5 -5
  683. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  684. package/esm/theme/builtin/common/component/data-zoom.js +10 -10
  685. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  686. package/esm/theme/builtin/common/component/indicator.js +1 -1
  687. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  688. package/esm/theme/builtin/common/component/legend/color-legend.js +3 -4
  689. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  690. package/esm/theme/builtin/common/component/legend/discrete-legend.js +2 -2
  691. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  692. package/esm/theme/builtin/common/component/legend/size-legend.js +6 -6
  693. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  694. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  695. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  696. package/esm/theme/builtin/common/component/mark-line.js +9 -9
  697. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  698. package/esm/theme/builtin/common/component/mark-point.js +15 -3
  699. package/esm/theme/builtin/common/component/mark-point.js.map +1 -1
  700. package/esm/theme/builtin/common/component/player.js +7 -7
  701. package/esm/theme/builtin/common/component/player.js.map +1 -1
  702. package/esm/theme/builtin/common/component/poptip.js +3 -4
  703. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  704. package/esm/theme/builtin/common/component/scroll-bar.js +20 -7
  705. package/esm/theme/builtin/common/component/scroll-bar.js.map +1 -1
  706. package/esm/theme/builtin/common/component/title.js +1 -1
  707. package/esm/theme/builtin/common/component/title.js.map +1 -1
  708. package/esm/theme/builtin/common/component/tooltip.d.ts +2 -1
  709. package/esm/theme/builtin/common/component/tooltip.js +3 -4
  710. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  711. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  712. package/esm/theme/builtin/common/mark.js.map +1 -1
  713. package/esm/theme/builtin/common/series/rangeColumn.js +1 -1
  714. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  715. package/esm/theme/builtin/dark/color-scheme.js +20 -11
  716. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  717. package/esm/theme/builtin/index.d.ts +2 -4
  718. package/esm/theme/builtin/index.js +15 -28
  719. package/esm/theme/builtin/index.js.map +1 -1
  720. package/esm/theme/builtin/light/color-scheme.js +19 -10
  721. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  722. package/esm/theme/color-scheme/builtin/interface.d.ts +16 -7
  723. package/esm/theme/color-scheme/builtin/interface.js.map +1 -1
  724. package/esm/theme/color-scheme/legacy.js +18 -2
  725. package/esm/theme/color-scheme/legacy.js.map +1 -1
  726. package/esm/theme/color-scheme/util.js +2 -2
  727. package/esm/theme/color-scheme/util.js.map +1 -1
  728. package/esm/theme/theme-manager.d.ts +1 -1
  729. package/esm/theme/theme-manager.js +2 -2
  730. package/esm/theme/theme-manager.js.map +1 -1
  731. package/esm/typings/spec/common.d.ts +3 -2
  732. package/esm/typings/spec/common.js.map +1 -1
  733. package/esm/typings/visual.d.ts +1 -2
  734. package/esm/typings/visual.js.map +1 -1
  735. package/esm/util/spec/background.js +3 -11
  736. package/esm/util/spec/background.js.map +1 -1
  737. package/esm/util/spec/common.d.ts +1 -1
  738. package/esm/util/spec/common.js +2 -2
  739. package/esm/util/spec/common.js.map +1 -1
  740. package/esm/util/spec/preprocess.d.ts +1 -1
  741. package/esm/util/spec/preprocess.js +5 -18
  742. package/esm/util/spec/preprocess.js.map +1 -1
  743. package/esm/util/spec/transform.d.ts +2 -0
  744. package/esm/util/spec/transform.js +17 -1
  745. package/esm/util/spec/transform.js.map +1 -1
  746. package/esm/vchart-all.js +1 -4
  747. package/esm/vchart-all.js.map +1 -1
  748. package/esm/vchart-simple.d.ts +1 -0
  749. package/esm/vchart-simple.js +15 -14
  750. package/esm/vchart-simple.js.map +1 -1
  751. package/package.json +18 -19
  752. package/cjs/theme/util.d.ts +0 -5
  753. package/cjs/theme/util.js +0 -35
  754. package/cjs/theme/util.js.map +0 -1
  755. package/esm/theme/util.d.ts +0 -5
  756. package/esm/theme/util.js +0 -37
  757. package/esm/theme/util.js.map +0 -1
@@ -4,7 +4,7 @@ import { ComponentTypeEnum } from "../../interface/type";
4
4
 
5
5
  import { markerAggregation } from "../../../data/transforms/aggregation";
6
6
 
7
- import { xLayout, yLayout, coordinateLayout } from "../utils";
7
+ import { coordinateLayout, xyLayout } from "../utils";
8
8
 
9
9
  import { registerDataSetInstanceTransform } from "../../../data/register";
10
10
 
@@ -24,6 +24,8 @@ import { getInsertPoints, getTextOffset } from "./util";
24
24
 
25
25
  import { Factory } from "../../../core/factory";
26
26
 
27
+ import { isPercent } from "../../../util";
28
+
27
29
  export class MarkLine extends BaseMarker {
28
30
  constructor() {
29
31
  super(...arguments), this.type = ComponentTypeEnum.markLine, this.name = ComponentTypeEnum.markLine,
@@ -41,7 +43,7 @@ export class MarkLine extends BaseMarker {
41
43
  })), markLines;
42
44
  }
43
45
  _createMarkerComponent() {
44
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
46
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
45
47
  const markLine = new MarkLineComponent({
46
48
  zIndex: this.layoutZIndex,
47
49
  interactive: null !== (_a = this._spec.interactive) && void 0 !== _a && _a,
@@ -73,14 +75,21 @@ export class MarkLine extends BaseMarker {
73
75
  }),
74
76
  clipInRange: null !== (_v = this._spec.clip) && void 0 !== _v && _v
75
77
  });
76
- this._markerComponent = markLine, this._markerComponent.name = "markLine", this._markerComponent.id = null !== (_w = this._spec.id) && void 0 !== _w ? _w : `markLine-${this.id}`,
78
+ this._markerComponent = markLine, this._markerComponent.name = null !== (_w = this._spec.name) && void 0 !== _w ? _w : this.type,
79
+ this._markerComponent.id = null !== (_x = this._spec.id) && void 0 !== _x ? _x : `${this.type}-${this.id}`,
77
80
  this.getContainer().add(this._markerComponent);
78
81
  }
79
82
  _markerLayout() {
80
83
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
81
84
  const spec = this._spec, data = this._markerData, startRelativeSeries = this._startRelativeSeries, endRelativeSeries = this._endRelativeSeries, relativeSeries = this._relativeSeries, isXLayout = isValid(spec.x) || isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.x), isYLayout = isValid(spec.y) || isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.y), isCoordinateLayout = isValid(spec.coordinates) && (!isValid(spec.process) || "process" in spec && "xy" in spec.process), isPositionLayout = isValid(spec.positions), autoRange = null !== (_a = spec.autoRange) && void 0 !== _a && _a;
82
85
  let points = [];
83
- isXLayout ? points = xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0] : isYLayout ? points = yLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0] : isCoordinateLayout ? points = coordinateLayout(data, relativeSeries, autoRange) : isPositionLayout && (points = spec.positions);
86
+ if (isXLayout) points = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0]; else if (isYLayout) points = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0]; else if (isCoordinateLayout) points = coordinateLayout(data, relativeSeries, autoRange); else if (isPositionLayout) if (spec.regionRelative) {
87
+ const region = relativeSeries.getRegion(), {x: regionStartX, y: regionStartY} = region.getLayoutStartPoint();
88
+ points = spec.positions.map((point => ({
89
+ x: point.x + regionStartX,
90
+ y: point.y + regionStartY
91
+ })));
92
+ } else points = spec.positions;
84
93
  const seriesData = this._relativeSeries.getViewData().latestData, dataPoints = data ? data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData : seriesData;
85
94
  let limitRect;
86
95
  if (spec.clip || (null === (_b = spec.label) || void 0 === _b ? void 0 : _b.confine)) {
@@ -96,7 +105,19 @@ export class MarkLine extends BaseMarker {
96
105
  text: this._spec.label.formatMethod ? this._spec.label.formatMethod(dataPoints, seriesData) : null === (_g = null === (_f = null === (_e = this._markerComponent) || void 0 === _e ? void 0 : _e.attribute) || void 0 === _f ? void 0 : _f.label) || void 0 === _g ? void 0 : _g.text
97
106
  });
98
107
  if ("type-step" === this._spec.type) {
99
- const {multiSegment: multiSegment, mainSegmentIndex: mainSegmentIndex} = this._spec.line || {}, {connectDirection: connectDirection, expandDistance: expandDistance = 0} = this._spec, joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistance);
108
+ const {multiSegment: multiSegment, mainSegmentIndex: mainSegmentIndex} = this._spec.line || {}, {connectDirection: connectDirection, expandDistance: expandDistance = 0} = this._spec;
109
+ let expandDistanceValue;
110
+ if (isPercent(expandDistance)) {
111
+ const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();
112
+ if ("bottom" === connectDirection || "top" === connectDirection) {
113
+ const regionHeight = Math.abs(Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) - Math.max(regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height));
114
+ expandDistanceValue = Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight / 100;
115
+ } else {
116
+ const regionWidth = Math.abs(Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) - Math.max(regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width));
117
+ expandDistanceValue = Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth / 100;
118
+ }
119
+ } else expandDistanceValue = expandDistance;
120
+ const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistanceValue);
100
121
  let labelPositionAttrs;
101
122
  labelPositionAttrs = multiSegment && isValid(mainSegmentIndex) ? {
102
123
  position: "middle",
@@ -106,8 +127,8 @@ export class MarkLine extends BaseMarker {
106
127
  } : Object.assign(Object.assign({
107
128
  position: "start",
108
129
  autoRotate: !1
109
- }, getTextOffset(points[0], points[1], connectDirection, expandDistance)), {
110
- efX: 0,
130
+ }, getTextOffset(points[0], points[1], connectDirection, expandDistanceValue)), {
131
+ refX: 0,
111
132
  refY: 0
112
133
  }), null === (_h = this._markerComponent) || void 0 === _h || _h.setAttributes({
113
134
  points: multiSegment ? [ [ joinPoints[0], joinPoints[1] ], [ joinPoints[1], joinPoints[2] ], [ joinPoints[2], joinPoints[3] ] ] : joinPoints,
@@ -120,15 +141,15 @@ export class MarkLine extends BaseMarker {
120
141
  limitRect: limitRect,
121
142
  multiSegment: multiSegment,
122
143
  mainSegmentIndex: mainSegmentIndex,
123
- dx: this._layout.layoutOffsetX,
124
- dy: this._layout.layoutOffsetY
144
+ dx: this._layoutOffsetX,
145
+ dy: this._layoutOffsetY
125
146
  });
126
147
  } else null === (_l = this._markerComponent) || void 0 === _l || _l.setAttributes({
127
148
  points: points,
128
149
  label: labelAttrs,
129
150
  limitRect: limitRect,
130
- dx: this._layout.layoutOffsetX,
131
- dy: this._layout.layoutOffsetY
151
+ dx: this._layoutOffsetX,
152
+ dy: this._layoutOffsetY
132
153
  });
133
154
  }
134
155
  _initDataView() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/mark-line.ts"],"names":[],"mappings":"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","file":"mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec, IMarkLineTheme, IStepMarkLineSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr } from '../../../data/transforms/aggregation';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { xLayout, yLayout, coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkLine as MarkLineComponent } from '@visactor/vrender-components';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { INode } from '@visactor/vrender-core';\nimport type { IDataPos } from '../interface';\nimport type { IOptionRegr } from '../../../data/transforms/regression';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\n\nexport class MarkLine extends BaseMarker<IMarkLineSpec & IMarkLineTheme> implements IMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n\n layoutZIndex: number = LayoutZIndex.MarkLine;\n\n protected declare _theme: IMarkLineTheme;\n\n protected declare _markerComponent: MarkLineComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markLineSpec = spec.markLine;\n if (isEmpty(markLineSpec)) {\n return undefined;\n }\n if (!isArray(markLineSpec) && markLineSpec.visible !== false) {\n return new MarkLine(markLineSpec, { ...options });\n }\n const markLines: MarkLine[] = [];\n markLineSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markLines.push(new MarkLine(m, { ...options, specIndex: i }));\n }\n });\n return markLines;\n }\n\n protected _createMarkerComponent() {\n const markLine = new MarkLineComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n points: [\n {\n x: 0,\n y: 0\n },\n {\n x: 0,\n y: 0\n }\n ],\n lineStyle: this._spec?.line.style as unknown as any,\n startSymbol: {\n ...this._spec?.startSymbol,\n visible: this._spec.startSymbol?.visible,\n style: transformToGraphic(this._spec.startSymbol?.style)\n },\n endSymbol: {\n ...this._spec?.endSymbol,\n visible: this._spec.endSymbol?.visible,\n style: transformToGraphic(this._spec.endSymbol?.style)\n },\n label: {\n ...this._spec.label,\n padding: this._spec.label?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.label?.shape),\n visible: this._spec.label?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.label?.labelBackground.style),\n visible: this._spec.label?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.label?.style)\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markLine;\n this._markerComponent.name = 'markLine';\n this._markerComponent.id = this._spec.id ?? `markLine-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n // eslint-disable-next-line max-len\n const isXLayout =\n isValid(spec.x) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.x));\n // eslint-disable-next-line max-len\n const isYLayout =\n isValid(spec.y) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.y));\n const isCoordinateLayout =\n isValid(spec.coordinates) && (!isValid(spec.process) || ('process' in spec && 'xy' in spec.process));\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n let points: IPointLike[] = [];\n if (isXLayout) {\n points = xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isYLayout) {\n points = yLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isCoordinateLayout) {\n points = coordinateLayout(data, relativeSeries, autoRange);\n } else if (isPositionLayout) {\n points = spec.positions;\n }\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([\n startRelativeSeries.getRegion(),\n endRelativeSeries.getRegion(),\n relativeSeries.getRegion()\n ]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n const labelAttrs = {\n ...this._markerComponent?.attribute?.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.label?.text\n };\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistance);\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false,\n refX: 0,\n refY: 0\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset(points[0], points[1], connectDirection, expandDistance),\n efX: 0,\n refY: 0\n };\n }\n\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: {\n ...labelAttrs,\n ...labelPositionAttrs,\n textStyle: {\n ...this._markerComponent?.attribute?.label.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this._layout.layoutOffsetX,\n dy: this._layout.layoutOffsetY\n });\n } else {\n this._markerComponent?.setAttributes({\n points: points,\n label: labelAttrs,\n limitRect,\n dx: this._layout.layoutOffsetX,\n dy: this._layout.layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const relativeSeries = this._relativeSeries;\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n if (!isXProcess && !isYProcess && !isCoordinateProcess) {\n return;\n }\n\n let options: IOptionAggr[] | IOptionRegr;\n let processData: DataView;\n let needAgggr: boolean = false;\n let needRegr: boolean = false;\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n // eslint-disable-next-line no-undef\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n\n if (isXProcess) {\n options = [this._processSpecX(spec.x as unknown as IDataPos)];\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isYProcess) {\n options = [this._processSpecY(spec.y as unknown as IDataPos)];\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n\n processData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` })\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && 'x' in spec.process) {\n options = [this._processSpecX(spec.process.x as unknown as IDataPos)];\n needAgggr = true;\n }\n if (spec.process && 'y' in spec.process) {\n options = [this._processSpecY(spec.process.y as unknown as IDataPos)];\n needAgggr = true;\n }\n if (spec.process && 'xy' in spec.process) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n }\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAgggr) {\n data.transform({\n type: 'markerAggregation',\n options\n });\n }\n if (needRegr) {\n data.transform({\n type: 'markerRegression',\n options\n });\n }\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(MarkLine.type, MarkLine);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/mark-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,OAAO,QAAS,SAAQ,UAA0C;IAAxE;;QAEE,SAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,iBAAiB,CAAC,QAAQ,CAAC;QAE1C,iBAAY,GAAW,YAAY,CAAC,QAAQ,CAAC;IAiT/C,CAAC;IA3SC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;YACzB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5D,OAAO,IAAI,QAAQ,CAAC,YAAY,oBAAO,OAAO,EAAG,CAAC;SACnD;QACD,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;YACzC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvB,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,kCAAO,OAAO,KAAE,SAAS,EAAE,CAAC,IAAG,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,KAAK;YAC5C,MAAM,EAAE;gBACN;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;aACF;YACD,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAuB;YACnD,WAAW,kCACN,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,KAC1B,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,OAAO,EACxC,KAAK,EAAE,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,CAAC,GACzD;YACD,SAAS,kCACJ,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,KACxB,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,EACtC,KAAK,EAAE,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,KAAK,CAAC,GACvD;YACD,KAAK,kCACA,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,0CAAE,OAAO,EACnD,KAAK,kCACA,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,KAC9C,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,OAAO,mCAAI,KAAK,KAEpD,KAAK,kCACA,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,CAAC,KAAK,CAAC,KAC9D,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,0CAAE,OAAO,mCAAI,IAAI,KAE7D,SAAS,EAAE,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,GACvD;YACD,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAoC,CAAC,CAAC;IACrE,CAAC;IAES,aAAa;;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAG5C,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAErG,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,kBAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvG,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QAE1C,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,SAAS,EAAE;YACb,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/F;aAAM,IAAI,SAAS,EAAE;YACpB,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/F;aAAM,IAAI,kBAAkB,EAAE;YAC7B,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;SAC5D;aAAM,IAAI,gBAAgB,EAAE;YAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC1E,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;oBAC5C,OAAO;wBACL,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,YAAY;wBACzB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,YAAY;qBAC1B,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;aACzB;SACF;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC/B,CAAC,CAAC,IAAI,CAAC,UAAU;YACnB,CAAC,CAAC,UAAU,CAAC;QAEf,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAA,EAAE;YACpC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACxD,mBAAmB,CAAC,SAAS,EAAE;gBAC/B,iBAAiB,CAAC,SAAS,EAAE;gBAC7B,cAAc,CAAC,SAAS,EAAE;aAC3B,CAAC,CAAC;YACH,SAAS,GAAG;gBACV,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,KAAK,EAAE,IAAI,GAAG,IAAI;gBAClB,MAAM,EAAE,IAAI,GAAG,IAAI;aACpB,CAAC;SACH;QAED,MAAM,UAAU,mCACX,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,KAC1C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;gBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;gBACvD,CAAC,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,0CAAE,IAAI,GAClD,CAAC;QAEF,IAAK,IAAI,CAAC,KAA2B,CAAC,IAAI,KAAK,WAAW,EAAE;YAC1D,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAI,IAAI,CAAC,KAA2B,CAAC,IAAI,IAAI,EAAE,CAAC;YACxF,MAAM,EAAE,gBAAgB,EAAE,cAAc,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAA0B,CAAC;YAEjF,IAAI,mBAA2B,CAAC;YAChC,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE;gBAC7B,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC;gBACpD,MAAM,2BAA2B,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;gBAChD,MAAM,yBAAyB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;gBAElE,IAAI,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,KAAK,EAAE;oBAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;wBAClE,IAAI,CAAC,GAAG,CACN,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAClE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAC/D,CACJ,CAAC;oBACF,mBAAmB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;iBAC7G;qBAAM;oBACL,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;wBAClE,IAAI,CAAC,GAAG,CACN,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EACjE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAC9D,CACJ,CAAC;oBACF,mBAAmB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;iBAC5G;aACF;iBAAM;gBACL,mBAAmB,GAAG,cAAwB,CAAC;aAChD;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;YAEhG,IAAI,kBAAuB,CAAC;YAC5B,IAAI,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBAE7C,kBAAkB,GAAG;oBACnB,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;iBACR,CAAC;aACH;iBAAM;gBACL,kBAAkB,iCAChB,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,KAAK,IACd,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,KAC7E,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,GACR,CAAC;aACH;YAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;gBACnC,MAAM,EAAE,YAAY;oBAClB,CAAC,CAAC;wBACE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;qBAC/B;oBACH,CAAC,CAAC,UAAU;gBACd,KAAK,gDACA,UAAU,GACV,kBAAkB,KACrB,SAAS,kCACJ,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,CAAC,SAAS,KACpD,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,QAAQ,MAEzB;gBACD,SAAS;gBACT,YAAY;gBACZ,gBAAgB;gBAChB,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,EAAE,EAAE,IAAI,CAAC,cAAc;aACxB,CAAC,CAAC;SACJ;aAAM;YACL,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,UAAU;gBACjB,SAAS;gBACT,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,EAAE,EAAE,IAAI,CAAC,cAAc;aACxB,CAAC,CAAC;SACJ;IACH,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;QAC/B,MAAM,mBAAmB,GAAG,aAAa,IAAI,IAAI,CAAC;QAElD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,mBAAmB,EAAE;YACtD,OAAO;SACR;QAED,IAAI,OAAoC,CAAC;QACzC,IAAI,WAAqB,CAAC;QAC1B,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,QAAQ,GAAY,KAAK,CAAC;QAE9B,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAE/F,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAE7F,IAAI,UAAU,EAAE;YACd,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAwB,CAAC,CAAmB,CAAC;YAChF,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;YAC3C,SAAS,GAAG,IAAI,CAAC;SAClB;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAwB,CAAC,CAAmB,CAAC;YAChF,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;YAC3C,SAAS,GAAG,IAAI,CAAC;SAClB;aAAM,IAAI,mBAAmB,EAAE;YAC9B,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAErC,WAAW,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;iBACvF,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;gBACrC,IAAI,EAAE,UAAU;aACjB,CAAC;iBACD,SAAS,CAAC;gBACT,IAAI,EAAE,mBAAmB;gBACzB,OAAO;aACR,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAwB,CAAC,CAAmB,CAAC;gBACxF,SAAS,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAwB,CAAC,CAAmB,CAAC;gBACxF,SAAS,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gBACpD,OAAO,GAAG;oBACR,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;iBACf,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE;YACxB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,mBAAmB;gBACzB,OAAO;aACR,CAAC,CAAC;SACJ;QACD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO;aACR,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;AApTM,aAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAuT3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC","file":"mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec, IMarkLineTheme, IStepMarkLineSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr } from '../../../data/transforms/aggregation';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout, xyLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkLine as MarkLineComponent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { INode } from '@visactor/vrender-core';\nimport type { IDataPos } from '../interface';\nimport type { IOptionRegr } from '../../../data/transforms/regression';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\nimport { isPercent } from '../../../util';\nimport type { IPoint } from '../../../typings';\n\nexport class MarkLine extends BaseMarker<IMarkLineSpec & IMarkLineTheme> implements IMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n\n layoutZIndex: number = LayoutZIndex.MarkLine;\n\n protected declare _theme: IMarkLineTheme;\n\n protected declare _markerComponent: MarkLineComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markLineSpec = spec.markLine;\n if (isEmpty(markLineSpec)) {\n return undefined;\n }\n if (!isArray(markLineSpec) && markLineSpec.visible !== false) {\n return new MarkLine(markLineSpec, { ...options });\n }\n const markLines: MarkLine[] = [];\n markLineSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markLines.push(new MarkLine(m, { ...options, specIndex: i }));\n }\n });\n return markLines;\n }\n\n protected _createMarkerComponent() {\n const markLine = new MarkLineComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n points: [\n {\n x: 0,\n y: 0\n },\n {\n x: 0,\n y: 0\n }\n ],\n lineStyle: this._spec?.line.style as unknown as any,\n startSymbol: {\n ...this._spec?.startSymbol,\n visible: this._spec.startSymbol?.visible,\n style: transformToGraphic(this._spec.startSymbol?.style)\n },\n endSymbol: {\n ...this._spec?.endSymbol,\n visible: this._spec.endSymbol?.visible,\n style: transformToGraphic(this._spec.endSymbol?.style)\n },\n label: {\n ...this._spec.label,\n padding: this._spec.label?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.label?.shape),\n visible: this._spec.label?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.label?.labelBackground.style),\n visible: this._spec.label?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.label?.style)\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markLine;\n this._markerComponent.name = this._spec.name ?? this.type;\n this._markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n // eslint-disable-next-line max-len\n const isXLayout =\n isValid(spec.x) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.x));\n // eslint-disable-next-line max-len\n const isYLayout =\n isValid(spec.y) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.y));\n const isCoordinateLayout =\n isValid(spec.coordinates) && (!isValid(spec.process) || ('process' in spec && 'xy' in spec.process));\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n let points: IPoint[] = [];\n if (isXLayout) {\n points = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isYLayout) {\n points = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isCoordinateLayout) {\n points = coordinateLayout(data, relativeSeries, autoRange);\n } else if (isPositionLayout) {\n if (spec.regionRelative) {\n const region = relativeSeries.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n points = spec.positions.map((point: IPoint) => {\n return {\n x: point.x + regionStartX,\n y: point.y + regionStartY\n };\n });\n } else {\n points = spec.positions;\n }\n }\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([\n startRelativeSeries.getRegion(),\n endRelativeSeries.getRegion(),\n relativeSeries.getRegion()\n ]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n const labelAttrs = {\n ...this._markerComponent?.attribute?.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.label?.text\n };\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n let expandDistanceValue: number;\n if (isPercent(expandDistance)) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n if (connectDirection === 'bottom' || connectDirection === 'top') {\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 expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight) / 100;\n } else {\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 expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth) / 100;\n }\n } else {\n expandDistanceValue = expandDistance as number;\n }\n\n const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistanceValue);\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false,\n refX: 0,\n refY: 0\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset(points[0], points[1], connectDirection, expandDistanceValue),\n refX: 0,\n refY: 0\n };\n }\n\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: {\n ...labelAttrs,\n ...labelPositionAttrs,\n textStyle: {\n ...this._markerComponent?.attribute?.label.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n } else {\n this._markerComponent?.setAttributes({\n points: points,\n label: labelAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const relativeSeries = this._relativeSeries;\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n if (!isXProcess && !isYProcess && !isCoordinateProcess) {\n return;\n }\n\n let options: IOptionAggr[] | IOptionRegr;\n let processData: DataView;\n let needAgggr: boolean = false;\n let needRegr: boolean = false;\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n // eslint-disable-next-line no-undef\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n\n if (isXProcess) {\n options = [this._processSpecX(spec.x as unknown as IDataPos)] as unknown as any;\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isYProcess) {\n options = [this._processSpecY(spec.y as unknown as IDataPos)] as unknown as any;\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n\n processData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` })\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && 'x' in spec.process) {\n options = [this._processSpecX(spec.process.x as unknown as IDataPos)] as unknown as any;\n needAgggr = true;\n }\n if (spec.process && 'y' in spec.process) {\n options = [this._processSpecY(spec.process.y as unknown as IDataPos)] as unknown as any;\n needAgggr = true;\n }\n if (spec.process && 'xy' in spec.process) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n }\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAgggr) {\n data.transform({\n type: 'markerAggregation',\n options\n });\n }\n if (needRegr) {\n data.transform({\n type: 'markerRegression',\n options\n });\n }\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(MarkLine.type, MarkLine);\n};\n"]}
@@ -1,6 +1,6 @@
1
- import type { IPointLike } from '@visactor/vutils';
2
- export declare function getInsertPoints(start: IPointLike, end: IPointLike, direction: 'top' | 'bottom' | 'left' | 'right', offset?: number): IPointLike[];
3
- export declare function getTextOffset(start: IPointLike, end: IPointLike, direction: 'top' | 'bottom' | 'left' | 'right', offset?: number): {
1
+ import type { IPoint } from '../../../typings';
2
+ export declare function getInsertPoints(start: IPoint, end: IPoint, direction: 'top' | 'bottom' | 'left' | 'right', offset?: number): IPoint[];
3
+ export declare function getTextOffset(start: IPoint, end: IPoint, direction: 'top' | 'bottom' | 'left' | 'right', offset?: number): {
4
4
  dx: number;
5
5
  dy: number;
6
6
  } | {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\n\nexport function getInsertPoints(\n start: IPointLike,\n end: IPointLike,\n direction: 'top' | 'bottom' | 'left' | 'right',\n offset: number = 0\n) {\n const points: IPointLike[] = [];\n const dy = start.y - end.y;\n const dx = start.x - end.x;\n\n switch (direction) {\n case 'top':\n points.push(start);\n points.push({\n x: start.x,\n y: dy > 0 ? start.y - offset - Math.abs(dy) : start.y - offset\n });\n points.push({\n x: end.x,\n y: dy > 0 ? end.y - offset : end.y - offset - Math.abs(dy)\n });\n points.push(end);\n break;\n case 'bottom':\n points.push(start);\n points.push({ x: start.x, y: dy < 0 ? start.y + offset + Math.abs(dy) : start.y + offset });\n points.push({ x: end.x, y: dy < 0 ? end.y + offset : end.y + offset + Math.abs(dy) });\n points.push(end);\n break;\n case 'left':\n points.push(start);\n points.push({\n x: dx > 0 ? start.x - offset - Math.abs(dx) : start.x - offset,\n y: start.y\n });\n points.push({\n x: dx > 0 ? end.x - offset : end.x - offset - Math.abs(dx),\n y: end.y\n });\n points.push(end);\n break;\n case 'right':\n points.push(start);\n points.push({\n x: dx > 0 ? start.x + offset : start.x + offset + Math.abs(dx),\n y: start.y\n });\n points.push({\n x: dx > 0 ? end.x + offset + Math.abs(dx) : end.x + offset,\n y: end.y\n });\n points.push(end);\n break;\n default:\n break;\n }\n return points;\n}\n\nexport function getTextOffset(\n start: IPointLike,\n end: IPointLike,\n direction: 'top' | 'bottom' | 'left' | 'right',\n offset: number = 0\n) {\n const dy = start.y - end.y;\n const dx = start.x - end.x;\n\n if (direction === 'bottom') {\n return {\n dx: dx > 0 ? -dx / 2 : Math.abs(dx / 2),\n dy: dy > 0 ? offset : Math.abs(dy) + offset\n };\n }\n\n if (direction === 'top') {\n return {\n dx: dx > 0 ? -Math.abs(dx / 2) : +Math.abs(dx / 2),\n dy: dy > 0 ? -(Math.abs(dy) + offset) : -offset\n };\n }\n\n if (direction === 'left') {\n return {\n dx: dx > 0 ? -dx - offset : -offset,\n dy: dy > 0 ? -(dy / 2) : Math.abs(dy / 2)\n };\n }\n\n if (direction === 'right') {\n return {\n dx: dx > 0 ? offset : Math.abs(dx) + offset,\n dy: dy > 0 ? -(dy / 2) : Math.abs(dy / 2)\n };\n }\n\n return {};\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { IPoint } from '../../../typings';\n\nexport function getInsertPoints(\n start: IPoint,\n end: IPoint,\n direction: 'top' | 'bottom' | 'left' | 'right',\n offset: number = 0\n) {\n const points: IPoint[] = [];\n const dy = start.y - end.y;\n const dx = start.x - end.x;\n\n switch (direction) {\n case 'top':\n points.push(start);\n points.push({\n x: start.x,\n y: dy > 0 ? start.y - offset - Math.abs(dy) : start.y - offset\n });\n points.push({\n x: end.x,\n y: dy > 0 ? end.y - offset : end.y - offset - Math.abs(dy)\n });\n points.push(end);\n break;\n case 'bottom':\n points.push(start);\n points.push({ x: start.x, y: dy < 0 ? start.y + offset + Math.abs(dy) : start.y + offset });\n points.push({ x: end.x, y: dy < 0 ? end.y + offset : end.y + offset + Math.abs(dy) });\n points.push(end);\n break;\n case 'left':\n points.push(start);\n points.push({\n x: dx > 0 ? start.x - offset - Math.abs(dx) : start.x - offset,\n y: start.y\n });\n points.push({\n x: dx > 0 ? end.x - offset : end.x - offset - Math.abs(dx),\n y: end.y\n });\n points.push(end);\n break;\n case 'right':\n points.push(start);\n points.push({\n x: dx > 0 ? start.x + offset : start.x + offset + Math.abs(dx),\n y: start.y\n });\n points.push({\n x: dx > 0 ? end.x + offset + Math.abs(dx) : end.x + offset,\n y: end.y\n });\n points.push(end);\n break;\n default:\n break;\n }\n return points;\n}\n\nexport function getTextOffset(\n start: IPoint,\n end: IPoint,\n direction: 'top' | 'bottom' | 'left' | 'right',\n offset: number = 0\n) {\n const dy = start.y - end.y;\n const dx = start.x - end.x;\n\n if (direction === 'bottom') {\n return {\n dx: dx > 0 ? -dx / 2 : Math.abs(dx / 2),\n dy: dy > 0 ? offset : Math.abs(dy) + offset\n };\n }\n\n if (direction === 'top') {\n return {\n dx: dx > 0 ? -Math.abs(dx / 2) : +Math.abs(dx / 2),\n dy: dy > 0 ? -(Math.abs(dy) + offset) : -offset\n };\n }\n\n if (direction === 'left') {\n return {\n dx: dx > 0 ? -dx - offset : -offset,\n dy: dy > 0 ? -(dy / 2) : Math.abs(dy / 2)\n };\n }\n\n if (direction === 'right') {\n return {\n dx: dx > 0 ? offset : Math.abs(dx) + offset,\n dy: dy > 0 ? -(dy / 2) : Math.abs(dy / 2)\n };\n }\n\n return {};\n}\n"]}
@@ -1,14 +1,15 @@
1
- import type { IPointLike } from '@visactor/vutils';
1
+ import type { IPoint } from '../../../../typings';
2
2
  import type { IComponent } from '../../../interface';
3
- import type { IDataPointSpec, IMarkerSpec } from '../../interface';
3
+ import type { IDataPointSpec, IMarkerSpec, IMarkerSymbol } from '../../interface';
4
4
  import type { IMarkPointTheme } from './theme';
5
5
  export type IMarkPoint = IComponent;
6
- export type IMarkPointSpec = IMarkerSpec & (IMarkPointCoordinateSpec | IMarkPointPositionsSpec) & IMarkPointTheme;
6
+ export type IMarkPointSpec = IMarkerSpec & (IMarkPointCoordinateSpec | IMarkPointPositionsSpec) & IMarkPointTheme<IMarkerSymbol>;
7
7
  export type IMarkPointCoordinateSpec = {
8
8
  coordinates: IDataPointSpec;
9
9
  relativeRelativeSeriesIndex?: number;
10
10
  relativeRelativeSeriesId?: string;
11
11
  };
12
12
  export type IMarkPointPositionsSpec = {
13
- position: IPointLike;
13
+ position: IPoint;
14
+ regionRelative?: boolean;
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IComponent } from '../../../interface';\nimport type { IDataPointSpec, IMarkerSpec } from '../../interface';\nimport type { IMarkPointTheme } from './theme';\n\nexport type IMarkPoint = IComponent;\n\nexport type IMarkPointSpec = IMarkerSpec &\n (\n | IMarkPointCoordinateSpec // 标注目标:数据元素\n | IMarkPointPositionsSpec\n ) &\n IMarkPointTheme; // 标注目标:任意位置\n\nexport type IMarkPointCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n relativeRelativeSeriesId?: string;\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkPointPositionsSpec = {\n position: IPointLike;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPoint } from '../../../../typings';\nimport type { IComponent } from '../../../interface';\nimport type { IDataPointSpec, IMarkerSpec, IMarkerSymbol } from '../../interface';\nimport type { IMarkPointTheme } from './theme';\n\nexport type IMarkPoint = IComponent;\n\nexport type IMarkPointSpec = IMarkerSpec &\n (\n | IMarkPointCoordinateSpec // 标注目标:数据元素\n | IMarkPointPositionsSpec\n ) &\n IMarkPointTheme<IMarkerSymbol>; // 标注目标:任意位置\n\nexport type IMarkPointCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n relativeRelativeSeriesId?: string;\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkPointPositionsSpec = {\n position: IPoint;\n /**\n * 是否为相对 region 的坐标,默认为 false,即相对画布的坐标\n * @default false\n * @since 1.7.0\n */\n regionRelative?: boolean;\n};\n"]}
@@ -18,20 +18,20 @@ export interface IItemContent extends IMarkerRef {
18
18
  style?: IRichTextGraphicAttribute;
19
19
  };
20
20
  }
21
- export type IItemLine = {
21
+ export type IItemLine<T extends Partial<IMarkerSymbol> = IMarkerSymbol> = {
22
22
  type?: 'type-s' | 'type-do' | 'type-po' | 'type-op';
23
23
  visible?: boolean;
24
24
  decorativeLine?: {
25
25
  visible?: boolean;
26
26
  length?: number;
27
27
  };
28
- startSymbol?: IMarkerSymbol;
29
- endSymbol?: IMarkerSymbol;
28
+ startSymbol?: T;
29
+ endSymbol?: T;
30
30
  line?: {
31
31
  style?: Omit<ILineMarkSpec, 'visible'>;
32
32
  };
33
33
  };
34
- export interface IMarkPointTheme {
35
- itemLine?: IItemLine;
34
+ export interface IMarkPointTheme<T extends Partial<IMarkerSymbol> = Partial<IMarkerSymbol>> {
35
+ itemLine?: IItemLine<T>;
36
36
  itemContent?: IItemContent;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IImageGraphicAttribute, IRichTextGraphicAttribute } from '@visactor/vrender-core';\nimport type { IMarkPointItemPosition } from '@visactor/vrender-components';\nimport type { ILineMarkSpec, ISymbolMarkSpec } from '../../../../typings';\nimport type { IMarkerLabelSpec, IMarkerRef, IMarkerSymbol } from '../../interface';\n\nexport interface IItemContent extends IMarkerRef {\n /**\n * 标注类型\n */\n type?: 'symbol' | 'text' | 'image' | 'richText';\n /**\n * 标注内容相对于定位点的位置\n */\n position?: IMarkPointItemPosition;\n /**\n * x 方向偏移量\n */\n offsetX?: number;\n /**\n * y 方向偏移量\n */\n offsetY?: number;\n /**\n * type为symbol时, symbol的样式\n */\n symbol?: {\n style?: ISymbolMarkSpec;\n };\n /**\n * type为image时, image的样式\n */\n image?: {\n style?: IImageGraphicAttribute;\n };\n /**\n * type为text时, text的样式\n */\n text?: IMarkerLabelSpec;\n /**\n * type为rich text时, rich text的样式\n */\n richText?: {\n style?: IRichTextGraphicAttribute;\n };\n}\n\nexport type IItemLine = {\n /** TODO:'type-opo' */\n /**\n * 引导线类型\n * 'type-s'表示起点和终点直接连线; 'type-do'表示包含一个折点,且折点x坐标为起点到终点的 1/2 x坐标,折点y坐标为起点y坐标;'type-op' 表示包含一个折点,且折点x坐标为起点x坐标,折点y坐标为终点y坐标;'type-po' 表示包含一个折点,且折点x坐标为终点x坐标,折点y坐标为起点y坐标\n * 引导线类型的具体形式参考:https://journals.sagepub.com/doi/10.1177/1473871618799500\n */\n type?: 'type-s' | 'type-do' | 'type-po' | 'type-op';\n /**\n * 引导线可见性\n */\n visible?: boolean;\n /**\n * 垂直于引导线的装饰线,参考案例: https://observablehq.com/@mikelotis/edmonton-population-history-line-chart\n */\n decorativeLine?: {\n /**\n * 装饰线可见性\n */\n visible?: boolean;\n /**\n * 装饰线的长度\n */\n length?: number;\n };\n /**\n * 引导线起点symbol样式\n */\n startSymbol?: IMarkerSymbol;\n /**\n * 引导线终点symbol样式\n */\n endSymbol?: IMarkerSymbol;\n /**\n * 引导线样式\n */\n line?: {\n style?: Omit<ILineMarkSpec, 'visible'>;\n };\n};\n\nexport interface IMarkPointTheme {\n /**\n * 标注引导线\n */\n itemLine?: IItemLine;\n\n /**\n * 标注内容\n */\n itemContent?: IItemContent;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IImageGraphicAttribute, IRichTextGraphicAttribute } from '@visactor/vrender-core';\nimport type { IMarkPointItemPosition } from '@visactor/vrender-components';\nimport type { ILineMarkSpec, ISymbolMarkSpec } from '../../../../typings';\nimport type { IMarkerLabelSpec, IMarkerRef, IMarkerSymbol } from '../../interface';\n\nexport interface IItemContent extends IMarkerRef {\n /**\n * 标注类型\n */\n type?: 'symbol' | 'text' | 'image' | 'richText';\n /**\n * 标注内容相对于定位点的位置\n */\n position?: IMarkPointItemPosition;\n /**\n * x 方向偏移量\n */\n offsetX?: number;\n /**\n * y 方向偏移量\n */\n offsetY?: number;\n /**\n * type为symbol时, symbol的样式\n */\n symbol?: {\n style?: ISymbolMarkSpec;\n };\n /**\n * type为image时, image的样式\n */\n image?: {\n style?: IImageGraphicAttribute;\n };\n /**\n * type为text时, text的样式\n */\n text?: IMarkerLabelSpec;\n /**\n * type为rich text时, rich text的样式\n */\n richText?: {\n style?: IRichTextGraphicAttribute;\n };\n}\n\nexport type IItemLine<T extends Partial<IMarkerSymbol> = IMarkerSymbol> = {\n /** TODO:'type-opo' */\n /**\n * 引导线类型\n * 'type-s'表示起点和终点直接连线; 'type-do'表示包含一个折点,且折点x坐标为起点到终点的 1/2 x坐标,折点y坐标为起点y坐标;'type-op' 表示包含一个折点,且折点x坐标为起点x坐标,折点y坐标为终点y坐标;'type-po' 表示包含一个折点,且折点x坐标为终点x坐标,折点y坐标为起点y坐标\n * 引导线类型的具体形式参考:https://journals.sagepub.com/doi/10.1177/1473871618799500\n */\n type?: 'type-s' | 'type-do' | 'type-po' | 'type-op';\n /**\n * 引导线可见性\n */\n visible?: boolean;\n /**\n * 垂直于引导线的装饰线,参考案例: https://observablehq.com/@mikelotis/edmonton-population-history-line-chart\n */\n decorativeLine?: {\n /**\n * 装饰线可见性\n */\n visible?: boolean;\n /**\n * 装饰线的长度\n */\n length?: number;\n };\n /**\n * 引导线起点symbol样式\n */\n startSymbol?: T;\n /**\n * 引导线终点symbol样式\n */\n endSymbol?: T;\n /**\n * 引导线样式\n */\n line?: {\n style?: Omit<ILineMarkSpec, 'visible'>;\n };\n};\n\nexport interface IMarkPointTheme<T extends Partial<IMarkerSymbol> = Partial<IMarkerSymbol>> {\n /**\n * 标注引导线\n */\n itemLine?: IItemLine<T>;\n\n /**\n * 标注内容\n */\n itemContent?: IItemContent;\n}\n"]}
@@ -37,7 +37,7 @@ export class MarkPoint extends BaseMarker {
37
37
  })), markPoints;
38
38
  }
39
39
  _createMarkerComponent() {
40
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
40
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
41
41
  const markPoint = new MarkPointComponent({
42
42
  zIndex: this.layoutZIndex,
43
43
  interactive: null !== (_a = this._spec.interactive) && void 0 !== _a && _a,
@@ -65,14 +65,22 @@ export class MarkPoint extends BaseMarker {
65
65
  }, this._spec.itemContent),
66
66
  clipInRange: null !== (_4 = this._spec.clip) && void 0 !== _4 && _4
67
67
  });
68
- this._markerComponent = markPoint, this._markerComponent.name = "markPoint", this._markerComponent.id = null !== (_5 = this._spec.id) && void 0 !== _5 ? _5 : `markPoint-${this.id}`,
68
+ this._markerComponent = markPoint, this._markerComponent.name = null !== (_5 = this._spec.name) && void 0 !== _5 ? _5 : this.type,
69
+ this._markerComponent.id = null !== (_6 = this._spec.id) && void 0 !== _6 ? _6 : `${this.type}-${this.id}`,
69
70
  this.getContainer().add(this._markerComponent);
70
71
  }
71
72
  _markerLayout() {
72
73
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
73
74
  const spec = this._spec, data = this._markerData, relativeSeries = this._relativeSeries, isCoordinateLayout = "coordinate" in spec, isPositionLayout = "position" in spec, autoRange = null !== (_a = null == spec ? void 0 : spec.autoRange) && void 0 !== _a && _a;
74
75
  let point;
75
- isCoordinateLayout ? point = coordinateLayout(data, relativeSeries, autoRange)[0] : isPositionLayout && (point = spec.position);
76
+ if (isCoordinateLayout) point = coordinateLayout(data, relativeSeries, autoRange)[0]; else if (isPositionLayout) if (point = spec.position,
77
+ spec.regionRelative) {
78
+ const region = relativeSeries.getRegion(), {x: regionStartX, y: regionStartY} = region.getLayoutStartPoint();
79
+ point = {
80
+ x: point.x + regionStartX,
81
+ y: point.y + regionStartY
82
+ };
83
+ } else point = spec.position;
76
84
  const seriesData = this._relativeSeries.getViewData().latestData, dataPoints = data ? data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData : seriesData;
77
85
  let limitRect;
78
86
  if (spec.clip) {
@@ -92,8 +100,8 @@ export class MarkPoint extends BaseMarker {
92
100
  })
93
101
  }),
94
102
  limitRect: limitRect,
95
- dx: this._layout.layoutOffsetX,
96
- dy: this._layout.layoutOffsetY
103
+ dx: this._layoutOffsetX,
104
+ dy: this._layoutOffsetY
97
105
  });
98
106
  }
99
107
  _initDataView() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/mark-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG/E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,MAAM,OAAO,SAAU,SAAQ,UAA4C;IAA3E;;QAEE,SAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC;QACnC,SAAI,GAAW,iBAAiB,CAAC,SAAS,CAAC;QAE3C,iBAAY,GAAW,YAAY,CAAC,SAAS,CAAC;IAwIhD,CAAC;IAjIC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YAC1B,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;YAC9D,OAAO,IAAI,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;SAC9C;QACD,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvB,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,kCAAO,OAAO,KAAE,SAAS,EAAE,CAAC,IAAG,CAAC,CAAC;aACjE;QACH,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,KAAK;YAC5C,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACxB,QAAQ,kBACN,SAAS,EAAE,kBAAkB,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,CAAC,IAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,CACvB;YACD,WAAW,kBACT,WAAW,EAAE,kBAAkB,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,MAAM,0CAAE,KAAK,CAAC,EACtE,UAAU,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,0CAAE,KAAK,EAChD,SAAS,kCACJ,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,KAC/B,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,eAAe,0CAAE,OAAO,EAC/D,KAAK,kCACA,kBAAkB,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,KAAK,CAAC,KAC1D,OAAO,EAAE,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,KAAK,0CAAE,OAAO,mCAAI,KAAK,KAEhE,KAAK,kCACA,kBAAkB,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,eAAe,0CAAE,KAAK,CAAC,KAC3E,OAAO,EAAE,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,eAAe,0CAAE,OAAO,mCAAI,IAAI,KAEzE,SAAS,EAAE,kBAAkB,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,KAAK,CAAC,KAEpE,aAAa,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,QAAQ,0CAAE,KAAK,IACnD,IAAI,CAAC,KAAK,CAAC,WAAW,CAC1B;YACD,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAoC,CAAC,CAAC;IACrE,CAAC;IAES,aAAa;;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,kBAAkB,GAAG,YAAY,IAAI,IAAI,CAAC;QAChD,MAAM,gBAAgB,GAAG,UAAU,IAAI,IAAI,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,mCAAI,KAAK,CAAC;QAE3C,IAAI,KAAiB,CAAC;QACtB,IAAI,kBAAkB,EAAE;YACtB,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D;aAAM,IAAI,gBAAgB,EAAE;YAC3B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;SACvB;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC/B,CAAC,CAAC,IAAI,CAAC,UAAU;YACnB,CAAC,CAAC,UAAU,CAAC;QAEf,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACxF,SAAS,GAAG;gBACV,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,KAAK,EAAE,IAAI,GAAG,IAAI;gBAClB,MAAM,EAAE,IAAI,GAAG,IAAI;aACpB,CAAC;SACH;QAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;YACnC,QAAQ,EAAE,KAAK;YACf,WAAW,kCACN,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,WAAW,KAChD,SAAS,kCACJ,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,WAAW,0CAAE,SAAS,KAC3D,IAAI,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,0CAAE,YAAY;wBAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;wBAClE,CAAC,CAAC,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,WAAW,0CAAE,SAAS,0CAAE,IAAI,MAErE;YACD,SAAS;YACT,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YAC9B,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;SAC/B,CAAC,CAAC;IACL,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAE/F,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;YACzC,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,mBAAmB;YACzB,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;AA3IM,cAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC;AA8I5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC","file":"mark-point.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkPoint, IMarkPointSpec, IMarkPointTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport type { INode } from '@visactor/vrender-core';\n\nexport class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n\n protected declare _theme: IMarkPointTheme;\n\n // markPoint组件\n protected declare _markerComponent: MarkPointComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markPointSpec = spec.markPoint;\n if (isEmpty(markPointSpec)) {\n return undefined;\n }\n if (!isArray(markPointSpec) && markPointSpec.visible !== false) {\n return new MarkPoint(markPointSpec, options);\n }\n const markPoints: MarkPoint[] = [];\n markPointSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markPoints.push(new MarkPoint(m, { ...options, specIndex: i }));\n }\n });\n return markPoints;\n }\n\n protected _createMarkerComponent() {\n const markPoint = new MarkPointComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n position: { x: 0, y: 0 },\n itemLine: {\n lineStyle: transformToGraphic(this._spec.itemLine?.line?.style),\n ...this._spec.itemLine\n },\n itemContent: {\n symbolStyle: transformToGraphic(this._spec.itemContent?.symbol?.style),\n imageStyle: this._spec.itemContent?.image?.style,\n textStyle: {\n ...this._spec.itemContent?.text,\n padding: this._spec.itemContent?.text?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.itemContent?.text?.shape),\n visible: this._spec.itemContent?.text?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.itemContent?.text?.labelBackground?.style),\n visible: this._spec.itemContent?.text?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.itemContent?.text?.style)\n },\n richTextStyle: this._spec.itemContent?.richText?.style,\n ...this._spec.itemContent\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markPoint;\n this._markerComponent.name = 'markPoint';\n this._markerComponent.id = this._spec.id ?? `markPoint-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isCoordinateLayout = 'coordinate' in spec;\n const isPositionLayout = 'position' in spec;\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPointLike;\n if (isCoordinateLayout) {\n point = coordinateLayout(data, relativeSeries, autoRange)[0];\n } else if (isPositionLayout) {\n point = spec.position;\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n this._markerComponent?.setAttributes({\n position: point,\n itemContent: {\n ...this._markerComponent?.attribute?.itemContent,\n textStyle: {\n ...this._markerComponent?.attribute?.itemContent?.textStyle,\n text: this._spec.itemContent.text?.formatMethod\n ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.itemContent?.textStyle?.text\n }\n },\n limitRect,\n dx: this._layout.layoutOffsetX,\n dy: this._layout.layoutOffsetY\n });\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const relativeSeries = this._relativeSeries;\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n\n const options = this._processSpecCoo(spec);\n\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([relativeSeries.getViewData()], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(MarkPoint.type, MarkPoint);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/mark-point.ts"],"names":[],"mappings":"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","file":"mark-point.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkPoint, IMarkPointSpec, IMarkPointTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport type { INode } from '@visactor/vrender-core';\nimport type { IPoint } from '../../../typings';\n\nexport class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n\n protected declare _theme: IMarkPointTheme;\n\n // markPoint组件\n protected declare _markerComponent: MarkPointComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markPointSpec = spec.markPoint;\n if (isEmpty(markPointSpec)) {\n return undefined;\n }\n if (!isArray(markPointSpec) && markPointSpec.visible !== false) {\n return new MarkPoint(markPointSpec, options);\n }\n const markPoints: MarkPoint[] = [];\n markPointSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markPoints.push(new MarkPoint(m, { ...options, specIndex: i }));\n }\n });\n return markPoints;\n }\n\n protected _createMarkerComponent() {\n const markPoint = new MarkPointComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n position: { x: 0, y: 0 },\n itemLine: {\n lineStyle: transformToGraphic(this._spec.itemLine?.line?.style),\n ...this._spec.itemLine\n },\n itemContent: {\n symbolStyle: transformToGraphic(this._spec.itemContent?.symbol?.style),\n imageStyle: this._spec.itemContent?.image?.style,\n textStyle: {\n ...this._spec.itemContent?.text,\n padding: this._spec.itemContent?.text?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.itemContent?.text?.shape),\n visible: this._spec.itemContent?.text?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.itemContent?.text?.labelBackground?.style),\n visible: this._spec.itemContent?.text?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.itemContent?.text?.style)\n },\n richTextStyle: this._spec.itemContent?.richText?.style,\n ...this._spec.itemContent\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markPoint;\n this._markerComponent.name = this._spec.name ?? this.type;\n this._markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isCoordinateLayout = 'coordinate' in spec;\n const isPositionLayout = 'position' in spec;\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPoint;\n if (isCoordinateLayout) {\n point = coordinateLayout(data, relativeSeries, autoRange)[0];\n } else if (isPositionLayout) {\n point = spec.position;\n\n if (spec.regionRelative) {\n const region = relativeSeries.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n point = {\n x: point.x + regionStartX,\n y: point.y + regionStartY\n };\n } else {\n point = spec.position;\n }\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n this._markerComponent?.setAttributes({\n position: point,\n itemContent: {\n ...this._markerComponent?.attribute?.itemContent,\n textStyle: {\n ...this._markerComponent?.attribute?.itemContent?.textStyle,\n text: this._spec.itemContent.text?.formatMethod\n ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.itemContent?.textStyle?.text\n }\n },\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const relativeSeries = this._relativeSeries;\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n\n const options = this._processSpecCoo(spec);\n\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([relativeSeries.getViewData()], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(MarkPoint.type, MarkPoint);\n};\n"]}
@@ -1,6 +1,5 @@
1
1
  import type { ICartesianSeries } from '../../series/interface';
2
2
  import type { DataView } from '@visactor/vdataset';
3
- import type { IPointLike } from '@visactor/vutils';
4
- export declare function xLayout(data: DataView, startRelativeSeries: ICartesianSeries, endRelativeSeries: ICartesianSeries, relativeSeries: ICartesianSeries, autoRange: boolean): [IPointLike, IPointLike][];
5
- export declare function yLayout(data: DataView, startRelativeSeries: ICartesianSeries, endRelativeSeries: ICartesianSeries, relativeSeries: ICartesianSeries, autoRange: boolean): [IPointLike, IPointLike][];
6
- export declare function coordinateLayout(data: DataView, relativeSeries: ICartesianSeries, autoRange: boolean): IPointLike[];
3
+ import type { IPoint } from '../../typings';
4
+ export declare function xyLayout(data: DataView, startRelativeSeries: ICartesianSeries, endRelativeSeries: ICartesianSeries, relativeSeries: ICartesianSeries, autoRange: boolean): IPoint[][];
5
+ export declare function coordinateLayout(data: DataView, relativeSeries: ICartesianSeries, autoRange: boolean): IPoint[];
@@ -1,12 +1,19 @@
1
- import { isValid, isNumber } from "@visactor/vutils";
1
+ import { isValid, isNumber, array, minInArray, maxInArray } from "@visactor/vutils";
2
2
 
3
- export function xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange) {
4
- const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), lines = [], dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, xDomain = relativeSeries.getXAxisHelper().getScale(0).domain();
3
+ import { isPercent } from "../../util";
4
+
5
+ export function xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange) {
6
+ 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)), lines = [], dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, xDomain = relativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = relativeSeries.getYAxisHelper().getScale(0).domain();
5
7
  return dataPoints.forEach((datum => {
6
- var _a, _b;
7
- if (isValid(datum.x)) {
8
- 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));
9
- const x = relativeSeries.getXAxisHelper().dataToPosition([ datum.x ]) + regionStartLayoutStartPoint.x, y = Math.max(regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height), y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);
8
+ const isValidX = isValid(datum.x), isValidY = isValid(datum.y);
9
+ if (isValidX && isValidY) {
10
+ const x = getXValue(datum, xDomain, autoRange, relativeSeries, regionWidth, regionStartLayoutStartPoint), y = getYValue(datum, yDomain, autoRange, relativeSeries, regionHeight, regionStartLayoutStartPoint);
11
+ lines.push([ {
12
+ x: x,
13
+ y: y
14
+ } ]);
15
+ } else if (isValid(datum.x)) {
16
+ const x = getXValue(datum, xDomain, autoRange, relativeSeries, regionWidth, regionStartLayoutStartPoint), y = Math.max(regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height), y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);
10
17
  lines.push([ {
11
18
  x: x,
12
19
  y: y
@@ -14,17 +21,8 @@ export function xLayout(data, startRelativeSeries, endRelativeSeries, relativeSe
14
21
  x: x,
15
22
  y: y1
16
23
  } ]);
17
- }
18
- })), lines;
19
- }
20
-
21
- export function yLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange) {
22
- const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), lines = [], dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, yDomain = relativeSeries.getYAxisHelper().getScale(0).domain();
23
- return dataPoints.forEach((datum => {
24
- var _a, _b;
25
- if (isValid(datum.y)) {
26
- 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));
27
- const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x), y = relativeSeries.getYAxisHelper().dataToPosition([ datum.y ]) + regionStartLayoutStartPoint.y, x1 = Math.max(regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width);
24
+ } else if (isValid(datum.y)) {
25
+ const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x), y = getYValue(datum, yDomain, autoRange, relativeSeries, regionHeight, regionStartLayoutStartPoint), x1 = Math.max(regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width);
28
26
  lines.push([ {
29
27
  x: x,
30
28
  y: y
@@ -40,19 +38,41 @@ export function coordinateLayout(data, relativeSeries, autoRange) {
40
38
  const points = [];
41
39
  return (data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData).forEach((datum => {
42
40
  var _a, _b, _c, _d;
43
- const refRelativeSeries = (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries, regionStartLayoutStartPoint = refRelativeSeries.getRegion().getLayoutStartPoint(), xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();
44
- isNumber(datum.x) && isNeedExtendDomain(xDomain, datum.x, autoRange) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", datum.x)),
45
- isNumber(datum.y) && isNeedExtendDomain(yDomain, datum.y, autoRange) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, "marker_yAxis_extend", datum.y)),
41
+ const refRelativeSeries = (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries, regionStartLayoutStartPoint = refRelativeSeries.getRegion().getLayoutStartPoint(), xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain(), xValue = array(datum.x), yValue = array(datum.y);
42
+ 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])),
43
+ 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])),
46
44
  points.push({
47
- x: refRelativeSeries.getXAxisHelper().dataToPosition([ datum.x ]) + regionStartLayoutStartPoint.x,
48
- y: refRelativeSeries.getYAxisHelper().dataToPosition([ datum.y ]) + regionStartLayoutStartPoint.y
45
+ x: refRelativeSeries.getXAxisHelper().dataToPosition(xValue) + regionStartLayoutStartPoint.x,
46
+ y: refRelativeSeries.getYAxisHelper().dataToPosition(yValue) + regionStartLayoutStartPoint.y
49
47
  });
50
48
  })), points;
51
49
  }
52
50
 
53
51
  function isNeedExtendDomain(domain, datum, autoRange) {
54
52
  if (!autoRange) return !1;
55
- const min = Math.min(...domain), max = Math.max(...domain);
53
+ const domainNum = domain.map((n => 1 * n)), min = minInArray(domainNum), max = maxInArray(domainNum);
56
54
  return datum < min || datum > max;
57
55
  }
56
+
57
+ function getXValue(datum, xDomain, autoRange, relativeSeries, regionWidth, regionStartLayoutStartPoint) {
58
+ var _a, _b;
59
+ let x;
60
+ if (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)),
61
+ isPercent(datum.x)) {
62
+ const percent = datum.x;
63
+ x = Number(percent.substring(0, percent.length - 1)) * regionWidth / 100 + regionStartLayoutStartPoint.x;
64
+ } else x = relativeSeries.getXAxisHelper().dataToPosition([ datum.x ]) + regionStartLayoutStartPoint.x;
65
+ return x;
66
+ }
67
+
68
+ function getYValue(datum, yDomain, autoRange, relativeSeries, regionHeight, regionStartLayoutStartPoint) {
69
+ var _a, _b;
70
+ let y;
71
+ if (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)),
72
+ isPercent(datum.y)) {
73
+ const percent = datum.y;
74
+ y = Number(percent.substring(0, percent.length - 1)) * regionHeight / 100 + regionStartLayoutStartPoint.y;
75
+ } else y = relativeSeries.getYAxisHelper().dataToPosition([ datum.y ]) + regionStartLayoutStartPoint.y;
76
+ return y;
77
+ }
58
78
  //# sourceMappingURL=utils.js.map