@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/crosshair/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { Dict, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { throttle, PointService } from '@visactor/vutils';\n\nimport { RenderModeEnum } from '../../typings/spec/common';\nimport type { BaseEventParams, EventType } from '../../event/interface';\nimport type { IModelLayoutOption, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base';\nimport type { IPadding, Maybe, StringOrNumber } from '../../typings';\nimport { isArray, merge, outOfBounds, isNumber, get, isBoolean } from '../../util';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IComponentOption } from '../interface';\nimport type {\n ICrossHair,\n CrossHairTrigger,\n ICartesianCrosshairSpec,\n IPolarCrosshairSpec,\n ICrosshairTheme,\n ICrosshairXFieldSpec\n} from './interface';\nimport { Event_Bubble_Level, Event_Source_Type, LayoutZIndex } from '../../constant';\nimport { defaultCrosshairTriggerEvent } from './config';\nimport type { IPolarAxis } from '../axis/polar/interface';\nimport type { IAxis } from '../axis/interface';\n\ntype IBound = { x1: number; y1: number; x2: number; y2: number };\ntype IAxisInfo<T> = Map<number, IBound & { axis: T }>;\n\nexport interface IHair {\n /** 是否展示 crosshair 辅助图形 */\n visible: boolean;\n /** 类型 */\n type: 'rect' | 'line';\n /** 样式 */\n style?: Dict<any>;\n label?: {\n /** 文本是否可见 */\n visible: boolean;\n /** 格式化函数 */\n formatMethod?: (text: StringOrNumber | string[], position: string) => string | string[];\n /** 文本样式 */\n textStyle?: Dict<any>;\n minWidth?: number;\n maxWidth?: number;\n padding?: IPadding | number | number[];\n panel?: Dict<any>;\n zIndex?: number;\n };\n}\n\nconst ORIENT_MAP = {\n x: ['top', 'bottom'],\n y: ['left', 'right'],\n category: ['angle'],\n value: ['radius']\n};\n\nexport abstract class BaseCrossHair extends BaseComponent implements ICrossHair {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n gridZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.CrossHair_Grid;\n labelZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.CrossHair;\n trigger: CrossHairTrigger = 'hover';\n enable: boolean;\n showDefault: boolean;\n triggerOff: CrossHairTrigger | 'none' = 'hover'; // 为none则不消失\n\n protected declare _theme: Maybe<ICrosshairTheme>;\n\n get enableRemain(): boolean {\n return this.triggerOff === 'none';\n }\n\n protected crosshairConfig: ICartesianCrosshairSpec | IPolarCrosshairSpec;\n private _limitBounds: Maybe<IBoundsLike>;\n\n constructor(spec: ICartesianCrosshairSpec | IPolarCrosshairSpec, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._spec = spec;\n this.enable = true;\n this.showDefault = true;\n }\n\n protected abstract showDefaultCrosshair(): void;\n protected abstract layoutCrosshair(x: number, y: number): void;\n protected abstract parseFieldInfo(): void;\n protected abstract hide(): void;\n\n protected getLimitBounds() {\n if (!this._limitBounds) {\n const { width, height } = this._option.globalInstance.getChart()?.getCanvasRect() ?? {\n width: 0,\n height: 0\n };\n this._limitBounds = {\n x1: 0,\n y1: 0,\n x2: width,\n y2: height\n };\n }\n return this._limitBounds;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.crosshairConfig = this._spec;\n this.parseCrosshairSpec();\n }\n\n created() {\n super.created();\n // event\n this.initEvent();\n }\n\n /**\n * updateSpec\n */\n updateSpec(spec: any) {\n const result = super.updateSpec(spec);\n result.reRender = true;\n result.reMake = true;\n return result;\n }\n\n reInit() {\n super.reInit();\n // TODO: setMarkStyle;\n }\n\n protected initEvent() {\n const { in: triggerEvent, out: outTriggerEvent } = this.getTriggerEvent();\n if (isArray(triggerEvent)) {\n triggerEvent.forEach((eventName, index) =>\n this._registerEvent(eventName, isArray(outTriggerEvent) ? outTriggerEvent[index] : outTriggerEvent)\n );\n } else {\n this._registerEvent(triggerEvent, outTriggerEvent);\n }\n }\n\n private _registerEvent(inEventName: EventType, outEventName: EventType) {\n this.event.on(inEventName, { source: Event_Source_Type.chart }, this.handleEvent);\n this.event.on(outEventName, { level: Event_Bubble_Level.chart }, (...arg: any) => {\n if (this.enableRemain) {\n return;\n }\n this.hide();\n });\n }\n\n private _releaseEvent(eventName: EventType) {\n this.event.off(eventName, this.handleEvent);\n }\n\n updateLayoutAttribute() {\n this._limitBounds = null;\n this.showDefaultCrosshair();\n }\n\n private handleEvent = throttle((params: any) => {\n const { event } = params as BaseEventParams;\n const x = (event as any).viewX - this.getLayoutStartPoint().x;\n const y = (event as any).viewY - this.getLayoutStartPoint().y;\n // 索引到datum\n this.showDefault = false;\n this.layoutCrosshair(x, y);\n }, 10);\n\n private getTriggerEvent() {\n const { mode = RenderModeEnum['desktop-browser'] } = this._option;\n const trigger = this.trigger || 'hover';\n const outTrigger = (trigger: CrossHairTrigger) => (trigger === 'click' ? 'clickOut' : 'hoverOut');\n if (isArray(trigger)) {\n // 同时配置了多个触发事件\n let inResult: string[] = [];\n let outResult: string[] = [];\n trigger.forEach(item => {\n inResult = inResult.concat(defaultCrosshairTriggerEvent[mode][item]);\n outResult = outResult.concat(defaultCrosshairTriggerEvent[mode][outTrigger(item)]);\n });\n return {\n in: inResult,\n out: outResult\n };\n }\n return {\n in: defaultCrosshairTriggerEvent[mode][trigger],\n out: defaultCrosshairTriggerEvent[mode][outTrigger(trigger)]\n };\n }\n\n protected _getAxisInfoByField<T = IAxis>(field: 'x' | 'y' | 'category' | 'value') {\n const axesComponents = this._option.getComponentsByKey('axes') as IAxis[];\n if (!axesComponents.length) {\n return null;\n }\n let bindingAxesIndex: number[] = get(this._spec, `${field}Field.bindingAxesIndex`);\n if (!bindingAxesIndex) {\n bindingAxesIndex = [];\n axesComponents.forEach((item, index) => {\n if (ORIENT_MAP[field].includes(item.orient)) {\n bindingAxesIndex.push(index);\n }\n });\n }\n if (!bindingAxesIndex.length) {\n return null;\n }\n\n const map: IAxisInfo<T> = new Map();\n let x1 = Infinity;\n let y1 = Infinity;\n let x2 = -Infinity;\n let y2 = -Infinity;\n const { x: sx, y: sy } = this.getLayoutStartPoint();\n bindingAxesIndex.forEach(idx => {\n (x1 = Infinity), (y1 = Infinity), (x2 = -Infinity), (y2 = -Infinity);\n const axis = axesComponents.find(axis => axis.getSpecIndex() === idx);\n if (!axis) {\n return;\n }\n const regions = axis.getRegions();\n regions.forEach(r => {\n x1 = Math.min(x1, r.getLayoutStartPoint().x - sx);\n y1 = Math.min(y1, r.getLayoutStartPoint().y - sy);\n x2 = Math.max(x2, r.getLayoutStartPoint().x + r.getLayoutRect().width - sx);\n y2 = Math.max(y2, r.getLayoutStartPoint().y + r.getLayoutRect().height - sy);\n });\n map.set(idx, { x1, y1, x2, y2, axis: axis as unknown as T });\n });\n\n return map;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: IModelLayoutOption): void {\n this.setLayoutRect(this._regions[0].getLayoutRect());\n this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint());\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n protected releaseEvent(): void {\n const { in: triggerEvent, out: outTriggerEvent } = this.getTriggerEvent();\n if (isArray(triggerEvent)) {\n triggerEvent.forEach(eachTriggerEvent => this._releaseEvent(eachTriggerEvent));\n } else {\n this._releaseEvent(triggerEvent);\n }\n if (isArray(outTriggerEvent)) {\n outTriggerEvent.forEach(eachTriggerEvent => this._releaseEvent(eachTriggerEvent));\n } else {\n this._releaseEvent(outTriggerEvent);\n }\n }\n\n protected firstSeries<T>(): T | null {\n for (let i = 0; i < this._regions.length; i++) {\n const r = this._regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s) {\n return s as unknown as T;\n }\n }\n }\n return null;\n }\n\n protected parseCrosshairSpec() {\n this.parseFieldInfo();\n\n const { trigger, triggerOff, labelZIndex, gridZIndex } = this.crosshairConfig;\n if (trigger) {\n this.trigger = trigger;\n }\n if (triggerOff) {\n this.triggerOff = triggerOff;\n } else {\n this.triggerOff = this.trigger;\n }\n if (labelZIndex !== undefined) {\n this.labelZIndex = labelZIndex;\n }\n if (gridZIndex !== undefined) {\n this.gridZIndex = gridZIndex;\n }\n }\n\n protected _parseField(field: ICrosshairXFieldSpec, fieldName: string) {\n const hair = {} as any;\n const { line, label, visible } = field;\n hair.visible = visible;\n hair.type = line?.type || 'line';\n const style = line?.style || {};\n const { strokeOpacity, fillOpacity, opacity, stroke, fill, lineWidth, ...restStyle } = style as any;\n const isLineType = hair.type === 'line';\n let finalOpacity = isLineType ? strokeOpacity : fillOpacity;\n if (isNumber(opacity)) {\n finalOpacity = (finalOpacity ?? 1) * opacity;\n }\n hair.style = {\n opacity: finalOpacity,\n pickable: false,\n visible: isBoolean(line?.visible) ? line.visible : true,\n ...restStyle\n };\n if (isLineType) {\n hair.style.stroke = stroke || fill;\n hair.style.lineWidth = line?.width || lineWidth || 2;\n } else {\n hair.style.fill = fill || stroke;\n\n if (this._originalSpec[fieldName]?.line?.style?.stroke) {\n hair.style.stroke = this._originalSpec[fieldName].line.style.stroke;\n }\n if (typeof line.width === 'string') {\n const percent = parseInt(line.width.substring(0, line.width.length - 1), 10) / 100;\n hair.style.sizePercent = percent;\n } else if (typeof line?.width === 'number') {\n hair.style.size = line.width;\n }\n }\n const labelBackground = label?.labelBackground;\n const labelStyle = label?.style || {};\n const {\n fill: rectFill = 'rgba(47, 59, 82, 0.9)',\n cornerRadius: borderRadius = 0,\n stroke: rectStroke,\n ...rectStyle\n } = labelBackground?.style || {};\n hair.label = {\n visible: !!label?.visible,\n formatMethod: label?.formatMethod,\n minWidth: labelBackground?.minWidth,\n maxWidth: labelBackground?.maxWidth,\n padding: labelBackground?.padding,\n textStyle: {\n fontSize: 12,\n pickable: false,\n ...labelStyle,\n fill: labelStyle?.fill ?? '#fff',\n stroke: get(labelStyle, 'stroke')\n },\n panel: {\n visible: isBoolean(labelBackground?.visible) ? labelBackground?.visible : !!labelBackground,\n pickable: false,\n fill: rectFill,\n borderRadius,\n stroke: rectStroke,\n ...rectStyle\n },\n zIndex: this.labelZIndex\n };\n\n return hair;\n }\n\n protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number) {\n axisMap &&\n axisMap.forEach((item, i) => {\n const axis = item.axis as unknown as IAxis | IPolarAxis;\n if (outOfBounds(item, relativeX, relativeY)) {\n axisMap.delete(axis.getSpecIndex());\n }\n if ((axis as IPolarAxis).type.startsWith('polarAxis')) {\n // 极坐标下需要判断是否在半径内\n const center = (axis as IPolarAxis).getCenter();\n const innerRadius = (axis as IPolarAxis).getInnerRadius();\n const outerRadius = (axis as IPolarAxis).getOuterRadius();\n const distance = PointService.distancePP({ x: relativeX, y: relativeY }, center);\n if (distance > outerRadius || distance < innerRadius) {\n axisMap.delete((axis as IPolarAxis).getSpecIndex());\n }\n }\n });\n return axisMap;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { Dict, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { throttle, PointService } from '@visactor/vutils';\n\nimport { RenderModeEnum } from '../../typings/spec/common';\nimport type { BaseEventParams, EventType } from '../../event/interface';\nimport type { IModelLayoutOption, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base';\nimport type { IPadding, Maybe, StringOrNumber } from '../../typings';\nimport { isArray, merge, outOfBounds, isNumber, get, isBoolean } from '../../util';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IComponentOption } from '../interface';\nimport type {\n ICrossHair,\n CrossHairTrigger,\n ICartesianCrosshairSpec,\n IPolarCrosshairSpec,\n ICrosshairTheme,\n ICrosshairXFieldSpec\n} from './interface';\nimport { Event_Bubble_Level, Event_Source_Type, LayoutZIndex } from '../../constant';\nimport { defaultCrosshairTriggerEvent } from './config';\nimport type { IPolarAxis } from '../axis/polar/interface';\nimport type { IAxis } from '../axis/interface';\n\ntype IBound = { x1: number; y1: number; x2: number; y2: number };\ntype IAxisInfo<T> = Map<number, IBound & { axis: T }>;\n\nexport interface IHair {\n /** 是否展示 crosshair 辅助图形 */\n visible: boolean;\n /** 类型 */\n type: 'rect' | 'line';\n /** 样式 */\n style?: Dict<any>;\n label?: {\n /** 文本是否可见 */\n visible: boolean;\n /** 格式化函数 */\n formatMethod?: (text: StringOrNumber | string[], position: string) => string | string[];\n /** 文本样式 */\n textStyle?: Dict<any>;\n minWidth?: number;\n maxWidth?: number;\n padding?: IPadding | number | number[];\n panel?: Dict<any>;\n zIndex?: number;\n };\n}\n\nconst ORIENT_MAP = {\n x: ['top', 'bottom'],\n y: ['left', 'right'],\n category: ['angle'],\n value: ['radius']\n};\n\nexport abstract class BaseCrossHair extends BaseComponent implements ICrossHair {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n gridZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.CrossHair_Grid;\n labelZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.CrossHair;\n trigger: CrossHairTrigger = 'hover';\n enable: boolean;\n showDefault: boolean;\n triggerOff: CrossHairTrigger | 'none' = 'hover'; // 为none则不消失\n\n protected declare _theme: Maybe<ICrosshairTheme>;\n\n get enableRemain(): boolean {\n return this.triggerOff === 'none';\n }\n\n protected crosshairConfig: ICartesianCrosshairSpec | IPolarCrosshairSpec;\n private _limitBounds: Maybe<IBoundsLike>;\n\n constructor(spec: ICartesianCrosshairSpec | IPolarCrosshairSpec, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._spec = spec;\n this.enable = true;\n this.showDefault = true;\n }\n\n protected abstract showDefaultCrosshair(): void;\n protected abstract layoutCrosshair(x: number, y: number): void;\n protected abstract parseFieldInfo(): void;\n protected abstract hide(): void;\n\n protected getLimitBounds() {\n if (!this._limitBounds) {\n const { width, height } = this._option.globalInstance.getChart()?.getCanvasRect() ?? {\n width: 0,\n height: 0\n };\n this._limitBounds = {\n x1: 0,\n y1: 0,\n x2: width,\n y2: height\n };\n }\n return this._limitBounds;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.crosshairConfig = this._spec;\n this.parseCrosshairSpec();\n }\n\n created() {\n super.created();\n // event\n this.initEvent();\n }\n\n /**\n * updateSpec\n */\n updateSpec(spec: any) {\n const result = super.updateSpec(spec);\n result.reRender = true;\n result.reMake = true;\n return result;\n }\n\n protected initEvent() {\n const { in: triggerEvent, out: outTriggerEvent } = this.getTriggerEvent();\n if (isArray(triggerEvent)) {\n triggerEvent.forEach((eventName, index) =>\n this._registerEvent(eventName, isArray(outTriggerEvent) ? outTriggerEvent[index] : outTriggerEvent)\n );\n } else {\n this._registerEvent(triggerEvent, outTriggerEvent);\n }\n }\n\n private _registerEvent(inEventName: EventType, outEventName: EventType) {\n this.event.on(inEventName, { source: Event_Source_Type.chart }, this.handleEvent);\n this.event.on(outEventName, { level: Event_Bubble_Level.chart }, (...arg: any) => {\n if (this.enableRemain) {\n return;\n }\n this.hide();\n });\n }\n\n private _releaseEvent(eventName: EventType) {\n this.event.off(eventName, this.handleEvent);\n }\n\n updateLayoutAttribute() {\n this._limitBounds = null;\n this.showDefaultCrosshair();\n }\n\n private handleEvent = throttle((params: any) => {\n const { event } = params as BaseEventParams;\n const x = (event as any).viewX - this.getLayoutStartPoint().x;\n const y = (event as any).viewY - this.getLayoutStartPoint().y;\n // 索引到datum\n this.showDefault = false;\n this.layoutCrosshair(x, y);\n }, 10);\n\n private getTriggerEvent() {\n const { mode = RenderModeEnum['desktop-browser'] } = this._option;\n const trigger = this.trigger || 'hover';\n const outTrigger = (trigger: CrossHairTrigger) => (trigger === 'click' ? 'clickOut' : 'hoverOut');\n if (isArray(trigger)) {\n // 同时配置了多个触发事件\n let inResult: string[] = [];\n let outResult: string[] = [];\n trigger.forEach(item => {\n inResult = inResult.concat(defaultCrosshairTriggerEvent[mode][item]);\n outResult = outResult.concat(defaultCrosshairTriggerEvent[mode][outTrigger(item)]);\n });\n return {\n in: inResult,\n out: outResult\n };\n }\n return {\n in: defaultCrosshairTriggerEvent[mode][trigger],\n out: defaultCrosshairTriggerEvent[mode][outTrigger(trigger)]\n };\n }\n\n protected _getAxisInfoByField<T = IAxis>(field: 'x' | 'y' | 'category' | 'value') {\n const axesComponents = this._option.getComponentsByKey('axes') as IAxis[];\n if (!axesComponents.length) {\n return null;\n }\n let bindingAxesIndex: number[] = get(this._spec, `${field}Field.bindingAxesIndex`);\n if (!bindingAxesIndex) {\n bindingAxesIndex = [];\n axesComponents.forEach((item, index) => {\n if (ORIENT_MAP[field].includes(item.orient)) {\n bindingAxesIndex.push(index);\n }\n });\n }\n if (!bindingAxesIndex.length) {\n return null;\n }\n\n const map: IAxisInfo<T> = new Map();\n let x1 = Infinity;\n let y1 = Infinity;\n let x2 = -Infinity;\n let y2 = -Infinity;\n const { x: sx, y: sy } = this.getLayoutStartPoint();\n bindingAxesIndex.forEach(idx => {\n (x1 = Infinity), (y1 = Infinity), (x2 = -Infinity), (y2 = -Infinity);\n const axis = axesComponents.find(axis => axis.getSpecIndex() === idx);\n if (!axis) {\n return;\n }\n const regions = axis.getRegions();\n regions.forEach(r => {\n x1 = Math.min(x1, r.getLayoutStartPoint().x - sx);\n y1 = Math.min(y1, r.getLayoutStartPoint().y - sy);\n x2 = Math.max(x2, r.getLayoutStartPoint().x + r.getLayoutRect().width - sx);\n y2 = Math.max(y2, r.getLayoutStartPoint().y + r.getLayoutRect().height - sy);\n });\n map.set(idx, { x1, y1, x2, y2, axis: axis as unknown as T });\n });\n\n return map;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: IModelLayoutOption): void {\n this.setLayoutRect(this._regions[0].getLayoutRect());\n this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint());\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n protected releaseEvent(): void {\n const { in: triggerEvent, out: outTriggerEvent } = this.getTriggerEvent();\n if (isArray(triggerEvent)) {\n triggerEvent.forEach(eachTriggerEvent => this._releaseEvent(eachTriggerEvent));\n } else {\n this._releaseEvent(triggerEvent);\n }\n if (isArray(outTriggerEvent)) {\n outTriggerEvent.forEach(eachTriggerEvent => this._releaseEvent(eachTriggerEvent));\n } else {\n this._releaseEvent(outTriggerEvent);\n }\n }\n\n protected firstSeries<T>(): T | null {\n for (let i = 0; i < this._regions.length; i++) {\n const r = this._regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s) {\n return s as unknown as T;\n }\n }\n }\n return null;\n }\n\n protected parseCrosshairSpec() {\n this.parseFieldInfo();\n\n const { trigger, triggerOff, labelZIndex, gridZIndex } = this.crosshairConfig;\n if (trigger) {\n this.trigger = trigger;\n }\n if (triggerOff) {\n this.triggerOff = triggerOff;\n } else {\n this.triggerOff = this.trigger;\n }\n if (labelZIndex !== undefined) {\n this.labelZIndex = labelZIndex;\n }\n if (gridZIndex !== undefined) {\n this.gridZIndex = gridZIndex;\n }\n }\n\n protected _parseField(field: ICrosshairXFieldSpec, fieldName: string) {\n const hair = {} as any;\n const { line, label, visible } = field;\n hair.visible = visible;\n hair.type = line?.type || 'line';\n const style = line?.style || {};\n const { strokeOpacity, fillOpacity, opacity, stroke, fill, lineWidth, ...restStyle } = style as any;\n const isLineType = hair.type === 'line';\n let finalOpacity = isLineType ? strokeOpacity : fillOpacity;\n if (isNumber(opacity)) {\n finalOpacity = (finalOpacity ?? 1) * opacity;\n }\n hair.style = {\n opacity: finalOpacity,\n pickable: false,\n visible: isBoolean(line?.visible) ? line.visible : true,\n ...restStyle\n };\n if (isLineType) {\n hair.style.stroke = stroke || fill;\n hair.style.lineWidth = line?.width || lineWidth || 2;\n } else {\n hair.style.fill = fill || stroke;\n\n if (this._originalSpec[fieldName]?.line?.style?.stroke) {\n hair.style.stroke = this._originalSpec[fieldName].line.style.stroke;\n }\n if (typeof line.width === 'string') {\n const percent = parseInt(line.width.substring(0, line.width.length - 1), 10) / 100;\n hair.style.sizePercent = percent;\n } else if (typeof line?.width === 'number') {\n hair.style.size = line.width;\n }\n }\n const labelBackground = label?.labelBackground;\n const labelStyle = label?.style || {};\n const {\n fill: rectFill = 'rgba(47, 59, 82, 0.9)',\n cornerRadius: borderRadius = 0,\n stroke: rectStroke,\n ...rectStyle\n } = labelBackground?.style || {};\n hair.label = {\n visible: !!label?.visible,\n formatMethod: label?.formatMethod,\n minWidth: labelBackground?.minWidth,\n maxWidth: labelBackground?.maxWidth,\n padding: labelBackground?.padding,\n textStyle: {\n fontSize: 14,\n pickable: false,\n ...labelStyle,\n fill: labelStyle?.fill ?? '#fff',\n stroke: get(labelStyle, 'stroke')\n },\n panel: {\n visible: isBoolean(labelBackground?.visible) ? labelBackground?.visible : !!labelBackground,\n pickable: false,\n fill: rectFill,\n borderRadius,\n stroke: rectStroke,\n ...rectStyle\n },\n zIndex: this.labelZIndex\n };\n\n return hair;\n }\n\n protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number) {\n axisMap &&\n axisMap.forEach((item, i) => {\n const axis = item.axis as unknown as IAxis | IPolarAxis;\n if (outOfBounds(item, relativeX, relativeY)) {\n axisMap.delete(axis.getSpecIndex());\n }\n if ((axis as IPolarAxis).type.startsWith('polarAxis')) {\n // 极坐标下需要判断是否在半径内\n const center = (axis as IPolarAxis).getCenter();\n const innerRadius = (axis as IPolarAxis).getInnerRadius();\n const outerRadius = (axis as IPolarAxis).getOuterRadius();\n const distance = PointService.distancePP({ x: relativeX, y: relativeY }, center);\n if (distance > outerRadius || distance < innerRadius) {\n axisMap.delete((axis as IPolarAxis).getSpecIndex());\n }\n }\n });\n return axisMap;\n }\n}\n"]}
@@ -27,7 +27,10 @@ class CustomMark extends base_1.BaseComponent {
27
27
  }
28
28
  _createExtensionMark(spec, parentMark, namePrefix, index) {
29
29
  var _a;
30
- const mark = this._createMark(spec.type, `${constant_1.PREFIX}_${index}`);
30
+ const mark = this._createMark({
31
+ type: spec.type,
32
+ name: `${constant_1.PREFIX}_${index}`
33
+ });
31
34
  if (mark && ((0, vutils_1.isNil)(parentMark) ? this._marks.addMark(mark) : parentMark && parentMark.addMark(mark),
32
35
  this.initMarkStyleWithSpec(mark, spec), "group" === spec.type && (namePrefix = `${namePrefix}_${index}`,
33
36
  null === (_a = spec.children) || void 0 === _a || _a.forEach(((s, i) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base';\nimport { ComponentTypeEnum } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponentOption } from '../interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { LayoutLevel, LayoutZIndex, PREFIX } from '../../constant';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec } from '../../typings';\nimport type { IGroupMark } from '../../mark/group';\nimport type { MarkTypeEnum } from '../../mark/interface';\nimport { isNil, isValid, isValidNumber } from '@visactor/vutils';\n\nexport class CustomMark extends BaseComponent {\n static type = ComponentTypeEnum.customMark;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: (ICustomMarkSpec<Exclude<EnableMarkType, MarkTypeEnum.group>> | ICustomMarkGroupSpec)[];\n\n static createComponent(spec: any, options: IComponentOption) {\n const titleSpec = spec.customMark;\n if (!titleSpec) {\n return null;\n }\n return [new CustomMark(spec.customMark, { ...options, specIndex: 0, specKey: 'CustomMark' })];\n }\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n this._spec.forEach((m, i) => {\n this._createExtensionMark(m, null, `${PREFIX}_series_${this.id}_extensionMark`, i);\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, MarkTypeEnum.group>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number\n ) {\n const mark = this._createMark(spec.type, `${PREFIX}_${index}`) as IGroupMark;\n if (!mark) {\n return;\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s, mark, namePrefix, i);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if (originalSpec.orient !== spec.orient) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base';\nimport { ComponentTypeEnum } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponentOption } from '../interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { LayoutLevel, LayoutZIndex, PREFIX } from '../../constant';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec } from '../../typings';\nimport type { IGroupMark } from '../../mark/group';\nimport type { MarkTypeEnum } from '../../mark/interface';\nimport { isNil, isValid, isValidNumber } from '@visactor/vutils';\n\nexport class CustomMark extends BaseComponent {\n static type = ComponentTypeEnum.customMark;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: (ICustomMarkSpec<Exclude<EnableMarkType, MarkTypeEnum.group>> | ICustomMarkGroupSpec)[];\n\n static createComponent(spec: any, options: IComponentOption) {\n const titleSpec = spec.customMark;\n if (!titleSpec) {\n return null;\n }\n return [new CustomMark(spec.customMark, { ...options, specIndex: 0, specKey: 'CustomMark' })];\n }\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n this._spec.forEach((m, i) => {\n this._createExtensionMark(m, null, `${PREFIX}_series_${this.id}_extensionMark`, i);\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, MarkTypeEnum.group>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number\n ) {\n const mark = this._createMark({ type: spec.type, name: `${PREFIX}_${index}` }) as IGroupMark;\n if (!mark) {\n return;\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s, mark, namePrefix, i);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if (originalSpec.orient !== spec.orient) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n}\n"]}
@@ -32,7 +32,7 @@ export declare abstract class DataFilterBaseComponent extends BaseComponent impl
32
32
  protected _width: number;
33
33
  protected _height: number;
34
34
  setStartAndEnd(start: number, end: number): void;
35
- protected abstract _getComponentAtttrs(): any;
35
+ protected abstract _getComponentAttrs(): any;
36
36
  protected abstract _createOrUpdateComponent(): void;
37
37
  protected abstract _initEvent(): void;
38
38
  protected abstract _computeWidth(): number;
@@ -66,7 +66,7 @@ export declare abstract class DataFilterBaseComponent extends BaseComponent impl
66
66
  reSize: boolean;
67
67
  reCompile: boolean;
68
68
  };
69
- reInit(): void;
69
+ reInit(theme?: any): void;
70
70
  changeRegions(): void;
71
71
  protected update(ctx: IComponentOption): void;
72
72
  protected resize(ctx: IComponentOption): void;
@@ -234,8 +234,8 @@ class DataFilterBaseComponent extends base_1.BaseComponent {
234
234
  const result = super.updateSpec(spec);
235
235
  return result.reRender = !0, result.reMake = !0, result;
236
236
  }
237
- reInit() {
238
- super.reInit(), this._marks.forEach((g => {
237
+ reInit(theme) {
238
+ super.reInit(theme), this._marks.forEach((g => {
239
239
  g.getMarks().forEach((m => {
240
240
  this.initMarkStyleWithSpec(m, this._spec[m.name]);
241
241
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/data-zoom/data-filter-base-component.ts"],"names":[],"mappings":"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","file":"data-filter-base-component.js","sourcesContent":["import type { ICartesianSeries, IPolarSeries, ISeries } from '../../series/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { eachSeries, isValid, array } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseComponent } from '../base';\nimport type { IEffect, IModelInitOption, ILayoutRect } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IComponent, IComponentOption } from '../interface';\nimport type { IGroupMark } from '../../mark/group';\nimport { dataFilterComputeDomain, dataFilterWithNewDomain } from './util';\nimport type { IOrientType, StringOrNumber } from '../../typings';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { BandScale, isContinuous } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { CartesianAxis } from '../axis/cartesian';\nimport { getDirectionByOrient, getOrient } from '../axis/cartesian/util';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { mixin, clamp, isNil } from '@visactor/vutils';\nimport type { IDataFilterComponent } from './interface';\nimport { dataViewParser, DataView } from '@visactor/vdataset';\nimport { CompilableData } from '../../compile/data';\nimport type { BaseEventParams } from '../../event/interface';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\n// eslint-disable-next-line no-duplicate-imports\nimport { Zoomable } from '../../interaction/zoom/zoomable';\n\nexport abstract class DataFilterBaseComponent extends BaseComponent implements IDataFilterComponent {\n layoutType: LayoutItem['layoutType'] = 'region-relative';\n\n protected _orient: IOrientType = 'left';\n protected _isHorizontal: boolean;\n\n get orient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._orient;\n }\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n // 数据\n protected _stateScale: IBaseScale;\n protected _relatedAxisComponent!: IComponent;\n protected _originalStateFields: Record<number, string | number>;\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId!: string[];\n protected _regionIndex!: number[];\n protected _newDomain: any[];\n\n // 起点数据\n protected _startValue!: number | string;\n // 终点数据\n protected _endValue!: number | string;\n // 开始值,百分比值,0 - 1\n protected _start!: number;\n // 结束值,百分比值,0 - 1\n protected _end!: number;\n\n protected _field: string;\n protected _stateField: string = 'x';\n protected _valueField?: string;\n\n protected _width!: number;\n protected _height!: number;\n\n /**\n * 外部可以通过此方法强制改变datazoom的start和end,达到聚焦定位的效果\n * @param start datazoom起点所在的相对位置\n * @param end datazoom终点所在的相对位置\n * @returns\n */\n setStartAndEnd(start: number, end: number) {\n this._handleChange(start, end, true);\n }\n protected abstract _getComponentAtttrs(): any;\n protected abstract _createOrUpdateComponent(): void;\n protected abstract _initEvent(): void;\n protected abstract _computeWidth(): number;\n protected abstract _computeHeight(): number;\n protected abstract _handleChange(start: number, end: number, updateComponent?: boolean): void;\n protected abstract _handleDataCollectionChange(): void;\n\n effect: IEffect = {\n onZoomChange: () => {\n if (this._relatedAxisComponent && this._spec.filterMode === 'axis') {\n const scale = (this._relatedAxisComponent as CartesianAxis).getScale();\n (scale as any).rangeFactor(this._isHorizontal ? [this._start, this._end] : [1 - this._end, 1 - this._start]);\n this._relatedAxisComponent.effect.scaleUpdate();\n } else {\n eachSeries(\n this._regions,\n s => {\n s.getViewDataFilter()?.markRunning();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n eachSeries(\n this._regions,\n s => {\n s.reFilterViewData();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n }\n };\n\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._orient = getOrient(spec);\n this._layoutOrient = this._orient;\n this._isHorizontal = getDirectionByOrient(this._layoutOrient) === Direction.horizontal;\n isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent);\n }\n\n /**\n * the hook after this component is created\n */\n created() {\n super.created();\n // related axis\n this._setAxisFromSpec();\n // related regions\n this._setRegionsFromSpec();\n // data for background\n this._initData();\n // init the state scale\n this._initStateScale();\n // set state: _start, _end, _startValue, _endValue, _newDomain from spec\n this._setStateFromSpec();\n }\n\n protected _setAxisFromSpec() {\n if (isValid(this._spec.axisId)) {\n this._relatedAxisComponent = this._option.getComponentByUserId(this._spec.axisId);\n } else if (isValid(this._spec.axisIndex)) {\n this._relatedAxisComponent = this._option.getComponentByIndex('axes', this._spec.axisIndex);\n }\n\n // 如果用户没有配置关联轴 或 用户配置的关联轴和datazoom方向不一致\n // 则 使用与datazoom的orient相同的第一个axis作为关联轴\n if (isNil(this._spec.field) && !this._relatedAxisComponent) {\n const axes = this._option.getComponentsByKey('axes');\n const sameOrientAxis = axes.find((cm: any) => (cm as any)._orient === this._orient);\n\n if (sameOrientAxis) {\n this._relatedAxisComponent = sameOrientAxis;\n } else {\n const bandAxis = axes.find((cm: any) => !isContinuous((cm as any).getScale().type));\n\n this._relatedAxisComponent = bandAxis;\n }\n }\n }\n\n protected _setRegionsFromSpec() {\n // 从axis中获取关联的regions\n this._regions = this._relatedAxisComponent ? this._relatedAxisComponent.getRegions() : this._option.getAllRegions();\n // 默认使用关联轴的系列绑定关系\n const bindSeriesFilter = this._relatedAxisComponent ? this._relatedAxisComponent.getBindSeriesFilter?.() : null;\n if (isValid(bindSeriesFilter)) {\n isValid(bindSeriesFilter.userId) && (this._seriesUserId = array(bindSeriesFilter.userId));\n isValid(bindSeriesFilter.specIndex) && (this._seriesIndex = array(bindSeriesFilter.specIndex));\n }\n // spec中的系列绑定关系 取交集\n if (isValid(this._spec.seriesId)) {\n const specSeriesId = array(this._spec.seriesId);\n if (this._seriesUserId) {\n this._seriesUserId = this._seriesUserId.filter(s => specSeriesId.includes(s));\n } else {\n this._seriesUserId = specSeriesId;\n }\n }\n if (isValid(this._spec.seriesIndex)) {\n const specSeriesIndex = array(this._spec.seriesIndex);\n if (this._seriesIndex) {\n this._seriesIndex = this._seriesIndex.filter(s => specSeriesIndex.includes(s));\n } else {\n this._seriesIndex = specSeriesIndex;\n }\n }\n if (isValid(this._spec.regionIndex)) {\n const regionsFromSpec = this._option.getRegionsInIndex(array(this._spec.regionIndex));\n // 如果用户配置了region就取 axis关联 和 用户配置 的交集\n this._regions = this._regions.filter(r => regionsFromSpec.includes(r));\n return;\n }\n if (isValid(this._spec.regionId)) {\n const ids = array(this._spec.regionId);\n // 如果用户配置了region就取 axis关联 和 用户配置 的交集\n this._regions = ids.length ? this._regions.filter(r => ids.includes(r.id)) : [];\n return;\n }\n return;\n }\n\n onDataUpdate(): void {\n const domain = this._computeDomainOfStateScale(isContinuous(this._stateScale.type));\n\n this._stateScale.domain(domain, true);\n this._handleChange(this._start, this._end, true);\n }\n\n protected _computeDomainOfStateScale(isContinuous?: boolean) {\n const domain = this._data.getLatestData().map((d: any) => d[this._stateField]);\n\n if (isContinuous) {\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : [-Infinity, Infinity];\n }\n\n return domain;\n }\n\n protected _initData() {\n const dataCollection: any[] = [];\n const stateFields: string[] = [];\n const valueFields: string[] = [];\n let hasValidateValueField = false;\n\n if (this._relatedAxisComponent) {\n const originalStateFields = {};\n eachSeries(\n this._regions,\n s => {\n // 如果副轴的类型是time或band,则无法进行数据统计\n const xAxisHelper =\n s.coordinate === 'cartesian'\n ? (s as ICartesianSeries).getXAxisHelper()\n : s.coordinate === 'polar'\n ? (s as IPolarSeries).angleAxisHelper\n : null;\n const yAxisHelper =\n s.coordinate === 'cartesian'\n ? (s as ICartesianSeries).getYAxisHelper()\n : s.coordinate === 'polar'\n ? (s as IPolarSeries).radiusAxisHelper\n : null;\n if (!xAxisHelper || !yAxisHelper) {\n return;\n }\n const stateAxisHelper =\n xAxisHelper.getAxisId() === this._relatedAxisComponent.id\n ? xAxisHelper\n : yAxisHelper.getAxisId() === this._relatedAxisComponent.id\n ? yAxisHelper\n : this._isHorizontal\n ? xAxisHelper\n : yAxisHelper;\n const valueAxisHelper = stateAxisHelper === xAxisHelper ? yAxisHelper : xAxisHelper;\n const isValidateValueAxis = isContinuous(valueAxisHelper.getScale(0).type);\n\n if (isValidateValueAxis) {\n hasValidateValueField = true;\n }\n\n dataCollection.push(s.getRawData());\n // 这里获取原始的spec中的xField和yField,而非经过stack处理后的fieldX和fieldY,原因如下:\n // 1. dataFilterComputeDomain处理时拿到的viewData中没有__CHARTSPACE_STACK_START等属性,也就是还没处理\n // 2. datazoom计算的是原始的value值,如果要根据stack后的数据来算,则需要__CHARTSPACE_STACK_END - __CHARTSPACE_STACK_START\n const seriesSpec = s.getSpec();\n const xField =\n s.coordinate === 'cartesian' ? seriesSpec.xField : seriesSpec.angleField ?? seriesSpec.categoryField;\n const yField =\n s.coordinate === 'cartesian' ? seriesSpec.yField : seriesSpec.radiusField ?? seriesSpec.valueField;\n\n originalStateFields[s.id] =\n s.type === 'link' ? 'from_xField' : stateAxisHelper === xAxisHelper ? xField : yField;\n\n stateFields.push(originalStateFields[s.id]);\n if (this._valueField) {\n const valueField = s.type === 'link' ? 'from_yField' : valueAxisHelper === xAxisHelper ? xField : yField;\n valueFields.push(isValidateValueAxis ? valueField : null);\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._originalStateFields = originalStateFields;\n } else {\n hasValidateValueField = isNil(this._spec.valueField);\n eachSeries(\n this._regions,\n s => {\n dataCollection.push(s.getRawData());\n\n stateFields.push(this._field);\n if (this._valueField) {\n valueFields.push(this._spec.valueField);\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n const { dataSet } = this._option;\n registerDataSetInstanceParser(dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceTransform(dataSet, 'dataFilterComputeDomain', dataFilterComputeDomain);\n const data = new DataView(dataSet);\n data.transform(\n {\n type: 'dataFilterComputeDomain',\n options: {\n input: {\n dataCollection: dataCollection,\n stateFields,\n valueFields\n },\n output: {\n stateField: this._stateField,\n valueField: hasValidateValueField ? this._valueField : null\n }\n }\n },\n false\n );\n\n this._data = new CompilableData(this._option, data);\n data.reRunAllTransform();\n dataSet.multipleDataViewAddListener(dataCollection, 'change', this._handleDataCollectionChange.bind(this));\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n // style相关\n this._field = this._spec.field;\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n this._visible = this._spec.visible ?? true;\n }\n\n protected _statePointToData(state: number) {\n const scale = this._stateScale;\n let range = scale.range();\n\n if (!this._isHorizontal && isContinuous(scale.type)) {\n range = range.slice().reverse();\n }\n const posInRange: number = range[0] + (range[1] - range[0]) * state;\n\n return scale.invert(posInRange);\n }\n\n protected _dataToStatePoint(data: number | string) {\n const scale = this._stateScale;\n const pos = scale.scale(data);\n let range = scale.range();\n\n if (!this._isHorizontal && isContinuous(scale.type)) {\n range = range.slice().reverse();\n }\n\n return (pos - range[0]) / (range[1] - range[0]);\n }\n\n protected _modeCheck(statePoint: string, mode: string) {\n if (statePoint === 'start') {\n return (mode === 'percent' && this._spec.start) || (mode === 'value' && this._spec.startValue);\n } else if (statePoint === 'end') {\n return (mode === 'percent' && this._spec.end) || (mode === 'value' && this._spec.endValue);\n }\n }\n\n protected _setStateFromSpec() {\n let start;\n let end;\n if (this._spec.rangeMode) {\n const [startMode, endMode] = this._spec.rangeMode;\n // 只有mode与配置相符时,才会生效\n // 比如rangeMode为['value', 'percent'],那么start为dataValue, end为[0, 1]\n if (this._modeCheck('start', startMode) && this._modeCheck('end', endMode)) {\n start = startMode === 'percent' ? this._spec.start : this._dataToStatePoint(this._spec.startValue);\n end = endMode === 'percent' ? this._spec.end : this._dataToStatePoint(this._spec.endValue);\n }\n } else {\n start = this._spec.start\n ? this._spec.start\n : this._spec.startValue\n ? this._dataToStatePoint(this._spec.startValue)\n : 0;\n end = this._spec.end ? this._spec.end : this._spec.endValue ? this._dataToStatePoint(this._spec.endValue) : 1;\n }\n this._startValue = this._statePointToData(start);\n this._endValue = this._statePointToData(end);\n this._start = start;\n this._end = end;\n\n if ((!this._relatedAxisComponent || this._spec.filterMode !== 'axis') && (this._start !== 0 || this._end !== 1)) {\n this._newDomain = this._parseDomainFromState(this._startValue, this._endValue);\n }\n }\n\n private _parseFieldOfSeries(s: ISeries) {\n return this._originalStateFields?.[s.id];\n }\n\n protected _initStateScale() {\n const defaultRange = [0, 1];\n\n if (this._relatedAxisComponent) {\n const scale = (this._relatedAxisComponent as CartesianAxis).getScale();\n const isContinuousScale = isContinuous(scale.type);\n const domain = this._computeDomainOfStateScale(isContinuousScale);\n\n this._stateScale = scale.clone();\n if (isContinuousScale) {\n this._stateScale\n .domain(domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : [0, 1], true)\n .range(defaultRange);\n } else {\n this._stateScale.domain(domain, true).range(defaultRange);\n }\n } else {\n this._stateScale = new BandScale();\n this._stateScale.domain(this._computeDomainOfStateScale(), true).range(defaultRange);\n }\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n // 添加 transform\n this._addTransformToSeries();\n // 增加datazoom 数据统计\n // 只有在轴没有被设置数据时才有用\n // this.addZoomStatistics();\n\n if (this._start !== 0 || this._end !== 1) {\n this.effect.onZoomChange();\n }\n }\n\n protected _addTransformToSeries() {\n if (!this._relatedAxisComponent || this._spec.filterMode !== 'axis') {\n registerDataSetInstanceTransform(this._option.dataSet, 'dataFilterWithNewDomain', dataFilterWithNewDomain);\n\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'dataFilterWithNewDomain',\n options: {\n getNewDomain: () => this._newDomain,\n field: () => {\n return this._field ?? this._parseFieldOfSeries(s);\n },\n isContinuous: () => isContinuous(this._stateScale.type)\n }\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n }\n\n /** LifeCycle API**/\n onRender(ctx: any): void {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n updateSpec(spec: any) {\n const result = super.updateSpec(spec);\n result.reRender = true;\n result.reMake = true;\n\n return result;\n }\n\n reInit() {\n super.reInit();\n\n this._marks.forEach(g => {\n (<IGroupMark>g).getMarks().forEach(m => {\n this.initMarkStyleWithSpec(m, this._spec[m.name]);\n });\n });\n }\n\n changeRegions() {\n // do nothing\n }\n protected update(ctx: IComponentOption) {\n // do nothing\n }\n protected resize(ctx: IComponentOption) {\n // do nothing\n }\n\n protected _parseDomainFromState(startValue: number | string, endValue: number | string) {\n if (isContinuous(this._stateScale.type)) {\n return [Math.min(endValue as number, startValue as number), Math.max(endValue as number, startValue as number)];\n }\n const allDomain = this._stateScale.domain();\n const startIndex = allDomain.indexOf(startValue);\n const endIndex = allDomain.indexOf(endValue);\n return allDomain.slice(Math.min(startIndex, endIndex), Math.max(startIndex, endIndex) + 1);\n }\n\n protected _handleStateChange = (startValue: number, endValue: number) => {\n if (startValue === this._startValue && endValue === this._endValue) {\n return false;\n }\n this._startValue = startValue;\n this._endValue = endValue;\n\n this._newDomain = this._parseDomainFromState(this._startValue, this._endValue);\n\n this.effect.onZoomChange?.();\n return true;\n };\n\n protected _handleChartScroll = (params: { scrollX: number; scrollY: number }, e: BaseEventParams['event']) => {\n this._handleChartDrag([params.scrollX, params.scrollY], e);\n };\n\n protected _handleChartZoom = (\n params: { zoomDelta: number; zoomX: number; zoomY: number },\n e: BaseEventParams['event']\n ) => {\n const { zoomDelta } = params;\n const delta = Math.abs(this._start - this._end);\n\n if (delta >= 1 && zoomDelta > 1) {\n return;\n }\n\n if (delta <= 0.01 && zoomDelta < 1) {\n return;\n }\n const value = (delta * (zoomDelta - 1)) / 2;\n const start = clamp(this._start - value, 0, 1);\n const end = clamp(this._end + value, 0, 1);\n\n this._handleChange(Math.min(start, end), Math.max(start, end), true);\n };\n\n protected _handleChartDrag = (delta: [number, number], e: BaseEventParams['event']) => {\n const [dx, dy] = delta;\n const value = this._isHorizontal ? dx : dy;\n const totalValue = this._isHorizontal ? this.getLayoutRect().width : this.getLayoutRect().height;\n\n if (Math.abs(value) >= 1e-6) {\n if (value > 0 && this._end < 1) {\n const moveDelta = Math.min(1 - this._end, value / totalValue);\n this._handleChange(this._start + moveDelta, this._end + moveDelta, true);\n } else if (value < 0 && this._start > 0) {\n const moveDelta = Math.max(-this._start, value / totalValue);\n this._handleChange(this._start + moveDelta, this._end + moveDelta, true);\n }\n }\n };\n\n protected _initCommonEvent() {\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomEventOfRegions(this._regions, null, this._handleChartZoom);\n (this as unknown as IZoomable).initScrollEventOfRegions(this._regions, null, this._handleChartScroll);\n (this as unknown as IZoomable).initDragEventOfRegions(this._regions, null, this._handleChartDrag);\n }\n }\n\n updateLayoutAttribute(): void {\n // create or update component\n if (this._visible) {\n this._createOrUpdateComponent();\n }\n this._initCommonEvent();\n this._initEvent();\n super.updateLayoutAttribute();\n }\n /**\n * bounds预计算\n * @param rect\n * @returns\n */\n boundsInRect(rect: ILayoutRect): IBoundsLike {\n const result: IBoundsLike = { x1: this.getLayoutStartPoint().x, y1: this.getLayoutStartPoint().y, x2: 0, y2: 0 };\n\n if (this._visible === false) {\n return result;\n }\n\n if (this._isHorizontal) {\n result.y2 = result.y1 + this._height;\n result.x2 = result.x1 + rect.width;\n } else {\n result.x2 = result.x1 + this._width;\n result.y2 = result.y1 + rect.height;\n }\n return result;\n }\n\n clear() {\n super.clear();\n this._stateScale = null;\n this._relatedAxisComponent = null;\n\n this._seriesIndex = null;\n this._seriesUserId = null;\n this._regionUserId = null;\n this._regionIndex = null;\n this._newDomain = null;\n\n this._startValue = null;\n this._endValue = null;\n\n this._stateField = null;\n\n this._width = null;\n this._height = null;\n }\n}\n\nmixin(DataFilterBaseComponent, Zoomable);\n"]}
1
+ {"version":3,"sources":["../src/component/data-zoom/data-filter-base-component.ts"],"names":[],"mappings":"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","file":"data-filter-base-component.js","sourcesContent":["import type { ICartesianSeries, IPolarSeries, ISeries } from '../../series/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { eachSeries, isValid, array } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseComponent } from '../base';\nimport type { IEffect, IModelInitOption, ILayoutRect } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IComponent, IComponentOption } from '../interface';\nimport type { IGroupMark } from '../../mark/group';\nimport { dataFilterComputeDomain, dataFilterWithNewDomain } from './util';\nimport type { IOrientType, StringOrNumber } from '../../typings';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { BandScale, isContinuous } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { CartesianAxis } from '../axis/cartesian';\nimport { getDirectionByOrient, getOrient } from '../axis/cartesian/util';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { mixin, clamp, isNil } from '@visactor/vutils';\nimport type { IDataFilterComponent } from './interface';\nimport { dataViewParser, DataView } from '@visactor/vdataset';\nimport { CompilableData } from '../../compile/data';\nimport type { BaseEventParams } from '../../event/interface';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\n// eslint-disable-next-line no-duplicate-imports\nimport { Zoomable } from '../../interaction/zoom/zoomable';\n\nexport abstract class DataFilterBaseComponent extends BaseComponent implements IDataFilterComponent {\n layoutType: LayoutItem['layoutType'] = 'region-relative';\n\n protected _orient: IOrientType = 'left';\n protected _isHorizontal: boolean;\n\n get orient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._orient;\n }\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n // 数据\n protected _stateScale: IBaseScale;\n protected _relatedAxisComponent!: IComponent;\n protected _originalStateFields: Record<number, string | number>;\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId!: string[];\n protected _regionIndex!: number[];\n protected _newDomain: any[];\n\n // 起点数据\n protected _startValue!: number | string;\n // 终点数据\n protected _endValue!: number | string;\n // 开始值,百分比值,0 - 1\n protected _start!: number;\n // 结束值,百分比值,0 - 1\n protected _end!: number;\n\n protected _field: string;\n protected _stateField: string = 'x';\n protected _valueField?: string;\n\n protected _width!: number;\n protected _height!: number;\n\n /**\n * 外部可以通过此方法强制改变datazoom的start和end,达到聚焦定位的效果\n * @param start datazoom起点所在的相对位置\n * @param end datazoom终点所在的相对位置\n * @returns\n */\n setStartAndEnd(start: number, end: number) {\n this._handleChange(start, end, true);\n }\n protected abstract _getComponentAttrs(): any;\n protected abstract _createOrUpdateComponent(): void;\n protected abstract _initEvent(): void;\n protected abstract _computeWidth(): number;\n protected abstract _computeHeight(): number;\n protected abstract _handleChange(start: number, end: number, updateComponent?: boolean): void;\n protected abstract _handleDataCollectionChange(): void;\n\n effect: IEffect = {\n onZoomChange: () => {\n if (this._relatedAxisComponent && this._spec.filterMode === 'axis') {\n const scale = (this._relatedAxisComponent as CartesianAxis).getScale();\n (scale as any).rangeFactor(this._isHorizontal ? [this._start, this._end] : [1 - this._end, 1 - this._start]);\n this._relatedAxisComponent.effect.scaleUpdate();\n } else {\n eachSeries(\n this._regions,\n s => {\n s.getViewDataFilter()?.markRunning();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n eachSeries(\n this._regions,\n s => {\n s.reFilterViewData();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n }\n };\n\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._orient = getOrient(spec);\n this._layoutOrient = this._orient;\n this._isHorizontal = getDirectionByOrient(this._layoutOrient) === Direction.horizontal;\n isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent);\n }\n\n /**\n * the hook after this component is created\n */\n created() {\n super.created();\n // related axis\n this._setAxisFromSpec();\n // related regions\n this._setRegionsFromSpec();\n // data for background\n this._initData();\n // init the state scale\n this._initStateScale();\n // set state: _start, _end, _startValue, _endValue, _newDomain from spec\n this._setStateFromSpec();\n }\n\n protected _setAxisFromSpec() {\n if (isValid(this._spec.axisId)) {\n this._relatedAxisComponent = this._option.getComponentByUserId(this._spec.axisId);\n } else if (isValid(this._spec.axisIndex)) {\n this._relatedAxisComponent = this._option.getComponentByIndex('axes', this._spec.axisIndex);\n }\n\n // 如果用户没有配置关联轴 或 用户配置的关联轴和datazoom方向不一致\n // 则 使用与datazoom的orient相同的第一个axis作为关联轴\n if (isNil(this._spec.field) && !this._relatedAxisComponent) {\n const axes = this._option.getComponentsByKey('axes');\n const sameOrientAxis = axes.find((cm: any) => (cm as any)._orient === this._orient);\n\n if (sameOrientAxis) {\n this._relatedAxisComponent = sameOrientAxis;\n } else {\n const bandAxis = axes.find((cm: any) => !isContinuous((cm as any).getScale().type));\n\n this._relatedAxisComponent = bandAxis;\n }\n }\n }\n\n protected _setRegionsFromSpec() {\n // 从axis中获取关联的regions\n this._regions = this._relatedAxisComponent ? this._relatedAxisComponent.getRegions() : this._option.getAllRegions();\n // 默认使用关联轴的系列绑定关系\n const bindSeriesFilter = this._relatedAxisComponent ? this._relatedAxisComponent.getBindSeriesFilter?.() : null;\n if (isValid(bindSeriesFilter)) {\n isValid(bindSeriesFilter.userId) && (this._seriesUserId = array(bindSeriesFilter.userId));\n isValid(bindSeriesFilter.specIndex) && (this._seriesIndex = array(bindSeriesFilter.specIndex));\n }\n // spec中的系列绑定关系 取交集\n if (isValid(this._spec.seriesId)) {\n const specSeriesId = array(this._spec.seriesId);\n if (this._seriesUserId) {\n this._seriesUserId = this._seriesUserId.filter(s => specSeriesId.includes(s));\n } else {\n this._seriesUserId = specSeriesId;\n }\n }\n if (isValid(this._spec.seriesIndex)) {\n const specSeriesIndex = array(this._spec.seriesIndex);\n if (this._seriesIndex) {\n this._seriesIndex = this._seriesIndex.filter(s => specSeriesIndex.includes(s));\n } else {\n this._seriesIndex = specSeriesIndex;\n }\n }\n if (isValid(this._spec.regionIndex)) {\n const regionsFromSpec = this._option.getRegionsInIndex(array(this._spec.regionIndex));\n // 如果用户配置了region就取 axis关联 和 用户配置 的交集\n this._regions = this._regions.filter(r => regionsFromSpec.includes(r));\n return;\n }\n if (isValid(this._spec.regionId)) {\n const ids = array(this._spec.regionId);\n // 如果用户配置了region就取 axis关联 和 用户配置 的交集\n this._regions = ids.length ? this._regions.filter(r => ids.includes(r.id)) : [];\n return;\n }\n return;\n }\n\n onDataUpdate(): void {\n const domain = this._computeDomainOfStateScale(isContinuous(this._stateScale.type));\n\n this._stateScale.domain(domain, true);\n this._handleChange(this._start, this._end, true);\n }\n\n protected _computeDomainOfStateScale(isContinuous?: boolean) {\n const domain = this._data.getLatestData().map((d: any) => d[this._stateField]);\n\n if (isContinuous) {\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : [-Infinity, Infinity];\n }\n\n return domain;\n }\n\n protected _initData() {\n const dataCollection: any[] = [];\n const stateFields: string[] = [];\n const valueFields: string[] = [];\n let hasValidateValueField = false;\n\n if (this._relatedAxisComponent) {\n const originalStateFields = {};\n eachSeries(\n this._regions,\n s => {\n // 如果副轴的类型是time或band,则无法进行数据统计\n const xAxisHelper =\n s.coordinate === 'cartesian'\n ? (s as ICartesianSeries).getXAxisHelper()\n : s.coordinate === 'polar'\n ? (s as IPolarSeries).angleAxisHelper\n : null;\n const yAxisHelper =\n s.coordinate === 'cartesian'\n ? (s as ICartesianSeries).getYAxisHelper()\n : s.coordinate === 'polar'\n ? (s as IPolarSeries).radiusAxisHelper\n : null;\n if (!xAxisHelper || !yAxisHelper) {\n return;\n }\n const stateAxisHelper =\n xAxisHelper.getAxisId() === this._relatedAxisComponent.id\n ? xAxisHelper\n : yAxisHelper.getAxisId() === this._relatedAxisComponent.id\n ? yAxisHelper\n : this._isHorizontal\n ? xAxisHelper\n : yAxisHelper;\n const valueAxisHelper = stateAxisHelper === xAxisHelper ? yAxisHelper : xAxisHelper;\n const isValidateValueAxis = isContinuous(valueAxisHelper.getScale(0).type);\n\n if (isValidateValueAxis) {\n hasValidateValueField = true;\n }\n\n dataCollection.push(s.getRawData());\n // 这里获取原始的spec中的xField和yField,而非经过stack处理后的fieldX和fieldY,原因如下:\n // 1. dataFilterComputeDomain处理时拿到的viewData中没有__VCHART_STACK_START等属性,也就是还没处理\n // 2. datazoom计算的是原始的value值,如果要根据stack后的数据来算,则需要__VCHART_STACK_END - __VCHART_STACK_START\n const seriesSpec = s.getSpec();\n const xField =\n s.coordinate === 'cartesian' ? seriesSpec.xField : seriesSpec.angleField ?? seriesSpec.categoryField;\n const yField =\n s.coordinate === 'cartesian' ? seriesSpec.yField : seriesSpec.radiusField ?? seriesSpec.valueField;\n\n originalStateFields[s.id] =\n s.type === 'link' ? 'from_xField' : stateAxisHelper === xAxisHelper ? xField : yField;\n\n stateFields.push(originalStateFields[s.id]);\n if (this._valueField) {\n const valueField = s.type === 'link' ? 'from_yField' : valueAxisHelper === xAxisHelper ? xField : yField;\n valueFields.push(isValidateValueAxis ? valueField : null);\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._originalStateFields = originalStateFields;\n } else {\n hasValidateValueField = isNil(this._spec.valueField);\n eachSeries(\n this._regions,\n s => {\n dataCollection.push(s.getRawData());\n\n stateFields.push(this._field);\n if (this._valueField) {\n valueFields.push(this._spec.valueField);\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n const { dataSet } = this._option;\n registerDataSetInstanceParser(dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceTransform(dataSet, 'dataFilterComputeDomain', dataFilterComputeDomain);\n const data = new DataView(dataSet);\n data.transform(\n {\n type: 'dataFilterComputeDomain',\n options: {\n input: {\n dataCollection: dataCollection,\n stateFields,\n valueFields\n },\n output: {\n stateField: this._stateField,\n valueField: hasValidateValueField ? this._valueField : null\n }\n }\n },\n false\n );\n\n this._data = new CompilableData(this._option, data);\n data.reRunAllTransform();\n dataSet.multipleDataViewAddListener(dataCollection, 'change', this._handleDataCollectionChange.bind(this));\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n // style相关\n this._field = this._spec.field;\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n this._visible = this._spec.visible ?? true;\n }\n\n protected _statePointToData(state: number) {\n const scale = this._stateScale;\n let range = scale.range();\n\n if (!this._isHorizontal && isContinuous(scale.type)) {\n range = range.slice().reverse();\n }\n const posInRange: number = range[0] + (range[1] - range[0]) * state;\n\n return scale.invert(posInRange);\n }\n\n protected _dataToStatePoint(data: number | string) {\n const scale = this._stateScale;\n const pos = scale.scale(data);\n let range = scale.range();\n\n if (!this._isHorizontal && isContinuous(scale.type)) {\n range = range.slice().reverse();\n }\n\n return (pos - range[0]) / (range[1] - range[0]);\n }\n\n protected _modeCheck(statePoint: string, mode: string) {\n if (statePoint === 'start') {\n return (mode === 'percent' && this._spec.start) || (mode === 'value' && this._spec.startValue);\n } else if (statePoint === 'end') {\n return (mode === 'percent' && this._spec.end) || (mode === 'value' && this._spec.endValue);\n }\n }\n\n protected _setStateFromSpec() {\n let start;\n let end;\n if (this._spec.rangeMode) {\n const [startMode, endMode] = this._spec.rangeMode;\n // 只有mode与配置相符时,才会生效\n // 比如rangeMode为['value', 'percent'],那么start为dataValue, end为[0, 1]\n if (this._modeCheck('start', startMode) && this._modeCheck('end', endMode)) {\n start = startMode === 'percent' ? this._spec.start : this._dataToStatePoint(this._spec.startValue);\n end = endMode === 'percent' ? this._spec.end : this._dataToStatePoint(this._spec.endValue);\n }\n } else {\n start = this._spec.start\n ? this._spec.start\n : this._spec.startValue\n ? this._dataToStatePoint(this._spec.startValue)\n : 0;\n end = this._spec.end ? this._spec.end : this._spec.endValue ? this._dataToStatePoint(this._spec.endValue) : 1;\n }\n this._startValue = this._statePointToData(start);\n this._endValue = this._statePointToData(end);\n this._start = start;\n this._end = end;\n\n if ((!this._relatedAxisComponent || this._spec.filterMode !== 'axis') && (this._start !== 0 || this._end !== 1)) {\n this._newDomain = this._parseDomainFromState(this._startValue, this._endValue);\n }\n }\n\n private _parseFieldOfSeries(s: ISeries) {\n return this._originalStateFields?.[s.id];\n }\n\n protected _initStateScale() {\n const defaultRange = [0, 1];\n\n if (this._relatedAxisComponent) {\n const scale = (this._relatedAxisComponent as CartesianAxis).getScale();\n const isContinuousScale = isContinuous(scale.type);\n const domain = this._computeDomainOfStateScale(isContinuousScale);\n\n this._stateScale = scale.clone();\n if (isContinuousScale) {\n this._stateScale\n .domain(domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : [0, 1], true)\n .range(defaultRange);\n } else {\n this._stateScale.domain(domain, true).range(defaultRange);\n }\n } else {\n this._stateScale = new BandScale();\n this._stateScale.domain(this._computeDomainOfStateScale(), true).range(defaultRange);\n }\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n // 添加 transform\n this._addTransformToSeries();\n // 增加datazoom 数据统计\n // 只有在轴没有被设置数据时才有用\n // this.addZoomStatistics();\n\n if (this._start !== 0 || this._end !== 1) {\n this.effect.onZoomChange();\n }\n }\n\n protected _addTransformToSeries() {\n if (!this._relatedAxisComponent || this._spec.filterMode !== 'axis') {\n registerDataSetInstanceTransform(this._option.dataSet, 'dataFilterWithNewDomain', dataFilterWithNewDomain);\n\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'dataFilterWithNewDomain',\n options: {\n getNewDomain: () => this._newDomain,\n field: () => {\n return this._field ?? this._parseFieldOfSeries(s);\n },\n isContinuous: () => isContinuous(this._stateScale.type)\n }\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n }\n\n /** LifeCycle API**/\n onRender(ctx: any): void {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n updateSpec(spec: any) {\n const result = super.updateSpec(spec);\n result.reRender = true;\n result.reMake = true;\n\n return result;\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n\n this._marks.forEach(g => {\n (<IGroupMark>g).getMarks().forEach(m => {\n this.initMarkStyleWithSpec(m, this._spec[m.name]);\n });\n });\n }\n\n changeRegions() {\n // do nothing\n }\n protected update(ctx: IComponentOption) {\n // do nothing\n }\n protected resize(ctx: IComponentOption) {\n // do nothing\n }\n\n protected _parseDomainFromState(startValue: number | string, endValue: number | string) {\n if (isContinuous(this._stateScale.type)) {\n return [Math.min(endValue as number, startValue as number), Math.max(endValue as number, startValue as number)];\n }\n const allDomain = this._stateScale.domain();\n const startIndex = allDomain.indexOf(startValue);\n const endIndex = allDomain.indexOf(endValue);\n return allDomain.slice(Math.min(startIndex, endIndex), Math.max(startIndex, endIndex) + 1);\n }\n\n protected _handleStateChange = (startValue: number, endValue: number) => {\n if (startValue === this._startValue && endValue === this._endValue) {\n return false;\n }\n this._startValue = startValue;\n this._endValue = endValue;\n\n this._newDomain = this._parseDomainFromState(this._startValue, this._endValue);\n\n this.effect.onZoomChange?.();\n return true;\n };\n\n protected _handleChartScroll = (params: { scrollX: number; scrollY: number }, e: BaseEventParams['event']) => {\n this._handleChartDrag([params.scrollX, params.scrollY], e);\n };\n\n protected _handleChartZoom = (\n params: { zoomDelta: number; zoomX: number; zoomY: number },\n e: BaseEventParams['event']\n ) => {\n const { zoomDelta } = params;\n const delta = Math.abs(this._start - this._end);\n\n if (delta >= 1 && zoomDelta > 1) {\n return;\n }\n\n if (delta <= 0.01 && zoomDelta < 1) {\n return;\n }\n const value = (delta * (zoomDelta - 1)) / 2;\n const start = clamp(this._start - value, 0, 1);\n const end = clamp(this._end + value, 0, 1);\n\n this._handleChange(Math.min(start, end), Math.max(start, end), true);\n };\n\n protected _handleChartDrag = (delta: [number, number], e: BaseEventParams['event']) => {\n const [dx, dy] = delta;\n const value = this._isHorizontal ? dx : dy;\n const totalValue = this._isHorizontal ? this.getLayoutRect().width : this.getLayoutRect().height;\n\n if (Math.abs(value) >= 1e-6) {\n if (value > 0 && this._end < 1) {\n const moveDelta = Math.min(1 - this._end, value / totalValue);\n this._handleChange(this._start + moveDelta, this._end + moveDelta, true);\n } else if (value < 0 && this._start > 0) {\n const moveDelta = Math.max(-this._start, value / totalValue);\n this._handleChange(this._start + moveDelta, this._end + moveDelta, true);\n }\n }\n };\n\n protected _initCommonEvent() {\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomEventOfRegions(this._regions, null, this._handleChartZoom);\n (this as unknown as IZoomable).initScrollEventOfRegions(this._regions, null, this._handleChartScroll);\n (this as unknown as IZoomable).initDragEventOfRegions(this._regions, null, this._handleChartDrag);\n }\n }\n\n updateLayoutAttribute(): void {\n // create or update component\n if (this._visible) {\n this._createOrUpdateComponent();\n }\n this._initCommonEvent();\n this._initEvent();\n super.updateLayoutAttribute();\n }\n /**\n * bounds预计算\n * @param rect\n * @returns\n */\n boundsInRect(rect: ILayoutRect): IBoundsLike {\n const result: IBoundsLike = { x1: this.getLayoutStartPoint().x, y1: this.getLayoutStartPoint().y, x2: 0, y2: 0 };\n\n if (this._visible === false) {\n return result;\n }\n\n if (this._isHorizontal) {\n result.y2 = result.y1 + this._height;\n result.x2 = result.x1 + rect.width;\n } else {\n result.x2 = result.x1 + this._width;\n result.y2 = result.y1 + rect.height;\n }\n return result;\n }\n\n clear() {\n super.clear();\n this._stateScale = null;\n this._relatedAxisComponent = null;\n\n this._seriesIndex = null;\n this._seriesUserId = null;\n this._regionUserId = null;\n this._regionIndex = null;\n this._newDomain = null;\n\n this._startValue = null;\n this._endValue = null;\n\n this._stateField = null;\n\n this._width = null;\n this._height = null;\n }\n}\n\nmixin(DataFilterBaseComponent, Zoomable);\n"]}
@@ -34,7 +34,7 @@ export declare class DataZoom extends DataFilterBaseComponent {
34
34
  protected _handleChange(start: number, end: number, updateComponent?: boolean): void;
35
35
  protected _handleDataCollectionChange(): void;
36
36
  protected _initEvent(): void;
37
- protected _getComponentAtttrs(): {
37
+ protected _getComponentAttrs(): {
38
38
  backgroundStyle: IRectGraphicAttribute;
39
39
  startHandlerStyle: ISymbolGraphicAttribute;
40
40
  middleHandlerStyle: {
@@ -111,9 +111,8 @@ class DataZoom extends data_filter_base_component_1.DataFilterBaseComponent {
111
111
  previewData: this._data.getLatestData(),
112
112
  previewCallbackX: this._dataToPositionX,
113
113
  previewCallbackY: this._dataToPositionY
114
- }, this._getComponentAtttrs())), this._isHorizontal ? this._component.setPreviewCallbackY1(this._dataToPositionY2) : this._component.setPreviewCallbackX1(this._dataToPositionX2),
115
- this._component.name = `dataZoom-${this._orient}`, this._component.setStatePointToData((state => this._statePointToData(state))),
116
- this._component.setUpdateStateCallback(((start, end) => {
114
+ }, this._getComponentAttrs())), this._isHorizontal ? this._component.setPreviewCallbackY1(this._dataToPositionY2) : this._component.setPreviewCallbackX1(this._dataToPositionX2),
115
+ this._component.setStatePointToData((state => this._statePointToData(state))), this._component.setUpdateStateCallback(((start, end) => {
117
116
  this._handleChange(start, end);
118
117
  })), container.add(this._component), this._updateScaleRange();
119
118
  }
@@ -143,7 +142,7 @@ class DataZoom extends data_filter_base_component_1.DataFilterBaseComponent {
143
142
  }
144
143
  }
145
144
  _initEvent() {}
146
- _getComponentAtttrs() {
145
+ _getComponentAttrs() {
147
146
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
148
147
  return {
149
148
  backgroundStyle: (0, style_1.transformToGraphic)(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.style),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { isArray, isNil, isNumber, merge } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { Datum } from '../../../typings';\nimport type { ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\n\nexport class DataZoom extends DataFilterBaseComponent {\n static type = ComponentTypeEnum.dataZoom;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.dataZoom || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new DataZoom(compSpec, { ...options, specKey: 'dataZoom' });\n }\n const zooms: DataZoom[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new DataZoom(s, { ...options, specIndex: i, specKey: 'dataZoom' }));\n });\n return zooms;\n }\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n\n this._valueField = 'y';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (this._originalSpec.startHandler?.style?.size ?? true) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (this._originalSpec.endHandler?.style?.size ?? true) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n super.onLayoutEnd(ctx);\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n if (this._isHorizontal) {\n this._stateScale.range([0, this._computeWidth()]);\n this._valueScale.range([this._computeHeight() - this._middleHandlerSize, 0]);\n } else if (this.layoutOrient === 'left') {\n this._stateScale.range([0, this._computeHeight()]);\n this._valueScale.range([this._computeWidth() - this._middleHandlerSize, 0]);\n } else {\n this._stateScale.range([0, this._computeHeight()]);\n this._valueScale.range([0, this._computeWidth() - this._middleHandlerSize]);\n }\n\n if (this._component) {\n this._component.setAttributes({\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n\n return xScale.scale(datum[this._stateField]) + this.getLayoutStartPoint().x + offsetLeft;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n\n return yScale.scale(datum[this._valueField]) + this.getLayoutStartPoint().y + offsetTop;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop;\n };\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new DataZoomComponent({\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n },\n showDetail: this._spec?.showDetail,\n brushSelect: this._spec?.brushSelect ?? true,\n previewData: this._data.getLatestData(),\n previewCallbackX: this._dataToPositionX,\n previewCallbackY: this._dataToPositionY,\n ...(this._getComponentAtttrs() as any)\n });\n\n if (this._isHorizontal) {\n this._component.setPreviewCallbackY1(this._dataToPositionY2);\n } else {\n this._component.setPreviewCallbackX1(this._dataToPositionX2);\n }\n this._component.name = `dataZoom-${this._orient}`;\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n this._component.setUpdateStateCallback((start: number, end: number) => {\n this._handleChange(start, end);\n });\n\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._spec.filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _initEvent() {\n // do nothing\n }\n\n protected _getComponentAtttrs() {\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: {\n visible: this._spec.middleHandler?.visible ?? false,\n icon: transformToGraphic(this._spec.middleHandler?.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: this._spec.middleHandler?.background?.size,\n style: transformToGraphic(this._spec.middleHandler.background?.style)\n } as any\n },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: this._spec.startText?.padding,\n formatMethod: this._spec.startText?.formatMethod,\n textStyle: transformToGraphic(this._spec.startText?.style)\n } as unknown,\n endTextStyle: {\n padding: this._spec.endText?.padding,\n formatMethod: this._spec.endText?.formatMethod,\n textStyle: transformToGraphic(this._spec.endText?.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.backgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.backgroundChart?.area?.style)\n }\n },\n selectedBackgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.selectedBackgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.selectedBackgroundChart?.area?.style)\n }\n }\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":";;;AAAA,6CAAmE;AAGnE,+CAAoD;AACpD,8EAAwE;AAExE,qEAA6E;AAC7E,+CAAyD;AAKzD,6CAA+C;AAC/C,gDAA0E;AAE1E,MAAa,QAAS,SAAQ,oDAAuB;IAgBnD,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;QACtD,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC,EAAE;YACnB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE;YACtB,OAAO,IAAI,QAAQ,CAAC,QAAQ,kCAAO,OAAO,KAAE,OAAO,EAAE,UAAU,IAAG,CAAC;SACpE;QACD,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,kCAAO,OAAO,KAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,IAAG,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,IAAS,EAAE,OAAyB;QAC9C,KAAK,CAAC,IAAI,oBACL,OAAO,EACV,CAAC;QAhCL,SAAI,GAAG,6BAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,6BAAiB,CAAC,QAAQ,CAAC;QAE1C,iBAAY,GAAW,uBAAY,CAAC,QAAQ,CAAC;QAC7C,gBAAW,GAAW,sBAAW,CAAC,QAAQ,CAAC;QA2IjC,qBAAgB,GAAG,CAAC,KAAY,EAAU,EAAE;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAExE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;QAC3F,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,KAAY,EAAU,EAAE;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;QACvE,CAAC,CAAC;QAEQ,qBAAgB,GAAG,CAAC,KAAY,EAAU,EAAE;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAExE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;QAC1F,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,KAAY,EAAU,EAAE;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;QACtE,CAAC,CAAC;QAvIA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAGxB,IAAI,CAAC,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,IAAI,mCAAI,EAAE,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAErC,IAAI,MAAA,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,YAAY,0CAAE,KAAK,0CAAE,IAAI,mCAAI,IAAI,EAAE;YACxD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa;gBACrD,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB;gBACxC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC3C;QACD,IAAI,MAAA,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,UAAU,0CAAE,KAAK,0CAAE,IAAI,mCAAI,IAAI,EAAE;YACtD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa;gBACnD,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB;gBACxC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC3C;IACH,CAAC;IAGD,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAES,eAAe;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAEjD,IAAI,MAAM,EAAE;YACV,MAAM,UAAU,GAAG,IAAI,oBAAW,EAAE,CAAC;YACrC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;SAC/B;IACH,CAAC;IAES,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC1C,OAAO;SACR;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9E;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7E;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC7E;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC5B,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;oBAC3B,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;iBAC9B;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAES,0BAA0B;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,CAAC;IAES,yBAAyB;;QACjC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,0CAAE,OAAO,EAAE;YACtC,MAAM,qBAAqB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,CAAC,CAAC;YAC5E,MAAM,qBAAqB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,mCAAI,EAAE,CAAC;YAC7E,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,qBAA+B,EAAE,qBAAqB,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,aAAa;QACrB,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SACzB;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;SACnC;QAED,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACxD,CAAC;IAES,cAAc;QACtB,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAC1B;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACvD;QACD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC;IA8BS,wBAAwB;;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,6BAAiB,iBACrC,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,QAAQ,EAAE;oBACR,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBAC/B,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBAChC,EACD,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;oBACjC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;iBACpC,EACD,UAAU,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,EAClC,WAAW,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,mCAAI,IAAI,EAC5C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IACnC,IAAI,CAAC,kBAAkB,EAAU,EACrC,CAAC;YAEH,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAC9D;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;gBACpE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAA8B,CAAC,CAAC;YAEnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAES,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,eAAyB;QAC3E,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAC5C;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtG,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,cAAc,EAAE;gBACzC,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM;oBAC5C,KAAK;oBACL,GAAG;oBACH,UAAU,EAAE,IAAI,CAAC,WAAW;oBAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,SAAS,EAAE,IAAI,CAAC,UAAU;iBAC3B;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAES,2BAA2B;;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAA,IAAI,CAAC,UAAU,0CAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAEjD,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IAES,UAAU;IAEpB,CAAC;IAES,kBAAkB;;QAC1B,OAAO;YACL,eAAe,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,KAAK,CAAqC;YACrG,iBAAiB,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,KAAK,CAAuC;YAC3G,kBAAkB,EAAE;gBAClB,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,OAAO,mCAAI,KAAK;gBACnD,IAAI,EAAE,IAAA,0BAAkB,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,IAAI,0CAAE,KAAK,CAAuC;gBACrG,UAAU,EAAE;oBACV,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,UAAU,0CAAE,IAAI;oBAChD,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,0CAAE,KAAK,CAAC;iBAC/D;aACT;YACD,eAAe,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,KAAK,CAAuC;YACvG,cAAc,EAAE;gBACd,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO;gBACtC,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,YAAY;gBAChD,SAAS,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,KAAK,CAAC;aAChD;YACZ,YAAY,EAAE;gBACZ,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,OAAO;gBACpC,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,YAAY;gBAC9C,SAAS,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,KAAK,CAAC;aAC9C;YACZ,uBAAuB,EAAE,IAAA,0BAAkB,EACzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CACA;YACrC,aAAa,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,KAAK,CAAqC;YACjG,oBAAoB,EAAE;gBACpB,IAAI,EAAE,IAAA,cAAK,EAAC,IAAA,0BAAkB,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,0CAAE,IAAI,0CAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzF,IAAI,kBACF,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,IAAI,IACV,IAAA,0BAAkB,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,0CAAE,IAAI,0CAAE,KAAK,CAAC,CAC/D;aACF;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,IAAA,cAAK,EAAC,IAAA,0BAAkB,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,uBAAuB,0CAAE,IAAI,0CAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACjG,IAAI,kBACF,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,IAAI,IACV,IAAA,0BAAkB,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,uBAAuB,0CAAE,IAAI,0CAAE,KAAK,CAAC,CACvE;aACF;SACF,CAAC;IACJ,CAAC;;AA1SH,4BA2SC;AA1SQ,aAAI,GAAG,6BAAiB,CAAC,QAAQ,CAAC","file":"data-zoom.js","sourcesContent":["import { isArray, isNil, isNumber, merge } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { Datum } from '../../../typings';\nimport type { ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\n\nexport class DataZoom extends DataFilterBaseComponent {\n static type = ComponentTypeEnum.dataZoom;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.dataZoom || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new DataZoom(compSpec, { ...options, specKey: 'dataZoom' });\n }\n const zooms: DataZoom[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new DataZoom(s, { ...options, specIndex: i, specKey: 'dataZoom' }));\n });\n return zooms;\n }\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n\n this._valueField = 'y';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (this._originalSpec.startHandler?.style?.size ?? true) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (this._originalSpec.endHandler?.style?.size ?? true) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n super.onLayoutEnd(ctx);\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n if (this._isHorizontal) {\n this._stateScale.range([0, this._computeWidth()]);\n this._valueScale.range([this._computeHeight() - this._middleHandlerSize, 0]);\n } else if (this.layoutOrient === 'left') {\n this._stateScale.range([0, this._computeHeight()]);\n this._valueScale.range([this._computeWidth() - this._middleHandlerSize, 0]);\n } else {\n this._stateScale.range([0, this._computeHeight()]);\n this._valueScale.range([0, this._computeWidth() - this._middleHandlerSize]);\n }\n\n if (this._component) {\n this._component.setAttributes({\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n\n return xScale.scale(datum[this._stateField]) + this.getLayoutStartPoint().x + offsetLeft;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n\n return yScale.scale(datum[this._valueField]) + this.getLayoutStartPoint().y + offsetTop;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop;\n };\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new DataZoomComponent({\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n },\n showDetail: this._spec?.showDetail,\n brushSelect: this._spec?.brushSelect ?? true,\n previewData: this._data.getLatestData(),\n previewCallbackX: this._dataToPositionX,\n previewCallbackY: this._dataToPositionY,\n ...(this._getComponentAttrs() as any)\n });\n\n if (this._isHorizontal) {\n this._component.setPreviewCallbackY1(this._dataToPositionY2);\n } else {\n this._component.setPreviewCallbackX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n this._component.setUpdateStateCallback((start: number, end: number) => {\n this._handleChange(start, end);\n });\n\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._spec.filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _initEvent() {\n // do nothing\n }\n\n protected _getComponentAttrs() {\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: {\n visible: this._spec.middleHandler?.visible ?? false,\n icon: transformToGraphic(this._spec.middleHandler?.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: this._spec.middleHandler?.background?.size,\n style: transformToGraphic(this._spec.middleHandler.background?.style)\n } as any\n },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: this._spec.startText?.padding,\n formatMethod: this._spec.startText?.formatMethod,\n textStyle: transformToGraphic(this._spec.startText?.style)\n } as unknown,\n endTextStyle: {\n padding: this._spec.endText?.padding,\n formatMethod: this._spec.endText?.formatMethod,\n textStyle: transformToGraphic(this._spec.endText?.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.backgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.backgroundChart?.area?.style)\n }\n },\n selectedBackgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.selectedBackgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.selectedBackgroundChart?.area?.style)\n }\n }\n };\n }\n}\n"]}
@@ -19,5 +19,5 @@ export declare class ScrollBar extends DataFilterBaseComponent {
19
19
  protected _handleChange(start: number, end: number, updateComponent?: boolean): void;
20
20
  protected _handleDataCollectionChange(): void;
21
21
  protected _initEvent(): void;
22
- protected _getComponentAtttrs(): Partial<ScrollBarAttributes>;
22
+ protected _getComponentAttrs(): Partial<ScrollBarAttributes>;
23
23
  }
@@ -53,7 +53,7 @@ class ScrollBar extends data_filter_base_component_1.DataFilterBaseComponent {
53
53
  height: this.getLayoutRect().height,
54
54
  range: [ this._start, this._end ],
55
55
  direction: this._isHorizontal ? "horizontal" : "vertical"
56
- }, this._getComponentAtttrs())), container.add(this._component);
56
+ }, this._getComponentAttrs())), container.add(this._component);
57
57
  }
58
58
  }
59
59
  _handleChange(start, end, updateComponent) {
@@ -78,7 +78,7 @@ class ScrollBar extends data_filter_base_component_1.DataFilterBaseComponent {
78
78
  this._handleChange(value[0], value[1]);
79
79
  }));
80
80
  }
81
- _getComponentAtttrs() {
81
+ _getComponentAttrs() {
82
82
  const {rail: rail, slider: slider, innerPadding: innerPadding} = this._spec, attrs = {};
83
83
  return (0, vutils_1.isNil)(innerPadding) || (attrs.padding = innerPadding), (0,
84
84
  vutils_1.isEmpty)(null == rail ? void 0 : rail.style) || (attrs.railStyle = (0,