@visactor/vchart 1.12.4-alpha.0 → 1.12.4-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 (861) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +4643 -4456
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +1 -1
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base/base-chart-transformer.js +4 -4
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +2 -0
  10. package/cjs/chart/base/base-chart.js +26 -13
  11. package/cjs/chart/base/base-chart.js.map +1 -1
  12. package/cjs/chart/chart-meta/data.d.ts +1 -2
  13. package/cjs/chart/chart-meta/data.js +11 -11
  14. package/cjs/chart/chart-meta/data.js.map +1 -1
  15. package/cjs/chart/gauge/interface.d.ts +1 -1
  16. package/cjs/chart/gauge/interface.js.map +1 -1
  17. package/cjs/chart/interface/chart.d.ts +1 -0
  18. package/cjs/chart/interface/chart.js.map +1 -1
  19. package/cjs/chart/mosaic/mosaic.d.ts +0 -1
  20. package/cjs/chart/mosaic/mosaic.js +0 -3
  21. package/cjs/chart/mosaic/mosaic.js.map +1 -1
  22. package/cjs/chart/pie/interface.d.ts +2 -2
  23. package/cjs/chart/pie/interface.js.map +1 -1
  24. package/cjs/chart/polar/interface.d.ts +2 -0
  25. package/cjs/chart/polar/interface.js.map +1 -1
  26. package/cjs/chart/sankey/sankey-transformer.js +1 -0
  27. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  28. package/cjs/chart/treemap/interface.d.ts +1 -1
  29. package/cjs/chart/treemap/interface.js.map +1 -1
  30. package/cjs/chart/venn/interface.d.ts +2 -2
  31. package/cjs/chart/venn/interface.js.map +1 -1
  32. package/cjs/compile/compilable-base.js +2 -1
  33. package/cjs/compile/compiler.js +4 -1
  34. package/cjs/compile/compiler.js.map +1 -1
  35. package/cjs/compile/interface/compiler.d.ts +15 -0
  36. package/cjs/compile/interface/compiler.js.map +1 -1
  37. package/cjs/compile/mark/compilable-mark.d.ts +7 -39
  38. package/cjs/compile/mark/compilable-mark.js +20 -90
  39. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  40. package/cjs/compile/mark/interface.d.ts +5 -25
  41. package/cjs/compile/mark/interface.js.map +1 -1
  42. package/cjs/compile/util.js +1 -2
  43. package/cjs/component/axis/base-axis.d.ts +2 -2
  44. package/cjs/component/axis/base-axis.js +36 -26
  45. package/cjs/component/axis/base-axis.js.map +1 -1
  46. package/cjs/component/axis/cartesian/axis.d.ts +2 -0
  47. package/cjs/component/axis/cartesian/axis.js +55 -14
  48. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  49. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  50. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  51. package/cjs/component/axis/cartesian/linear-axis.js +1 -1
  52. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  53. package/cjs/component/axis/cartesian/time-axis.js +4 -1
  54. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  55. package/cjs/component/axis/interface/spec.d.ts +1 -0
  56. package/cjs/component/axis/interface/spec.js.map +1 -1
  57. package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -10
  58. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  59. package/cjs/component/axis/mixin/util/break-data.d.ts +1 -1
  60. package/cjs/component/axis/mixin/util/break-data.js +35 -12
  61. package/cjs/component/axis/mixin/util/break-data.js.map +1 -1
  62. package/cjs/component/axis/polar/axis.d.ts +1 -1
  63. package/cjs/component/axis/polar/axis.js +18 -38
  64. package/cjs/component/axis/polar/axis.js.map +1 -1
  65. package/cjs/component/axis/polar/interface/spec.d.ts +3 -1
  66. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  67. package/cjs/component/axis/polar/util/common.js +1 -1
  68. package/cjs/component/axis/polar/util/common.js.map +1 -1
  69. package/cjs/component/axis/util.d.ts +3 -0
  70. package/cjs/component/axis/util.js +6 -2
  71. package/cjs/component/axis/util.js.map +1 -1
  72. package/cjs/component/base/base-component.js +1 -3
  73. package/cjs/component/base/base-component.js.map +1 -1
  74. package/cjs/component/brush/brush.js +2 -8
  75. package/cjs/component/brush/brush.js.map +1 -1
  76. package/cjs/component/crosshair/cartesian.js +2 -18
  77. package/cjs/component/crosshair/cartesian.js.map +1 -1
  78. package/cjs/component/crosshair/polar.js +2 -18
  79. package/cjs/component/crosshair/polar.js.map +1 -1
  80. package/cjs/component/custom-mark/custom-mark.d.ts +1 -4
  81. package/cjs/component/custom-mark/custom-mark.js +3 -28
  82. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  83. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -0
  84. package/cjs/component/data-zoom/data-filter-base-component.js +31 -15
  85. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  86. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  87. package/cjs/component/data-zoom/data-zoom/data-zoom.js +0 -19
  88. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  89. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  90. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +5 -20
  91. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  92. package/cjs/component/data-zoom/util.js +11 -3
  93. package/cjs/component/data-zoom/util.js.map +1 -1
  94. package/cjs/component/geo/geo-coordinate.d.ts +7 -0
  95. package/cjs/component/geo/geo-coordinate.js +10 -2
  96. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  97. package/cjs/component/indicator/indicator.js +2 -18
  98. package/cjs/component/indicator/indicator.js.map +1 -1
  99. package/cjs/component/interface/common.d.ts +1 -1
  100. package/cjs/component/interface/common.js.map +1 -1
  101. package/cjs/component/interface/index.d.ts +0 -1
  102. package/cjs/component/interface/index.js +1 -1
  103. package/cjs/component/interface/index.js.map +1 -1
  104. package/cjs/component/label/base-label.d.ts +1 -2
  105. package/cjs/component/label/base-label.js +0 -3
  106. package/cjs/component/label/base-label.js.map +1 -1
  107. package/cjs/component/label/interface.d.ts +2 -2
  108. package/cjs/component/label/interface.js.map +1 -1
  109. package/cjs/component/label/label.d.ts +0 -1
  110. package/cjs/component/label/label.js +18 -21
  111. package/cjs/component/label/label.js.map +1 -1
  112. package/cjs/component/label/total-label.d.ts +1 -1
  113. package/cjs/component/label/total-label.js +7 -13
  114. package/cjs/component/label/total-label.js.map +1 -1
  115. package/cjs/component/label/util.d.ts +5 -5
  116. package/cjs/component/label/util.js +13 -8
  117. package/cjs/component/label/util.js.map +1 -1
  118. package/cjs/component/legend/continuous/legend.js +6 -18
  119. package/cjs/component/legend/continuous/legend.js.map +1 -1
  120. package/cjs/component/legend/discrete/legend.js +1 -17
  121. package/cjs/component/legend/discrete/legend.js.map +1 -1
  122. package/cjs/component/legend/util.d.ts +2 -2
  123. package/cjs/component/map-label/component.js +3 -8
  124. package/cjs/component/map-label/component.js.map +1 -1
  125. package/cjs/component/marker/base-marker.d.ts +4 -1
  126. package/cjs/component/marker/base-marker.js +14 -19
  127. package/cjs/component/marker/base-marker.js.map +1 -1
  128. package/cjs/component/marker/interface.d.ts +9 -2
  129. package/cjs/component/marker/interface.js.map +1 -1
  130. package/cjs/component/marker/mark-area/base-mark-area.js +5 -5
  131. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
  132. package/cjs/component/marker/mark-line/base-mark-line.js +9 -9
  133. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  134. package/cjs/component/marker/mark-point/base-mark-point.js +16 -15
  135. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  136. package/cjs/component/marker/utils.d.ts +4 -4
  137. package/cjs/component/marker/utils.js +7 -7
  138. package/cjs/component/marker/utils.js.map +1 -1
  139. package/cjs/component/player/player.d.ts +1 -3
  140. package/cjs/component/player/player.js +0 -9
  141. package/cjs/component/player/player.js.map +1 -1
  142. package/cjs/component/title/interface/spec.d.ts +3 -3
  143. package/cjs/component/title/interface/spec.js.map +1 -1
  144. package/cjs/component/title/interface/theme.d.ts +1 -1
  145. package/cjs/component/title/interface/theme.js.map +1 -1
  146. package/cjs/component/title/title.js +22 -34
  147. package/cjs/component/title/title.js.map +1 -1
  148. package/cjs/component/tooltip/constant.d.ts +5 -4
  149. package/cjs/component/tooltip/constant.js +7 -7
  150. package/cjs/component/tooltip/constant.js.map +1 -1
  151. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  152. package/cjs/component/tooltip/interface/common.js.map +1 -1
  153. package/cjs/component/tooltip/interface/spec.d.ts +23 -3
  154. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  155. package/cjs/component/tooltip/interface/theme.d.ts +2 -2
  156. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  157. package/cjs/component/tooltip/processor/base.d.ts +4 -6
  158. package/cjs/component/tooltip/processor/base.js +25 -29
  159. package/cjs/component/tooltip/processor/base.js.map +1 -1
  160. package/cjs/component/tooltip/processor/dimension-tooltip.js +1 -6
  161. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  162. package/cjs/component/tooltip/processor/group-tooltip.js +5 -5
  163. package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
  164. package/cjs/component/tooltip/processor/mark-tooltip.js +31 -5
  165. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  166. package/cjs/component/tooltip/tooltip-transformer.js +2 -4
  167. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  168. package/cjs/component/tooltip/tooltip.d.ts +13 -6
  169. package/cjs/component/tooltip/tooltip.js +109 -89
  170. package/cjs/component/tooltip/tooltip.js.map +1 -1
  171. package/cjs/component/tooltip/utils/common.d.ts +6 -4
  172. package/cjs/component/tooltip/utils/common.js +54 -7
  173. package/cjs/component/tooltip/utils/common.js.map +1 -1
  174. package/cjs/component/tooltip/utils/get-spec.d.ts +4 -4
  175. package/cjs/component/tooltip/utils/get-spec.js +20 -82
  176. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  177. package/cjs/component/tooltip/utils/get-value.d.ts +1 -2
  178. package/cjs/component/tooltip/utils/get-value.js +2 -12
  179. package/cjs/component/tooltip/utils/get-value.js.map +1 -1
  180. package/cjs/component/tooltip/utils/index.d.ts +0 -1
  181. package/cjs/component/tooltip/utils/index.js +1 -2
  182. package/cjs/component/tooltip/utils/index.js.map +1 -1
  183. package/cjs/component/util.d.ts +3 -0
  184. package/cjs/component/util.js +16 -1
  185. package/cjs/component/util.js.map +1 -1
  186. package/cjs/constant/layout.d.ts +1 -0
  187. package/cjs/constant/layout.js +11 -10
  188. package/cjs/constant/layout.js.map +1 -1
  189. package/cjs/core/factory.js +3 -1
  190. package/cjs/core/factory.js.map +1 -1
  191. package/cjs/core/index.d.ts +1 -1
  192. package/cjs/core/index.js +1 -1
  193. package/cjs/core/index.js.map +1 -1
  194. package/cjs/core/vchart.d.ts +2 -1
  195. package/cjs/core/vchart.js +39 -36
  196. package/cjs/core/vchart.js.map +1 -1
  197. package/cjs/data/initialize.d.ts +1 -2
  198. package/cjs/data/initialize.js +5 -5
  199. package/cjs/data/initialize.js.map +1 -1
  200. package/cjs/data/transforms/pie.d.ts +3 -0
  201. package/cjs/data/transforms/pie.js +8 -3
  202. package/cjs/data/transforms/pie.js.map +1 -1
  203. package/cjs/event/event-dispatcher.js +1 -9
  204. package/cjs/event/event-dispatcher.js.map +1 -1
  205. package/cjs/interaction/interaction.d.ts +2 -0
  206. package/cjs/interaction/interaction.js +10 -0
  207. package/cjs/interaction/interaction.js.map +1 -1
  208. package/cjs/interaction/interface.d.ts +2 -0
  209. package/cjs/interaction/interface.js.map +1 -1
  210. package/cjs/interaction/zoom/zoomable.js +2 -1
  211. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  212. package/cjs/mark/base/base-line.js +3 -1
  213. package/cjs/mark/base/base-line.js.map +1 -1
  214. package/cjs/mark/base/base-mark.js +3 -3
  215. package/cjs/mark/base/base-mark.js.map +1 -1
  216. package/cjs/mark/group.js +1 -1
  217. package/cjs/mark/group.js.map +1 -1
  218. package/cjs/mark/interface/common.d.ts +10 -0
  219. package/cjs/mark/interface/common.js.map +1 -1
  220. package/cjs/model/base-model.d.ts +2 -2
  221. package/cjs/model/base-model.js +2 -2
  222. package/cjs/model/base-model.js.map +1 -1
  223. package/cjs/model/interface.d.ts +14 -0
  224. package/cjs/model/interface.js.map +1 -1
  225. package/cjs/plugin/chart/media-query/media-query.d.ts +1 -0
  226. package/cjs/plugin/chart/media-query/media-query.js +3 -1
  227. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  228. package/cjs/plugin/chart/plugin-service.d.ts +2 -0
  229. package/cjs/plugin/chart/plugin-service.js +5 -0
  230. package/cjs/plugin/chart/plugin-service.js.map +1 -1
  231. package/cjs/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  232. package/cjs/plugin/components/axis-sync/zero-align-transform.js +17 -4
  233. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  234. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -16
  235. package/cjs/plugin/components/tooltip-handler/base.js +84 -228
  236. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  237. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  238. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  239. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  240. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -19
  241. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  242. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  243. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  244. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js +7 -2
  245. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  246. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  247. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  248. package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  249. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  250. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  251. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  252. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  253. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  254. package/cjs/plugin/components/tooltip-handler/utils/position.js +22 -29
  255. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  256. package/cjs/region/interface.d.ts +3 -1
  257. package/cjs/region/interface.js.map +1 -1
  258. package/cjs/region/region.js +12 -8
  259. package/cjs/region/region.js.map +1 -1
  260. package/cjs/series/area/area-transformer.js +1 -2
  261. package/cjs/series/area/area-transformer.js.map +1 -1
  262. package/cjs/series/area/area.d.ts +2 -0
  263. package/cjs/series/area/area.js +54 -38
  264. package/cjs/series/area/area.js.map +1 -1
  265. package/cjs/series/bar/bar.d.ts +4 -4
  266. package/cjs/series/bar/bar.js +68 -62
  267. package/cjs/series/bar/bar.js.map +1 -1
  268. package/cjs/series/bar/interface.d.ts +5 -1
  269. package/cjs/series/bar/interface.js.map +1 -1
  270. package/cjs/series/base/base-series-transformer.js +7 -4
  271. package/cjs/series/base/base-series-transformer.js.map +1 -1
  272. package/cjs/series/base/base-series.d.ts +8 -7
  273. package/cjs/series/base/base-series.js +51 -37
  274. package/cjs/series/base/base-series.js.map +1 -1
  275. package/cjs/series/base/constant.js +1 -0
  276. package/cjs/series/base/constant.js.map +1 -1
  277. package/cjs/series/base/tooltip-helper.d.ts +30 -6
  278. package/cjs/series/base/tooltip-helper.js +80 -73
  279. package/cjs/series/base/tooltip-helper.js.map +1 -1
  280. package/cjs/series/box-plot/box-plot.d.ts +1 -0
  281. package/cjs/series/box-plot/box-plot.js +9 -5
  282. package/cjs/series/box-plot/box-plot.js.map +1 -1
  283. package/cjs/series/box-plot/tooltip-helper.d.ts +2 -2
  284. package/cjs/series/box-plot/tooltip-helper.js +26 -67
  285. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  286. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  287. package/cjs/series/circle-packing/circle-packing.js +4 -4
  288. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  289. package/cjs/series/correlation/correlation.d.ts +1 -0
  290. package/cjs/series/correlation/correlation.js +16 -6
  291. package/cjs/series/correlation/correlation.js.map +1 -1
  292. package/cjs/series/dot/dot.d.ts +0 -1
  293. package/cjs/series/dot/dot.js +7 -8
  294. package/cjs/series/dot/dot.js.map +1 -1
  295. package/cjs/series/dot/tooltip-helper.d.ts +8 -2
  296. package/cjs/series/dot/tooltip-helper.js +42 -52
  297. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  298. package/cjs/series/funnel/3d/funnel-3d.js +2 -1
  299. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  300. package/cjs/series/funnel/funnel.d.ts +2 -0
  301. package/cjs/series/funnel/funnel.js +35 -27
  302. package/cjs/series/funnel/funnel.js.map +1 -1
  303. package/cjs/series/funnel/interface.d.ts +3 -1
  304. package/cjs/series/funnel/interface.js.map +1 -1
  305. package/cjs/series/gauge/gauge-pointer.js +3 -2
  306. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  307. package/cjs/series/gauge/interface.d.ts +1 -1
  308. package/cjs/series/gauge/interface.js.map +1 -1
  309. package/cjs/series/gauge/pointer-tooltip-helper.d.ts +6 -0
  310. package/cjs/series/gauge/pointer-tooltip-helper.js +16 -0
  311. package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -0
  312. package/cjs/series/heatmap/heatmap.js +10 -10
  313. package/cjs/series/heatmap/heatmap.js.map +1 -1
  314. package/cjs/series/heatmap/tooltip-helper.d.ts +2 -3
  315. package/cjs/series/heatmap/tooltip-helper.js +3 -5
  316. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  317. package/cjs/series/interface/common.d.ts +1 -9
  318. package/cjs/series/interface/common.js.map +1 -1
  319. package/cjs/series/interface/tooltip-helper.d.ts +5 -4
  320. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  321. package/cjs/series/line/line.js +2 -2
  322. package/cjs/series/line/line.js.map +1 -1
  323. package/cjs/series/link/link.js +7 -3
  324. package/cjs/series/link/link.js.map +1 -1
  325. package/cjs/series/link/tooltip-helper.d.ts +5 -2
  326. package/cjs/series/link/tooltip-helper.js +26 -38
  327. package/cjs/series/link/tooltip-helper.js.map +1 -1
  328. package/cjs/series/liquid/liquid.js +11 -6
  329. package/cjs/series/liquid/liquid.js.map +1 -1
  330. package/cjs/series/liquid/tooltip-helper.d.ts +4 -5
  331. package/cjs/series/liquid/tooltip-helper.js +2 -22
  332. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  333. package/cjs/series/map/map.d.ts +1 -0
  334. package/cjs/series/map/map.js +7 -2
  335. package/cjs/series/map/map.js.map +1 -1
  336. package/cjs/series/mixin/line-mixin.d.ts +2 -2
  337. package/cjs/series/mixin/line-mixin.js +15 -14
  338. package/cjs/series/mixin/line-mixin.js.map +1 -1
  339. package/cjs/series/pie/3d/pie-3d.js +3 -1
  340. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  341. package/cjs/series/pie/interface.d.ts +3 -3
  342. package/cjs/series/pie/interface.js.map +1 -1
  343. package/cjs/series/pie/pie.d.ts +1 -0
  344. package/cjs/series/pie/pie.js +22 -13
  345. package/cjs/series/pie/pie.js.map +1 -1
  346. package/cjs/series/polar/animation.d.ts +9 -11
  347. package/cjs/series/polar/animation.js +28 -35
  348. package/cjs/series/polar/animation.js.map +1 -1
  349. package/cjs/series/polar/polar.js +9 -2
  350. package/cjs/series/polar/polar.js.map +1 -1
  351. package/cjs/series/polar/progress-like/progress-like.js +29 -24
  352. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  353. package/cjs/series/progress/circular/circular.js +6 -4
  354. package/cjs/series/progress/circular/circular.js.map +1 -1
  355. package/cjs/series/progress/linear/linear.js +10 -8
  356. package/cjs/series/progress/linear/linear.js.map +1 -1
  357. package/cjs/series/progress/linear/tooltip-helper.d.ts +2 -3
  358. package/cjs/series/progress/linear/tooltip-helper.js +2 -11
  359. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  360. package/cjs/series/radar/animation.d.ts +0 -3
  361. package/cjs/series/radar/animation.js +4 -4
  362. package/cjs/series/radar/animation.js.map +1 -1
  363. package/cjs/series/radar/radar.js +18 -14
  364. package/cjs/series/radar/radar.js.map +1 -1
  365. package/cjs/series/range-area/range-area.js +4 -3
  366. package/cjs/series/range-area/range-area.js.map +1 -1
  367. package/cjs/series/range-area/tooltip-helper.d.ts +1 -3
  368. package/cjs/series/range-area/tooltip-helper.js +2 -50
  369. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  370. package/cjs/series/range-column/range-column.js +5 -4
  371. package/cjs/series/range-column/range-column.js.map +1 -1
  372. package/cjs/series/range-column/tooltip-helper.d.ts +1 -2
  373. package/cjs/series/range-column/tooltip-helper.js +2 -19
  374. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  375. package/cjs/series/rose/rose.js +5 -4
  376. package/cjs/series/rose/rose.js.map +1 -1
  377. package/cjs/series/sankey/interface.d.ts +1 -0
  378. package/cjs/series/sankey/interface.js.map +1 -1
  379. package/cjs/series/sankey/sankey.d.ts +2 -2
  380. package/cjs/series/sankey/sankey.js +18 -6
  381. package/cjs/series/sankey/sankey.js.map +1 -1
  382. package/cjs/series/sankey/tooltip-helper.d.ts +3 -3
  383. package/cjs/series/sankey/tooltip-helper.js +10 -57
  384. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  385. package/cjs/series/scatter/scatter.js +8 -10
  386. package/cjs/series/scatter/scatter.js.map +1 -1
  387. package/cjs/series/sunburst/sunburst.js +3 -2
  388. package/cjs/series/sunburst/sunburst.js.map +1 -1
  389. package/cjs/series/treemap/treemap.js +6 -4
  390. package/cjs/series/treemap/treemap.js.map +1 -1
  391. package/cjs/series/waterfall/waterfall.d.ts +1 -0
  392. package/cjs/series/waterfall/waterfall.js +7 -2
  393. package/cjs/series/waterfall/waterfall.js.map +1 -1
  394. package/cjs/series/word-cloud/base.js +37 -23
  395. package/cjs/series/word-cloud/base.js.map +1 -1
  396. package/cjs/series/word-cloud/word-cloud-3d.js +2 -1
  397. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  398. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  399. package/cjs/theme/builtin/common/mark.js +2 -0
  400. package/cjs/theme/builtin/common/mark.js.map +1 -1
  401. package/cjs/theme/builtin/common/series/linear-progress.js +4 -1
  402. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -1
  403. package/cjs/theme/builtin/dark/color-scheme.js +2 -1
  404. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  405. package/cjs/theme/builtin/light/color-scheme.js +2 -1
  406. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  407. package/cjs/typings/spec/common.d.ts +10 -5
  408. package/cjs/typings/spec/common.js.map +1 -1
  409. package/cjs/typings/tooltip/position.d.ts +1 -0
  410. package/cjs/typings/tooltip/position.js.map +1 -1
  411. package/cjs/typings/tooltip/shape.d.ts +0 -1
  412. package/cjs/typings/tooltip/shape.js.map +1 -1
  413. package/cjs/typings/tooltip/tooltip.d.ts +7 -0
  414. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  415. package/cjs/util/array.d.ts +1 -1
  416. package/cjs/util/array.js +7 -6
  417. package/cjs/util/array.js.map +1 -1
  418. package/cjs/util/math.d.ts +1 -0
  419. package/cjs/util/math.js +7 -2
  420. package/cjs/util/math.js.map +1 -1
  421. package/cjs/util/scale.d.ts +1 -1
  422. package/cjs/util/scale.js +2 -2
  423. package/cjs/util/scale.js.map +1 -1
  424. package/esm/animation/utils.js +1 -1
  425. package/esm/animation/utils.js.map +1 -1
  426. package/esm/chart/base/base-chart-transformer.js +5 -3
  427. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  428. package/esm/chart/base/base-chart.d.ts +2 -0
  429. package/esm/chart/base/base-chart.js +28 -13
  430. package/esm/chart/base/base-chart.js.map +1 -1
  431. package/esm/chart/chart-meta/data.d.ts +1 -2
  432. package/esm/chart/chart-meta/data.js +12 -10
  433. package/esm/chart/chart-meta/data.js.map +1 -1
  434. package/esm/chart/gauge/interface.d.ts +1 -1
  435. package/esm/chart/gauge/interface.js.map +1 -1
  436. package/esm/chart/interface/chart.d.ts +1 -0
  437. package/esm/chart/interface/chart.js.map +1 -1
  438. package/esm/chart/mosaic/mosaic.d.ts +0 -1
  439. package/esm/chart/mosaic/mosaic.js +0 -3
  440. package/esm/chart/mosaic/mosaic.js.map +1 -1
  441. package/esm/chart/pie/interface.d.ts +2 -2
  442. package/esm/chart/pie/interface.js.map +1 -1
  443. package/esm/chart/polar/interface.d.ts +2 -0
  444. package/esm/chart/polar/interface.js.map +1 -1
  445. package/esm/chart/sankey/sankey-transformer.js +1 -0
  446. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  447. package/esm/chart/treemap/interface.d.ts +1 -1
  448. package/esm/chart/treemap/interface.js.map +1 -1
  449. package/esm/chart/venn/interface.d.ts +2 -2
  450. package/esm/chart/venn/interface.js.map +1 -1
  451. package/esm/compile/compilable-base.js +2 -1
  452. package/esm/compile/compiler.js +2 -1
  453. package/esm/compile/compiler.js.map +1 -1
  454. package/esm/compile/interface/compiler.d.ts +15 -0
  455. package/esm/compile/interface/compiler.js.map +1 -1
  456. package/esm/compile/mark/compilable-mark.d.ts +7 -39
  457. package/esm/compile/mark/compilable-mark.js +21 -90
  458. package/esm/compile/mark/compilable-mark.js.map +1 -1
  459. package/esm/compile/mark/interface.d.ts +5 -25
  460. package/esm/compile/mark/interface.js.map +1 -1
  461. package/esm/compile/util.js +1 -2
  462. package/esm/component/axis/base-axis.d.ts +2 -2
  463. package/esm/component/axis/base-axis.js +31 -22
  464. package/esm/component/axis/base-axis.js.map +1 -1
  465. package/esm/component/axis/cartesian/axis.d.ts +2 -0
  466. package/esm/component/axis/cartesian/axis.js +48 -14
  467. package/esm/component/axis/cartesian/axis.js.map +1 -1
  468. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  469. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  470. package/esm/component/axis/cartesian/linear-axis.js +2 -2
  471. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  472. package/esm/component/axis/cartesian/time-axis.js +3 -3
  473. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  474. package/esm/component/axis/interface/spec.d.ts +1 -0
  475. package/esm/component/axis/interface/spec.js.map +1 -1
  476. package/esm/component/axis/mixin/linear-axis-mixin.js +10 -11
  477. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  478. package/esm/component/axis/mixin/util/break-data.d.ts +1 -1
  479. package/esm/component/axis/mixin/util/break-data.js +35 -12
  480. package/esm/component/axis/mixin/util/break-data.js.map +1 -1
  481. package/esm/component/axis/polar/axis.d.ts +1 -1
  482. package/esm/component/axis/polar/axis.js +14 -40
  483. package/esm/component/axis/polar/axis.js.map +1 -1
  484. package/esm/component/axis/polar/interface/spec.d.ts +3 -1
  485. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  486. package/esm/component/axis/polar/util/common.js +2 -2
  487. package/esm/component/axis/polar/util/common.js.map +1 -1
  488. package/esm/component/axis/util.d.ts +3 -0
  489. package/esm/component/axis/util.js +4 -0
  490. package/esm/component/axis/util.js.map +1 -1
  491. package/esm/component/base/base-component.js +1 -3
  492. package/esm/component/base/base-component.js.map +1 -1
  493. package/esm/component/brush/brush.js +4 -8
  494. package/esm/component/brush/brush.js.map +1 -1
  495. package/esm/component/crosshair/cartesian.js +4 -18
  496. package/esm/component/crosshair/cartesian.js.map +1 -1
  497. package/esm/component/crosshair/polar.js +4 -18
  498. package/esm/component/crosshair/polar.js.map +1 -1
  499. package/esm/component/custom-mark/custom-mark.d.ts +1 -4
  500. package/esm/component/custom-mark/custom-mark.js +3 -30
  501. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  502. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -0
  503. package/esm/component/data-zoom/data-filter-base-component.js +28 -14
  504. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  505. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  506. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -20
  507. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  508. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  509. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +6 -21
  510. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  511. package/esm/component/data-zoom/util.js +11 -2
  512. package/esm/component/data-zoom/util.js.map +1 -1
  513. package/esm/component/geo/geo-coordinate.d.ts +7 -0
  514. package/esm/component/geo/geo-coordinate.js +11 -3
  515. package/esm/component/geo/geo-coordinate.js.map +1 -1
  516. package/esm/component/indicator/indicator.js +4 -18
  517. package/esm/component/indicator/indicator.js.map +1 -1
  518. package/esm/component/interface/common.d.ts +1 -1
  519. package/esm/component/interface/common.js.map +1 -1
  520. package/esm/component/interface/index.d.ts +0 -1
  521. package/esm/component/interface/index.js +0 -2
  522. package/esm/component/interface/index.js.map +1 -1
  523. package/esm/component/label/base-label.d.ts +1 -2
  524. package/esm/component/label/base-label.js +0 -3
  525. package/esm/component/label/base-label.js.map +1 -1
  526. package/esm/component/label/interface.d.ts +2 -2
  527. package/esm/component/label/interface.js.map +1 -1
  528. package/esm/component/label/label.d.ts +0 -1
  529. package/esm/component/label/label.js +18 -23
  530. package/esm/component/label/label.js.map +1 -1
  531. package/esm/component/label/total-label.d.ts +1 -1
  532. package/esm/component/label/total-label.js +6 -14
  533. package/esm/component/label/total-label.js.map +1 -1
  534. package/esm/component/label/util.d.ts +5 -5
  535. package/esm/component/label/util.js +13 -8
  536. package/esm/component/label/util.js.map +1 -1
  537. package/esm/component/legend/continuous/legend.js +7 -18
  538. package/esm/component/legend/continuous/legend.js.map +1 -1
  539. package/esm/component/legend/discrete/legend.js +3 -19
  540. package/esm/component/legend/discrete/legend.js.map +1 -1
  541. package/esm/component/legend/util.d.ts +2 -2
  542. package/esm/component/map-label/component.js +3 -7
  543. package/esm/component/map-label/component.js.map +1 -1
  544. package/esm/component/marker/base-marker.d.ts +4 -1
  545. package/esm/component/marker/base-marker.js +16 -19
  546. package/esm/component/marker/base-marker.js.map +1 -1
  547. package/esm/component/marker/interface.d.ts +9 -2
  548. package/esm/component/marker/interface.js.map +1 -1
  549. package/esm/component/marker/mark-area/base-mark-area.js +5 -5
  550. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
  551. package/esm/component/marker/mark-line/base-mark-line.js +9 -9
  552. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  553. package/esm/component/marker/mark-point/base-mark-point.js +15 -15
  554. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  555. package/esm/component/marker/utils.d.ts +4 -4
  556. package/esm/component/marker/utils.js +8 -7
  557. package/esm/component/marker/utils.js.map +1 -1
  558. package/esm/component/player/player.d.ts +1 -3
  559. package/esm/component/player/player.js +1 -10
  560. package/esm/component/player/player.js.map +1 -1
  561. package/esm/component/title/interface/spec.d.ts +3 -3
  562. package/esm/component/title/interface/spec.js.map +1 -1
  563. package/esm/component/title/interface/theme.d.ts +1 -1
  564. package/esm/component/title/interface/theme.js.map +1 -1
  565. package/esm/component/title/title.js +23 -35
  566. package/esm/component/title/title.js.map +1 -1
  567. package/esm/component/tooltip/constant.d.ts +5 -4
  568. package/esm/component/tooltip/constant.js +6 -3
  569. package/esm/component/tooltip/constant.js.map +1 -1
  570. package/esm/component/tooltip/interface/common.d.ts +1 -1
  571. package/esm/component/tooltip/interface/common.js.map +1 -1
  572. package/esm/component/tooltip/interface/spec.d.ts +23 -3
  573. package/esm/component/tooltip/interface/spec.js.map +1 -1
  574. package/esm/component/tooltip/interface/theme.d.ts +2 -2
  575. package/esm/component/tooltip/interface/theme.js.map +1 -1
  576. package/esm/component/tooltip/processor/base.d.ts +4 -6
  577. package/esm/component/tooltip/processor/base.js +25 -30
  578. package/esm/component/tooltip/processor/base.js.map +1 -1
  579. package/esm/component/tooltip/processor/dimension-tooltip.js +1 -6
  580. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  581. package/esm/component/tooltip/processor/group-tooltip.js +5 -5
  582. package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
  583. package/esm/component/tooltip/processor/mark-tooltip.js +32 -4
  584. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  585. package/esm/component/tooltip/tooltip-transformer.js +2 -4
  586. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  587. package/esm/component/tooltip/tooltip.d.ts +13 -6
  588. package/esm/component/tooltip/tooltip.js +110 -89
  589. package/esm/component/tooltip/tooltip.js.map +1 -1
  590. package/esm/component/tooltip/utils/common.d.ts +6 -4
  591. package/esm/component/tooltip/utils/common.js +48 -5
  592. package/esm/component/tooltip/utils/common.js.map +1 -1
  593. package/esm/component/tooltip/utils/get-spec.d.ts +4 -4
  594. package/esm/component/tooltip/utils/get-spec.js +24 -80
  595. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  596. package/esm/component/tooltip/utils/get-value.d.ts +1 -2
  597. package/esm/component/tooltip/utils/get-value.js +1 -9
  598. package/esm/component/tooltip/utils/get-value.js.map +1 -1
  599. package/esm/component/tooltip/utils/index.d.ts +0 -1
  600. package/esm/component/tooltip/utils/index.js +0 -2
  601. package/esm/component/tooltip/utils/index.js.map +1 -1
  602. package/esm/component/util.d.ts +3 -0
  603. package/esm/component/util.js +14 -1
  604. package/esm/component/util.js.map +1 -1
  605. package/esm/constant/layout.d.ts +1 -0
  606. package/esm/constant/layout.js +11 -10
  607. package/esm/constant/layout.js.map +1 -1
  608. package/esm/core/factory.js +3 -1
  609. package/esm/core/factory.js.map +1 -1
  610. package/esm/core/index.d.ts +1 -1
  611. package/esm/core/index.js +1 -1
  612. package/esm/core/index.js.map +1 -1
  613. package/esm/core/vchart.d.ts +2 -1
  614. package/esm/core/vchart.js +41 -37
  615. package/esm/core/vchart.js.map +1 -1
  616. package/esm/data/initialize.d.ts +1 -2
  617. package/esm/data/initialize.js +6 -7
  618. package/esm/data/initialize.js.map +1 -1
  619. package/esm/data/transforms/pie.d.ts +3 -0
  620. package/esm/data/transforms/pie.js +6 -3
  621. package/esm/data/transforms/pie.js.map +1 -1
  622. package/esm/event/event-dispatcher.js +1 -9
  623. package/esm/event/event-dispatcher.js.map +1 -1
  624. package/esm/interaction/interaction.d.ts +2 -0
  625. package/esm/interaction/interaction.js +10 -0
  626. package/esm/interaction/interaction.js.map +1 -1
  627. package/esm/interaction/interface.d.ts +2 -0
  628. package/esm/interaction/interface.js.map +1 -1
  629. package/esm/interaction/zoom/zoomable.js +2 -1
  630. package/esm/interaction/zoom/zoomable.js.map +1 -1
  631. package/esm/mark/base/base-line.js +3 -1
  632. package/esm/mark/base/base-line.js.map +1 -1
  633. package/esm/mark/base/base-mark.js +2 -2
  634. package/esm/mark/base/base-mark.js.map +1 -1
  635. package/esm/mark/group.js +1 -1
  636. package/esm/mark/group.js.map +1 -1
  637. package/esm/mark/interface/common.d.ts +10 -0
  638. package/esm/mark/interface/common.js.map +1 -1
  639. package/esm/model/base-model.d.ts +2 -2
  640. package/esm/model/base-model.js +2 -2
  641. package/esm/model/base-model.js.map +1 -1
  642. package/esm/model/interface.d.ts +14 -0
  643. package/esm/model/interface.js.map +1 -1
  644. package/esm/plugin/chart/media-query/media-query.d.ts +1 -0
  645. package/esm/plugin/chart/media-query/media-query.js +3 -1
  646. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  647. package/esm/plugin/chart/plugin-service.d.ts +2 -0
  648. package/esm/plugin/chart/plugin-service.js +5 -0
  649. package/esm/plugin/chart/plugin-service.js.map +1 -1
  650. package/esm/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  651. package/esm/plugin/components/axis-sync/zero-align-transform.js +17 -4
  652. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
  653. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -16
  654. package/esm/plugin/components/tooltip-handler/base.js +80 -220
  655. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  656. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  657. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  658. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  659. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -19
  660. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  661. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  662. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  663. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js +8 -3
  664. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  665. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  666. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  667. package/esm/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  668. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  669. package/esm/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  670. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  671. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  672. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  673. package/esm/plugin/components/tooltip-handler/utils/position.js +20 -25
  674. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  675. package/esm/region/interface.d.ts +3 -1
  676. package/esm/region/interface.js.map +1 -1
  677. package/esm/region/region.js +12 -8
  678. package/esm/region/region.js.map +1 -1
  679. package/esm/series/area/area-transformer.js +1 -2
  680. package/esm/series/area/area-transformer.js.map +1 -1
  681. package/esm/series/area/area.d.ts +2 -0
  682. package/esm/series/area/area.js +54 -38
  683. package/esm/series/area/area.js.map +1 -1
  684. package/esm/series/bar/bar.d.ts +4 -4
  685. package/esm/series/bar/bar.js +68 -62
  686. package/esm/series/bar/bar.js.map +1 -1
  687. package/esm/series/bar/interface.d.ts +5 -1
  688. package/esm/series/bar/interface.js.map +1 -1
  689. package/esm/series/base/base-series-transformer.js +7 -4
  690. package/esm/series/base/base-series-transformer.js.map +1 -1
  691. package/esm/series/base/base-series.d.ts +8 -7
  692. package/esm/series/base/base-series.js +50 -35
  693. package/esm/series/base/base-series.js.map +1 -1
  694. package/esm/series/base/constant.js +1 -0
  695. package/esm/series/base/constant.js.map +1 -1
  696. package/esm/series/base/tooltip-helper.d.ts +30 -6
  697. package/esm/series/base/tooltip-helper.js +85 -74
  698. package/esm/series/base/tooltip-helper.js.map +1 -1
  699. package/esm/series/box-plot/box-plot.d.ts +1 -0
  700. package/esm/series/box-plot/box-plot.js +9 -5
  701. package/esm/series/box-plot/box-plot.js.map +1 -1
  702. package/esm/series/box-plot/tooltip-helper.d.ts +2 -2
  703. package/esm/series/box-plot/tooltip-helper.js +26 -67
  704. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  705. package/esm/series/cartesian/cartesian.d.ts +1 -1
  706. package/esm/series/circle-packing/circle-packing.js +4 -4
  707. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  708. package/esm/series/correlation/correlation.d.ts +1 -0
  709. package/esm/series/correlation/correlation.js +16 -6
  710. package/esm/series/correlation/correlation.js.map +1 -1
  711. package/esm/series/dot/dot.d.ts +0 -1
  712. package/esm/series/dot/dot.js +7 -8
  713. package/esm/series/dot/dot.js.map +1 -1
  714. package/esm/series/dot/tooltip-helper.d.ts +8 -2
  715. package/esm/series/dot/tooltip-helper.js +42 -52
  716. package/esm/series/dot/tooltip-helper.js.map +1 -1
  717. package/esm/series/funnel/3d/funnel-3d.js +2 -1
  718. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  719. package/esm/series/funnel/funnel.d.ts +2 -0
  720. package/esm/series/funnel/funnel.js +35 -27
  721. package/esm/series/funnel/funnel.js.map +1 -1
  722. package/esm/series/funnel/interface.d.ts +3 -1
  723. package/esm/series/funnel/interface.js.map +1 -1
  724. package/esm/series/gauge/gauge-pointer.js +3 -1
  725. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  726. package/esm/series/gauge/interface.d.ts +1 -1
  727. package/esm/series/gauge/interface.js.map +1 -1
  728. package/esm/series/gauge/pointer-tooltip-helper.d.ts +6 -0
  729. package/esm/series/gauge/pointer-tooltip-helper.js +8 -0
  730. package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -0
  731. package/esm/series/heatmap/heatmap.js +10 -10
  732. package/esm/series/heatmap/heatmap.js.map +1 -1
  733. package/esm/series/heatmap/tooltip-helper.d.ts +2 -3
  734. package/esm/series/heatmap/tooltip-helper.js +2 -6
  735. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  736. package/esm/series/interface/common.d.ts +1 -9
  737. package/esm/series/interface/common.js.map +1 -1
  738. package/esm/series/interface/tooltip-helper.d.ts +5 -4
  739. package/esm/series/interface/tooltip-helper.js.map +1 -1
  740. package/esm/series/line/line.js +2 -2
  741. package/esm/series/line/line.js.map +1 -1
  742. package/esm/series/link/link.js +7 -3
  743. package/esm/series/link/link.js.map +1 -1
  744. package/esm/series/link/tooltip-helper.d.ts +5 -2
  745. package/esm/series/link/tooltip-helper.js +26 -38
  746. package/esm/series/link/tooltip-helper.js.map +1 -1
  747. package/esm/series/liquid/liquid.js +11 -6
  748. package/esm/series/liquid/liquid.js.map +1 -1
  749. package/esm/series/liquid/tooltip-helper.d.ts +4 -5
  750. package/esm/series/liquid/tooltip-helper.js +2 -22
  751. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  752. package/esm/series/map/map.d.ts +1 -0
  753. package/esm/series/map/map.js +7 -2
  754. package/esm/series/map/map.js.map +1 -1
  755. package/esm/series/mixin/line-mixin.d.ts +2 -2
  756. package/esm/series/mixin/line-mixin.js +15 -14
  757. package/esm/series/mixin/line-mixin.js.map +1 -1
  758. package/esm/series/pie/3d/pie-3d.js +3 -1
  759. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  760. package/esm/series/pie/interface.d.ts +3 -3
  761. package/esm/series/pie/interface.js.map +1 -1
  762. package/esm/series/pie/pie.d.ts +1 -0
  763. package/esm/series/pie/pie.js +24 -13
  764. package/esm/series/pie/pie.js.map +1 -1
  765. package/esm/series/polar/animation.d.ts +9 -11
  766. package/esm/series/polar/animation.js +27 -35
  767. package/esm/series/polar/animation.js.map +1 -1
  768. package/esm/series/polar/polar.js +9 -1
  769. package/esm/series/polar/polar.js.map +1 -1
  770. package/esm/series/polar/progress-like/progress-like.js +28 -23
  771. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  772. package/esm/series/progress/circular/circular.js +6 -4
  773. package/esm/series/progress/circular/circular.js.map +1 -1
  774. package/esm/series/progress/linear/linear.js +10 -8
  775. package/esm/series/progress/linear/linear.js.map +1 -1
  776. package/esm/series/progress/linear/tooltip-helper.d.ts +2 -3
  777. package/esm/series/progress/linear/tooltip-helper.js +2 -11
  778. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  779. package/esm/series/radar/animation.d.ts +0 -3
  780. package/esm/series/radar/animation.js +4 -4
  781. package/esm/series/radar/animation.js.map +1 -1
  782. package/esm/series/radar/radar.js +18 -14
  783. package/esm/series/radar/radar.js.map +1 -1
  784. package/esm/series/range-area/range-area.js +4 -3
  785. package/esm/series/range-area/range-area.js.map +1 -1
  786. package/esm/series/range-area/tooltip-helper.d.ts +1 -3
  787. package/esm/series/range-area/tooltip-helper.js +2 -50
  788. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  789. package/esm/series/range-column/range-column.js +5 -4
  790. package/esm/series/range-column/range-column.js.map +1 -1
  791. package/esm/series/range-column/tooltip-helper.d.ts +1 -2
  792. package/esm/series/range-column/tooltip-helper.js +2 -19
  793. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  794. package/esm/series/rose/rose.js +5 -4
  795. package/esm/series/rose/rose.js.map +1 -1
  796. package/esm/series/sankey/interface.d.ts +1 -0
  797. package/esm/series/sankey/interface.js.map +1 -1
  798. package/esm/series/sankey/sankey.d.ts +2 -2
  799. package/esm/series/sankey/sankey.js +18 -6
  800. package/esm/series/sankey/sankey.js.map +1 -1
  801. package/esm/series/sankey/tooltip-helper.d.ts +3 -3
  802. package/esm/series/sankey/tooltip-helper.js +10 -57
  803. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  804. package/esm/series/scatter/scatter.js +8 -10
  805. package/esm/series/scatter/scatter.js.map +1 -1
  806. package/esm/series/sunburst/sunburst.js +3 -2
  807. package/esm/series/sunburst/sunburst.js.map +1 -1
  808. package/esm/series/treemap/treemap.js +6 -4
  809. package/esm/series/treemap/treemap.js.map +1 -1
  810. package/esm/series/waterfall/waterfall.d.ts +1 -0
  811. package/esm/series/waterfall/waterfall.js +7 -2
  812. package/esm/series/waterfall/waterfall.js.map +1 -1
  813. package/esm/series/word-cloud/base.js +36 -23
  814. package/esm/series/word-cloud/base.js.map +1 -1
  815. package/esm/series/word-cloud/word-cloud-3d.js +2 -1
  816. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  817. package/esm/theme/builtin/common/component/title.js.map +1 -1
  818. package/esm/theme/builtin/common/mark.js +2 -0
  819. package/esm/theme/builtin/common/mark.js.map +1 -1
  820. package/esm/theme/builtin/common/series/linear-progress.js +4 -1
  821. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -1
  822. package/esm/theme/builtin/dark/color-scheme.js +2 -1
  823. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  824. package/esm/theme/builtin/light/color-scheme.js +2 -1
  825. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  826. package/esm/typings/spec/common.d.ts +10 -5
  827. package/esm/typings/spec/common.js.map +1 -1
  828. package/esm/typings/tooltip/position.d.ts +1 -0
  829. package/esm/typings/tooltip/position.js.map +1 -1
  830. package/esm/typings/tooltip/shape.d.ts +0 -1
  831. package/esm/typings/tooltip/shape.js.map +1 -1
  832. package/esm/typings/tooltip/tooltip.d.ts +7 -0
  833. package/esm/typings/tooltip/tooltip.js.map +1 -1
  834. package/esm/util/array.d.ts +1 -1
  835. package/esm/util/array.js +5 -4
  836. package/esm/util/array.js.map +1 -1
  837. package/esm/util/math.d.ts +1 -0
  838. package/esm/util/math.js +4 -0
  839. package/esm/util/math.js.map +1 -1
  840. package/esm/util/scale.d.ts +1 -1
  841. package/esm/util/scale.js +2 -2
  842. package/esm/util/scale.js.map +1 -1
  843. package/package.json +17 -17
  844. package/cjs/component/interface/tooltip-helper.d.ts +0 -5
  845. package/cjs/component/interface/tooltip-helper.js +0 -6
  846. package/cjs/component/interface/tooltip-helper.js.map +0 -1
  847. package/cjs/component/tooltip/utils/compose.d.ts +0 -4
  848. package/cjs/component/tooltip/utils/compose.js +0 -120
  849. package/cjs/component/tooltip/utils/compose.js.map +0 -1
  850. package/cjs/model/tooltip-helper.d.ts +0 -27
  851. package/cjs/model/tooltip-helper.js +0 -22
  852. package/cjs/model/tooltip-helper.js.map +0 -1
  853. package/esm/component/interface/tooltip-helper.d.ts +0 -5
  854. package/esm/component/interface/tooltip-helper.js +0 -2
  855. package/esm/component/interface/tooltip-helper.js.map +0 -1
  856. package/esm/component/tooltip/utils/compose.d.ts +0 -4
  857. package/esm/component/tooltip/utils/compose.js +0 -105
  858. package/esm/component/tooltip/utils/compose.js.map +0 -1
  859. package/esm/model/tooltip-helper.d.ts +0 -27
  860. package/esm/model/tooltip-helper.js +0 -14
  861. package/esm/model/tooltip-helper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries, IGeoSeries, IPolarSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport {\n isValid,\n isNumber,\n array,\n minInArray,\n maxInArray,\n isArray,\n normalizePadding,\n isFunction,\n type IPointLike\n} from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type {\n IDataPos,\n IMarkerLabelSpec,\n IMarkerState,\n IMarkerSupportSeries,\n IPolarPoint,\n MarkerPositionPoint,\n MarkerStateValue\n} from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { OffsetPoint } from './interface';\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n (relativeSeries as ICartesianSeries)?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x = (relativeSeries as ICartesianSeries).getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n (relativeSeries as ICartesianSeries).getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y = (relativeSeries as ICartesianSeries).getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction getAngleValue(\n datum: Datum,\n angleDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries }\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.angle) &&\n isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&\n (relativeSeries as IPolarSeries).angleAxisHelper?.setExtendDomain?.('marker_angleAxis_extend', datum.angle);\n\n return (relativeSeries as IPolarSeries).angleAxisHelper.dataToPosition([datum.angle]);\n}\n\nfunction getRadiusValue(\n datum: Datum,\n radiusDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries }\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.radius) &&\n isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&\n (relativeSeries as IPolarSeries).radiusAxisHelper?.setExtendDomain?.('marker_radiusAxis_extend', datum.radius);\n\n return (relativeSeries as IPolarSeries).radiusAxisHelper.dataToPosition([datum.radius]);\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const xDomain = (relativeSeries as ICartesianSeries).getXAxisHelper().getScale(0).domain();\n const yDomain = (relativeSeries as ICartesianSeries).getYAxisHelper().getScale(0).domain();\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n if (isValidX && isValidY) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n lines.push([{ x, y }]);\n } else if (isValidX) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValidY) {\n const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function polarLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean\n) {\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n const lines: IPolarPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const angleDomain = (relativeSeries as IPolarSeries).angleAxisHelper.getScale(0).domain();\n const radiusDomain = (relativeSeries as IPolarSeries).radiusAxisHelper.getScale(0).domain();\n const regionRadius = Math.min(\n relativeSeries.getRegion().getLayoutRect().width / 2,\n relativeSeries.getRegion().getLayoutRect().height / 2\n );\n dataPoints.forEach((datum: IPolarPoint) => {\n const isValidAngle = isValid(datum.angle);\n const isValidRadius = isValid(datum.radius);\n if (isValidAngle && isValidRadius) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);\n lines.push([{ angle, radius }]);\n } else if (isValidAngle) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);\n lines.push([\n {\n angle,\n radius: -regionRadius\n },\n {\n angle,\n radius: regionRadius\n }\n ]);\n } else if (isValidRadius) {\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);\n lines.push([\n {\n radius,\n angle: 0\n },\n {\n radius,\n angle: Math.PI * 2\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries) {\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: any) => {\n const isValidName = isValid(datum.areaName);\n if (isValidName) {\n lines.push([\n {\n x:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).x +\n relativeSeries.getRegion().getLayoutStartPoint().x,\n y:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).y +\n relativeSeries.getRegion().getLayoutStartPoint().y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function cartesianCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint\n) {\n const points: IPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as ICartesianSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', xValue[0] as number);\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', yValue[0] as number);\n points.push({\n x: refRelativeSeries.getXAxisHelper().dataToPosition(xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: refRelativeSeries.getYAxisHelper().dataToPosition(yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function polarCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean) {\n const points: IPolarPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as IPolarSeries;\n\n const angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain();\n const radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain();\n const angleValue = array(datum.angle);\n const radiusValue = array(datum.radius);\n\n angleValue.length === 1 &&\n isNumber(angleValue[0]) &&\n isNeedExtendDomain(angleDomain, angleValue[0], autoRange) &&\n refRelativeSeries.angleAxisHelper?.setExtendDomain?.('marker_xAxis_extend', angleValue[0] as number);\n\n radiusValue.length === 1 &&\n isNumber(radiusValue[0]) &&\n isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&\n refRelativeSeries.radiusAxisHelper?.setExtendDomain?.('marker_yAxis_extend', radiusValue[0] as number);\n points.push({\n angle: refRelativeSeries.angleAxisHelper.dataToPosition(angleValue),\n radius: refRelativeSeries.radiusAxisHelper.dataToPosition(radiusValue)\n });\n }\n );\n return points;\n}\n\nfunction convertPosition(position: MarkerPositionPoint, relativeWidth: number, relativeHeight: number): IPoint {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, relativeWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, relativeHeight);\n }\n\n return {\n x: x as number,\n y: y as number\n };\n}\n\nexport function positionLayout(\n positions:\n | MarkerPositionPoint\n | MarkerPositionPoint[]\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint)\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]),\n series: IMarkerSupportSeries,\n regionRelative: boolean\n): IPoint[] {\n let transformPositions;\n if (isFunction(positions)) {\n transformPositions = array(positions(series.getData().getLatestData(), series));\n } else {\n transformPositions = array(positions);\n }\n\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return transformPositions.map(position => {\n let { x, y } = convertPosition(position, regionWidth, regionHeight);\n\n x = (x as number) + regionStartX;\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getViewRect();\n return transformPositions.map(position => {\n return convertPosition(position, canvasWidth, canvasHeight);\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(label: IMarkerLabelSpec, markerData: any) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n customShape: labelBackground.customShape,\n ...transformStyle(transformToGraphic(labelBackground.style), markerData)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformStyle(transformToGraphic(style), markerData);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n\nexport function transformState(state: {} | Record<MarkerStateValue, any | IMarkerState<any>>, markerData: DataView) {\n for (const stateKey in state) {\n if (isFunction(state[stateKey])) {\n state[stateKey] = state[stateKey](markerData);\n }\n }\n return state;\n}\n\nexport function transformStyle(style: any, markerData: DataView) {\n if (isFunction(style)) {\n return style(markerData);\n }\n return style;\n}\n\nexport function transformOffset(offset: string | number | Function, region: IRegion) {\n if (isFunction(offset)) {\n return offset(region);\n }\n return offset;\n}\n\nexport function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number {\n if (!isValid(point)) {\n return offset as number;\n }\n if (offset === 'regionLeft') {\n return region.getLayoutStartPoint().x - point.x;\n } else if (offset === 'regionRight') {\n return region.getLayoutStartPoint().x + region.getLayoutRect().width - point.x;\n } else if (offset === 'regionTop') {\n return region.getLayoutStartPoint().y - point.y;\n } else if (offset === 'regionBottom') {\n return region.getLayoutStartPoint().y + region.getLayoutRect().height - point.y;\n }\n return offset as number;\n}\n\nexport function getMarkLineProcessInfo(spec: any) {\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isX1Process = 'x1' in spec;\n const isY1Process = 'y1' in spec;\n const isAngleProcess = 'angle' in spec;\n const isRadiusProcess = 'radius' in spec;\n const isAngle1Process = 'angle1' in spec;\n const isRadius1Process = 'radius1' in spec;\n const isCoordinatesProcess = 'coordinates' in spec;\n const isValidProcess = 'process' in spec;\n\n return {\n doXProcess: isXProcess && !isYProcess && !isY1Process,\n doXYY1Process: isXProcess && isYProcess && isY1Process,\n doYProcess: isYProcess && !isXProcess && !isX1Process,\n doYXX1Process: isYProcess && isXProcess && isX1Process,\n doXYProcess: isXProcess && isYProcess && isX1Process && isY1Process,\n doAngleProcess: isAngleProcess && !isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && !isRadius1Process && !isAngleProcess && !isAngle1Process,\n doAngRadRad1Process: isAngleProcess && !isAngle1Process && isRadiusProcess && isRadius1Process,\n doRadAngAng1Process: isRadiusProcess && isAngleProcess && isAngle1Process && !isRadius1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess && (!isValidProcess || ('process' in spec && 'xy' in spec.process))\n };\n}\n\nexport function getMarkAreaProcessInfo(spec: any) {\n const isXProcess = 'x' in spec;\n const isX1Process = 'x1' in spec;\n const isYProcess = 'y' in spec;\n const isY1Process = 'y1' in spec;\n const isAngleProcess = 'angle' in spec;\n const isRadiusProcess = 'radius' in spec;\n const isAngle1Process = 'angle1' in spec;\n const isRadius1Process = 'radius1' in spec;\n const isCoordinatesProcess = 'coordinates' in spec;\n return {\n doXProcess: isXProcess && isX1Process && !isYProcess && !isY1Process,\n doYProcess: isYProcess && isY1Process && !isXProcess && !isX1Process,\n doXYProcess: isXProcess && isX1Process && isYProcess && isY1Process,\n doAngleProcess: isAngleProcess && isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && isRadius1Process && !isAngleProcess && !isAngle1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess\n };\n}\n\nexport function getMarkPointProcessInfo(spec: any) {\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isPolarProcess = isValid(spec.angle) && isValid(spec.radius);\n const isGeoProcess = isValid(spec.areaName);\n return {\n doXYProcess: isXYProcess,\n doPolarProcess: isPolarProcess,\n doGeoProcess: isGeoProcess\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6CAU0B;AAE1B,qCAA2D;AAW3D,kDAAkD;AAKlD,SAAS,kBAAkB,CAAC,MAAgB,EAAE,KAAa,EAAE,SAAkB;IAC7E,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAChB,KAAY,EACZ,OAAiB,EACjB,SAAkB,EAClB,SAAkD,EAClD,WAAmB,EACnB,2BAAmC;;IAEnC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QACf,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SAC/C,MAAC,cAAmC,aAAnC,cAAc,6BAAd,cAAc,CAAuB,cAAc,IAAG,eAAe,mDAAG,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC;IAC3G,IAAI,CAAS,CAAC;IACd,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtB,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC;KACjF;SAAM;QACL,CAAC,GAAI,cAAmC,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC;KACrH;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAChB,KAAY,EACZ,OAAiB,EACjB,SAAkB,EAClB,SAAkD,EAClD,YAAoB,EACpB,2BAAmC;;IAEnC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QACf,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SAC/C,MAAA,MAAC,cAAmC,CAAC,cAAc,EAAE,0CAAE,eAAe,mDAAG,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC;IAE3G,IAAI,CAAS,CAAC;IACd,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtB,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC;KAClF;SAAM;QACL,CAAC,GAAI,cAAmC,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC;KACrH;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CACpB,KAAY,EACZ,WAAqB,EACrB,SAAkB,EAClB,SAAkD;;IAElD,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC;QACnB,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;SACvD,MAAA,MAAC,cAA+B,CAAC,eAAe,0CAAE,eAAe,mDAAG,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA,CAAC;IAE9G,OAAQ,cAA+B,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CACrB,KAAY,EACZ,YAAsB,EACtB,SAAkB,EAClB,SAAkD;;IAElD,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC;QACpB,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;SACzD,MAAA,MAAC,cAA+B,CAAC,gBAAgB,0CAAE,eAAe,mDAAG,0BAA0B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA,CAAC;IAEjH,OAAQ,cAA+B,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,cAAsB;IACpE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;AACnF,CAAC;AAED,SAAgB,UAAU,CAAC,IAAc;IACvC,OAAO,kBAAS,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,QAAQ,CACtB,IAAc,EACd,mBAAyC,EACzC,iBAAuC,EACvC,cAAoC,EACpC,SAAkB;IAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACpD,MAAM,2BAA2B,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;IACtE,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;IAChD,MAAM,yBAAyB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;IAElE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAClE,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;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAClE,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;IAEF,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;IAEF,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,MAAM,OAAO,GAAI,cAAmC,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3F,MAAM,OAAO,GAAI,cAAmC,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3F,UAAU,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACxB,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;YACpG,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,2BAA2B,CAAC,CAAC;YACrG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACxB;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;YACpG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAChB,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAClE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAC/D,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;iBACN;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,2BAA2B,CAAC,CAAC;YACrG,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EACjE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAC9D,CAAC;YACF,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;iBACL;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAnFD,4BAmFC;AAED,SAAgB,WAAW,CACzB,IAAc,EACd,mBAAyC,EACzC,iBAAuC,EACvC,cAAoC,EACpC,SAAkB;IAElB,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;IACF,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAExG,MAAM,WAAW,GAAI,cAA+B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1F,MAAM,YAAY,GAAI,cAA+B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,cAAc,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,CAAC,EACpD,cAAc,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CACtD,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAkB,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,YAAY,IAAI,aAAa,EAAE;YACjC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;SACjC;aAAM,IAAI,YAAY,EAAE;YACvB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,KAAK;oBACL,MAAM,EAAE,CAAC,YAAY;iBACtB;gBACD;oBACE,KAAK;oBACL,MAAM,EAAE,YAAY;iBACrB;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,aAAa,EAAE;YACxB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,MAAM;oBACN,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,MAAM;oBACN,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;iBACnB;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAzDD,kCAyDC;AAED,SAAgB,SAAS,CAAC,IAAc,EAAE,cAAoC;IAC5E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,UAAU,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;QAChC,MAAM,WAAW,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,CAAC,EACE,cAA6B,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACpE,cAAc,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBACpD,CAAC,EACE,cAA6B,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACpE,cAAc,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBACrD;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AArBD,8BAqBC;AAED,SAAgB,yBAAyB,CACvC,IAAc,EACd,cAAoC,EACpC,SAAkB,EAClB,iBAA8C;IAE9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,MAAM,wBAAwB,GAAG,IAAA,gBAAO,EAAC,iBAAiB,CAAC,CAAC;IAC5D,UAAU,CAAC,OAAO,CAChB,CACE,KAIC,EACD,KAAa,EACb,EAAE;;QACF,MAAM,iBAAiB,GAAG,CACxB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,EAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,cAAc,CACxD,CAAC;QACtB,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,2BAA2B,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAEtE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,iBAAiB,EAAE;YACrB,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACzG,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE;gBACL,OAAO,GAAG,IAAA,gBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAY,CAAC;aACrG;YACD,IAAI,CAAC,EAAE;gBACL,OAAO,GAAG,IAAA,gBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAY,CAAC;aACtG;SACF;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;aACjD,MAAA,MAAA,iBAAiB,CAAC,cAAc,EAAE,0CAAE,eAAe,mDAAG,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAW,CAAC,CAAA,CAAC;QAEpG,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;aACjD,MAAA,MAAA,iBAAiB,CAAC,cAAc,EAAE,0CAAE,eAAe,mDAAG,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAW,CAAC,CAAA,CAAC;QACpG,MAAM,CAAC,IAAI,CAAC;YACV,CAAC,EAAE,iBAAiB,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,GAAG,OAAO;YACtG,CAAC,EAAE,iBAAiB,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,GAAG,OAAO;SACvG,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AA9DD,8DA8DC;AAED,SAAgB,qBAAqB,CAAC,IAAc,EAAE,cAAoC,EAAE,SAAkB;IAC5G,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,UAAU,CAAC,OAAO,CAChB,CAAC,KAIA,EAAE,EAAE;;QACH,MAAM,iBAAiB,GAAG,CACxB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,EAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,cAAc,CAC5D,CAAC;QAElB,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,YAAY,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAExC,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,IAAA,iBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;aACzD,MAAA,MAAA,iBAAiB,CAAC,eAAe,0CAAE,eAAe,mDAAG,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAW,CAAC,CAAA,CAAC;QAEvG,WAAW,CAAC,MAAM,KAAK,CAAC;YACtB,IAAA,iBAAQ,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACxB,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;aAC3D,MAAA,MAAA,iBAAiB,CAAC,gBAAgB,0CAAE,eAAe,mDAAG,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAW,CAAC,CAAA,CAAC;QACzG,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC;YACnE,MAAM,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC;SACvE,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAnCD,sDAmCC;AAED,SAAS,eAAe,CAAC,QAA6B,EAAE,aAAqB,EAAE,cAAsB;IACnG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC;IACxB,IAAI,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE;QAChB,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;KAC7C;IACD,IAAI,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE;QAChB,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KAC9C;IAED,OAAO;QACL,CAAC,EAAE,CAAW;QACd,CAAC,EAAE,CAAW;KACf,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,SAI0F,EAC1F,MAA4B,EAC5B,cAAuB;IAEvB,IAAI,kBAAkB,CAAC;IACvB,IAAI,IAAA,mBAAU,EAAC,SAAS,CAAC,EAAE;QACzB,kBAAkB,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;KACjF;SAAM;QACL,kBAAkB,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,CAAC;KACvC;IAED,IAAI,cAAc,EAAE;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC1E,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC5E,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAEpE,CAAC,GAAI,CAAY,GAAG,YAAY,CAAC;YACjC,CAAC,GAAI,CAAY,GAAG,YAAY,CAAC;YAEjC,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACjG,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvC,OAAO,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AArCD,wCAqCC;AAED,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAe,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE;YACtB,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI,EAAE;YACzC,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SACvC;QACD,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE;YACtB,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,EAAE;YAC1C,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;SACxC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAtBD,4CAsBC;AAED,SAAgB,wBAAwB,CACtC,KAAuB,EACvB,UAAe,EACf,oBAA6C;IAE7C,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA5D,qCAAoD,CAAQ,CAAC;IAEnE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;QAC3B,MAAM,UAAU,GAAG,SAAgB,CAAC;QAEpC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE;YAClB,UAAU,CAAC,KAAK,mBACd,OAAO,EAAE,IAAI,IACV,IAAA,yBAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CACnC,CAAC;SACH;aAAM;YACL,UAAU,CAAC,KAAK,GAAG;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QAED,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,EAAE;YACrC,UAAU,CAAC,KAAK,mBACd,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,eAAe,CAAC,WAAW,IACrC,cAAc,CAAC,IAAA,yBAAkB,EAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAC/F,CAAC;YACF,IAAI,IAAA,gBAAO,EAAC,eAAe,CAAC,OAAO,CAAC,EAAE;gBACpC,UAAU,CAAC,OAAO,GAAG,IAAA,yBAAgB,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAChE;SACF;aAAM;YACL,UAAU,CAAC,KAAK,GAAG;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC;YACF,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;SACxB;QAED,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC,IAAA,yBAAkB,EAAC,KAAK,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;SACpG;QACD,OAAO,UAAU,CAAC;KACnB;IACD,OAAO;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AA7CD,4DA6CC;AAED,SAAgB,cAAc,CAC5B,KAA6D,EAC7D,UAAoB,EACpB,sBAA+C;IAE/C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;QAC5B,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC/B,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;SACvE;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,wCAWC;AAED,SAAgB,cAAc,CAAC,KAAU,EAAE,UAAoB,EAAE,sBAA+C;IAC9G,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;KAClD;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AALD,wCAKC;AAED,SAAgB,eAAe,CAAC,MAAkC,EAAE,MAAe;IACjF,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACvB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AALD,0CAKC;AAED,SAAgB,uBAAuB,CAAC,KAAiB,EAAE,MAAuB,EAAE,MAAe;IACjG,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO,MAAgB,CAAC;KACzB;IACD,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACjD;SAAM,IAAI,MAAM,KAAK,aAAa,EAAE;QACnC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;KAChF;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACjD;SAAM,IAAI,MAAM,KAAK,cAAc,EAAE;QACpC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;KACjF;IACD,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAdD,0DAcC;AAED,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;IAC/B,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;IACjC,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAC;IACvC,MAAM,eAAe,GAAG,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,eAAe,GAAG,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC;IAC3C,MAAM,oBAAoB,GAAG,aAAa,IAAI,IAAI,CAAC;IACnD,MAAM,cAAc,GAAG,SAAS,IAAI,IAAI,CAAC;IAEzC,OAAO;QACL,UAAU,EAAE,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACrD,aAAa,EAAE,UAAU,IAAI,UAAU,IAAI,WAAW;QACtD,UAAU,EAAE,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACrD,aAAa,EAAE,UAAU,IAAI,UAAU,IAAI,WAAW;QACtD,WAAW,EAAE,UAAU,IAAI,UAAU,IAAI,WAAW,IAAI,WAAW;QACnE,cAAc,EAAE,cAAc,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB;QAC3F,eAAe,EAAE,eAAe,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAC5F,mBAAmB,EAAE,cAAc,IAAI,CAAC,eAAe,IAAI,eAAe,IAAI,gBAAgB;QAC9F,mBAAmB,EAAE,eAAe,IAAI,cAAc,IAAI,eAAe,IAAI,CAAC,gBAAgB;QAC9F,eAAe,EAAE,cAAc,IAAI,eAAe,IAAI,eAAe,IAAI,gBAAgB;QACzF,oBAAoB,EAAE,oBAAoB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/G,CAAC;AACJ,CAAC;AAzBD,wDAyBC;AAED,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;IACjC,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAC;IACvC,MAAM,eAAe,GAAG,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,eAAe,GAAG,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC;IAC3C,MAAM,oBAAoB,GAAG,aAAa,IAAI,IAAI,CAAC;IACnD,OAAO;QACL,UAAU,EAAE,UAAU,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACpE,UAAU,EAAE,UAAU,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACpE,WAAW,EAAE,UAAU,IAAI,WAAW,IAAI,UAAU,IAAI,WAAW;QACnE,cAAc,EAAE,cAAc,IAAI,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB;QAC1F,eAAe,EAAE,eAAe,IAAI,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAC3F,eAAe,EAAE,cAAc,IAAI,eAAe,IAAI,eAAe,IAAI,gBAAgB;QACzF,oBAAoB,EAAE,oBAAoB;KAC3C,CAAC;AACJ,CAAC;AAnBD,wDAmBC;AAED,SAAgB,uBAAuB,CAAC,IAAS;IAC/C,MAAM,WAAW,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,WAAW,EAAE,WAAW;QACxB,cAAc,EAAE,cAAc;QAC9B,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC;AATD,0DASC","file":"utils.js","sourcesContent":["import type { ICartesianSeries, IGeoSeries, IPolarSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport {\n isValid,\n isNumber,\n array,\n minInArray,\n maxInArray,\n isArray,\n normalizePadding,\n isFunction,\n type IPointLike\n} from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type {\n IDataPos,\n IMarkerAttributeContext,\n IMarkerLabelSpec,\n IMarkerState,\n IMarkerSupportSeries,\n IPolarPoint,\n MarkerPositionPoint,\n MarkerStateValue\n} from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { OffsetPoint } from './interface';\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n (relativeSeries as ICartesianSeries)?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x = (relativeSeries as ICartesianSeries).getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n (relativeSeries as ICartesianSeries).getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y = (relativeSeries as ICartesianSeries).getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction getAngleValue(\n datum: Datum,\n angleDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries }\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.angle) &&\n isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&\n (relativeSeries as IPolarSeries).angleAxisHelper?.setExtendDomain?.('marker_angleAxis_extend', datum.angle);\n\n return (relativeSeries as IPolarSeries).angleAxisHelper.dataToPosition([datum.angle]);\n}\n\nfunction getRadiusValue(\n datum: Datum,\n radiusDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries }\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.radius) &&\n isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&\n (relativeSeries as IPolarSeries).radiusAxisHelper?.setExtendDomain?.('marker_radiusAxis_extend', datum.radius);\n\n return (relativeSeries as IPolarSeries).radiusAxisHelper.dataToPosition([datum.radius]);\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const xDomain = (relativeSeries as ICartesianSeries).getXAxisHelper().getScale(0).domain();\n const yDomain = (relativeSeries as ICartesianSeries).getYAxisHelper().getScale(0).domain();\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n if (isValidX && isValidY) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n lines.push([{ x, y }]);\n } else if (isValidX) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValidY) {\n const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function polarLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean\n) {\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n const lines: IPolarPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const angleDomain = (relativeSeries as IPolarSeries).angleAxisHelper.getScale(0).domain();\n const radiusDomain = (relativeSeries as IPolarSeries).radiusAxisHelper.getScale(0).domain();\n const regionRadius = Math.min(\n relativeSeries.getRegion().getLayoutRect().width / 2,\n relativeSeries.getRegion().getLayoutRect().height / 2\n );\n dataPoints.forEach((datum: IPolarPoint) => {\n const isValidAngle = isValid(datum.angle);\n const isValidRadius = isValid(datum.radius);\n if (isValidAngle && isValidRadius) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);\n lines.push([{ angle, radius }]);\n } else if (isValidAngle) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries);\n lines.push([\n {\n angle,\n radius: -regionRadius\n },\n {\n angle,\n radius: regionRadius\n }\n ]);\n } else if (isValidRadius) {\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries);\n lines.push([\n {\n radius,\n angle: 0\n },\n {\n radius,\n angle: Math.PI * 2\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries) {\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: any) => {\n const isValidName = isValid(datum.areaName);\n if (isValidName) {\n lines.push([\n {\n x:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).x +\n relativeSeries.getRegion().getLayoutStartPoint().x,\n y:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).y +\n relativeSeries.getRegion().getLayoutStartPoint().y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function cartesianCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint\n) {\n const points: IPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as ICartesianSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', xValue[0] as number);\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', yValue[0] as number);\n points.push({\n x: refRelativeSeries.getXAxisHelper().dataToPosition(xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: refRelativeSeries.getYAxisHelper().dataToPosition(yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function polarCoordinateLayout(data: DataView, relativeSeries: IMarkerSupportSeries, autoRange: boolean) {\n const points: IPolarPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as IPolarSeries;\n\n const angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain();\n const radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain();\n const angleValue = array(datum.angle);\n const radiusValue = array(datum.radius);\n\n angleValue.length === 1 &&\n isNumber(angleValue[0]) &&\n isNeedExtendDomain(angleDomain, angleValue[0], autoRange) &&\n refRelativeSeries.angleAxisHelper?.setExtendDomain?.('marker_xAxis_extend', angleValue[0] as number);\n\n radiusValue.length === 1 &&\n isNumber(radiusValue[0]) &&\n isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&\n refRelativeSeries.radiusAxisHelper?.setExtendDomain?.('marker_yAxis_extend', radiusValue[0] as number);\n points.push({\n angle: refRelativeSeries.angleAxisHelper.dataToPosition(angleValue),\n radius: refRelativeSeries.radiusAxisHelper.dataToPosition(radiusValue)\n });\n }\n );\n return points;\n}\n\nfunction convertPosition(position: MarkerPositionPoint, relativeWidth: number, relativeHeight: number): IPoint {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, relativeWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, relativeHeight);\n }\n\n return {\n x: x as number,\n y: y as number\n };\n}\n\nexport function positionLayout(\n positions:\n | MarkerPositionPoint\n | MarkerPositionPoint[]\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint)\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]),\n series: IMarkerSupportSeries,\n regionRelative: boolean\n): IPoint[] {\n let transformPositions;\n if (isFunction(positions)) {\n transformPositions = array(positions(series.getData().getLatestData(), series));\n } else {\n transformPositions = array(positions);\n }\n\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return transformPositions.map(position => {\n let { x, y } = convertPosition(position, regionWidth, regionHeight);\n\n x = (x as number) + regionStartX;\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getViewRect();\n return transformPositions.map(position => {\n return convertPosition(position, canvasWidth, canvasHeight);\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(\n label: IMarkerLabelSpec,\n markerData: any,\n markAttributeContext: IMarkerAttributeContext\n) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n customShape: labelBackground.customShape,\n ...transformStyle(transformToGraphic(labelBackground.style), markerData, markAttributeContext)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformStyle(transformToGraphic(style), markerData, markAttributeContext);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n\nexport function transformState(\n state: {} | Record<MarkerStateValue, any | IMarkerState<any>>,\n markerData: DataView,\n markerAttributeContext: IMarkerAttributeContext\n) {\n for (const stateKey in state) {\n if (isFunction(state[stateKey])) {\n state[stateKey] = state[stateKey](markerData, markerAttributeContext);\n }\n }\n return state;\n}\n\nexport function transformStyle(style: any, markerData: DataView, markerAttributeContext: IMarkerAttributeContext) {\n if (isFunction(style)) {\n return style(markerData, markerAttributeContext);\n }\n return style;\n}\n\nexport function transformOffset(offset: string | number | Function, region: IRegion) {\n if (isFunction(offset)) {\n return offset(region);\n }\n return offset;\n}\n\nexport function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number {\n if (!isValid(point)) {\n return offset as number;\n }\n if (offset === 'regionLeft') {\n return region.getLayoutStartPoint().x - point.x;\n } else if (offset === 'regionRight') {\n return region.getLayoutStartPoint().x + region.getLayoutRect().width - point.x;\n } else if (offset === 'regionTop') {\n return region.getLayoutStartPoint().y - point.y;\n } else if (offset === 'regionBottom') {\n return region.getLayoutStartPoint().y + region.getLayoutRect().height - point.y;\n }\n return offset as number;\n}\n\nexport function getMarkLineProcessInfo(spec: any) {\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isX1Process = 'x1' in spec;\n const isY1Process = 'y1' in spec;\n const isAngleProcess = 'angle' in spec;\n const isRadiusProcess = 'radius' in spec;\n const isAngle1Process = 'angle1' in spec;\n const isRadius1Process = 'radius1' in spec;\n const isCoordinatesProcess = 'coordinates' in spec;\n const isValidProcess = 'process' in spec;\n\n return {\n doXProcess: isXProcess && !isYProcess && !isY1Process,\n doXYY1Process: isXProcess && isYProcess && isY1Process,\n doYProcess: isYProcess && !isXProcess && !isX1Process,\n doYXX1Process: isYProcess && isXProcess && isX1Process,\n doXYProcess: isXProcess && isYProcess && isX1Process && isY1Process,\n doAngleProcess: isAngleProcess && !isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && !isRadius1Process && !isAngleProcess && !isAngle1Process,\n doAngRadRad1Process: isAngleProcess && !isAngle1Process && isRadiusProcess && isRadius1Process,\n doRadAngAng1Process: isRadiusProcess && isAngleProcess && isAngle1Process && !isRadius1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess && (!isValidProcess || ('process' in spec && 'xy' in spec.process))\n };\n}\n\nexport function getMarkAreaProcessInfo(spec: any) {\n const isXProcess = 'x' in spec;\n const isX1Process = 'x1' in spec;\n const isYProcess = 'y' in spec;\n const isY1Process = 'y1' in spec;\n const isAngleProcess = 'angle' in spec;\n const isRadiusProcess = 'radius' in spec;\n const isAngle1Process = 'angle1' in spec;\n const isRadius1Process = 'radius1' in spec;\n const isCoordinatesProcess = 'coordinates' in spec;\n return {\n doXProcess: isXProcess && isX1Process && !isYProcess && !isY1Process,\n doYProcess: isYProcess && isY1Process && !isXProcess && !isX1Process,\n doXYProcess: isXProcess && isX1Process && isYProcess && isY1Process,\n doAngleProcess: isAngleProcess && isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && isRadius1Process && !isAngleProcess && !isAngle1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess\n };\n}\n\nexport function getMarkPointProcessInfo(spec: any) {\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isPolarProcess = isValid(spec.angle) && isValid(spec.radius);\n const isGeoProcess = isValid(spec.areaName);\n return {\n doXYProcess: isXYProcess,\n doPolarProcess: isPolarProcess,\n doGeoProcess: isGeoProcess\n };\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  import type { IGraphic } from '@visactor/vrender-core';
2
- import type { Maybe } from '@visactor/vutils';
3
- import type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';
2
+ import type { IModelRenderOption } from '../../model/interface';
4
3
  import type { IRegion } from '../../region/interface';
5
4
  import type { IPlayer } from './interface';
6
5
  import type { IComponent } from '../interface';
@@ -28,7 +27,6 @@ export declare class Player extends BaseComponent<IPlayer> implements IComponent
28
27
  private _position;
29
28
  get orient(): IOrientType;
30
29
  set layoutOrient(v: IOrientType);
31
- static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
32
30
  setAttrFromSpec(): void;
33
31
  afterSetLayoutStartPoint(pos: IPoint): void;
34
32
  getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): {
@@ -114,15 +114,6 @@ class Player extends base_component_1.BaseComponent {
114
114
  set layoutOrient(v) {
115
115
  this._orient = v;
116
116
  }
117
- static getSpecInfo(chartSpec) {
118
- const playerSpec = chartSpec[this.specKey];
119
- return (0, vutils_1.isNil)(playerSpec) ? null : [ {
120
- spec: playerSpec,
121
- specPath: [ this.specKey ],
122
- specInfoPath: [ "component", this.specKey, 0 ],
123
- type: type_1.ComponentTypeEnum.player
124
- } ];
125
- }
126
117
  setAttrFromSpec() {
127
118
  var _a, _b, _c, _d, _e, _f, _g, _h;
128
119
  super.setAttrFromSpec(), this._orient = null !== (_a = this._spec.orient) && void 0 !== _a ? _a : "bottom",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import { Factory } from './../../core/factory';\nimport type { INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { ContinuousPlayerAttributes, DiscretePlayerAttributes } from '@visactor/vrender-components';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscretePlayer, ContinuousPlayer, PlayerEventEnum } from '@visactor/vrender-components';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNumber, array, isEqual, isNil, isValidNumber } from '@visactor/vutils';\n\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\n\nimport type { DirectionType, IPlayer } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType, ILayoutRect, IChartSpec, IDataValues } from '../../typings';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils/transform';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { ChartEvent } from '../../constant/event';\n\nexport class Player extends BaseComponent<IPlayer> implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n static specKey = 'player';\n specKey: string = 'player';\n\n static type = ComponentTypeEnum.player;\n type = ComponentTypeEnum.player;\n protected _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\n private _visible: boolean;\n private _direction: DirectionType;\n private _alternate: boolean;\n private _dx: number;\n private _dy: number;\n private _width: number;\n private _height: number;\n private _position: 'start' | 'middle' | 'end';\n\n get orient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const playerSpec = chartSpec[this.specKey];\n if (isNil(playerSpec)) {\n return null;\n }\n return [\n {\n spec: playerSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.player\n }\n ];\n }\n\n /**\n * 设置Attr\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._orient = this._spec.orient ?? 'bottom';\n this._specs = this._spec.specs ?? [];\n this._direction = this._spec.direction ?? 'default';\n this._alternate = this._spec.alternate ?? false;\n this._dx = this._spec.dx ?? 0;\n this._dy = this._spec.dy ?? 0;\n this._position = this._spec.position ?? 'middle';\n this._visible = this._spec.visible ?? true;\n }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n afterSetLayoutStartPoint(pos: IPoint) {\n super.afterSetLayoutStartPoint(pos);\n if (isValidNumber(pos.x)) {\n const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;\n this._playerComponent && this._playerComponent.setAttribute('x', offsetX);\n }\n if (isValidNumber(pos.y)) {\n const offsetY = isHorizontal(this._orient) ? pos.y + this._sliderExceededSize() / 2 : pos.y;\n this._playerComponent && this._playerComponent.setAttribute('y', offsetY);\n }\n }\n\n /**\n * 计算组件占用的bound box\n * @param rect\n * @returns\n */\n getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n this._width = this._computeWidth(rect);\n this._height = this._computeHeight(rect);\n this._dx = this._computeDx(fullSpace);\n this._dy = this._computeDy(fullSpace);\n\n const bounds = this._computeLayoutRect(rect, this._width, this._height);\n\n this._createOrUpdatePlayerComponent();\n\n return bounds;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._playerComponent] as unknown as IGroup[];\n }\n\n /**\n * 播放器属性\n */\n private _getPlayerAttrs = () => {\n const type = this._spec.type;\n const layoutAttrs = {\n size: {\n width: this._width,\n height: this._height\n },\n dx: this._spec.dx ?? 0 + this._dx,\n dy: this._spec.dy ?? 0 + this._dy\n };\n // 离散类型Attrs\n if (type === 'discrete') {\n return {\n ...transformDiscreteSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n }\n // 连续类型Attrs\n return {\n ...transformContinuousSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n };\n\n /**\n * 创建或更新播放器组件\n */\n private _createOrUpdatePlayerComponent = () => {\n const attrs = { ...this._getPlayerAttrs() };\n const container = this.getContainer();\n if (this._playerComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._cacheAttrs = attrs;\n this._playerComponent.setAttributes(attrs);\n // FIXME: player 组件没有重写 setAttributes 方法,因此不能正常更新样式。以下两句模拟执行了 setAttributes 方法,但是应在 vrender-component 的后续版本中实现 setAttributes 方法\n this._playerComponent._initAttributes();\n this._playerComponent.render();\n }\n } else {\n if (attrs.type === 'discrete') {\n this._playerComponent = new DiscretePlayer(attrs);\n } else {\n this._playerComponent = new ContinuousPlayer(attrs);\n }\n\n this._cacheAttrs = attrs;\n this._playerComponent.name = `player`;\n\n container.add(this._playerComponent as unknown as INode);\n\n this._initEvent();\n }\n };\n\n /**\n * 计算起点\n */\n private _computeLayoutRect(rect: ILayoutRect, width: number, height: number) {\n // don't set bounds when player hidden\n if (this._visible === false) {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n // set bounds by 4 kinds of orient\n switch (this._orient) {\n case 'top': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'right': {\n return { x1: rect.width - width, y1: 0, x2: rect.width, y2: rect.height };\n }\n case 'left': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'bottom':\n default: {\n return { x1: 0, y1: rect.height - height, x2: rect.width, y2: rect.height };\n }\n }\n }\n\n /**\n * 计算组件宽度\n */\n private _computeWidth(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.width)) {\n return Math.min(rect.width, Number(this._spec.width));\n }\n\n if (isVertical(this._orient)) {\n return this._maxSize();\n }\n return rect.width;\n }\n\n /**\n * 计算组件高度\n */\n private _computeHeight(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.height)) {\n this._height = this._spec.height;\n return Math.min(rect.height, Number(this._spec.height));\n }\n\n if (isHorizontal(this._orient)) {\n return this._maxSize();\n }\n return rect.height;\n }\n\n /**\n * 计算x方向的偏移, 用于实现对齐\n */\n private _computeDx(rect: ILayoutRect) {\n // 垂直时, x不偏移\n if (isVertical(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.width - this._width) / 2;\n }\n // end\n return rect.width - this._width;\n }\n\n /**\n * 计算y方向的偏移, 用于实现对齐\n */\n private _computeDy(rect: ILayoutRect) {\n // 水平时, y不偏移\n if (isHorizontal(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.height - this._height) / 2;\n }\n\n // end\n return rect.height - this._height;\n }\n\n /**\n * 播放器宽度取计算子组件中最高的一个\n */\n private _maxSize = () => {\n return Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size),\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10\n );\n };\n\n /**\n * 滑动条超过按钮的高度\n */\n private _sliderExceededSize = () => {\n const sliderHeight =\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10;\n const controllersHeight = Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size)\n );\n if (sliderHeight >= controllersHeight) {\n return sliderHeight - controllersHeight;\n }\n return 0;\n };\n\n changePlayerIndex(index: number) {\n const spec = this._specs[index];\n (array(spec.data) as IDataValues[]).forEach(data => {\n this._option?.globalInstance?.updateData(data.id, data.values);\n });\n this.event.emit(ChartEvent.playerChange, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n }\n\n /**\n * 事件\n */\n private _initEvent = () => {\n if (this._option.disableTriggerEvent) {\n return;\n }\n // 自动播放\n this._option.globalInstance.on(ChartEvent.rendered, () => {\n if (this._spec?.auto) {\n this._playerComponent.play();\n }\n });\n\n // 循环播放 与 交替方向\n this._playerComponent.addEventListener(PlayerEventEnum.end, () => {\n this.event.emit(ChartEvent.playerEnd, { model: this });\n\n // 交替方向, 仅离散轴支持\n if (this._alternate && this._spec.type === 'discrete') {\n this._direction = this._direction === 'default' ? 'reverse' : 'default';\n this._playerComponent.setAttributes({\n direction: this._direction,\n dataIndex: this._direction === 'reverse' ? this._specs.length - 2 : 1\n });\n }\n\n // 循环播放\n if (this._spec?.loop) {\n this._playerComponent.play();\n }\n });\n\n // 数据更新\n this._playerComponent.addEventListener(PlayerEventEnum.change, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\n this.changePlayerIndex(index);\n });\n\n // 后退\n this._playerComponent.addEventListener(PlayerEventEnum.backward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerBackward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 前进\n this._playerComponent.addEventListener(PlayerEventEnum.forward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerForward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 播放\n this._playerComponent.addEventListener(PlayerEventEnum.play, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPlay, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 暂停\n this._playerComponent.addEventListener(PlayerEventEnum.pause, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPause, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n };\n}\n\nexport const registerPlayer = () => {\n Factory.registerComponent(Player.type, Player);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAK/C,qEAAiG;AAEjG,6CAA2E;AAW3E,4CAAsD;AACtD,2DAAuD;AACvD,iDAAiG;AACjG,2CAA0D;AAC1D,kDAAkE;AAClE,gDAAkD;AAElD,MAAa,MAAO,SAAQ,8BAAsB;IAAlD;;QACE,iBAAY,GAAW,qBAAY,CAAC,MAAM,CAAC;QAC3C,gBAAW,GAAW,oBAAW,CAAC,MAAM,CAAC;QAGzC,YAAO,GAAW,QAAQ,CAAC;QAG3B,SAAI,GAAG,wBAAiB,CAAC,MAAM,CAAC;QACtB,YAAO,GAAgB,QAAQ,CAAC;QAuFlC,oBAAe,GAAG,GAAG,EAAE;;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB;gBACD,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,GAAG,IAAI,CAAC,GAAG;gBACjC,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,GAAG,IAAI,CAAC,GAAG;aAClC,CAAC;YAEF,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,qDACK,IAAA,wCAA4B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GACrD,WAAW,KACd,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EACrD,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,mCAAI,IAAI,IAC9B;aACH;YAED,qDACK,IAAA,0CAA8B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GACvD,WAAW,KACd,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EACrD,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,mCAAI,IAAI,IAC9B;QACJ,CAAC,CAAC;QAKM,mCAA8B,GAAG,GAAG,EAAE;YAC5C,MAAM,KAAK,qBAAQ,IAAI,CAAC,eAAe,EAAE,CAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAE3C,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;iBAChC;aACF;iBAAM;gBACL,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAc,CAAC,KAAK,CAAC,CAAC;iBACnD;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,KAAK,CAAC,CAAC;iBACrD;gBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAEtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAoC,CAAC,CAAC;gBAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,CAAC;QAyGM,aAAQ,GAAG,GAAG,EAAE;;YACtB,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACrD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACpD,MAAA,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,CAC1G,CAAC;QACJ,CAAC,CAAC;QAKM,wBAAmB,GAAG,GAAG,EAAE;;YACjC,MAAM,YAAY,GAChB,MAAA,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YAC5G,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACrD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,CAAC,CACrD,CAAC;YACF,IAAI,YAAY,IAAI,iBAAiB,EAAE;gBACrC,OAAO,YAAY,GAAG,iBAAiB,CAAC;aACzC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QAoBM,eAAU,GAAG,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBACpC,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,kBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE;;gBACvD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE;oBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,GAAG,EAAE,GAAG,EAAE;;gBAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAGvD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;wBAClC,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtE,CAAC,CAAC;iBACJ;gBAGD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE;oBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,MAAM,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAElG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACpG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,cAAc,EAAE;oBACzC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,OAAO,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACnG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,aAAa,EAAE;oBACxC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,IAAI,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAChG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,UAAU,EAAE;oBACrC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,KAAK,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACjG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,WAAW,EAAE;oBACtC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IApXC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,CAAC,CAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAKD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,QAAQ,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;QAChD,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,QAAQ,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;IAC7C,CAAC;IAMD,wBAAwB,CAAC,GAAW;QAClC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAA,sBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3E;QACD,IAAI,IAAA,sBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3E;IACH,CAAC;IAOD,eAAe,CAAC,IAAiB,EAAE,SAAsB;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAExE,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAED,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IAES,8BAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAwB,CAAC;IACxD,CAAC;IAkEO,kBAAkB,CAAC,IAAiB,EAAE,KAAa,EAAE,MAAc;QAEzE,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC3B,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SACvC;QAED,QAAQ,IAAI,CAAC,OAAO,EAAE;YACpB,KAAK,KAAK,CAAC,CAAC;gBACV,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAChD;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC3E;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAChD;YACD,KAAK,QAAQ,CAAC;YACd,OAAO,CAAC,CAAC;gBACP,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC7E;SACF;IACH,CAAC;IAKO,aAAa,CAAC,IAAiB;QAErC,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD;QAED,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKO,cAAc,CAAC,IAAiB;QAEtC,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;SACzD;QAED,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKO,UAAU,CAAC,IAAiB;QAElC,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,CAAC,CAAC;SACV;QAGD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;aAEI,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAKO,UAAU,CAAC,IAAiB;QAElC,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;QAGD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;aAEI,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACzC;QAGD,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;IAiCD,iBAAiB,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,CAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YACjD,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,YAAY,EAAE;YACvC,KAAK,EAAE,IAAI;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB;SACF,CAAC,CAAC;IACL,CAAC;;AA1SH,wBA4YC;AAxYQ,cAAO,GAAG,QAAQ,CAAC;AAGnB,WAAI,GAAG,wBAAiB,CAAC,MAAM,CAAC;AAuYlC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,iBAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB","file":"player.js","sourcesContent":["import { Factory } from './../../core/factory';\nimport type { INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { ContinuousPlayerAttributes, DiscretePlayerAttributes } from '@visactor/vrender-components';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscretePlayer, ContinuousPlayer, PlayerEventEnum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNumber, array, isEqual, isValidNumber } from '@visactor/vutils';\n\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\n\nimport type { DirectionType, IPlayer } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType, ILayoutRect, IChartSpec, IDataValues } from '../../typings';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils/transform';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { ChartEvent } from '../../constant/event';\n\nexport class Player extends BaseComponent<IPlayer> implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n static specKey = 'player';\n specKey: string = 'player';\n\n static type = ComponentTypeEnum.player;\n type = ComponentTypeEnum.player;\n protected _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\n private _visible: boolean;\n private _direction: DirectionType;\n private _alternate: boolean;\n private _dx: number;\n private _dy: number;\n private _width: number;\n private _height: number;\n private _position: 'start' | 'middle' | 'end';\n\n get orient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n /**\n * 设置Attr\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._orient = this._spec.orient ?? 'bottom';\n this._specs = this._spec.specs ?? [];\n this._direction = this._spec.direction ?? 'default';\n this._alternate = this._spec.alternate ?? false;\n this._dx = this._spec.dx ?? 0;\n this._dy = this._spec.dy ?? 0;\n this._position = this._spec.position ?? 'middle';\n this._visible = this._spec.visible ?? true;\n }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n afterSetLayoutStartPoint(pos: IPoint) {\n super.afterSetLayoutStartPoint(pos);\n if (isValidNumber(pos.x)) {\n const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;\n this._playerComponent && this._playerComponent.setAttribute('x', offsetX);\n }\n if (isValidNumber(pos.y)) {\n const offsetY = isHorizontal(this._orient) ? pos.y + this._sliderExceededSize() / 2 : pos.y;\n this._playerComponent && this._playerComponent.setAttribute('y', offsetY);\n }\n }\n\n /**\n * 计算组件占用的bound box\n * @param rect\n * @returns\n */\n getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n this._width = this._computeWidth(rect);\n this._height = this._computeHeight(rect);\n this._dx = this._computeDx(fullSpace);\n this._dy = this._computeDy(fullSpace);\n\n const bounds = this._computeLayoutRect(rect, this._width, this._height);\n\n this._createOrUpdatePlayerComponent();\n\n return bounds;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._playerComponent] as unknown as IGroup[];\n }\n\n /**\n * 播放器属性\n */\n private _getPlayerAttrs = () => {\n const type = this._spec.type;\n const layoutAttrs = {\n size: {\n width: this._width,\n height: this._height\n },\n dx: this._spec.dx ?? 0 + this._dx,\n dy: this._spec.dy ?? 0 + this._dy\n };\n // 离散类型Attrs\n if (type === 'discrete') {\n return {\n ...transformDiscreteSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n }\n // 连续类型Attrs\n return {\n ...transformContinuousSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n };\n\n /**\n * 创建或更新播放器组件\n */\n private _createOrUpdatePlayerComponent = () => {\n const attrs = { ...this._getPlayerAttrs() };\n const container = this.getContainer();\n if (this._playerComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._cacheAttrs = attrs;\n this._playerComponent.setAttributes(attrs);\n // FIXME: player 组件没有重写 setAttributes 方法,因此不能正常更新样式。以下两句模拟执行了 setAttributes 方法,但是应在 vrender-component 的后续版本中实现 setAttributes 方法\n this._playerComponent._initAttributes();\n this._playerComponent.render();\n }\n } else {\n if (attrs.type === 'discrete') {\n this._playerComponent = new DiscretePlayer(attrs);\n } else {\n this._playerComponent = new ContinuousPlayer(attrs);\n }\n\n this._cacheAttrs = attrs;\n this._playerComponent.name = `player`;\n\n container.add(this._playerComponent as unknown as INode);\n\n this._initEvent();\n }\n };\n\n /**\n * 计算起点\n */\n private _computeLayoutRect(rect: ILayoutRect, width: number, height: number) {\n // don't set bounds when player hidden\n if (this._visible === false) {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n // set bounds by 4 kinds of orient\n switch (this._orient) {\n case 'top': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'right': {\n return { x1: rect.width - width, y1: 0, x2: rect.width, y2: rect.height };\n }\n case 'left': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'bottom':\n default: {\n return { x1: 0, y1: rect.height - height, x2: rect.width, y2: rect.height };\n }\n }\n }\n\n /**\n * 计算组件宽度\n */\n private _computeWidth(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.width)) {\n return Math.min(rect.width, Number(this._spec.width));\n }\n\n if (isVertical(this._orient)) {\n return this._maxSize();\n }\n return rect.width;\n }\n\n /**\n * 计算组件高度\n */\n private _computeHeight(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.height)) {\n this._height = this._spec.height;\n return Math.min(rect.height, Number(this._spec.height));\n }\n\n if (isHorizontal(this._orient)) {\n return this._maxSize();\n }\n return rect.height;\n }\n\n /**\n * 计算x方向的偏移, 用于实现对齐\n */\n private _computeDx(rect: ILayoutRect) {\n // 垂直时, x不偏移\n if (isVertical(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.width - this._width) / 2;\n }\n // end\n return rect.width - this._width;\n }\n\n /**\n * 计算y方向的偏移, 用于实现对齐\n */\n private _computeDy(rect: ILayoutRect) {\n // 水平时, y不偏移\n if (isHorizontal(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.height - this._height) / 2;\n }\n\n // end\n return rect.height - this._height;\n }\n\n /**\n * 播放器宽度取计算子组件中最高的一个\n */\n private _maxSize = () => {\n return Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size),\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10\n );\n };\n\n /**\n * 滑动条超过按钮的高度\n */\n private _sliderExceededSize = () => {\n const sliderHeight =\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10;\n const controllersHeight = Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size)\n );\n if (sliderHeight >= controllersHeight) {\n return sliderHeight - controllersHeight;\n }\n return 0;\n };\n\n changePlayerIndex(index: number) {\n const spec = this._specs[index];\n (array(spec.data) as IDataValues[]).forEach(data => {\n this._option?.globalInstance?.updateData(data.id, data.values);\n });\n this.event.emit(ChartEvent.playerChange, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n }\n\n /**\n * 事件\n */\n private _initEvent = () => {\n if (this._option.disableTriggerEvent) {\n return;\n }\n // 自动播放\n this._option.globalInstance.on(ChartEvent.rendered, () => {\n if (this._spec?.auto) {\n this._playerComponent.play();\n }\n });\n\n // 循环播放 与 交替方向\n this._playerComponent.addEventListener(PlayerEventEnum.end, () => {\n this.event.emit(ChartEvent.playerEnd, { model: this });\n\n // 交替方向, 仅离散轴支持\n if (this._alternate && this._spec.type === 'discrete') {\n this._direction = this._direction === 'default' ? 'reverse' : 'default';\n this._playerComponent.setAttributes({\n direction: this._direction,\n dataIndex: this._direction === 'reverse' ? this._specs.length - 2 : 1\n });\n }\n\n // 循环播放\n if (this._spec?.loop) {\n this._playerComponent.play();\n }\n });\n\n // 数据更新\n this._playerComponent.addEventListener(PlayerEventEnum.change, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\n this.changePlayerIndex(index);\n });\n\n // 后退\n this._playerComponent.addEventListener(PlayerEventEnum.backward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerBackward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 前进\n this._playerComponent.addEventListener(PlayerEventEnum.forward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerForward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 播放\n this._playerComponent.addEventListener(PlayerEventEnum.play, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPlay, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 暂停\n this._playerComponent.addEventListener(PlayerEventEnum.pause, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPause, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n };\n}\n\nexport const registerPlayer = () => {\n Factory.registerComponent(Player.type, Player);\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { IComponent } from '../../interface';
2
- import type { ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak } from '@visactor/vrender-core';
2
+ import type { ITextGraphicAttribute, IRichTextCharacter, ITextAttribute } from '@visactor/vrender-core';
3
3
  import type { IOrientType, IPadding } from '../../../typings';
4
4
  import type { IComponentSpec } from '../../base/interface';
5
5
  interface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {
@@ -21,7 +21,7 @@ interface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {
21
21
  height?: number;
22
22
  align?: string;
23
23
  verticalAlign?: string;
24
- wordBreak?: RichTextWordBreak;
24
+ wordBreak?: ITextAttribute['wordBreak'];
25
25
  maxLineWidth?: number;
26
26
  heightLimit?: number;
27
27
  lineClamp?: number;
@@ -32,7 +32,7 @@ interface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {
32
32
  height?: number;
33
33
  align?: string;
34
34
  verticalAlign?: string;
35
- wordBreak?: RichTextWordBreak;
35
+ wordBreak?: ITextAttribute['wordBreak'];
36
36
  maxLineWidth?: number;
37
37
  heightLimit?: number;
38
38
  lineClamp?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/title/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../interface';\nimport type { ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak } from '@visactor/vrender-core';\nimport type { IOrientType, IPadding } from '../../../typings';\nimport type { IComponentSpec } from '../../base/interface';\n\ninterface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {\n /**\n * 是否显示标题\n */\n visible?: boolean;\n /**\n * Title位置\n * @default 'top'\n */\n orient?: IOrientType;\n /**\n * 标题左上角x坐标像素值\n */\n x?: number;\n /**\n * 标题左上角y坐标像素值\n */\n y?: number;\n /**\n * 标题宽度\n */\n width?: number;\n /**\n * 标题高度\n */\n height?: number;\n /**\n * 最小宽度,像素值\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 最小高度,像素值\n */\n minHeight?: number;\n /**\n * 最大高度,像素值\n */\n maxHeight?: number;\n /**\n * 标题的边距留白\n */\n innerPadding?: IPadding | number | number[];\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 主标题样式\n */\n textStyle?: {\n width?: number;\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置(暂时保留旧设置)\n * @deprecated use text & textType instead\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute>;\n /**\n * 副标题样式\n */\n subtextStyle?: {\n /** 指定宽度 */\n width?: number;\n /** 指定高度 */\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置(暂时保留旧设置)\n * @deprecated use subtext & subtextType instead\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute>;\n}\n\nexport type ITitleTextSpec =\n | {\n /**\n * 主标题文本类型\n */\n textType?: 'text';\n /**\n * 主标题文本配置\n */\n text: string | number | string[] | number[];\n }\n | {\n /**\n * 主标题文本类型(默认类型为text)\n */\n textType: 'rich';\n /**\n * 主标题富文本内容\n */\n text: IRichTextCharacter[];\n };\n\nexport type ISubTitleTextSpec =\n | {\n /**\n * 副标题文本类型\n */\n subtextType?: 'text';\n /**\n * 副标题文本内容\n */\n subtext?: string | number | string[] | number[];\n }\n | {\n /**\n * 副标题文本类型\n */\n subtextType?: 'rich';\n\n /**\n * 副标题富文本内容\n */\n subtext?: IRichTextCharacter[];\n };\n\nexport type ITitleSpec = ITitleSpecWithoutText & ITitleTextSpec & ISubTitleTextSpec;\n\nexport type ITitle = IComponent;\n"]}
1
+ {"version":3,"sources":["../src/component/title/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../interface';\nimport type { ITextGraphicAttribute, IRichTextCharacter, ITextAttribute } from '@visactor/vrender-core';\nimport type { IOrientType, IPadding } from '../../../typings';\nimport type { IComponentSpec } from '../../base/interface';\n\ninterface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {\n /**\n * 是否显示标题\n */\n visible?: boolean;\n /**\n * Title位置\n * @default 'top'\n */\n orient?: IOrientType;\n /**\n * 标题左上角x坐标像素值\n */\n x?: number;\n /**\n * 标题左上角y坐标像素值\n */\n y?: number;\n /**\n * 标题宽度\n */\n width?: number;\n /**\n * 标题高度\n */\n height?: number;\n /**\n * 最小宽度,像素值\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 最小高度,像素值\n */\n minHeight?: number;\n /**\n * 最大高度,像素值\n */\n maxHeight?: number;\n /**\n * 标题的边距留白\n */\n innerPadding?: IPadding | number | number[];\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 主标题样式\n */\n textStyle?: {\n width?: number;\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all' | 'keep-all'\n */\n wordBreak?: ITextAttribute['wordBreak'];\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置(暂时保留旧设置)\n * @deprecated use text & textType instead\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute>;\n /**\n * 副标题样式\n */\n subtextStyle?: {\n /** 指定宽度 */\n width?: number;\n /** 指定高度 */\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all' | 'keep-all\n */\n wordBreak?: ITextAttribute['wordBreak'];\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置(暂时保留旧设置)\n * @deprecated use subtext & subtextType instead\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute>;\n}\n\nexport type ITitleTextSpec =\n | {\n /**\n * 主标题文本类型\n */\n textType?: 'text';\n /**\n * 主标题文本配置\n */\n text: string | number | string[] | number[];\n }\n | {\n /**\n * 主标题文本类型(默认类型为text)\n */\n textType: 'rich';\n /**\n * 主标题富文本内容\n */\n text: IRichTextCharacter[];\n };\n\nexport type ISubTitleTextSpec =\n | {\n /**\n * 副标题文本类型\n */\n subtextType?: 'text';\n /**\n * 副标题文本内容\n */\n subtext?: string | number | string[] | number[];\n }\n | {\n /**\n * 副标题文本类型\n */\n subtextType?: 'rich';\n\n /**\n * 副标题富文本内容\n */\n subtext?: IRichTextCharacter[];\n };\n\nexport type ITitleSpec = ITitleSpecWithoutText & ITitleTextSpec & ISubTitleTextSpec;\n\nexport type ITitle = IComponent;\n"]}
@@ -12,7 +12,7 @@ export interface ITitleTextTheme {
12
12
  fontWeight?: StringOrNumber;
13
13
  textAlign?: TextAlign;
14
14
  textBaseline?: TextBaseLine;
15
- lineHeight?: number;
15
+ lineHeight?: number | ITokenKey;
16
16
  }
17
17
  export interface ITitleTheme extends ILayoutItemSpec {
18
18
  textStyle?: ITitleTextTheme;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/title/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ILayoutItemSpec } from '../../../layout/interface';\nimport type { IColorKey } from '../../../theme/color-scheme/interface';\nimport type { ITokenKey } from '../../../theme/token';\nimport type { StringOrNumber } from '../../../typings';\nimport type { TextAlign, TextBaseLine } from '../../../typings/visual';\nexport interface ITitleTextTheme {\n /** 主(副)标题宽度 */\n width?: number;\n /** 主(副)标题高度 */\n height?: number;\n /** 字体 */\n fontFamily?: string;\n /** 字体大小 */\n fontSize?: number | ITokenKey;\n /** 字体颜色 */\n fill?: string | IColorKey;\n /** 字重 */\n fontWeight?: StringOrNumber;\n /** 对齐方式 */\n textAlign?: TextAlign;\n /** 字体基线 */\n textBaseline?: TextBaseLine;\n /** 行高 */\n lineHeight?: number;\n}\n\nexport interface ITitleTheme extends ILayoutItemSpec {\n /** 主标题样式 */\n textStyle?: ITitleTextTheme;\n /** 副标题样式 */\n subtextStyle?: ITitleTextTheme;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/title/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ILayoutItemSpec } from '../../../layout/interface';\nimport type { IColorKey } from '../../../theme/color-scheme/interface';\nimport type { ITokenKey } from '../../../theme/token';\nimport type { StringOrNumber } from '../../../typings';\nimport type { TextAlign, TextBaseLine } from '../../../typings/visual';\nexport interface ITitleTextTheme {\n /** 主(副)标题宽度 */\n width?: number;\n /** 主(副)标题高度 */\n height?: number;\n /** 字体 */\n fontFamily?: string;\n /** 字体大小 */\n fontSize?: number | ITokenKey;\n /** 字体颜色 */\n fill?: string | IColorKey;\n /** 字重 */\n fontWeight?: StringOrNumber;\n /** 对齐方式 */\n textAlign?: TextAlign;\n /** 字体基线 */\n textBaseline?: TextBaseLine;\n /** 行高 */\n lineHeight?: number | ITokenKey;\n}\n\nexport interface ITitleTheme extends ILayoutItemSpec {\n /** 主标题样式 */\n textStyle?: ITitleTextTheme;\n /** 副标题样式 */\n subtextStyle?: ITitleTextTheme;\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerTitle = exports.Title = void 0;
6
6
 
7
- const layout_1 = require("../../constant/layout"), factory_1 = require("../../core/factory"), space_1 = require("../../util/space"), base_component_1 = require("../base/base-component"), type_1 = require("../interface/type"), vrender_components_1 = require("@visactor/vrender-components"), vutils_1 = require("@visactor/vutils");
7
+ const layout_1 = require("../../constant/layout"), factory_1 = require("../../core/factory"), space_1 = require("../../util/space"), base_component_1 = require("../base/base-component"), type_1 = require("../interface/type"), vrender_components_1 = require("@visactor/vrender-components"), vutils_1 = require("@visactor/vutils"), util_1 = require("../util");
8
8
 
9
9
  class Title extends base_component_1.BaseComponent {
10
10
  get orient() {
@@ -19,23 +19,7 @@ class Title extends base_component_1.BaseComponent {
19
19
  super.initLayout(), this._layout && (this._layout.layoutOrient = this._orient);
20
20
  }
21
21
  static getSpecInfo(chartSpec) {
22
- const titleSpec = chartSpec[this.specKey];
23
- if (!titleSpec || !1 === titleSpec.visible) return null;
24
- if (!(0, vutils_1.isArray)(titleSpec)) return [ {
25
- spec: titleSpec,
26
- specPath: [ this.specKey ],
27
- specInfoPath: [ "component", this.specKey, 0 ],
28
- type: type_1.ComponentTypeEnum.title
29
- } ];
30
- const specInfos = [];
31
- return titleSpec.forEach(((s, i) => {
32
- !1 !== s.visible && specInfos.push({
33
- spec: s,
34
- specPath: [ this.specKey, i ],
35
- specInfoPath: [ "component", this.specKey, i ],
36
- type: type_1.ComponentTypeEnum.title
37
- });
38
- })), specInfos;
22
+ return (0, util_1.getSpecInfo)(chartSpec, this.specKey, type_1.ComponentTypeEnum.title, (s => !1 !== s.visible));
39
23
  }
40
24
  onRender(ctx) {}
41
25
  _compareSpec(spec, prevSpec) {
@@ -72,33 +56,37 @@ class Title extends base_component_1.BaseComponent {
72
56
  };
73
57
  }
74
58
  _getTitleAttrs() {
75
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
76
- const realWidth = Math.max(0, null !== (_a = this._spec.width) && void 0 !== _a ? _a : this.getLayoutRect().width);
77
- return !1 === this._spec.visible ? {
59
+ var _a, _b, _c, _d, _e, _f, _g, _h;
60
+ if (!1 === this._spec.visible) return {
78
61
  visible: !1
79
- } : Object.assign(Object.assign({}, (0, vutils_1.pickWithout)(this._spec, [ "padding" ])), {
80
- textType: null !== (_b = this._spec.textType) && void 0 !== _b ? _b : "text",
81
- text: null !== (_c = this._spec.text) && void 0 !== _c ? _c : "",
82
- subtextType: null !== (_d = this._spec.subtextType) && void 0 !== _d ? _d : "text",
83
- subtext: null !== (_e = this._spec.subtext) && void 0 !== _e ? _e : "",
84
- x: null !== (_f = this._spec.x) && void 0 !== _f ? _f : 0,
85
- y: null !== (_g = this._spec.y) && void 0 !== _g ? _g : 0,
86
- width: realWidth,
62
+ };
63
+ const layoutRect = this.getLayoutRect(), titleWidth = (0, space_1.calcLayoutNumber)(this._spec.width, layoutRect.width, null, layoutRect.width), titleMaxWidth = (0,
64
+ space_1.calcLayoutNumber)(this._spec.maxWidth, layoutRect.width, null, layoutRect.width), maxWidth = Math.max(Math.min(titleWidth, titleMaxWidth, layoutRect.width), 0), attrs = Object.assign(Object.assign({}, (0,
65
+ vutils_1.pickWithout)(this._spec, [ "padding" ])), {
66
+ textType: null !== (_a = this._spec.textType) && void 0 !== _a ? _a : "text",
67
+ text: null !== (_b = this._spec.text) && void 0 !== _b ? _b : "",
68
+ subtextType: null !== (_c = this._spec.subtextType) && void 0 !== _c ? _c : "text",
69
+ subtext: null !== (_d = this._spec.subtext) && void 0 !== _d ? _d : "",
70
+ x: null !== (_e = this._spec.x) && void 0 !== _e ? _e : 0,
71
+ y: null !== (_f = this._spec.y) && void 0 !== _f ? _f : 0,
87
72
  height: this._spec.height,
88
73
  minWidth: this._spec.minWidth,
89
- maxWidth: this._spec.maxWidth,
74
+ maxWidth: maxWidth,
90
75
  minHeight: this._spec.minHeight,
91
76
  maxHeight: this._spec.maxHeight,
92
77
  padding: this._spec.innerPadding,
93
- align: null !== (_h = this._spec.align) && void 0 !== _h ? _h : "left",
94
- verticalAlign: null !== (_j = this._spec.verticalAlign) && void 0 !== _j ? _j : "top",
78
+ align: null !== (_g = this._spec.align) && void 0 !== _g ? _g : "left",
79
+ verticalAlign: null !== (_h = this._spec.verticalAlign) && void 0 !== _h ? _h : "top",
95
80
  textStyle: Object.assign({
96
- width: realWidth
81
+ width: maxWidth,
82
+ maxLineWidth: maxWidth
97
83
  }, this._spec.textStyle),
98
84
  subtextStyle: Object.assign({
99
- width: realWidth
85
+ maxLineWidth: maxWidth
100
86
  }, this._spec.subtextStyle)
101
87
  });
88
+ return (0, vutils_1.isValid)(this._spec.width) && (attrs.textStyle.width = Math.max(titleWidth, layoutRect.width),
89
+ attrs.subtextStyle.width = attrs.textStyle.width), attrs;
102
90
  }
103
91
  _createOrUpdateTitleComponent(attrs) {
104
92
  if (this._titleComponent) (0, vutils_1.isEqual)(attrs, this._cacheAttrs) || this._titleComponent.setAttributes(attrs); else {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/title/title.ts"],"names":[],"mappings":"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","file":"title.js","sourcesContent":["import { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { Factory } from '../../core/factory';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IPoint, IOrientType, ILayoutType, ILayoutRect } from '../../typings';\nimport { isValidOrient } from '../../util/space';\nimport { BaseComponent } from '../base/base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { ITitle, ITitleSpec } from './interface';\nimport { Title as TitleComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TitleAttrs } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, isArray, isValidNumber, pickWithout } from '@visactor/vutils';\n\nexport class Title<T extends ITitleSpec = ITitleSpec> extends BaseComponent<T> implements ITitle {\n static type = ComponentTypeEnum.title;\n type = ComponentTypeEnum.title;\n static specKey = ComponentTypeEnum.title;\n specKey: string = ComponentTypeEnum.title;\n\n layoutType: ILayoutType = 'normal';\n layoutZIndex: number = LayoutZIndex.Title;\n layoutLevel: number = LayoutLevel.Title;\n\n protected _orient: IOrientType = 'top';\n\n private _titleComponent: TitleComponents;\n private _cacheAttrs: TitleAttrs;\n\n get orient() {\n return this._orient;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._orient = isValidOrient(spec.orient) ? spec.orient : 'top';\n }\n\n initLayout(): void {\n super.initLayout();\n this._layout && (this._layout.layoutOrient = this._orient);\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const titleSpec = chartSpec[this.specKey];\n if (!titleSpec || titleSpec.visible === false) {\n return null;\n }\n if (!isArray(titleSpec)) {\n return [\n {\n spec: titleSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.title\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n titleSpec.forEach((s: any, i: number) => {\n if (s.visible !== false) {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.title\n });\n }\n });\n return specInfos;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n\n if (prevSpec?.orient !== spec?.orient || (prevSpec as any)?.visible !== (spec as any).visible) {\n // title 组件切换visible会影响布局,所以需要重新remake\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n afterSetLayoutStartPoint(pos: IPoint): void {\n if (isValidNumber(pos.x)) {\n this._titleComponent && this._titleComponent.setAttribute('x', pos.x);\n }\n if (isValidNumber(pos.y)) {\n this._titleComponent && this._titleComponent.setAttribute('y', pos.y);\n }\n super.afterSetLayoutStartPoint(pos);\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n let result: Partial<ILayoutRect> = {};\n this.setLayoutRect(rect);\n\n const attrs = this._getTitleAttrs();\n this._createOrUpdateTitleComponent(attrs);\n\n result = this._getTitleLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n private _getTitleLayoutRect() {\n const titleBounds = this._titleComponent.AABBBounds;\n const width = this._spec.width ? this._spec.width : isValidNumber(titleBounds.width()) ? titleBounds.width() : 0;\n const height = this._spec.height\n ? this._spec.height\n : isValidNumber(titleBounds.height())\n ? titleBounds.height()\n : 0;\n return {\n width,\n height\n };\n }\n\n private _getTitleAttrs() {\n // 当 width 小于 0 时,设置为 0,负数场景容易引起不可预知的问题\n const realWidth = Math.max(0, this._spec.width ?? this.getLayoutRect().width);\n if (this._spec.visible === false) {\n return { visible: false };\n }\n\n return {\n ...(pickWithout(this._spec, ['padding']) as any),\n textType: this._spec.textType ?? 'text',\n text: this._spec.text ?? '',\n subtextType: this._spec.subtextType ?? 'text',\n subtext: this._spec.subtext ?? '',\n x: this._spec.x ?? 0,\n y: this._spec.y ?? 0,\n width: realWidth,\n height: this._spec.height,\n minWidth: this._spec.minWidth,\n maxWidth: this._spec.maxWidth,\n minHeight: this._spec.minHeight,\n maxHeight: this._spec.maxHeight,\n padding: this._spec.innerPadding,\n align: this._spec.align ?? 'left',\n verticalAlign: this._spec.verticalAlign ?? 'top',\n textStyle: {\n width: realWidth,\n ...this._spec.textStyle\n },\n subtextStyle: {\n width: realWidth,\n ...this._spec.subtextStyle\n }\n } as TitleAttrs;\n }\n\n private _createOrUpdateTitleComponent(attrs: TitleAttrs): TitleComponents {\n if (this._titleComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._titleComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n const title = new TitleComponents(attrs);\n title.name = 'title';\n container.add(title as unknown as INode);\n this._titleComponent = title;\n // 代理 title 组件上的事件\n title.on('*', (event: any, type: string) => this._delegateEvent(title as unknown as IGraphic, event, type));\n }\n this._cacheAttrs = attrs;\n return this._titleComponent;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._titleComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n super.clear();\n this._cacheAttrs = null;\n }\n}\n\nexport const registerTitle = () => {\n Factory.registerComponent(Title.type, Title);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/title/title.ts"],"names":[],"mappings":"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","file":"title.js","sourcesContent":["import { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { Factory } from '../../core/factory';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IPoint, IOrientType, ILayoutType, ILayoutRect } from '../../typings';\nimport { calcLayoutNumber, isValidOrient } from '../../util/space';\nimport { BaseComponent } from '../base/base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { ITitle, ITitleSpec } from './interface';\nimport { Title as TitleComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TitleAttrs } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, isValidNumber, pickWithout, isValid } from '@visactor/vutils';\nimport { getSpecInfo } from '../util';\n\nexport class Title<T extends ITitleSpec = ITitleSpec> extends BaseComponent<T> implements ITitle {\n static type = ComponentTypeEnum.title;\n type = ComponentTypeEnum.title;\n static specKey = ComponentTypeEnum.title;\n specKey: string = ComponentTypeEnum.title;\n\n layoutType: ILayoutType = 'normal';\n layoutZIndex: number = LayoutZIndex.Title;\n layoutLevel: number = LayoutLevel.Title;\n\n protected _orient: IOrientType = 'top';\n\n private _titleComponent: TitleComponents;\n private _cacheAttrs: TitleAttrs;\n\n get orient() {\n return this._orient;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._orient = isValidOrient(spec.orient) ? spec.orient : 'top';\n }\n\n initLayout(): void {\n super.initLayout();\n this._layout && (this._layout.layoutOrient = this._orient);\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<ITitleSpec>(chartSpec, this.specKey, ComponentTypeEnum.title, (s: ITitleSpec) => {\n return s.visible !== false;\n });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n\n if (prevSpec?.orient !== spec?.orient || (prevSpec as any)?.visible !== (spec as any).visible) {\n // title 组件切换visible会影响布局,所以需要重新remake\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n afterSetLayoutStartPoint(pos: IPoint): void {\n if (isValidNumber(pos.x)) {\n this._titleComponent && this._titleComponent.setAttribute('x', pos.x);\n }\n if (isValidNumber(pos.y)) {\n this._titleComponent && this._titleComponent.setAttribute('y', pos.y);\n }\n super.afterSetLayoutStartPoint(pos);\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n let result: Partial<ILayoutRect> = {};\n this.setLayoutRect(rect);\n\n const attrs = this._getTitleAttrs();\n this._createOrUpdateTitleComponent(attrs);\n\n result = this._getTitleLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n private _getTitleLayoutRect() {\n const titleBounds = this._titleComponent.AABBBounds;\n const width = this._spec.width ? this._spec.width : isValidNumber(titleBounds.width()) ? titleBounds.width() : 0;\n const height = this._spec.height\n ? this._spec.height\n : isValidNumber(titleBounds.height())\n ? titleBounds.height()\n : 0;\n return {\n width,\n height\n };\n }\n\n private _getTitleAttrs() {\n // 当 width 小于 0 时,设置为 0,负数场景容易引起不可预知的问题\n if (this._spec.visible === false) {\n return { visible: false };\n }\n const layoutRect = this.getLayoutRect();\n const titleWidth = calcLayoutNumber(this._spec.width, layoutRect.width, null, layoutRect.width);\n const titleMaxWidth = calcLayoutNumber(this._spec.maxWidth, layoutRect.width, null, layoutRect.width);\n const maxWidth = Math.max(Math.min(titleWidth, titleMaxWidth, layoutRect.width), 0);\n\n const attrs = {\n ...(pickWithout(this._spec, ['padding']) as any),\n textType: this._spec.textType ?? 'text',\n text: this._spec.text ?? '',\n subtextType: this._spec.subtextType ?? 'text',\n subtext: this._spec.subtext ?? '',\n x: this._spec.x ?? 0,\n y: this._spec.y ?? 0,\n height: this._spec.height,\n minWidth: this._spec.minWidth,\n maxWidth,\n minHeight: this._spec.minHeight,\n maxHeight: this._spec.maxHeight,\n padding: this._spec.innerPadding,\n align: this._spec.align ?? 'left',\n verticalAlign: this._spec.verticalAlign ?? 'top',\n textStyle: {\n width: maxWidth,\n maxLineWidth: maxWidth,\n ...this._spec.textStyle\n },\n subtextStyle: {\n maxLineWidth: maxWidth,\n ...this._spec.subtextStyle\n }\n } as TitleAttrs;\n\n if (isValid(this._spec.width)) {\n attrs.textStyle.width = Math.max(titleWidth, layoutRect.width);\n attrs.subtextStyle.width = attrs.textStyle.width;\n }\n return attrs;\n }\n\n private _createOrUpdateTitleComponent(attrs: TitleAttrs): TitleComponents {\n if (this._titleComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._titleComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n const title = new TitleComponents(attrs);\n title.name = 'title';\n container.add(title as unknown as INode);\n this._titleComponent = title;\n // 代理 title 组件上的事件\n title.on('*', (event: any, type: string) => this._delegateEvent(title as unknown as IGraphic, event, type));\n }\n this._cacheAttrs = attrs;\n return this._titleComponent;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._titleComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n super.clear();\n this._cacheAttrs = null;\n }\n}\n\nexport const registerTitle = () => {\n Factory.registerComponent(Title.type, Title);\n};\n"]}
@@ -1,9 +1,10 @@
1
1
  import type { ITooltipLineActual, TooltipActiveType } from '../../typings';
2
- export declare class TooltipHandlerType {
3
- static dom: string;
4
- static canvas: string;
5
- }
2
+ export declare const TooltipHandlerType: {
3
+ dom: string;
4
+ canvas: string;
5
+ };
6
6
  export declare const TOOLTIP_EL_CLASS_NAME = "vchart-tooltip-element";
7
7
  export declare const TOOLTIP_MAX_LINE_COUNT = 20;
8
8
  export declare const TOOLTIP_OTHERS_LINE: ITooltipLineActual;
9
9
  export declare const TOOLTIP_TYPES: TooltipActiveType[];
10
+ export declare const DEFAULT_SHOW_DELAY = 50;