@visactor/vchart 0.0.1-alpha.1 → 0.2.1-alpha.0

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 (954) hide show
  1. package/README.md +82 -1
  2. package/build/index.js +2910 -2222
  3. package/build/index.min.js +2 -2
  4. package/cjs/animation/utils.d.ts +4 -2
  5. package/cjs/animation/utils.js +8 -3
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base-chart.js +2 -2
  8. package/cjs/chart/base-chart.js.map +1 -1
  9. package/cjs/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  10. package/cjs/chart/box-plot/box-plot.js.map +1 -0
  11. package/{esm/chart/boxplot → cjs/chart/box-plot}/index.d.ts +1 -1
  12. package/cjs/chart/{boxplot → box-plot}/index.js +1 -1
  13. package/cjs/chart/box-plot/index.js.map +1 -0
  14. package/cjs/chart/box-plot/interface.js.map +1 -0
  15. package/cjs/chart/index.d.ts +3 -1
  16. package/cjs/chart/index.js +2 -1
  17. package/cjs/chart/index.js.map +1 -1
  18. package/cjs/chart/treemap/treemap.js.map +1 -1
  19. package/cjs/compile/compiler.d.ts +4 -4
  20. package/cjs/compile/compiler.js +25 -26
  21. package/cjs/compile/compiler.js.map +1 -1
  22. package/cjs/compile/data/compilable-data.d.ts +1 -1
  23. package/cjs/compile/interface/compiler.d.ts +0 -5
  24. package/cjs/compile/interface/compiler.js.map +1 -1
  25. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  26. package/cjs/compile/mark/interface.js.map +1 -1
  27. package/cjs/compile/signal/state-manager.d.ts +1 -1
  28. package/cjs/component/axis/base-axis.d.ts +70 -1
  29. package/cjs/component/axis/base-axis.js +93 -4
  30. package/cjs/component/axis/base-axis.js.map +1 -1
  31. package/cjs/component/axis/cartesian/axis.d.ts +0 -1
  32. package/cjs/component/axis/cartesian/axis.js +3 -6
  33. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  34. package/cjs/component/axis/polar/axis.d.ts +0 -1
  35. package/cjs/component/axis/polar/axis.js +3 -6
  36. package/cjs/component/axis/polar/axis.js.map +1 -1
  37. package/cjs/component/axis/utils.d.ts +13 -70
  38. package/cjs/component/axis/utils.js +23 -109
  39. package/cjs/component/axis/utils.js.map +1 -1
  40. package/cjs/component/base/base-component.d.ts +0 -5
  41. package/cjs/component/base/base-component.js +8 -19
  42. package/cjs/component/base/base-component.js.map +1 -1
  43. package/cjs/component/base/util.d.ts +1 -1
  44. package/cjs/component/base/util.js +20 -9
  45. package/cjs/component/base/util.js.map +1 -1
  46. package/cjs/component/crosshair/base.d.ts +0 -1
  47. package/cjs/component/crosshair/base.js +1 -4
  48. package/cjs/component/crosshair/base.js.map +1 -1
  49. package/cjs/component/custom-mark/custom-mark.js +4 -1
  50. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  51. package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -2
  52. package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
  53. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  54. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  55. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
  56. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  57. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  58. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  59. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  60. package/cjs/component/interface/index.d.ts +1 -0
  61. package/cjs/component/interface/index.js +1 -1
  62. package/cjs/component/interface/index.js.map +1 -1
  63. package/cjs/component/interface/theme.d.ts +38 -0
  64. package/cjs/component/interface/theme.js +6 -0
  65. package/cjs/component/interface/theme.js.map +1 -0
  66. package/cjs/component/label/label.d.ts +0 -1
  67. package/cjs/component/label/label.js +12 -6
  68. package/cjs/component/label/label.js.map +1 -1
  69. package/cjs/component/legend/base-legend.js +5 -2
  70. package/cjs/component/legend/base-legend.js.map +1 -1
  71. package/cjs/component/legend/continuous/legend.d.ts +1 -1
  72. package/cjs/component/legend/continuous/legend.js +2 -2
  73. package/cjs/component/legend/continuous/legend.js.map +1 -1
  74. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  75. package/cjs/component/legend/discrete/legend.js +2 -2
  76. package/cjs/component/legend/discrete/legend.js.map +1 -1
  77. package/cjs/component/legend/util.d.ts +4 -4
  78. package/cjs/component/map-label/component.js +2 -2
  79. package/cjs/component/map-label/component.js.map +1 -1
  80. package/cjs/component/map-label/interface.d.ts +6 -4
  81. package/cjs/component/map-label/interface.js.map +1 -1
  82. package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -1
  83. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  84. package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -1
  85. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  86. package/cjs/component/marker/mark-point/interface/spec.d.ts +2 -1
  87. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  88. package/cjs/component/marker/utils.js +14 -9
  89. package/cjs/component/marker/utils.js.map +1 -1
  90. package/cjs/component/player/interface/theme.d.ts +2 -1
  91. package/cjs/component/player/interface/theme.js.map +1 -1
  92. package/cjs/component/player/player.d.ts +0 -1
  93. package/cjs/component/player/player.js +0 -3
  94. package/cjs/component/player/player.js.map +1 -1
  95. package/cjs/component/player/utils/transform.js.map +1 -1
  96. package/cjs/component/title/interface/theme.d.ts +4 -2
  97. package/cjs/component/title/interface/theme.js.map +1 -1
  98. package/cjs/component/title/title.d.ts +1 -1
  99. package/cjs/component/title/title.js +4 -6
  100. package/cjs/component/title/title.js.map +1 -1
  101. package/cjs/component/tooltip/handler/base.d.ts +5 -3
  102. package/cjs/component/tooltip/handler/base.js +9 -8
  103. package/cjs/component/tooltip/handler/base.js.map +1 -1
  104. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  105. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -4
  106. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  107. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  108. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -2
  109. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  110. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  111. package/cjs/component/tooltip/tooltip.js +1 -1
  112. package/cjs/component/tooltip/tooltip.js.map +1 -1
  113. package/cjs/constant/base.d.ts +1 -1
  114. package/cjs/constant/base.js +1 -1
  115. package/cjs/constant/base.js.map +1 -1
  116. package/cjs/constant/box-plot.js +1 -2
  117. package/cjs/constant/label.js +2 -1
  118. package/cjs/core/factory.d.ts +1 -0
  119. package/cjs/core/factory.js +3 -0
  120. package/cjs/core/factory.js.map +1 -1
  121. package/cjs/core/instance-manager.d.ts +9 -0
  122. package/cjs/core/instance-manager.js +26 -0
  123. package/cjs/core/instance-manager.js.map +1 -0
  124. package/cjs/core/interface.js +1 -2
  125. package/cjs/core/vchart.d.ts +2 -6
  126. package/cjs/core/vchart.js +10 -24
  127. package/cjs/core/vchart.js.map +1 -1
  128. package/cjs/data/initialize.js +2 -1
  129. package/cjs/data/transforms/add-property.d.ts +5 -5
  130. package/cjs/data/transforms/add-property.js +3 -3
  131. package/cjs/data/transforms/add-property.js.map +1 -1
  132. package/cjs/data/transforms/data-key.d.ts +3 -3
  133. package/cjs/data/transforms/data-key.js.map +1 -1
  134. package/cjs/index.d.ts +1 -1
  135. package/cjs/index.js +1 -1
  136. package/cjs/index.js.map +1 -1
  137. package/cjs/mark/arc.d.ts +1 -1
  138. package/cjs/mark/arc.js +4 -3
  139. package/cjs/mark/arc.js.map +1 -1
  140. package/cjs/mark/area.d.ts +3 -2
  141. package/cjs/mark/area.js +8 -4
  142. package/cjs/mark/area.js.map +1 -1
  143. package/cjs/mark/base/base-mark.js +2 -1
  144. package/cjs/mark/base/base-mark.js.map +1 -1
  145. package/cjs/mark/base/index.d.ts +1 -2
  146. package/cjs/mark/base/index.js +1 -10
  147. package/cjs/mark/base/index.js.map +1 -1
  148. package/{esm/mark/boxPlot.d.ts → cjs/mark/box-plot.d.ts} +1 -1
  149. package/cjs/mark/{boxPlot.js → box-plot.js} +3 -3
  150. package/{esm/mark/boxPlot.js.map → cjs/mark/box-plot.js.map} +1 -1
  151. package/cjs/mark/component.d.ts +1 -1
  152. package/cjs/mark/component.js +2 -2
  153. package/cjs/mark/component.js.map +1 -1
  154. package/cjs/mark/group.js +1 -1
  155. package/cjs/mark/line.d.ts +1 -1
  156. package/cjs/mark/line.js +3 -3
  157. package/cjs/mark/line.js.map +1 -1
  158. package/cjs/mark/linkPath.d.ts +1 -1
  159. package/cjs/mark/linkPath.js +3 -3
  160. package/cjs/mark/linkPath.js.map +1 -1
  161. package/cjs/mark/mark-set/index.d.ts +6 -5
  162. package/cjs/mark/mark-set/index.js +15 -12
  163. package/cjs/mark/mark-set/index.js.map +1 -1
  164. package/cjs/mark/path.d.ts +1 -1
  165. package/cjs/mark/path.js +3 -3
  166. package/cjs/mark/path.js.map +1 -1
  167. package/cjs/mark/polygon.d.ts +1 -1
  168. package/cjs/mark/polygon.js +2 -2
  169. package/cjs/mark/polygon.js.map +1 -1
  170. package/cjs/mark/rect.d.ts +1 -1
  171. package/cjs/mark/rect.js +5 -4
  172. package/cjs/mark/rect.js.map +1 -1
  173. package/cjs/mark/rule.d.ts +1 -1
  174. package/cjs/mark/rule.js +2 -2
  175. package/cjs/mark/rule.js.map +1 -1
  176. package/cjs/mark/symbol.d.ts +1 -1
  177. package/cjs/mark/symbol.js +4 -3
  178. package/cjs/mark/symbol.js.map +1 -1
  179. package/cjs/mark/text.d.ts +1 -1
  180. package/cjs/mark/text.js +4 -3
  181. package/cjs/mark/text.js.map +1 -1
  182. package/cjs/model/base-model.d.ts +13 -6
  183. package/cjs/model/base-model.js +53 -30
  184. package/cjs/model/base-model.js.map +1 -1
  185. package/cjs/model/interface.d.ts +8 -2
  186. package/cjs/model/interface.js +1 -1
  187. package/cjs/model/interface.js.map +1 -1
  188. package/cjs/model/layout-item.js +22 -19
  189. package/cjs/model/layout-item.js.map +1 -1
  190. package/cjs/model/model-state-manager.js +1 -1
  191. package/cjs/model/tooltip-helper.js +1 -1
  192. package/cjs/region/region.d.ts +1 -4
  193. package/cjs/region/region.js +16 -13
  194. package/cjs/region/region.js.map +1 -1
  195. package/cjs/scale/color-ordinal-scale.d.ts +8 -0
  196. package/cjs/scale/color-ordinal-scale.js +24 -0
  197. package/cjs/scale/color-ordinal-scale.js.map +1 -0
  198. package/cjs/scale/global-scale.js +2 -1
  199. package/cjs/scale/global-scale.js.map +1 -1
  200. package/cjs/series/area/area.d.ts +2 -0
  201. package/cjs/series/area/area.js +15 -9
  202. package/cjs/series/area/area.js.map +1 -1
  203. package/cjs/series/area/interface.d.ts +5 -5
  204. package/cjs/series/area/interface.js.map +1 -1
  205. package/cjs/series/bar/bar.d.ts +6 -0
  206. package/cjs/series/bar/bar.js +25 -10
  207. package/cjs/series/bar/bar.js.map +1 -1
  208. package/cjs/series/bar/interface.d.ts +5 -4
  209. package/cjs/series/bar/interface.js.map +1 -1
  210. package/cjs/series/base/base-series.d.ts +12 -13
  211. package/cjs/series/base/base-series.js +56 -34
  212. package/cjs/series/base/base-series.js.map +1 -1
  213. package/{esm/series/box-plot/boxPlot.d.ts → cjs/series/box-plot/box-plot.d.ts} +2 -0
  214. package/cjs/series/box-plot/{boxPlot.js → box-plot.js} +18 -8
  215. package/cjs/series/box-plot/box-plot.js.map +1 -0
  216. package/cjs/series/box-plot/interface.d.ts +3 -2
  217. package/cjs/series/box-plot/interface.js.map +1 -1
  218. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  219. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  220. package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
  221. package/cjs/series/circle-packing/circle-packing.js +15 -10
  222. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  223. package/cjs/series/circle-packing/interface.d.ts +5 -4
  224. package/cjs/series/circle-packing/interface.js.map +1 -1
  225. package/cjs/series/dot/dot.d.ts +6 -8
  226. package/cjs/series/dot/dot.js +43 -17
  227. package/cjs/series/dot/dot.js.map +1 -1
  228. package/cjs/series/dot/interface.d.ts +10 -10
  229. package/cjs/series/dot/interface.js.map +1 -1
  230. package/cjs/series/funnel/funnel.d.ts +12 -2
  231. package/cjs/series/funnel/funnel.js +92 -31
  232. package/cjs/series/funnel/funnel.js.map +1 -1
  233. package/cjs/series/funnel/interface.d.ts +16 -15
  234. package/cjs/series/funnel/interface.js.map +1 -1
  235. package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
  236. package/cjs/series/gauge/gauge-pointer.js +22 -6
  237. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  238. package/cjs/series/gauge/gauge.d.ts +3 -2
  239. package/cjs/series/gauge/gauge.js +26 -17
  240. package/cjs/series/gauge/gauge.js.map +1 -1
  241. package/cjs/series/gauge/interface.d.ts +12 -11
  242. package/cjs/series/gauge/interface.js.map +1 -1
  243. package/cjs/series/heatmap/heatmap.d.ts +3 -1
  244. package/cjs/series/heatmap/heatmap.js +19 -11
  245. package/cjs/series/heatmap/heatmap.js.map +1 -1
  246. package/cjs/series/heatmap/interface.d.ts +6 -5
  247. package/cjs/series/heatmap/interface.js.map +1 -1
  248. package/cjs/series/interface/common.d.ts +56 -1
  249. package/cjs/series/interface/common.js +24 -1
  250. package/cjs/series/interface/common.js.map +1 -1
  251. package/cjs/series/interface/series.d.ts +2 -1
  252. package/cjs/series/interface/series.js.map +1 -1
  253. package/cjs/series/line/line.d.ts +2 -0
  254. package/cjs/series/line/line.js +7 -5
  255. package/cjs/series/line/line.js.map +1 -1
  256. package/cjs/series/link/interface.d.ts +4 -4
  257. package/cjs/series/link/interface.js.map +1 -1
  258. package/cjs/series/link/link.d.ts +4 -7
  259. package/cjs/series/link/link.js +20 -14
  260. package/cjs/series/link/link.js.map +1 -1
  261. package/cjs/series/map/map.d.ts +2 -0
  262. package/cjs/series/map/map.js +15 -8
  263. package/cjs/series/map/map.js.map +1 -1
  264. package/cjs/series/mixin/line-mixin.d.ts +4 -3
  265. package/cjs/series/mixin/line-mixin.js +16 -9
  266. package/cjs/series/mixin/line-mixin.js.map +1 -1
  267. package/cjs/series/pie/interface.d.ts +7 -6
  268. package/cjs/series/pie/interface.js.map +1 -1
  269. package/cjs/series/pie/pie.d.ts +8 -3
  270. package/cjs/series/pie/pie.js +67 -39
  271. package/cjs/series/pie/pie.js.map +1 -1
  272. package/cjs/series/progress/circular/circular.d.ts +2 -0
  273. package/cjs/series/progress/circular/circular.js +16 -9
  274. package/cjs/series/progress/circular/circular.js.map +1 -1
  275. package/cjs/series/progress/circular/interface.d.ts +5 -4
  276. package/cjs/series/progress/circular/interface.js.map +1 -1
  277. package/cjs/series/progress/linear/interface.d.ts +6 -5
  278. package/cjs/series/progress/linear/interface.js.map +1 -1
  279. package/cjs/series/progress/linear/linear.d.ts +2 -0
  280. package/cjs/series/progress/linear/linear.js +31 -21
  281. package/cjs/series/progress/linear/linear.js.map +1 -1
  282. package/cjs/series/radar/interface.d.ts +5 -4
  283. package/cjs/series/radar/interface.js.map +1 -1
  284. package/cjs/series/radar/radar.d.ts +2 -0
  285. package/cjs/series/radar/radar.js +9 -4
  286. package/cjs/series/radar/radar.js.map +1 -1
  287. package/cjs/series/range-area/range-area.d.ts +2 -0
  288. package/cjs/series/range-area/range-area.js +4 -3
  289. package/cjs/series/range-area/range-area.js.map +1 -1
  290. package/cjs/series/range-column/interface.d.ts +9 -8
  291. package/cjs/series/range-column/interface.js.map +1 -1
  292. package/cjs/series/range-column/rangeColumn.d.ts +2 -0
  293. package/cjs/series/range-column/rangeColumn.js +32 -23
  294. package/cjs/series/range-column/rangeColumn.js.map +1 -1
  295. package/cjs/series/rose/interface.d.ts +3 -2
  296. package/cjs/series/rose/interface.js.map +1 -1
  297. package/cjs/series/rose/rose.d.ts +2 -0
  298. package/cjs/series/rose/rose.js +15 -15
  299. package/cjs/series/rose/rose.js.map +1 -1
  300. package/cjs/series/sankey/animation.js.map +1 -1
  301. package/cjs/series/sankey/interface.d.ts +7 -6
  302. package/cjs/series/sankey/interface.js.map +1 -1
  303. package/cjs/series/sankey/sankey.d.ts +2 -0
  304. package/cjs/series/sankey/sankey.js +29 -26
  305. package/cjs/series/sankey/sankey.js.map +1 -1
  306. package/cjs/series/scatter/interface.d.ts +6 -5
  307. package/cjs/series/scatter/interface.js.map +1 -1
  308. package/cjs/series/scatter/scatter.d.ts +2 -0
  309. package/cjs/series/scatter/scatter.js +16 -12
  310. package/cjs/series/scatter/scatter.js.map +1 -1
  311. package/cjs/series/sunburst/interface.d.ts +5 -4
  312. package/cjs/series/sunburst/interface.js.map +1 -1
  313. package/cjs/series/sunburst/sunburst.d.ts +3 -1
  314. package/cjs/series/sunburst/sunburst.js +11 -6
  315. package/cjs/series/sunburst/sunburst.js.map +1 -1
  316. package/cjs/series/treemap/interface.d.ts +9 -8
  317. package/cjs/series/treemap/interface.js.map +1 -1
  318. package/cjs/series/treemap/treemap.d.ts +2 -0
  319. package/cjs/series/treemap/treemap.js +21 -8
  320. package/cjs/series/treemap/treemap.js.map +1 -1
  321. package/cjs/series/waterfall/interface.d.ts +6 -5
  322. package/cjs/series/waterfall/interface.js.map +1 -1
  323. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  324. package/cjs/series/waterfall/waterfall.js +15 -5
  325. package/cjs/series/waterfall/waterfall.js.map +1 -1
  326. package/cjs/series/word-cloud/interface.d.ts +7 -6
  327. package/cjs/series/word-cloud/interface.js.map +1 -1
  328. package/cjs/series/word-cloud/word-cloud.d.ts +4 -3
  329. package/cjs/series/word-cloud/word-cloud.js +22 -11
  330. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  331. package/cjs/theme/buildin-theme/config.d.ts +1 -4
  332. package/cjs/theme/buildin-theme/config.js +2 -18
  333. package/cjs/theme/buildin-theme/config.js.map +1 -1
  334. package/cjs/theme/buildin-theme/dark.js.map +1 -1
  335. package/cjs/theme/buildin-theme/light/color-scheme.js +14 -1
  336. package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
  337. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  338. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js +22 -0
  339. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  340. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  341. package/cjs/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  342. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  343. package/cjs/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  344. package/cjs/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  345. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  346. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  347. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js +22 -0
  348. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  349. package/cjs/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  350. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +25 -0
  351. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  352. package/cjs/theme/buildin-theme/light/component/crosshair.js +9 -5
  353. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  354. package/cjs/theme/buildin-theme/light/component/data-zoom.js +10 -10
  355. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  356. package/cjs/theme/buildin-theme/light/component/index.d.ts +2 -0
  357. package/cjs/theme/buildin-theme/light/component/index.js +32 -0
  358. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -0
  359. package/cjs/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  360. package/cjs/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +3 -3
  361. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  362. package/cjs/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  363. package/cjs/theme/buildin-theme/light/component/legend/continuous.js +60 -0
  364. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  365. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  366. package/cjs/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +17 -6
  367. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  368. package/cjs/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  369. package/cjs/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +3 -3
  370. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  371. package/cjs/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  372. package/cjs/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +8 -8
  373. package/cjs/theme/buildin-theme/light/component/map-label.js.map +1 -0
  374. package/cjs/theme/buildin-theme/light/component/player.js +20 -11
  375. package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
  376. package/cjs/theme/buildin-theme/light/component/title.js +19 -3
  377. package/cjs/theme/buildin-theme/light/component/title.js.map +1 -1
  378. package/cjs/theme/buildin-theme/light/component/tooltip.js +7 -3
  379. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  380. package/cjs/theme/buildin-theme/light/constants.d.ts +2 -0
  381. package/cjs/theme/buildin-theme/light/constants.js +16 -0
  382. package/cjs/theme/buildin-theme/light/constants.js.map +1 -0
  383. package/cjs/theme/buildin-theme/light/index.js +5 -20
  384. package/cjs/theme/buildin-theme/light/index.js.map +1 -1
  385. package/cjs/theme/buildin-theme/light/mark.d.ts +3 -0
  386. package/cjs/theme/buildin-theme/light/mark.js +72 -0
  387. package/cjs/theme/buildin-theme/light/mark.js.map +1 -0
  388. package/cjs/theme/buildin-theme/light/series/area.js +2 -12
  389. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  390. package/cjs/theme/buildin-theme/light/series/bar.js +2 -2
  391. package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
  392. package/cjs/theme/buildin-theme/light/series/bar3d.js +2 -2
  393. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  394. package/cjs/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  395. package/cjs/theme/buildin-theme/light/series/box-plot.js +12 -0
  396. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  397. package/cjs/theme/buildin-theme/light/series/circular-progress.js +11 -1
  398. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  399. package/cjs/theme/buildin-theme/light/series/funnel.js +8 -5
  400. package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
  401. package/cjs/theme/buildin-theme/light/series/funnel3d.js +9 -6
  402. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  403. package/cjs/theme/buildin-theme/light/series/gauge.js +6 -1
  404. package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
  405. package/cjs/theme/buildin-theme/light/series/index.js +5 -2
  406. package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
  407. package/cjs/theme/buildin-theme/light/series/line.js +2 -7
  408. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  409. package/cjs/theme/buildin-theme/light/series/linear-progress.js +5 -0
  410. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  411. package/cjs/theme/buildin-theme/light/series/map.js +8 -4
  412. package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
  413. package/cjs/theme/buildin-theme/light/series/pie.js +9 -2
  414. package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
  415. package/cjs/theme/buildin-theme/light/series/pie3d.js +4 -3
  416. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  417. package/cjs/theme/buildin-theme/light/series/radar.js +2 -12
  418. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  419. package/cjs/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  420. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  421. package/cjs/theme/buildin-theme/light/series/rose.d.ts +2 -0
  422. package/cjs/theme/buildin-theme/light/series/rose.js +20 -0
  423. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -0
  424. package/cjs/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  425. package/cjs/theme/buildin-theme/light/series/sankey.js +14 -0
  426. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -0
  427. package/cjs/theme/buildin-theme/light/series/scatter.js +10 -4
  428. package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
  429. package/cjs/theme/buildin-theme/light/series/treemap.js +4 -4
  430. package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
  431. package/cjs/theme/buildin-theme/light/series/waterfall.js +3 -3
  432. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  433. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  434. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  435. package/cjs/theme/color-scheme/interface.d.ts +16 -8
  436. package/cjs/theme/color-scheme/interface.js.map +1 -1
  437. package/cjs/theme/color-scheme/util.d.ts +6 -3
  438. package/cjs/theme/color-scheme/util.js +39 -10
  439. package/cjs/theme/color-scheme/util.js.map +1 -1
  440. package/cjs/theme/interface.d.ts +22 -38
  441. package/cjs/theme/interface.js.map +1 -1
  442. package/cjs/theme/theme-manager.d.ts +1 -0
  443. package/cjs/theme/theme-manager.js +5 -2
  444. package/cjs/theme/theme-manager.js.map +1 -1
  445. package/cjs/typings/spec/chart.d.ts +1 -1
  446. package/cjs/typings/spec/chart.js.map +1 -1
  447. package/cjs/typings/visual.d.ts +13 -12
  448. package/cjs/typings/visual.js.map +1 -1
  449. package/cjs/util/color.d.ts +0 -3
  450. package/cjs/util/color.js +2 -12
  451. package/cjs/util/color.js.map +1 -1
  452. package/cjs/util/id.js +4 -4
  453. package/cjs/util/id.js.map +1 -1
  454. package/cjs/util/scale.d.ts +12 -1
  455. package/cjs/util/scale.js +4 -2
  456. package/cjs/util/scale.js.map +1 -1
  457. package/cjs/vchart-all.js +4 -4
  458. package/cjs/vchart-all.js.map +1 -1
  459. package/esm/animation/utils.d.ts +4 -2
  460. package/esm/animation/utils.js +4 -0
  461. package/esm/animation/utils.js.map +1 -1
  462. package/esm/chart/base-chart.js +3 -3
  463. package/esm/chart/base-chart.js.map +1 -1
  464. package/esm/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
  465. package/esm/chart/box-plot/box-plot.js.map +1 -0
  466. package/{cjs/chart/boxplot → esm/chart/box-plot}/index.d.ts +1 -1
  467. package/esm/chart/{boxplot → box-plot}/index.js +1 -1
  468. package/esm/chart/box-plot/index.js.map +1 -0
  469. package/esm/chart/box-plot/interface.js.map +1 -0
  470. package/esm/chart/index.d.ts +3 -1
  471. package/esm/chart/index.js +5 -1
  472. package/esm/chart/index.js.map +1 -1
  473. package/esm/chart/treemap/treemap.js.map +1 -1
  474. package/esm/compile/compiler.d.ts +4 -4
  475. package/esm/compile/compiler.js +25 -26
  476. package/esm/compile/compiler.js.map +1 -1
  477. package/esm/compile/data/compilable-data.d.ts +1 -1
  478. package/esm/compile/interface/compiler.d.ts +0 -5
  479. package/esm/compile/interface/compiler.js.map +1 -1
  480. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  481. package/esm/compile/mark/interface.js.map +1 -1
  482. package/esm/compile/signal/state-manager.d.ts +1 -1
  483. package/esm/component/axis/base-axis.d.ts +70 -1
  484. package/esm/component/axis/base-axis.js +98 -4
  485. package/esm/component/axis/base-axis.js.map +1 -1
  486. package/esm/component/axis/cartesian/axis.d.ts +0 -1
  487. package/esm/component/axis/cartesian/axis.js +4 -7
  488. package/esm/component/axis/cartesian/axis.js.map +1 -1
  489. package/esm/component/axis/polar/axis.d.ts +0 -1
  490. package/esm/component/axis/polar/axis.js +4 -7
  491. package/esm/component/axis/polar/axis.js.map +1 -1
  492. package/esm/component/axis/utils.d.ts +13 -70
  493. package/esm/component/axis/utils.js +12 -99
  494. package/esm/component/axis/utils.js.map +1 -1
  495. package/esm/component/base/base-component.d.ts +0 -5
  496. package/esm/component/base/base-component.js +7 -20
  497. package/esm/component/base/base-component.js.map +1 -1
  498. package/esm/component/base/util.d.ts +1 -1
  499. package/esm/component/base/util.js +18 -9
  500. package/esm/component/base/util.js.map +1 -1
  501. package/esm/component/crosshair/base.d.ts +0 -1
  502. package/esm/component/crosshair/base.js +1 -4
  503. package/esm/component/crosshair/base.js.map +1 -1
  504. package/esm/component/custom-mark/custom-mark.js +4 -1
  505. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  506. package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -2
  507. package/esm/component/data-zoom/data-filter-base-component.js +2 -2
  508. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  509. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  510. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
  511. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  512. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  513. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
  514. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  515. package/esm/component/interface/index.d.ts +1 -0
  516. package/esm/component/interface/index.js +2 -0
  517. package/esm/component/interface/index.js.map +1 -1
  518. package/esm/component/interface/theme.d.ts +38 -0
  519. package/esm/component/interface/theme.js +2 -0
  520. package/esm/component/interface/theme.js.map +1 -0
  521. package/esm/component/label/label.d.ts +0 -1
  522. package/esm/component/label/label.js +12 -6
  523. package/esm/component/label/label.js.map +1 -1
  524. package/esm/component/legend/base-legend.js +5 -2
  525. package/esm/component/legend/base-legend.js.map +1 -1
  526. package/esm/component/legend/continuous/legend.d.ts +1 -1
  527. package/esm/component/legend/continuous/legend.js +2 -2
  528. package/esm/component/legend/continuous/legend.js.map +1 -1
  529. package/esm/component/legend/discrete/legend.d.ts +1 -1
  530. package/esm/component/legend/discrete/legend.js +2 -2
  531. package/esm/component/legend/discrete/legend.js.map +1 -1
  532. package/esm/component/legend/util.d.ts +4 -4
  533. package/esm/component/map-label/component.js +1 -5
  534. package/esm/component/map-label/component.js.map +1 -1
  535. package/esm/component/map-label/interface.d.ts +6 -4
  536. package/esm/component/map-label/interface.js.map +1 -1
  537. package/esm/component/marker/mark-area/interface/spec.d.ts +2 -1
  538. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  539. package/esm/component/marker/mark-line/interface/spec.d.ts +2 -1
  540. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  541. package/esm/component/marker/mark-point/interface/spec.d.ts +2 -1
  542. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  543. package/esm/component/marker/utils.js +14 -9
  544. package/esm/component/marker/utils.js.map +1 -1
  545. package/esm/component/player/interface/theme.d.ts +2 -1
  546. package/esm/component/player/interface/theme.js.map +1 -1
  547. package/esm/component/player/player.d.ts +0 -1
  548. package/esm/component/player/player.js +0 -3
  549. package/esm/component/player/player.js.map +1 -1
  550. package/esm/component/player/utils/transform.js.map +1 -1
  551. package/esm/component/title/interface/theme.d.ts +4 -2
  552. package/esm/component/title/interface/theme.js.map +1 -1
  553. package/esm/component/title/title.d.ts +1 -1
  554. package/esm/component/title/title.js +3 -6
  555. package/esm/component/title/title.js.map +1 -1
  556. package/esm/component/tooltip/handler/base.d.ts +5 -3
  557. package/esm/component/tooltip/handler/base.js +9 -8
  558. package/esm/component/tooltip/handler/base.js.map +1 -1
  559. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
  560. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +6 -6
  561. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
  562. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
  563. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -3
  564. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  565. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
  566. package/esm/component/tooltip/tooltip.js +1 -1
  567. package/esm/component/tooltip/tooltip.js.map +1 -1
  568. package/esm/constant/base.d.ts +1 -1
  569. package/esm/constant/base.js +1 -1
  570. package/esm/constant/base.js.map +1 -1
  571. package/esm/constant/box-plot.js +1 -2
  572. package/esm/constant/label.js +2 -1
  573. package/esm/core/factory.d.ts +1 -0
  574. package/esm/core/factory.js +3 -0
  575. package/esm/core/factory.js.map +1 -1
  576. package/esm/core/instance-manager.d.ts +9 -0
  577. package/esm/core/instance-manager.js +20 -0
  578. package/esm/core/instance-manager.js.map +1 -0
  579. package/esm/core/interface.js +1 -2
  580. package/esm/core/vchart.d.ts +2 -6
  581. package/esm/core/vchart.js +11 -24
  582. package/esm/core/vchart.js.map +1 -1
  583. package/esm/data/initialize.js +2 -1
  584. package/esm/data/transforms/add-property.d.ts +5 -5
  585. package/esm/data/transforms/add-property.js +1 -1
  586. package/esm/data/transforms/add-property.js.map +1 -1
  587. package/esm/data/transforms/data-key.d.ts +3 -3
  588. package/esm/data/transforms/data-key.js.map +1 -1
  589. package/esm/index.d.ts +1 -1
  590. package/esm/index.js +1 -1
  591. package/esm/index.js.map +1 -1
  592. package/esm/mark/arc.d.ts +1 -1
  593. package/esm/mark/arc.js +3 -2
  594. package/esm/mark/arc.js.map +1 -1
  595. package/esm/mark/area.d.ts +3 -2
  596. package/esm/mark/area.js +7 -3
  597. package/esm/mark/area.js.map +1 -1
  598. package/esm/mark/base/base-mark.js +4 -3
  599. package/esm/mark/base/base-mark.js.map +1 -1
  600. package/esm/mark/base/index.d.ts +1 -2
  601. package/esm/mark/base/index.js +1 -3
  602. package/esm/mark/base/index.js.map +1 -1
  603. package/{cjs/mark/boxPlot.d.ts → esm/mark/box-plot.d.ts} +1 -1
  604. package/esm/mark/{boxPlot.js → box-plot.js} +2 -2
  605. package/esm/mark/box-plot.js.map +1 -0
  606. package/esm/mark/component.d.ts +1 -1
  607. package/esm/mark/component.js +1 -1
  608. package/esm/mark/component.js.map +1 -1
  609. package/esm/mark/group.js +1 -1
  610. package/esm/mark/line.d.ts +1 -1
  611. package/esm/mark/line.js +2 -2
  612. package/esm/mark/line.js.map +1 -1
  613. package/esm/mark/linkPath.d.ts +1 -1
  614. package/esm/mark/linkPath.js +2 -2
  615. package/esm/mark/linkPath.js.map +1 -1
  616. package/esm/mark/mark-set/index.d.ts +6 -5
  617. package/esm/mark/mark-set/index.js +16 -13
  618. package/esm/mark/mark-set/index.js.map +1 -1
  619. package/esm/mark/path.d.ts +1 -1
  620. package/esm/mark/path.js +2 -2
  621. package/esm/mark/path.js.map +1 -1
  622. package/esm/mark/polygon.d.ts +1 -1
  623. package/esm/mark/polygon.js +1 -1
  624. package/esm/mark/polygon.js.map +1 -1
  625. package/esm/mark/rect.d.ts +1 -1
  626. package/esm/mark/rect.js +3 -2
  627. package/esm/mark/rect.js.map +1 -1
  628. package/esm/mark/rule.d.ts +1 -1
  629. package/esm/mark/rule.js +1 -1
  630. package/esm/mark/rule.js.map +1 -1
  631. package/esm/mark/symbol.d.ts +1 -1
  632. package/esm/mark/symbol.js +3 -2
  633. package/esm/mark/symbol.js.map +1 -1
  634. package/esm/mark/text.d.ts +1 -1
  635. package/esm/mark/text.js +3 -2
  636. package/esm/mark/text.js.map +1 -1
  637. package/esm/model/base-model.d.ts +13 -6
  638. package/esm/model/base-model.js +51 -30
  639. package/esm/model/base-model.js.map +1 -1
  640. package/esm/model/interface.d.ts +8 -2
  641. package/esm/model/interface.js +1 -1
  642. package/esm/model/interface.js.map +1 -1
  643. package/esm/model/layout-item.js +21 -18
  644. package/esm/model/layout-item.js.map +1 -1
  645. package/esm/model/model-state-manager.js +1 -1
  646. package/esm/model/tooltip-helper.js +1 -1
  647. package/esm/region/region.d.ts +1 -4
  648. package/esm/region/region.js +15 -13
  649. package/esm/region/region.js.map +1 -1
  650. package/esm/scale/color-ordinal-scale.d.ts +8 -0
  651. package/esm/scale/color-ordinal-scale.js +18 -0
  652. package/esm/scale/color-ordinal-scale.js.map +1 -0
  653. package/esm/scale/global-scale.js +3 -2
  654. package/esm/scale/global-scale.js.map +1 -1
  655. package/esm/series/area/area.d.ts +2 -0
  656. package/esm/series/area/area.js +15 -6
  657. package/esm/series/area/area.js.map +1 -1
  658. package/esm/series/area/interface.d.ts +5 -5
  659. package/esm/series/area/interface.js.map +1 -1
  660. package/esm/series/bar/bar.d.ts +6 -0
  661. package/esm/series/bar/bar.js +27 -10
  662. package/esm/series/bar/bar.js.map +1 -1
  663. package/esm/series/bar/interface.d.ts +5 -4
  664. package/esm/series/bar/interface.js.map +1 -1
  665. package/esm/series/base/base-series.d.ts +12 -13
  666. package/esm/series/base/base-series.js +63 -34
  667. package/esm/series/base/base-series.js.map +1 -1
  668. package/{cjs/series/box-plot/boxPlot.d.ts → esm/series/box-plot/box-plot.d.ts} +2 -0
  669. package/esm/series/box-plot/{boxPlot.js → box-plot.js} +20 -9
  670. package/esm/series/box-plot/box-plot.js.map +1 -0
  671. package/esm/series/box-plot/interface.d.ts +3 -2
  672. package/esm/series/box-plot/interface.js.map +1 -1
  673. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  674. package/esm/series/cartesian/cartesian.d.ts +1 -1
  675. package/esm/series/circle-packing/circle-packing.d.ts +2 -0
  676. package/esm/series/circle-packing/circle-packing.js +15 -6
  677. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  678. package/esm/series/circle-packing/interface.d.ts +5 -4
  679. package/esm/series/circle-packing/interface.js.map +1 -1
  680. package/esm/series/dot/dot.d.ts +6 -8
  681. package/esm/series/dot/dot.js +47 -16
  682. package/esm/series/dot/dot.js.map +1 -1
  683. package/esm/series/dot/interface.d.ts +10 -10
  684. package/esm/series/dot/interface.js.map +1 -1
  685. package/esm/series/funnel/funnel.d.ts +12 -2
  686. package/esm/series/funnel/funnel.js +90 -31
  687. package/esm/series/funnel/funnel.js.map +1 -1
  688. package/esm/series/funnel/interface.d.ts +16 -15
  689. package/esm/series/funnel/interface.js.map +1 -1
  690. package/esm/series/gauge/gauge-pointer.d.ts +2 -0
  691. package/esm/series/gauge/gauge-pointer.js +23 -6
  692. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  693. package/esm/series/gauge/gauge.d.ts +3 -2
  694. package/esm/series/gauge/gauge.js +32 -18
  695. package/esm/series/gauge/gauge.js.map +1 -1
  696. package/esm/series/gauge/interface.d.ts +12 -11
  697. package/esm/series/gauge/interface.js.map +1 -1
  698. package/esm/series/heatmap/heatmap.d.ts +3 -1
  699. package/esm/series/heatmap/heatmap.js +21 -12
  700. package/esm/series/heatmap/heatmap.js.map +1 -1
  701. package/esm/series/heatmap/interface.d.ts +6 -5
  702. package/esm/series/heatmap/interface.js.map +1 -1
  703. package/esm/series/interface/common.d.ts +56 -1
  704. package/esm/series/interface/common.js +24 -1
  705. package/esm/series/interface/common.js.map +1 -1
  706. package/esm/series/interface/series.d.ts +2 -1
  707. package/esm/series/interface/series.js.map +1 -1
  708. package/esm/series/line/line.d.ts +2 -0
  709. package/esm/series/line/line.js +9 -4
  710. package/esm/series/line/line.js.map +1 -1
  711. package/esm/series/link/interface.d.ts +4 -4
  712. package/esm/series/link/interface.js.map +1 -1
  713. package/esm/series/link/link.d.ts +4 -7
  714. package/esm/series/link/link.js +22 -15
  715. package/esm/series/link/link.js.map +1 -1
  716. package/esm/series/map/map.d.ts +2 -0
  717. package/esm/series/map/map.js +16 -9
  718. package/esm/series/map/map.js.map +1 -1
  719. package/esm/series/mixin/line-mixin.d.ts +4 -3
  720. package/esm/series/mixin/line-mixin.js +19 -6
  721. package/esm/series/mixin/line-mixin.js.map +1 -1
  722. package/esm/series/pie/interface.d.ts +7 -6
  723. package/esm/series/pie/interface.js.map +1 -1
  724. package/esm/series/pie/pie.d.ts +8 -3
  725. package/esm/series/pie/pie.js +67 -35
  726. package/esm/series/pie/pie.js.map +1 -1
  727. package/esm/series/progress/circular/circular.d.ts +2 -0
  728. package/esm/series/progress/circular/circular.js +16 -6
  729. package/esm/series/progress/circular/circular.js.map +1 -1
  730. package/esm/series/progress/circular/interface.d.ts +5 -4
  731. package/esm/series/progress/circular/interface.js.map +1 -1
  732. package/esm/series/progress/linear/interface.d.ts +6 -5
  733. package/esm/series/progress/linear/interface.js.map +1 -1
  734. package/esm/series/progress/linear/linear.d.ts +2 -0
  735. package/esm/series/progress/linear/linear.js +31 -20
  736. package/esm/series/progress/linear/linear.js.map +1 -1
  737. package/esm/series/radar/interface.d.ts +5 -4
  738. package/esm/series/radar/interface.js.map +1 -1
  739. package/esm/series/radar/radar.d.ts +2 -0
  740. package/esm/series/radar/radar.js +12 -5
  741. package/esm/series/radar/radar.js.map +1 -1
  742. package/esm/series/range-area/range-area.d.ts +2 -0
  743. package/esm/series/range-area/range-area.js +2 -4
  744. package/esm/series/range-area/range-area.js.map +1 -1
  745. package/esm/series/range-column/interface.d.ts +9 -8
  746. package/esm/series/range-column/interface.js.map +1 -1
  747. package/esm/series/range-column/rangeColumn.d.ts +2 -0
  748. package/esm/series/range-column/rangeColumn.js +33 -25
  749. package/esm/series/range-column/rangeColumn.js.map +1 -1
  750. package/esm/series/rose/interface.d.ts +3 -2
  751. package/esm/series/rose/interface.js.map +1 -1
  752. package/esm/series/rose/rose.d.ts +2 -0
  753. package/esm/series/rose/rose.js +17 -16
  754. package/esm/series/rose/rose.js.map +1 -1
  755. package/esm/series/sankey/animation.js.map +1 -1
  756. package/esm/series/sankey/interface.d.ts +7 -6
  757. package/esm/series/sankey/interface.js.map +1 -1
  758. package/esm/series/sankey/sankey.d.ts +2 -0
  759. package/esm/series/sankey/sankey.js +31 -28
  760. package/esm/series/sankey/sankey.js.map +1 -1
  761. package/esm/series/scatter/interface.d.ts +6 -5
  762. package/esm/series/scatter/interface.js.map +1 -1
  763. package/esm/series/scatter/scatter.d.ts +2 -0
  764. package/esm/series/scatter/scatter.js +17 -12
  765. package/esm/series/scatter/scatter.js.map +1 -1
  766. package/esm/series/sunburst/interface.d.ts +5 -4
  767. package/esm/series/sunburst/interface.js.map +1 -1
  768. package/esm/series/sunburst/sunburst.d.ts +3 -1
  769. package/esm/series/sunburst/sunburst.js +14 -7
  770. package/esm/series/sunburst/sunburst.js.map +1 -1
  771. package/esm/series/treemap/interface.d.ts +9 -8
  772. package/esm/series/treemap/interface.js.map +1 -1
  773. package/esm/series/treemap/treemap.d.ts +2 -0
  774. package/esm/series/treemap/treemap.js +24 -9
  775. package/esm/series/treemap/treemap.js.map +1 -1
  776. package/esm/series/waterfall/interface.d.ts +6 -5
  777. package/esm/series/waterfall/interface.js.map +1 -1
  778. package/esm/series/waterfall/waterfall.d.ts +2 -0
  779. package/esm/series/waterfall/waterfall.js +15 -6
  780. package/esm/series/waterfall/waterfall.js.map +1 -1
  781. package/esm/series/word-cloud/interface.d.ts +7 -6
  782. package/esm/series/word-cloud/interface.js.map +1 -1
  783. package/esm/series/word-cloud/word-cloud.d.ts +4 -3
  784. package/esm/series/word-cloud/word-cloud.js +24 -11
  785. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  786. package/esm/theme/buildin-theme/config.d.ts +1 -4
  787. package/esm/theme/buildin-theme/config.js +1 -21
  788. package/esm/theme/buildin-theme/config.js.map +1 -1
  789. package/esm/theme/buildin-theme/dark.js.map +1 -1
  790. package/esm/theme/buildin-theme/light/color-scheme.js +14 -1
  791. package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
  792. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  793. package/esm/theme/buildin-theme/light/component/axis/band-axis.js +18 -0
  794. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
  795. package/esm/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
  796. package/esm/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
  797. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
  798. package/esm/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  799. package/esm/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
  800. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
  801. package/esm/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  802. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js +18 -0
  803. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
  804. package/esm/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
  805. package/esm/theme/buildin-theme/light/component/{polar-axis.js → axis/polar-axis.js} +11 -3
  806. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
  807. package/esm/theme/buildin-theme/light/component/crosshair.js +8 -4
  808. package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
  809. package/esm/theme/buildin-theme/light/component/data-zoom.js +10 -10
  810. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
  811. package/esm/theme/buildin-theme/light/component/index.d.ts +2 -0
  812. package/esm/theme/buildin-theme/light/component/index.js +62 -0
  813. package/esm/theme/buildin-theme/light/component/index.js.map +1 -0
  814. package/esm/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  815. package/esm/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +1 -1
  816. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
  817. package/esm/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  818. package/esm/theme/buildin-theme/light/component/legend/continuous.js +54 -0
  819. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
  820. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  821. package/esm/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +14 -5
  822. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
  823. package/esm/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  824. package/esm/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +1 -1
  825. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
  826. package/esm/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  827. package/esm/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +5 -3
  828. package/esm/theme/buildin-theme/light/component/map-label.js.map +1 -0
  829. package/esm/theme/buildin-theme/light/component/player.js +20 -11
  830. package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
  831. package/esm/theme/buildin-theme/light/component/title.js +16 -2
  832. package/esm/theme/buildin-theme/light/component/title.js.map +1 -1
  833. package/esm/theme/buildin-theme/light/component/tooltip.js +6 -2
  834. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  835. package/esm/theme/buildin-theme/light/constants.d.ts +2 -0
  836. package/esm/theme/buildin-theme/light/constants.js +10 -0
  837. package/esm/theme/buildin-theme/light/constants.js.map +1 -0
  838. package/esm/theme/buildin-theme/light/index.js +7 -50
  839. package/esm/theme/buildin-theme/light/index.js.map +1 -1
  840. package/esm/theme/buildin-theme/light/mark.d.ts +3 -0
  841. package/esm/theme/buildin-theme/light/mark.js +68 -0
  842. package/esm/theme/buildin-theme/light/mark.js.map +1 -0
  843. package/esm/theme/buildin-theme/light/series/area.js +2 -12
  844. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  845. package/esm/theme/buildin-theme/light/series/bar.js +2 -2
  846. package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
  847. package/esm/theme/buildin-theme/light/series/bar3d.js +2 -2
  848. package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
  849. package/esm/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  850. package/esm/theme/buildin-theme/light/series/box-plot.js +8 -0
  851. package/esm/theme/buildin-theme/light/series/box-plot.js.map +1 -0
  852. package/esm/theme/buildin-theme/light/series/circular-progress.js +11 -1
  853. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
  854. package/esm/theme/buildin-theme/light/series/funnel.js +7 -2
  855. package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
  856. package/esm/theme/buildin-theme/light/series/funnel3d.js +8 -3
  857. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
  858. package/esm/theme/buildin-theme/light/series/gauge.js +6 -1
  859. package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
  860. package/esm/theme/buildin-theme/light/series/index.js +10 -1
  861. package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
  862. package/esm/theme/buildin-theme/light/series/line.js +2 -7
  863. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  864. package/esm/theme/buildin-theme/light/series/linear-progress.js +5 -0
  865. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
  866. package/esm/theme/buildin-theme/light/series/map.js +8 -4
  867. package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
  868. package/esm/theme/buildin-theme/light/series/pie.js +9 -2
  869. package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
  870. package/esm/theme/buildin-theme/light/series/pie3d.js +4 -3
  871. package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
  872. package/esm/theme/buildin-theme/light/series/radar.js +2 -12
  873. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  874. package/esm/theme/buildin-theme/light/series/rangeColumn.js +2 -2
  875. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
  876. package/esm/theme/buildin-theme/light/series/rose.d.ts +2 -0
  877. package/esm/theme/buildin-theme/light/series/rose.js +16 -0
  878. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -0
  879. package/esm/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  880. package/esm/theme/buildin-theme/light/series/sankey.js +10 -0
  881. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -0
  882. package/esm/theme/buildin-theme/light/series/scatter.js +10 -4
  883. package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
  884. package/esm/theme/buildin-theme/light/series/treemap.js +3 -1
  885. package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
  886. package/esm/theme/buildin-theme/light/series/waterfall.js +3 -1
  887. package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
  888. package/esm/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
  889. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
  890. package/esm/theme/color-scheme/interface.d.ts +16 -8
  891. package/esm/theme/color-scheme/interface.js.map +1 -1
  892. package/esm/theme/color-scheme/util.d.ts +6 -3
  893. package/esm/theme/color-scheme/util.js +31 -7
  894. package/esm/theme/color-scheme/util.js.map +1 -1
  895. package/esm/theme/interface.d.ts +22 -38
  896. package/esm/theme/interface.js.map +1 -1
  897. package/esm/theme/theme-manager.d.ts +1 -0
  898. package/esm/theme/theme-manager.js +6 -1
  899. package/esm/theme/theme-manager.js.map +1 -1
  900. package/esm/typings/spec/chart.d.ts +1 -1
  901. package/esm/typings/spec/chart.js.map +1 -1
  902. package/esm/typings/visual.d.ts +13 -12
  903. package/esm/typings/visual.js.map +1 -1
  904. package/esm/util/color.d.ts +0 -3
  905. package/esm/util/color.js +0 -10
  906. package/esm/util/color.js.map +1 -1
  907. package/esm/util/id.js +4 -4
  908. package/esm/util/id.js.map +1 -1
  909. package/esm/util/scale.d.ts +12 -1
  910. package/esm/util/scale.js +6 -2
  911. package/esm/util/scale.js.map +1 -1
  912. package/esm/vchart-all.js +5 -5
  913. package/esm/vchart-all.js.map +1 -1
  914. package/package.json +3 -3
  915. package/cjs/chart/boxplot/boxPlot.js.map +0 -1
  916. package/cjs/chart/boxplot/index.js.map +0 -1
  917. package/cjs/chart/boxplot/interface.js.map +0 -1
  918. package/cjs/component/map-label/config.d.ts +0 -2
  919. package/cjs/component/map-label/config.js.map +0 -1
  920. package/cjs/mark/boxPlot.js.map +0 -1
  921. package/cjs/series/box-plot/boxPlot.js.map +0 -1
  922. package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  923. package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  924. package/cjs/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  925. package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  926. package/cjs/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  927. package/cjs/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  928. package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  929. package/cjs/theme/buildin-theme/light/component/polar-axis.js +0 -19
  930. package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  931. package/cjs/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  932. package/cjs/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  933. package/esm/chart/boxplot/boxPlot.js.map +0 -1
  934. package/esm/chart/boxplot/index.js.map +0 -1
  935. package/esm/chart/boxplot/interface.js.map +0 -1
  936. package/esm/component/map-label/config.d.ts +0 -2
  937. package/esm/component/map-label/config.js.map +0 -1
  938. package/esm/series/box-plot/boxPlot.js.map +0 -1
  939. package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
  940. package/esm/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
  941. package/esm/theme/buildin-theme/light/component/color-legend.js.map +0 -1
  942. package/esm/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
  943. package/esm/theme/buildin-theme/light/component/common-axis.js.map +0 -1
  944. package/esm/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
  945. package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
  946. package/esm/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
  947. package/esm/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
  948. package/esm/theme/buildin-theme/light/component/size-legend.js.map +0 -1
  949. /package/cjs/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  950. /package/cjs/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  951. /package/cjs/chart/{boxplot → box-plot}/interface.js +0 -0
  952. /package/esm/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
  953. /package/esm/chart/{boxplot → box-plot}/interface.d.ts +0 -0
  954. /package/esm/chart/{boxplot → box-plot}/interface.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAC9C,kCAAwC;AAGxC,4CAAiD;AACjD,6CAA8C;AAC9C,8CAA0C;AAE1C,qCAA0C;AAK1C,qCAA4E;AAC5E,6CAAoD;AACpD,4CAA8D;AAE9D,qEAAyD;AAEzD,+CAAsF;AACtF,4CAAsD;AACtD,6CAA2C;AAI3C,MAAa,iBAAkB,SAAQ,oBAAa;IAApD;;QAEE,SAAI,GAAG,6BAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,6BAAiB,CAAC,QAAQ,CAAC;QAE1C,eAAU,GAA6B,UAAU,CAAC;QAIlD,iBAAY,GAAG,uBAAY,CAAC,SAAS,CAAC;QAY9B,iBAAY,GAAY,EAAE,CAAC;IAgYrC,CAAC;IA5XC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAA,gBAAO,EAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACjE,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,eAAe;;QACb,IAAI,CAAC,KAAK,GAAG,IAAA,cAAK,EAAC,EAAE,EAAE,uBAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAqB,CAAC;QACnG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;YAEnC,IAAI,CAAC,IAAI,GAAG,MAAA,MAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAgB,0CAAE,cAAc,EAAE,0CAAE,UAAU,CAAC;YAErG,IAAI,CAAC,eAAe,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,kDAAI,0CAAE,cAAc,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,kDAAI,0CAAE,aAAa,CAAC;SACnE;IACH,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,UAAU,EAAE;YACd,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE;gBACvB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC;YAEhC,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;oBACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;YACnF,IAAI,CAAC,UAAU,CAAC,CAA8B,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;YACtF,IAAI,CAAC,SAAS,CAAC,CAA6B,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO;SACR;QAED,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;gBAC5F,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC9B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,OAAO,KAAK,OAAO,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;gBAC7F,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,SAAS,CAAC,CAAgB;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACtC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,CAAiB;QAC1B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEO,YAAY,CAAC,KAAc;QACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;YAC/C,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,GAAG,KAAK,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC3C,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACtC;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAU;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB;;QACnB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO;SACR;QACD,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC9B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAES,4BAA4B;;QACpC,MAAM,cAAc,GAAgB,EAAE,CAAC;QACvC,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,GAAG,GAAG,CAAC,CAAC,IAAW,EAAE,KAAa,EAAE,EAAE;;gBACtF,MAAM,GAAG,GAAG,IAAI,8BAAS,CAAC;oBACxB,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,WAAW,KAAK,EAAE,CAAC;oBAC1C,GAAG,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,GAAG,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC3D,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC/C;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;SACJ;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YAClG,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAES,eAAe,CAAC,IAAW,EAAE,KAAa;;QAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjC,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,CAAa,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACpC,YAAY,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;QAC7D,aAAa,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,CAAC,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAyB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAA,qBAAW,EAAC,EAAE,CAAC,CAAC;QAClC,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,yBAAyB,KAAK,EAAE,CAAC;QAC9D,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;QAEnC,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,EAAE;YAClC,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YAC3F,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC5C,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC;YAC/C,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACxC;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,OAAO,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,MAAM,UAAU,GAAG,MAAA,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,KAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,MAAA,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,KAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACrD,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,aAAa,GAAG,UAAU,CAAC;YAC3B,YAAY,IAAI,SAAS,CAAC;YAC1B,gBAAgB,EAAE,CAAC;SACpB;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,EAAE;YACjC,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC,CAAC;YACpF,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACtC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC;YAC5C,MAAM,eAAe,GAAG,MAAA,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,KAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACrE,MAAM,cAAc,GAAG,MAAA,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,KAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACpE,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;YACnC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAEjC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzD,YAAY,IAAI,cAAc,CAAC;YAC/B,gBAAgB,EAAE,CAAC;SACpB;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,KAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;YACpE,MAAM,UAAU,GAAG,IAAA,oBAAU,EAAC,IAAA,0BAAkB,oBAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YACtF,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACvC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC;YAC9C,MAAM,gBAAgB,GAAG,MAAA,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,KAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACxE,MAAM,eAAe,GAAG,MAAA,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,KAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,CAAA,mCAAI,CAAC,CAAC;YACvE,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAElC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YAC1D,YAAY,IAAI,eAAe,CAAC;YAChC,gBAAgB,EAAE,CAAC;SACpB;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAExF,MAAM,MAAM,GAAW;YACrB,CAAC,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,oBAAoB,CAAC,GAAG,CAAC;YAC5C,CAAC,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,oBAAoB,CAAC,GAAG,CAAC;SAC7C,CAAC;QACF,MAAM,QAAQ,GAAG;YACf,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,QAAQ,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC9E,QAAQ,CAAC,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;QAEhD,MAAM,QAAQ,GAAc;YAC1B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;YACb,KAAK;SACN,CAAC;QAEF,IAAI,QAAQ,KAAK,OAAO,EAAE;YACxB,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,GAAG,IAAA,0BAAiB,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,OAAO,GAAG,OAAwB,CAAC;YAC5C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;SAC1B;aAAM;YACL,QAAQ,CAAC,UAAU,GAAG;gBACpB,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,eAAe,CAAC,CAAA;gBAChC,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,cAAc,CAAC,CAAA;aAChC,CAAC;SACH;QACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IAES,cAAc,CAAC,eAAwB,EAAE,YAAoC;;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;gBAC3C,OAAO;aACR;YACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpF,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,CAAa,CAAC;YACvF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAEpC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,IAAI,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,CAAC;YAC9B,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;gBACpD,IAAI,IAAI,EAAE;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAG1B,MAAM,IAAI,CAAC,MAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAC5C;oBACD,IAAI,CAAC,aAAa,CAAC;wBACjB,CAAC,EAAE,IAAI,GAAG,MAAM;wBAChB,CAAC,EAAE,IAAI;qBACR,CAAC,CAAC;oBAEH,IAAI,IAAI,MAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,mCAAI,CAAC,CAAC;oBACnC,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,IAAI,IAAI,KAAK,CAAC;qBACf;iBACF;YACH,CAAC,CAAC,CAAC;YACF,eAAgC,aAAhC,eAAe,uBAAf,eAAe,CAAmB,aAAa,CAAC;gBAC/C,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,CAAC;gBACvB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;gBACvB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;aACzB,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,OAAO,KAAI,CAAC,IAAI,IAAI,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAC/C,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAC/C,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC1C,WAAW,EAAE;oBACX,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAA8B;oBAC1D,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBACnD,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;iBACrD;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAA,0BAAkB,oBAAM,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,KAAK,EAAG;oBAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;iBAChC;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC7D,OAAO;SACR;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAqB,CAAC,CAAC;SACxE;IACH,CAAC;IAES,aAAa,CAAC,KAAkB;QACxC,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI;YAC1C,CAAC,CAAC,IAAA,oBAAW,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAe,EAAE,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC1B,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aAChC,CAAC,CACH;YACH,CAAC,CAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;QAE9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,KAAa;;QACpC,MAAM,EAAE,GACN,MAAA,MAAC,IAAI,CAAC,OAA4B,CAAC,cAAc,EAAE,0CAAE,SAAS,EAAE,mCAChE,MAAC,IAAI,CAAC,OAAsB,CAAC,mBAAmB,EAAE,0CAAE,eAAe,EAAE,CAAC;QACxE,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,MAAK,EAAE,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,MAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,aAAa;IAEb,CAAC;;AApZH,8CAqZC;AApZQ,sBAAI,GAAG,6BAAiB,CAAC,QAAQ,CAAC;AAMlC,yBAAO,GAAG,UAAU,CAAC","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport { merge } from '../../util/object';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport { DEFAULT_CONFIG } from './config';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\n\nexport class MapLabelComponent extends BaseComponent {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n declare _spec: IMapLabelSpec;\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this._spec = merge({}, DEFAULT_CONFIG, this._spec);\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n pickable: false,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport { merge } from '../../util/object';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\n\nexport class MapLabelComponent extends BaseComponent {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n declare _spec: IMapLabelSpec;\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n pickable: false,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n}\n"]}
@@ -3,12 +3,16 @@ import type { IPadding, IOrientType, StringOrNumber } from '../../typings';
3
3
  import type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../typings/visual';
4
4
  import type { IModelSpec } from '../../model/interface';
5
5
  export type LabelPosition = IOrientType | 'outer';
6
- export interface IMapLabelSpec extends Pick<IModelSpec, 'id'> {
6
+ export interface IMapLabelSpec extends IMapLabelTheme, Pick<IModelSpec, 'id'> {
7
7
  seriesId: StringOrNumber;
8
- visible?: boolean;
9
8
  nameField?: string;
10
9
  valueField?: string;
11
10
  trigger?: 'hover' | 'click' | 'none';
11
+ }
12
+ export type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';
13
+ export type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;
14
+ export interface IMapLabelTheme {
15
+ visible?: boolean;
12
16
  offset?: number;
13
17
  space?: number;
14
18
  position?: LabelPosition;
@@ -34,5 +38,3 @@ export interface IMapLabelSpec extends Pick<IModelSpec, 'id'> {
34
38
  style?: IPathMarkSpec;
35
39
  };
36
40
  }
37
- export type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';
38
- export type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/map-label/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\nimport type { IPadding, IOrientType, StringOrNumber } from '../../typings';\nimport type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../typings/visual';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type LabelPosition = IOrientType | 'outer';\n\nexport interface IMapLabelSpec extends Pick<IModelSpec, 'id'> {\n /** 关联的系列 id */\n seriesId: StringOrNumber;\n /** 是否显示,默认 false */\n visible?: boolean;\n /** 名称文本的数据字段 */\n nameField?: string;\n /** 数值文本的数据字段 */\n valueField?: string;\n /**\n * 交互触发类型\n * @default 'none'\n */\n trigger?: 'hover' | 'click' | 'none';\n /** 标签非 outer 位置下与标记点的间距 */\n offset?: number;\n /**\n * icon/label之间的距离\n */\n space?: number;\n /** 标签位置 */\n position?: LabelPosition;\n /** 名称文本样式设置 */\n nameLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 数值文本样式设置 */\n valueLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 图标样式设置 */\n icon?: {\n visible?: boolean;\n style?: ISymbolMarkSpec;\n };\n /** 背景样式设置 */\n background?: {\n visible?: boolean;\n padding?: IPadding;\n style?: IRectMarkSpec;\n };\n /** 引导线样式设置 */\n leader?: {\n visible?: boolean;\n style?: IPathMarkSpec;\n };\n}\n\nexport type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';\n\nexport type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;\n"]}
1
+ {"version":3,"sources":["../src/component/map-label/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\nimport type { IPadding, IOrientType, StringOrNumber } from '../../typings';\nimport type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../typings/visual';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type LabelPosition = IOrientType | 'outer';\n\nexport interface IMapLabelSpec extends IMapLabelTheme, Pick<IModelSpec, 'id'> {\n /** 关联的系列 id */\n seriesId: StringOrNumber;\n /** 名称文本的数据字段 */\n nameField?: string;\n /** 数值文本的数据字段 */\n valueField?: string;\n /**\n * 交互触发类型\n * @default 'none'\n */\n trigger?: 'hover' | 'click' | 'none';\n}\n\nexport type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';\n\nexport type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;\n\nexport interface IMapLabelTheme {\n /** 是否显示,默认 false */\n visible?: boolean;\n /** 标签非 outer 位置下与标记点的间距 */\n offset?: number;\n /**\n * icon/label之间的距离\n */\n space?: number;\n /** 标签位置 */\n position?: LabelPosition;\n /** 名称文本样式设置 */\n nameLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 数值文本样式设置 */\n valueLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 图标样式设置 */\n icon?: {\n visible?: boolean;\n style?: ISymbolMarkSpec;\n };\n /** 背景样式设置 */\n background?: {\n visible?: boolean;\n padding?: IPadding;\n style?: IRectMarkSpec;\n };\n /** 引导线样式设置 */\n leader?: {\n visible?: boolean;\n style?: IPathMarkSpec;\n };\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  import type { IComponent } from '../../../interface';
2
2
  import type { IMarkerPositionsSpec, IDataPointSpec, IDataPos, IMarkerSpec, IMarkerAxisSpec } from '../../interface';
3
+ import type { IMarkAreaTheme } from './theme';
3
4
  export type IMarkArea = IComponent;
4
5
  export type IRegressType = 'regression';
5
- export type IMarkAreaSpec = IMarkerSpec & (IMarkAreaXSpec | IMarkAreaYSpec | IMarkAreaCoordinateSpec | IMarkAreaPositionsSpec);
6
+ export type IMarkAreaSpec = IMarkerSpec & (IMarkAreaXSpec | IMarkAreaYSpec | IMarkAreaCoordinateSpec | IMarkAreaPositionsSpec) & IMarkAreaTheme;
6
7
  export interface IMarkAreaXSpec extends IMarkerAxisSpec {
7
8
  x: IDataPos;
8
9
  x1: IDataPos;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-area/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../../interface';\nimport type { IMarkerPositionsSpec, IDataPointSpec, IDataPos, IMarkerSpec, IMarkerAxisSpec } from '../../interface';\n\nexport type IMarkArea = IComponent;\n\nexport type IRegressType = 'regression';\n\nexport type IMarkAreaSpec = IMarkerSpec &\n (\n | IMarkAreaXSpec // 标注目标:笛卡尔坐标系坐标空间\n | IMarkAreaYSpec // 标注目标:笛卡尔坐标系坐标空间\n // | IMarkAreaAngleSpec // TODO: 标注目标:极坐标系坐标空间\n // | IMarkAreaRadiusSpec // TODO: 标注目标:极坐标系坐标空间\n | IMarkAreaCoordinateSpec // 标注目标:数据元素\n | IMarkAreaPositionsSpec\n ); // 标注目标:任意位置\n\nexport interface IMarkAreaXSpec extends IMarkerAxisSpec {\n /**\n * x轴上的参考线。可以配置参考线在x轴上的值,或者聚合计算类型\n */\n x: IDataPos;\n x1: IDataPos;\n}\n\nexport interface IMarkAreaYSpec extends IMarkerAxisSpec {\n /**\n * y轴上的参考线。可以配置参考线在y轴上的值,或者聚合计算类型\n */\n y: IDataPos;\n y1: IDataPos;\n}\n\nexport interface IMarkAreaAngleSpec extends IMarkerAxisSpec {\n /**\n * todo: angle轴上的参考线。可以配置参考线在angle轴上的值,或者聚合计算类型\n */\n startAngle: IDataPos;\n endAngle: IDataPos;\n}\n\nexport interface IMarkAreaRadiusSpec extends IMarkerAxisSpec {\n /**\n * todo: radius轴上的参考线。可以配置参考线在radius轴上的值,或者聚合计算类型\n */\n startRadius: IDataPos;\n endRadius: IDataPos;\n}\n\nexport type IMarkAreaCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec[];\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkAreaPositionsSpec = IMarkerPositionsSpec;\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-area/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../../interface';\nimport type { IMarkerPositionsSpec, IDataPointSpec, IDataPos, IMarkerSpec, IMarkerAxisSpec } from '../../interface';\nimport type { IMarkAreaTheme } from './theme';\n\nexport type IMarkArea = IComponent;\n\nexport type IRegressType = 'regression';\n\nexport type IMarkAreaSpec = IMarkerSpec &\n (\n | IMarkAreaXSpec // 标注目标:笛卡尔坐标系坐标空间\n | IMarkAreaYSpec // 标注目标:笛卡尔坐标系坐标空间\n // | IMarkAreaAngleSpec // TODO: 标注目标:极坐标系坐标空间\n // | IMarkAreaRadiusSpec // TODO: 标注目标:极坐标系坐标空间\n | IMarkAreaCoordinateSpec // 标注目标:数据元素\n | IMarkAreaPositionsSpec\n ) &\n IMarkAreaTheme; // 标注目标:任意位置\n\nexport interface IMarkAreaXSpec extends IMarkerAxisSpec {\n /**\n * x轴上的参考线。可以配置参考线在x轴上的值,或者聚合计算类型\n */\n x: IDataPos;\n x1: IDataPos;\n}\n\nexport interface IMarkAreaYSpec extends IMarkerAxisSpec {\n /**\n * y轴上的参考线。可以配置参考线在y轴上的值,或者聚合计算类型\n */\n y: IDataPos;\n y1: IDataPos;\n}\n\nexport interface IMarkAreaAngleSpec extends IMarkerAxisSpec {\n /**\n * todo: angle轴上的参考线。可以配置参考线在angle轴上的值,或者聚合计算类型\n */\n startAngle: IDataPos;\n endAngle: IDataPos;\n}\n\nexport interface IMarkAreaRadiusSpec extends IMarkerAxisSpec {\n /**\n * todo: radius轴上的参考线。可以配置参考线在radius轴上的值,或者聚合计算类型\n */\n startRadius: IDataPos;\n endRadius: IDataPos;\n}\n\nexport type IMarkAreaCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec[];\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkAreaPositionsSpec = IMarkerPositionsSpec;\n"]}
@@ -1,8 +1,9 @@
1
1
  import type { IComponent } from '../../../interface';
2
2
  import type { IAggrType, IMarkerPositionsSpec, IDataPointSpec, IMarkerSpec, IMarkerAxisSpec, IDataPos } from '../../interface';
3
3
  import type { IRegressType } from '../../mark-area/interface';
4
+ import type { IMarkLineTheme } from './theme';
4
5
  export type IMarkLine = IComponent;
5
- export type IMarkLineSpec = IMarkerSpec & (IMarkLineXSpec | IMarkLineYSpec | IMarkLineCoordinateSpec | IMarkLinePositionsSpec);
6
+ export type IMarkLineSpec = IMarkerSpec & (IMarkLineXSpec | IMarkLineYSpec | IMarkLineCoordinateSpec | IMarkLinePositionsSpec) & IMarkLineTheme;
6
7
  export interface IMarkLineXSpec extends IMarkerAxisSpec {
7
8
  x: IDataPos;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../../interface';\n// eslint-disable-next-line max-len\nimport type {\n IAggrType,\n IMarkerPositionsSpec,\n IDataPointSpec,\n IMarkerSpec,\n IMarkerAxisSpec,\n IDataPos\n} from '../../interface';\nimport type { IRegressType } from '../../mark-area/interface';\n\nexport type IMarkLine = IComponent;\n\nexport type IMarkLineSpec = IMarkerSpec &\n (\n | IMarkLineXSpec // 标注目标:笛卡尔坐标系坐标空间\n | IMarkLineYSpec // 标注目标:笛卡尔坐标系坐标空间\n // | IMarkLineAngleSpec // TODO: 标注目标:极坐标系坐标空间\n // | IMarkLineRadiusSpec // TODO: 标注目标:极坐标系坐标空间\n | IMarkLineCoordinateSpec // 标注目标:数据元素\n | IMarkLinePositionsSpec\n ); // 标注目标:任意位置\n\nexport interface IMarkLineXSpec extends IMarkerAxisSpec {\n /**\n * x轴上的参考线。可以配置参考线在x轴上的值,或者聚合计算类型\n */\n x: IDataPos;\n}\n\nexport interface IMarkLineYSpec extends IMarkerAxisSpec {\n /**\n * y轴上的参考线。可以配置参考线在y轴上的值,或者聚合计算类型\n */\n y: IDataPos;\n}\n\nexport interface IMarkLineAngleSpec extends IMarkerAxisSpec {\n /**\n * todo: angle轴上的参考线。可以配置参考线在angle轴上的值,或者聚合计算类型\n */\n angle: IDataPos;\n}\n\nexport interface IMarkLineRadiusSpec extends IMarkerAxisSpec {\n /**\n * todo: radius轴上的参考线。可以配置参考线在radius轴上的值,或者聚合计算类型\n */\n radius: IDataPos;\n}\n\nexport type IMarkLineCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec[];\n /**\n * 数据点的处理方法。 如果不配置则按照coordinate数组直接连接成line。\n */\n process?:\n | {\n x: IAggrType;\n }\n | {\n y: IAggrType;\n }\n | {\n xy: IRegressType; // FIXME: xy属性名称不太合理,可能需调整\n };\n};\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkLinePositionsSpec = IMarkerPositionsSpec;\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../../interface';\n// eslint-disable-next-line max-len\nimport type {\n IAggrType,\n IMarkerPositionsSpec,\n IDataPointSpec,\n IMarkerSpec,\n IMarkerAxisSpec,\n IDataPos\n} from '../../interface';\nimport type { IRegressType } from '../../mark-area/interface';\nimport type { IMarkLineTheme } from './theme';\n\nexport type IMarkLine = IComponent;\n\nexport type IMarkLineSpec = IMarkerSpec &\n (\n | IMarkLineXSpec // 标注目标:笛卡尔坐标系坐标空间\n | IMarkLineYSpec // 标注目标:笛卡尔坐标系坐标空间\n // | IMarkLineAngleSpec // TODO: 标注目标:极坐标系坐标空间\n // | IMarkLineRadiusSpec // TODO: 标注目标:极坐标系坐标空间\n | IMarkLineCoordinateSpec // 标注目标:数据元素\n | IMarkLinePositionsSpec\n ) &\n IMarkLineTheme; // 标注目标:任意位置\n\nexport interface IMarkLineXSpec extends IMarkerAxisSpec {\n /**\n * x轴上的参考线。可以配置参考线在x轴上的值,或者聚合计算类型\n */\n x: IDataPos;\n}\n\nexport interface IMarkLineYSpec extends IMarkerAxisSpec {\n /**\n * y轴上的参考线。可以配置参考线在y轴上的值,或者聚合计算类型\n */\n y: IDataPos;\n}\n\nexport interface IMarkLineAngleSpec extends IMarkerAxisSpec {\n /**\n * todo: angle轴上的参考线。可以配置参考线在angle轴上的值,或者聚合计算类型\n */\n angle: IDataPos;\n}\n\nexport interface IMarkLineRadiusSpec extends IMarkerAxisSpec {\n /**\n * todo: radius轴上的参考线。可以配置参考线在radius轴上的值,或者聚合计算类型\n */\n radius: IDataPos;\n}\n\nexport type IMarkLineCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec[];\n /**\n * 数据点的处理方法。 如果不配置则按照coordinate数组直接连接成line。\n */\n process?:\n | {\n x: IAggrType;\n }\n | {\n y: IAggrType;\n }\n | {\n xy: IRegressType; // FIXME: xy属性名称不太合理,可能需调整\n };\n};\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkLinePositionsSpec = IMarkerPositionsSpec;\n"]}
@@ -1,8 +1,9 @@
1
1
  import type { IPointLike } from '@visactor/vutils';
2
2
  import type { IComponent } from '../../../interface';
3
3
  import type { IDataPointSpec, IMarkerSpec } from '../../interface';
4
+ import type { IMarkPointTheme } from './theme';
4
5
  export type IMarkPoint = IComponent;
5
- export type IMarkPointSpec = IMarkerSpec & (IMarkPointCoordinateSpec | IMarkPointPositionsSpec);
6
+ export type IMarkPointSpec = IMarkerSpec & (IMarkPointCoordinateSpec | IMarkPointPositionsSpec) & IMarkPointTheme;
6
7
  export type IMarkPointCoordinateSpec = {
7
8
  coordinates: IDataPointSpec;
8
9
  relativeRelativeSeriesIndex?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IComponent } from '../../../interface';\nimport type { IDataPointSpec, IMarkerSpec } from '../../interface';\n\nexport type IMarkPoint = IComponent;\n\nexport type IMarkPointSpec = IMarkerSpec &\n (\n | IMarkPointCoordinateSpec // 标注目标:数据元素\n | IMarkPointPositionsSpec\n ); // 标注目标:任意位置\n\nexport type IMarkPointCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n relativeRelativeSeriesId?: string;\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkPointPositionsSpec = {\n position: IPointLike;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IComponent } from '../../../interface';\nimport type { IDataPointSpec, IMarkerSpec } from '../../interface';\nimport type { IMarkPointTheme } from './theme';\n\nexport type IMarkPoint = IComponent;\n\nexport type IMarkPointSpec = IMarkerSpec &\n (\n | IMarkPointCoordinateSpec // 标注目标:数据元素\n | IMarkPointPositionsSpec\n ) &\n IMarkPointTheme; // 标注目标:任意位置\n\nexport type IMarkPointCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n relativeRelativeSeriesId?: string;\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkPointPositionsSpec = {\n position: IPointLike;\n};\n"]}
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vutils_1 = require("@visactor/vutils");
8
8
 
9
9
  function xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries) {
10
- const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), lines = [];
11
- return (data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData).forEach((datum => {
10
+ const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), lines = [], dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, xDomain = relativeSeries.getXAxisHelper().getScale(0).domain();
11
+ return dataPoints.forEach((datum => {
12
12
  var _a, _b;
13
13
  if ((0, vutils_1.isValid)(datum.x)) {
14
- (0, vutils_1.isNumber)(datum.x) && (null === (_b = null == relativeSeries ? void 0 : (_a = relativeSeries.getXAxisHelper()).setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", datum.x));
14
+ (0, vutils_1.isNumber)(datum.x) && isNeedExtendDomain(xDomain, datum.x) && (null === (_b = null == relativeSeries ? void 0 : (_a = relativeSeries.getXAxisHelper()).setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", datum.x));
15
15
  const x = relativeSeries.getXAxisHelper().dataToPosition([ datum.x ]) + regionStartLayoutStartPoint.x, y = Math.max(regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height), y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);
16
16
  lines.push([ {
17
17
  x: x,
@@ -25,11 +25,11 @@ function xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries) {
25
25
  }
26
26
 
27
27
  function yLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries) {
28
- const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), lines = [];
29
- return (data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData).forEach((datum => {
28
+ const regionStart = startRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), regionEnd = endRelativeSeries.getRegion(), regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(), lines = [], dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, yDomain = relativeSeries.getYAxisHelper().getScale(0).domain();
29
+ return dataPoints.forEach((datum => {
30
30
  var _a, _b;
31
31
  if ((0, vutils_1.isValid)(datum.y)) {
32
- (0, vutils_1.isNumber)(datum.y) && (null === (_b = null === (_a = relativeSeries.getYAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_yAxis_extend", datum.y));
32
+ (0, vutils_1.isNumber)(datum.y) && isNeedExtendDomain(yDomain, datum.y) && (null === (_b = null === (_a = relativeSeries.getYAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_yAxis_extend", datum.y));
33
33
  const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x), y = relativeSeries.getYAxisHelper().dataToPosition([ datum.y ]) + regionStartLayoutStartPoint.y, x1 = Math.max(regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width);
34
34
  lines.push([ {
35
35
  x: x,
@@ -46,9 +46,9 @@ function coordinateLayout(data, relativeSeries) {
46
46
  const points = [];
47
47
  return (data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData).forEach((datum => {
48
48
  var _a, _b, _c, _d;
49
- const refRelativeSeries = (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries, regionStartLayoutStartPoint = refRelativeSeries.getRegion().getLayoutStartPoint();
50
- (0, vutils_1.isNumber)(datum.x) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", datum.x)),
51
- (0, vutils_1.isNumber)(datum.y) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, "marker_yAxis_extend", datum.y)),
49
+ const refRelativeSeries = (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries, regionStartLayoutStartPoint = refRelativeSeries.getRegion().getLayoutStartPoint(), xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();
50
+ (0, vutils_1.isNumber)(datum.x) && isNeedExtendDomain(xDomain, datum.x) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, "marker_xAxis_extend", datum.x)),
51
+ (0, vutils_1.isNumber)(datum.y) && isNeedExtendDomain(yDomain, datum.y) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, "marker_yAxis_extend", datum.y)),
52
52
  points.push({
53
53
  x: refRelativeSeries.getXAxisHelper().dataToPosition([ datum.x ]) + regionStartLayoutStartPoint.x,
54
54
  y: refRelativeSeries.getYAxisHelper().dataToPosition([ datum.y ]) + regionStartLayoutStartPoint.y
@@ -56,5 +56,10 @@ function coordinateLayout(data, relativeSeries) {
56
56
  })), points;
57
57
  }
58
58
 
59
+ function isNeedExtendDomain(domain, datum) {
60
+ const min = Math.min(...domain), max = Math.max(...domain);
61
+ return datum < min || datum > max;
62
+ }
63
+
59
64
  exports.xLayout = xLayout, exports.yLayout = yLayout, exports.coordinateLayout = coordinateLayout;
60
65
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, isNumber } from '@visactor/vutils';\n\nexport function xLayout(\n data: DataView,\n startRelativeSeries: ICartesianSeries,\n endRelativeSeries: ICartesianSeries,\n relativeSeries: ICartesianSeries\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const lines: [IPointLike, IPointLike][] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: IPointLike) => {\n if (isValid(datum.x)) {\n isNumber(datum.x) && relativeSeries?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n const x = relativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;\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 }\n });\n\n return lines;\n}\n\nexport function yLayout(\n data: DataView,\n startRelativeSeries: ICartesianSeries,\n endRelativeSeries: ICartesianSeries,\n relativeSeries: ICartesianSeries\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const lines: [IPointLike, IPointLike][] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: IPointLike) => {\n if (isValid(datum.y)) {\n isNumber(datum.y) && relativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n const y = relativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;\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 coordinateLayout(data: DataView, relativeSeries: ICartesianSeries) {\n const points: IPointLike[] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n x: string | number | null;\n y: string | number | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n isNumber(datum.x) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', datum.x as number);\n isNumber(datum.y) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y as number);\n points.push({\n x: refRelativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x,\n y: refRelativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y\n });\n }\n );\n return points;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, isNumber } from '@visactor/vutils';\n\nexport function xLayout(\n data: DataView,\n startRelativeSeries: ICartesianSeries,\n endRelativeSeries: ICartesianSeries,\n relativeSeries: ICartesianSeries\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const lines: [IPointLike, IPointLike][] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const xDomain = relativeSeries.getXAxisHelper().getScale(0).domain();\n dataPoints.forEach((datum: IPointLike) => {\n if (isValid(datum.x)) {\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x) &&\n relativeSeries?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n const x = relativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;\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 }\n });\n\n return lines;\n}\n\nexport function yLayout(\n data: DataView,\n startRelativeSeries: ICartesianSeries,\n endRelativeSeries: ICartesianSeries,\n relativeSeries: ICartesianSeries\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const lines: [IPointLike, IPointLike][] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const yDomain = relativeSeries.getYAxisHelper().getScale(0).domain();\n dataPoints.forEach((datum: IPointLike) => {\n if (isValid(datum.y)) {\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y) &&\n relativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n const y = relativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;\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 coordinateLayout(data: DataView, relativeSeries: ICartesianSeries) {\n const points: IPointLike[] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n x: string | number | null;\n y: string | number | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', datum.x as number);\n\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y as number);\n points.push({\n x: refRelativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x,\n y: refRelativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y\n });\n }\n );\n return points;\n}\n\nfunction isNeedExtendDomain(domain: number[], datum: number) {\n const min = Math.min(...domain);\n const max = Math.max(...domain);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  import type { ControllerLayout, OrientType } from '@visactor/vrender-components';
2
2
  import type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';
3
3
  import type { BaseGraphicAttributes } from '@visactor/vrender-components/es/core/type';
4
- export interface IPlayerTheme {
4
+ import type { ILayoutItemSpec } from '../../../model/interface';
5
+ export interface IPlayerTheme extends ILayoutItemSpec {
5
6
  visible?: boolean;
6
7
  dx?: number;
7
8
  dy?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/player/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ControllerLayout, OrientType } from '@visactor/vrender-components';\nimport type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';\n// FIXME: export in @visactor/vrender-components\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components/es/core/type';\n\nexport interface IPlayerTheme {\n /**\n * 组件显隐配置\n * @default true\n */\n visible?: boolean;\n\n /**\n * x方向偏移\n * @default 0\n */\n dx?: number;\n /**\n * y方向偏移\n * @default 0\n */\n dy?: number;\n\n /**\n * 组件宽度\n */\n width?: number;\n\n /**\n * 组件高度\n */\n height?: number;\n\n /**\n * 对齐方式\n */\n position?: 'start' | 'middle' | 'end';\n\n /**\n * 组件位置\n * @default bottom\n */\n orient?: OrientType;\n\n /**\n * 滑动条\n */\n slider?: IPlayerSlider;\n\n /**\n * 控制器\n */\n controller?: IPlayerController;\n}\n\n/**\n * 播放器对齐方式\n */\nexport type PlayerAlignType = 'start' | 'middle' | 'end';\n\n/**\n * 播放器滑动条\n */\nexport interface IPlayerSlider {\n /**\n * 显隐控制\n * @default true\n */\n visible?: boolean;\n\n /**\n * 与前一个元素的间隔\n */\n space?: number;\n\n /**\n * x方向的偏移\n * @default 0\n */\n dx?: number;\n\n /**\n * y方向的偏移\n * @default 0\n */\n dy?: number;\n\n /**\n * 滑动轨道样式\n */\n railStyle?: IRectMarkSpec;\n\n /**\n * 滑动轨迹样式\n */\n trackStyle?: IRectMarkSpec;\n\n /**\n * 滑动手柄样式\n */\n handlerStyle?: ISymbolMarkSpec;\n}\n\n/**\n * 控制器\n */\nexport interface IPlayerController {\n /**\n * 显隐控制\n * @default true\n */\n visible?: boolean;\n\n /**\n * 开始按钮\n */\n start?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 暂停按钮\n */\n pause?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 后退按钮\n */\n backward?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 前进按钮\n */\n forward?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/player/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ControllerLayout, OrientType } from '@visactor/vrender-components';\nimport type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components/es/core/type';\nimport type { ILayoutItemSpec } from '../../../model/interface';\n\nexport interface IPlayerTheme extends ILayoutItemSpec {\n /**\n * 组件显隐配置\n * @default true\n */\n visible?: boolean;\n\n /**\n * x方向偏移\n * @default 0\n */\n dx?: number;\n /**\n * y方向偏移\n * @default 0\n */\n dy?: number;\n\n /**\n * 组件宽度\n */\n width?: number;\n\n /**\n * 组件高度\n */\n height?: number;\n\n /**\n * 对齐方式\n */\n position?: 'start' | 'middle' | 'end';\n\n /**\n * 组件位置\n * @default bottom\n */\n orient?: OrientType;\n\n /**\n * 滑动条\n */\n slider?: IPlayerSlider;\n\n /**\n * 控制器\n */\n controller?: IPlayerController;\n}\n\n/**\n * 播放器对齐方式\n */\nexport type PlayerAlignType = 'start' | 'middle' | 'end';\n\n/**\n * 播放器滑动条\n */\nexport interface IPlayerSlider {\n /**\n * 显隐控制\n * @default true\n */\n visible?: boolean;\n\n /**\n * 与前一个元素的间隔\n */\n space?: number;\n\n /**\n * x方向的偏移\n * @default 0\n */\n dx?: number;\n\n /**\n * y方向的偏移\n * @default 0\n */\n dy?: number;\n\n /**\n * 滑动轨道样式\n */\n railStyle?: IRectMarkSpec;\n\n /**\n * 滑动轨迹样式\n */\n trackStyle?: IRectMarkSpec;\n\n /**\n * 滑动手柄样式\n */\n handlerStyle?: ISymbolMarkSpec;\n}\n\n/**\n * 控制器\n */\nexport interface IPlayerController {\n /**\n * 显隐控制\n * @default true\n */\n visible?: boolean;\n\n /**\n * 开始按钮\n */\n start?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 暂停按钮\n */\n pause?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 后退按钮\n */\n backward?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 前进按钮\n */\n forward?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n}\n"]}
@@ -39,7 +39,6 @@ export declare class Player extends BaseComponent implements IComponent {
39
39
  changeRegions(regions: IRegion[]): void;
40
40
  onRender(ctx: IModelRenderOption): void;
41
41
  clear(): void;
42
- reInit(): void;
43
42
  private _getPlayerAttrs;
44
43
  private _createOrUpdatePlayerComponent;
45
44
  private _computeLayoutRect;
@@ -147,9 +147,6 @@ class Player extends base_1.BaseComponent {
147
147
  clear() {
148
148
  super.clear(), this._playerComponent = null;
149
149
  }
150
- reInit() {
151
- super.reInit(), this._initTheme();
152
- }
153
150
  _computeLayoutRect(rect, width, height) {
154
151
  switch (this._orient) {
155
152
  case "top":
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import type { INode } from '@visactor/vrender';\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 { isNumber, array, isEqual, merge } from '@visactor/vutils';\n\nimport type { ILayoutRect, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponentOption } from '../interface';\n\nimport type { DirectionType, IPlayer } from './interface';\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType } from '../../typings';\nimport type { IChartSpec, IDataValues } from '../..';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { BaseComponent } from '../base';\nimport { isNil, isValidNumber } from '../../util';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../constant';\n\nexport class Player extends BaseComponent implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n type = ComponentTypeEnum.player;\n specKey = 'player';\n protected declare _spec: IPlayer;\n private _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\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 get layoutOrient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n static createComponent = (spec: IChartSpec, options: IComponentOption) => {\n const playerSpec = spec.player as IPlayer;\n if (isNil(playerSpec) || playerSpec.visible === false) {\n return null;\n }\n return new Player(playerSpec, options);\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 }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n setLayoutStartPosition(pos: Partial<IPoint>) {\n super.setLayoutStartPosition(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 boundsInRect(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 clear(): void {\n super.clear();\n this._playerComponent = null;\n }\n\n reInit() {\n super.reInit();\n this._initTheme();\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 { ...transformDiscreteSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\n }\n // 连续类型Attrs\n return { ...transformContinuousSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\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 }\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 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 /**\n * 事件\n */\n private _initEvent = () => {\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.OnEnd, () => {\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.OnChange, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\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\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 this._playerComponent.addEventListener(PlayerEventEnum.OnBackward, (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.OnForward, (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.OnPlay, (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.OnPause, (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"]}
1
+ {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":";;;AAIA,qEAAiG;AACjG,6CAA4D;AAa5D,4CAAiD;AACjD,kCAAwC;AACxC,qCAAkD;AAClD,mCAAuF;AACvF,2CAA0D;AAC1D,6CAAuE;AAEvE,MAAa,MAAO,SAAQ,oBAAa;IAAzC;;QACE,iBAAY,GAAW,uBAAY,CAAC,MAAM,CAAC;QAC3C,gBAAW,GAAW,sBAAW,CAAC,MAAM,CAAC;QAEzC,SAAI,GAAG,6BAAiB,CAAC,MAAM,CAAC;QAChC,YAAO,GAAG,QAAQ,CAAC;QAEX,YAAO,GAAgB,QAAQ,CAAC;QAkGhC,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,uCAAY,IAAA,oCAA4B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAK,WAAW,EAAG;aACrF;YAED,uCAAY,IAAA,sCAA8B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAK,WAAW,EAAG;QACxF,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;iBAC5C;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;QAoGM,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;QAKM,eAAU,GAAG,GAAG,EAAE;YAExB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACvD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,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,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAEpG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,CAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;oBACjD,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,YAAY,EAAE;oBACvC,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,UAAU,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACtG,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,qBAAU,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,SAAS,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACrG,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,qBAAU,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,MAAM,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAClG,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,qBAAU,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,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,qBAAU,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;IAxWC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,CAAC,CAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAaD,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;IACnD,CAAC;IAMD,sBAAsB,CAAC,GAAoB;QACzC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAA,oBAAa,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,oBAAa,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,YAAY,CAAC,IAAiB,EAAE,SAAsB;QACpD,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;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAqDO,kBAAkB,CAAC,IAAiB,EAAE,KAAa,EAAE,MAAc;QACzE,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;;AAnPH,wBA6XC;AA5VQ,sBAAe,GAAG,CAAC,IAAgB,EAAE,OAAyB,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAiB,CAAC;IAC1C,IAAI,IAAA,YAAK,EAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;QACrD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC","file":"player.js","sourcesContent":["import type { INode } from '@visactor/vrender';\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 { isNumber, array, isEqual } from '@visactor/vutils';\n\nimport type { ILayoutRect, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponentOption } from '../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 } from '../../typings';\nimport type { IChartSpec, IDataValues } from '../..';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { BaseComponent } from '../base';\nimport { isNil, isValidNumber } from '../../util';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../constant';\n\nexport class Player extends BaseComponent implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n type = ComponentTypeEnum.player;\n specKey = 'player';\n protected declare _spec: IPlayer;\n private _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\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 get layoutOrient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n static createComponent = (spec: IChartSpec, options: IComponentOption) => {\n const playerSpec = spec.player as IPlayer;\n if (isNil(playerSpec) || playerSpec.visible === false) {\n return null;\n }\n return new Player(playerSpec, options);\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 }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n setLayoutStartPosition(pos: Partial<IPoint>) {\n super.setLayoutStartPosition(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 boundsInRect(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 clear(): void {\n super.clear();\n this._playerComponent = null;\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 { ...transformDiscreteSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\n }\n // 连续类型Attrs\n return { ...transformContinuousSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\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 }\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 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 /**\n * 事件\n */\n private _initEvent = () => {\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.OnEnd, () => {\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.OnChange, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\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\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 this._playerComponent.addEventListener(PlayerEventEnum.OnBackward, (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.OnForward, (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.OnPlay, (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.OnPause, (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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/player/utils/transform.ts"],"names":[],"mappings":"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","file":"transform.js","sourcesContent":["import type { ContinuousPlayerAttributes, DiscretePlayerAttributes, Datum } from '@visactor/vrender-components';\nimport type { IPlayer } from '../interface';\nimport type { IRectGraphicAttribute, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { IRectMarkSpec, ISymbolMarkSpec } from '../../../typings';\nimport { transformToGraphic } from '../../../util/style';\n// FIXME: export in @visactor/vrender-components\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components/es/core/type';\n\n/**\n * IRectMarkSpec => IRectGraphicAttribute\n */\nconst rectToAttribute = (markSpec: IRectMarkSpec): IRectGraphicAttribute => {\n const result: IRectGraphicAttribute = {\n ...(markSpec as unknown as IRectGraphicAttribute)\n };\n\n // TODO: 是否要迁移到transformToGraphic ?\n if (markSpec.cornerRadius) {\n result.borderRadius = markSpec.cornerRadius;\n } else if (\n markSpec.cornerRadiusBottomLeft ||\n markSpec.cornerRadiusBottomRight ||\n markSpec.cornerRadiusTopLeft ||\n markSpec.cornerRadiusTopRight\n ) {\n result.borderRadius = [\n markSpec?.cornerRadiusTopLeft ?? 0,\n markSpec?.cornerRadiusTopRight ?? 0,\n markSpec?.cornerRadiusBottomRight ?? 0,\n markSpec?.cornerRadiusBottomLeft ?? 0\n ];\n }\n\n return transformToGraphic(result) as IRectGraphicAttribute;\n};\n\n/**\n * ISymbolMarkSpec => ISymbolGraphicAttribute\n */\nconst symbolToAttribute = (markSpec: ISymbolMarkSpec): ISymbolGraphicAttribute => {\n const result: ISymbolGraphicAttribute = {\n ...(markSpec as unknown as ISymbolGraphicAttribute)\n };\n\n return transformToGraphic(result) as ISymbolGraphicAttribute;\n};\n\nconst baseToAttribute = <T>(spec: BaseGraphicAttributes<T>) => {\n const result: BaseGraphicAttributes<T> = {\n ...spec,\n style: {\n ...transformToGraphic(spec.style)\n }\n };\n return result;\n};\n\nconst transformToAttrs = (spec: IPlayer) => {\n // slider\n const trackStyle = rectToAttribute(spec?.slider?.trackStyle ?? {});\n const railStyle = rectToAttribute(spec?.slider?.railStyle ?? {});\n const handlerStyle = symbolToAttribute(spec?.slider?.handlerStyle ?? {});\n\n // controllers\n const start = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.start ?? {});\n const pause = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.pause ?? {});\n const backward = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.backward ?? {});\n const forward = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.forward ?? {});\n\n return {\n ...spec,\n direction: spec.direction,\n interval: spec.interval,\n visible: spec.visible,\n orient: spec.orient,\n slider: {\n ...spec.slider,\n trackStyle: trackStyle,\n railStyle: railStyle,\n handlerStyle: handlerStyle\n },\n controller: {\n ...spec.controller,\n start: start,\n pause: pause,\n backward: backward,\n forward: forward\n }\n };\n};\n\n/**\n * 连续型播放器spec转换为Attrs\n */\nexport const transformContinuousSpecToAttrs = (spec: IPlayer, data: Datum[]): ContinuousPlayerAttributes => ({\n ...(transformToAttrs(spec) as any),\n data,\n type: 'continuous'\n});\n\nexport const transformDiscreteSpecToAttrs = (spec: IPlayer, data: Datum[]): DiscretePlayerAttributes => ({\n ...(transformToAttrs(spec) as any),\n data,\n type: 'discrete'\n});\n"]}
1
+ {"version":3,"sources":["../src/component/player/utils/transform.ts"],"names":[],"mappings":"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","file":"transform.js","sourcesContent":["import type { ContinuousPlayerAttributes, DiscretePlayerAttributes, Datum } from '@visactor/vrender-components';\nimport type { IPlayer } from '../interface';\nimport type { IRectGraphicAttribute, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { IRectMarkSpec, ISymbolMarkSpec } from '../../../typings';\nimport { transformToGraphic } from '../../../util/style';\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components/es/core/type';\n\n/**\n * IRectMarkSpec => IRectGraphicAttribute\n */\nconst rectToAttribute = (markSpec: IRectMarkSpec): IRectGraphicAttribute => {\n const result: IRectGraphicAttribute = {\n ...(markSpec as unknown as IRectGraphicAttribute)\n };\n\n // TODO: 是否要迁移到transformToGraphic ?\n if (markSpec.cornerRadius) {\n result.borderRadius = markSpec.cornerRadius;\n } else if (\n markSpec.cornerRadiusBottomLeft ||\n markSpec.cornerRadiusBottomRight ||\n markSpec.cornerRadiusTopLeft ||\n markSpec.cornerRadiusTopRight\n ) {\n result.borderRadius = [\n markSpec?.cornerRadiusTopLeft ?? 0,\n markSpec?.cornerRadiusTopRight ?? 0,\n markSpec?.cornerRadiusBottomRight ?? 0,\n markSpec?.cornerRadiusBottomLeft ?? 0\n ];\n }\n\n return transformToGraphic(result) as IRectGraphicAttribute;\n};\n\n/**\n * ISymbolMarkSpec => ISymbolGraphicAttribute\n */\nconst symbolToAttribute = (markSpec: ISymbolMarkSpec): ISymbolGraphicAttribute => {\n const result: ISymbolGraphicAttribute = {\n ...(markSpec as unknown as ISymbolGraphicAttribute)\n };\n\n return transformToGraphic(result) as ISymbolGraphicAttribute;\n};\n\nconst baseToAttribute = <T>(spec: BaseGraphicAttributes<T>) => {\n const result: BaseGraphicAttributes<T> = {\n ...spec,\n style: {\n ...transformToGraphic(spec.style)\n }\n };\n return result;\n};\n\nconst transformToAttrs = (spec: IPlayer) => {\n // slider\n const trackStyle = rectToAttribute(spec?.slider?.trackStyle ?? {});\n const railStyle = rectToAttribute(spec?.slider?.railStyle ?? {});\n const handlerStyle = symbolToAttribute(spec?.slider?.handlerStyle ?? {});\n\n // controllers\n const start = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.start ?? {});\n const pause = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.pause ?? {});\n const backward = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.backward ?? {});\n const forward = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.forward ?? {});\n\n return {\n ...spec,\n direction: spec.direction,\n interval: spec.interval,\n visible: spec.visible,\n orient: spec.orient,\n slider: {\n ...spec.slider,\n trackStyle: trackStyle,\n railStyle: railStyle,\n handlerStyle: handlerStyle\n },\n controller: {\n ...spec.controller,\n start: start,\n pause: pause,\n backward: backward,\n forward: forward\n }\n };\n};\n\n/**\n * 连续型播放器spec转换为Attrs\n */\nexport const transformContinuousSpecToAttrs = (spec: IPlayer, data: Datum[]): ContinuousPlayerAttributes => ({\n ...(transformToAttrs(spec) as any),\n data,\n type: 'continuous'\n});\n\nexport const transformDiscreteSpecToAttrs = (spec: IPlayer, data: Datum[]): DiscretePlayerAttributes => ({\n ...(transformToAttrs(spec) as any),\n data,\n type: 'discrete'\n});\n"]}
@@ -1,3 +1,5 @@
1
+ import type { ILayoutItemSpec } from '../../../model/interface';
2
+ import type { IColorKey } from '../../../theme/color-scheme/interface';
1
3
  import type { StringOrNumber } from '../../../typings';
2
4
  import type { TextAlign, TextBaseLine } from '../../../typings/visual';
3
5
  export interface ITitleTextTheme {
@@ -5,13 +7,13 @@ export interface ITitleTextTheme {
5
7
  height?: number;
6
8
  fontFamily?: string;
7
9
  fontSize?: number;
8
- fontColor?: string;
10
+ fontColor?: string | IColorKey;
9
11
  fontWeight?: StringOrNumber;
10
12
  textAlign?: TextAlign;
11
13
  textBaseline?: TextBaseLine;
12
14
  lineHeight?: number;
13
15
  }
14
- export interface ITitleTheme {
16
+ export interface ITitleTheme extends ILayoutItemSpec {
15
17
  textStyle?: ITitleTextTheme;
16
18
  subtextStyle?: ITitleTextTheme;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/title/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import 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;\n /** 字体颜色 */\n fontColor?: string;\n /** 字重 */\n fontWeight?: StringOrNumber;\n /** 对齐方式 */\n textAlign?: TextAlign;\n /** 字体基线 */\n textBaseline?: TextBaseLine;\n /** 行高 */\n lineHeight?: number;\n}\n\nexport interface ITitleTheme {\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 '../../../model/interface';\nimport type { IColorKey } from '../../../theme/color-scheme/interface';\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;\n /** 字体颜色 */\n fontColor?: 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"]}