@visactor/vchart 1.10.0-alpha.1 → 1.10.0-alpha.5

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 (1068) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +51324 -49290
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +5 -5
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/bar/bar-transformer.d.ts +1 -0
  8. package/cjs/chart/bar/bar-transformer.js +19 -2
  9. package/cjs/chart/bar/bar-transformer.js.map +1 -1
  10. package/cjs/chart/bar/interface.d.ts +3 -0
  11. package/cjs/chart/bar/interface.js.map +1 -1
  12. package/cjs/chart/base/base-chart-transformer.js +10 -12
  13. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  14. package/cjs/chart/base/base-chart.d.ts +2 -2
  15. package/cjs/chart/base/base-chart.js +4 -2
  16. package/cjs/chart/base/base-chart.js.map +1 -1
  17. package/cjs/chart/base/util.d.ts +1 -1
  18. package/cjs/chart/base/util.js +20 -10
  19. package/cjs/chart/base/util.js.map +1 -1
  20. package/cjs/chart/cartesian/cartesian-transformer.d.ts +1 -0
  21. package/cjs/chart/cartesian/cartesian-transformer.js +10 -7
  22. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  23. package/cjs/chart/interface/chart.d.ts +1 -1
  24. package/cjs/chart/interface/chart.js.map +1 -1
  25. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  26. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -0
  27. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  28. package/cjs/compile/compiler.d.ts +1 -1
  29. package/cjs/compile/compiler.js +8 -4
  30. package/cjs/compile/compiler.js.map +1 -1
  31. package/cjs/compile/mark/compilable-mark.d.ts +4 -1
  32. package/cjs/compile/mark/compilable-mark.js +9 -1
  33. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  34. package/cjs/compile/mark/interface.d.ts +4 -1
  35. package/cjs/compile/mark/interface.js.map +1 -1
  36. package/cjs/component/axis/base-axis.d.ts +10 -59
  37. package/cjs/component/axis/base-axis.js +112 -88
  38. package/cjs/component/axis/base-axis.js.map +1 -1
  39. package/cjs/component/axis/cartesian/axis.d.ts +1 -5
  40. package/cjs/component/axis/cartesian/axis.js +9 -31
  41. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  42. package/cjs/component/axis/cartesian/band-axis.d.ts +5 -0
  43. package/cjs/component/axis/cartesian/band-axis.js +27 -5
  44. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  45. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -0
  46. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  47. package/cjs/component/axis/cartesian/log-axis.js +2 -1
  48. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  49. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -1
  50. package/cjs/component/axis/cartesian/time-axis.js +3 -3
  51. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  52. package/cjs/component/axis/cartesian/util/index.d.ts +0 -1
  53. package/cjs/component/axis/cartesian/util/index.js +1 -1
  54. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  55. package/cjs/component/axis/interface/common.d.ts +2 -1
  56. package/cjs/component/axis/interface/common.js.map +1 -1
  57. package/cjs/component/axis/interface/spec.d.ts +7 -6
  58. package/cjs/component/axis/interface/spec.js.map +1 -1
  59. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  60. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  61. package/cjs/component/axis/polar/axis.d.ts +1 -5
  62. package/cjs/component/axis/polar/axis.js +5 -23
  63. package/cjs/component/axis/polar/axis.js.map +1 -1
  64. package/cjs/component/base/base-component.d.ts +1 -1
  65. package/cjs/component/base/base-component.js +2 -2
  66. package/cjs/component/base/base-component.js.map +1 -1
  67. package/cjs/component/base/util.d.ts +5 -0
  68. package/cjs/component/base/util.js +24 -16
  69. package/cjs/component/base/util.js.map +1 -1
  70. package/cjs/component/brush/brush.d.ts +0 -3
  71. package/cjs/component/brush/brush.js +5 -33
  72. package/cjs/component/brush/brush.js.map +1 -1
  73. package/cjs/component/brush/interface.d.ts +0 -3
  74. package/cjs/component/brush/interface.js.map +1 -1
  75. package/cjs/component/crosshair/base.d.ts +4 -1
  76. package/cjs/component/crosshair/base.js +1 -10
  77. package/cjs/component/crosshair/base.js.map +1 -1
  78. package/cjs/component/crosshair/cartesian.d.ts +1 -7
  79. package/cjs/component/crosshair/cartesian.js +17 -208
  80. package/cjs/component/crosshair/cartesian.js.map +1 -1
  81. package/cjs/component/crosshair/config.js.map +1 -1
  82. package/cjs/component/crosshair/interface/cartesian.d.ts +46 -0
  83. package/cjs/component/crosshair/interface/cartesian.js +6 -0
  84. package/cjs/component/crosshair/interface/cartesian.js.map +1 -0
  85. package/cjs/component/crosshair/interface/common.d.ts +7 -0
  86. package/cjs/component/crosshair/interface/common.js +6 -0
  87. package/cjs/component/crosshair/interface/common.js.map +1 -0
  88. package/cjs/component/crosshair/interface/index.d.ts +3 -0
  89. package/cjs/component/crosshair/interface/index.js +3 -1
  90. package/cjs/component/crosshair/interface/index.js.map +1 -1
  91. package/cjs/component/crosshair/interface/polar.d.ts +23 -0
  92. package/cjs/component/crosshair/interface/polar.js +6 -0
  93. package/cjs/component/crosshair/interface/polar.js.map +1 -0
  94. package/cjs/component/crosshair/interface/spec.d.ts +1 -0
  95. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  96. package/cjs/component/crosshair/polar.d.ts +2 -2
  97. package/cjs/component/crosshair/polar.js +17 -114
  98. package/cjs/component/crosshair/polar.js.map +1 -1
  99. package/cjs/component/crosshair/utils/cartesian.d.ts +32 -0
  100. package/cjs/component/crosshair/utils/cartesian.js +238 -0
  101. package/cjs/component/crosshair/utils/cartesian.js.map +1 -0
  102. package/{esm/component/crosshair/util.d.ts → cjs/component/crosshair/utils/common.d.ts} +3 -3
  103. package/cjs/component/crosshair/{util.js → utils/common.js} +2 -2
  104. package/cjs/component/crosshair/utils/common.js.map +1 -0
  105. package/cjs/component/crosshair/utils/index.d.ts +1 -0
  106. package/cjs/component/crosshair/utils/index.js +21 -0
  107. package/cjs/component/crosshair/utils/index.js.map +1 -0
  108. package/cjs/component/crosshair/utils/polar.d.ts +37 -0
  109. package/cjs/component/crosshair/utils/polar.js +133 -0
  110. package/cjs/component/crosshair/utils/polar.js.map +1 -0
  111. package/cjs/component/custom-mark/custom-mark.d.ts +1 -2
  112. package/cjs/component/custom-mark/custom-mark.js +2 -1
  113. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  114. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -6
  115. package/cjs/component/data-zoom/data-filter-base-component.js +11 -21
  116. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  117. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  118. package/cjs/component/data-zoom/data-zoom/data-zoom.js +15 -9
  119. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  120. package/cjs/component/data-zoom/data-zoom/interface.d.ts +4 -7
  121. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  122. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  123. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  124. package/cjs/component/data-zoom/util.d.ts +0 -4
  125. package/cjs/component/data-zoom/util.js +3 -15
  126. package/cjs/component/data-zoom/util.js.map +1 -1
  127. package/cjs/component/index.d.ts +1 -0
  128. package/cjs/component/index.js +16 -1
  129. package/cjs/component/index.js.map +1 -1
  130. package/cjs/component/indicator/indicator.js.map +1 -1
  131. package/cjs/component/indicator/interface.d.ts +5 -5
  132. package/cjs/component/indicator/interface.js.map +1 -1
  133. package/cjs/component/interface/theme.d.ts +8 -0
  134. package/cjs/component/interface/theme.js.map +1 -1
  135. package/cjs/component/label/base-label.d.ts +4 -4
  136. package/cjs/component/label/interface.d.ts +9 -10
  137. package/cjs/component/label/interface.js.map +1 -1
  138. package/cjs/component/label/label.js +1 -1
  139. package/cjs/component/label/label.js.map +1 -1
  140. package/cjs/component/label/total-label.js +14 -1
  141. package/cjs/component/label/total-label.js.map +1 -1
  142. package/cjs/component/label/util.d.ts +1 -1
  143. package/cjs/component/label/util.js +5 -12
  144. package/cjs/component/label/util.js.map +1 -1
  145. package/cjs/component/legend/continuous/interface.d.ts +6 -12
  146. package/cjs/component/legend/continuous/interface.js.map +1 -1
  147. package/cjs/component/legend/discrete/interface.d.ts +20 -6
  148. package/cjs/component/legend/discrete/interface.js.map +1 -1
  149. package/cjs/component/legend/discrete/legend.d.ts +1 -0
  150. package/cjs/component/legend/discrete/legend.js +11 -2
  151. package/cjs/component/legend/discrete/legend.js.map +1 -1
  152. package/cjs/component/legend/discrete/util.js +6 -4
  153. package/cjs/component/legend/discrete/util.js.map +1 -1
  154. package/cjs/component/legend/util.d.ts +2 -3
  155. package/cjs/component/legend/util.js +2 -6
  156. package/cjs/component/legend/util.js.map +1 -1
  157. package/cjs/component/marker/interface.d.ts +6 -6
  158. package/cjs/component/marker/interface.js.map +1 -1
  159. package/cjs/component/marker/mark-area/interface/theme.d.ts +1 -1
  160. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  161. package/cjs/component/marker/mark-area/mark-area.js +1 -1
  162. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  163. package/cjs/component/marker/mark-line/interface/theme.d.ts +1 -1
  164. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  165. package/cjs/component/marker/mark-line/mark-line.js +1 -1
  166. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  167. package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
  168. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  169. package/cjs/component/marker/mark-point/mark-point.js +5 -2
  170. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  171. package/cjs/component/player/interface/theme.d.ts +1 -1
  172. package/cjs/component/player/interface/theme.js.map +1 -1
  173. package/cjs/component/player/utils/transform.js.map +1 -1
  174. package/cjs/component/poptip/interface.d.ts +5 -2
  175. package/cjs/component/poptip/interface.js.map +1 -1
  176. package/cjs/component/title/interface/spec.d.ts +18 -7
  177. package/cjs/component/title/interface/spec.js.map +1 -1
  178. package/cjs/component/title/interface/theme.d.ts +2 -1
  179. package/cjs/component/title/interface/theme.js.map +1 -1
  180. package/cjs/component/tooltip/interface/common.d.ts +3 -3
  181. package/cjs/component/tooltip/interface/common.js.map +1 -1
  182. package/cjs/component/tooltip/interface/event.d.ts +0 -2
  183. package/cjs/component/tooltip/interface/event.js.map +1 -1
  184. package/cjs/component/tooltip/interface/index.d.ts +1 -0
  185. package/cjs/component/tooltip/interface/index.js +1 -1
  186. package/cjs/component/tooltip/interface/index.js.map +1 -1
  187. package/cjs/component/tooltip/interface/spec.d.ts +2 -2
  188. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  189. package/cjs/component/tooltip/interface/theme.d.ts +6 -5
  190. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  191. package/cjs/component/tooltip/processor/base.js +2 -2
  192. package/cjs/component/tooltip/processor/base.js.map +1 -1
  193. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  194. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  195. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  196. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  197. package/cjs/component/tooltip/tooltip.d.ts +3 -3
  198. package/cjs/component/tooltip/tooltip.js +13 -11
  199. package/cjs/component/tooltip/tooltip.js.map +1 -1
  200. package/cjs/component/tooltip/utils/show-tooltip.js +3 -0
  201. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  202. package/cjs/component/util.d.ts +8 -0
  203. package/cjs/component/util.js +15 -3
  204. package/cjs/component/util.js.map +1 -1
  205. package/cjs/constant/index.d.ts +1 -0
  206. package/cjs/constant/index.js +5 -4
  207. package/cjs/constant/index.js.map +1 -1
  208. package/cjs/core/factory.d.ts +3 -0
  209. package/cjs/core/factory.js +6 -0
  210. package/cjs/core/factory.js.map +1 -1
  211. package/cjs/core/index.d.ts +2 -1
  212. package/cjs/core/index.js +3 -2
  213. package/cjs/core/index.js.map +1 -1
  214. package/cjs/core/interface.d.ts +1 -1
  215. package/cjs/core/interface.js.map +1 -1
  216. package/cjs/core/vchart.d.ts +2 -1
  217. package/cjs/core/vchart.js +5 -4
  218. package/cjs/core/vchart.js.map +1 -1
  219. package/cjs/data/initialize.js.map +1 -1
  220. package/cjs/data/transforms/dimension-statistics.d.ts +2 -0
  221. package/cjs/data/transforms/dimension-statistics.js +1 -1
  222. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  223. package/cjs/data/transforms/funnel.d.ts +1 -1
  224. package/cjs/data/transforms/waterfall.js +104 -29
  225. package/cjs/data/transforms/waterfall.js.map +1 -1
  226. package/cjs/event/event-dispatcher.js +1 -1
  227. package/cjs/event/event-dispatcher.js.map +1 -1
  228. package/cjs/event/events/dimension/interface.d.ts +3 -2
  229. package/cjs/event/events/dimension/interface.js.map +1 -1
  230. package/cjs/event/events/dimension/util/cartesian.js +1 -0
  231. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  232. package/cjs/event/events/dimension/util/common.js +45 -48
  233. package/cjs/event/events/dimension/util/common.js.map +1 -1
  234. package/cjs/event/events/dimension/util/polar.js +2 -0
  235. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  236. package/cjs/event/interface.d.ts +2 -1
  237. package/cjs/event/interface.js.map +1 -1
  238. package/cjs/index-lark.js +2 -2
  239. package/cjs/index-lark.js.map +1 -1
  240. package/cjs/index-wx-simple.js +2 -2
  241. package/cjs/index-wx-simple.js.map +1 -1
  242. package/cjs/index-wx.js +2 -2
  243. package/cjs/index-wx.js.map +1 -1
  244. package/cjs/index.d.ts +1 -0
  245. package/cjs/index.js +1 -1
  246. package/cjs/index.js.map +1 -1
  247. package/cjs/interaction/dimension-trigger.js +3 -1
  248. package/cjs/interaction/dimension-trigger.js.map +1 -1
  249. package/cjs/interaction/interaction.d.ts +5 -0
  250. package/cjs/interaction/interaction.js +17 -1
  251. package/cjs/interaction/interaction.js.map +1 -1
  252. package/cjs/interaction/interface.d.ts +4 -1
  253. package/cjs/interaction/interface.js.map +1 -1
  254. package/cjs/mark/arc.js +3 -1
  255. package/cjs/mark/arc.js.map +1 -1
  256. package/cjs/mark/base/base-mark.d.ts +3 -3
  257. package/cjs/mark/base/base-mark.js +20 -13
  258. package/cjs/mark/base/base-mark.js.map +1 -1
  259. package/cjs/mark/index.d.ts +2 -3
  260. package/cjs/mark/index.js +1 -10
  261. package/cjs/mark/index.js.map +1 -1
  262. package/cjs/mark/interface/type.d.ts +0 -1
  263. package/cjs/mark/interface/type.js +2 -3
  264. package/cjs/mark/interface/type.js.map +1 -1
  265. package/cjs/mark/label.d.ts +2 -2
  266. package/cjs/mark/label.js.map +1 -1
  267. package/cjs/mark/text.d.ts +16 -7
  268. package/cjs/mark/text.js +12 -6
  269. package/cjs/mark/text.js.map +1 -1
  270. package/cjs/plugin/chart/formatter/formatter.d.ts +28 -0
  271. package/cjs/plugin/chart/formatter/formatter.js +74 -0
  272. package/cjs/plugin/chart/formatter/formatter.js.map +1 -0
  273. package/cjs/plugin/chart/formatter/index.d.ts +1 -0
  274. package/cjs/plugin/chart/formatter/index.js +21 -0
  275. package/cjs/plugin/chart/formatter/index.js.map +1 -0
  276. package/cjs/plugin/components/index.d.ts +2 -5
  277. package/cjs/plugin/components/index.js +16 -7
  278. package/cjs/plugin/components/index.js.map +1 -1
  279. package/cjs/plugin/components/tooltip-handler/base.d.ts +6 -6
  280. package/cjs/plugin/components/tooltip-handler/base.js +126 -65
  281. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  282. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  283. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  284. package/cjs/plugin/components/tooltip-handler/constants.d.ts +2 -2
  285. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -1
  286. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  287. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -10
  288. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  289. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  290. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  291. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  292. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  293. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  294. package/cjs/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  295. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  296. package/cjs/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  297. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +3 -3
  298. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  299. package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  300. package/cjs/plugin/components/tooltip-handler/utils/common.js +9 -3
  301. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  302. package/cjs/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  303. package/cjs/plugin/components/tooltip-handler/utils/compose.js +9 -8
  304. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  305. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +14 -11
  306. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  307. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  308. package/cjs/plugin/components/tooltip-handler/utils/position.js +49 -8
  309. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  310. package/cjs/plugin/index.d.ts +1 -0
  311. package/cjs/plugin/index.js +1 -1
  312. package/cjs/plugin/index.js.map +1 -1
  313. package/cjs/series/area/interface.d.ts +2 -1
  314. package/cjs/series/area/interface.js.map +1 -1
  315. package/cjs/series/bar/bar-3d.js.map +1 -1
  316. package/cjs/series/bar/bar.d.ts +11 -1
  317. package/cjs/series/bar/bar.js +102 -72
  318. package/cjs/series/bar/bar.js.map +1 -1
  319. package/cjs/series/bar/interface.d.ts +4 -3
  320. package/cjs/series/bar/interface.js.map +1 -1
  321. package/cjs/series/base/base-series-transformer.d.ts +4 -0
  322. package/cjs/series/base/base-series-transformer.js +33 -10
  323. package/cjs/series/base/base-series-transformer.js.map +1 -1
  324. package/cjs/series/base/base-series.d.ts +4 -1
  325. package/cjs/series/base/base-series.js +12 -3
  326. package/cjs/series/base/base-series.js.map +1 -1
  327. package/cjs/series/base/tooltip-helper.d.ts +3 -3
  328. package/cjs/series/base/tooltip-helper.js.map +1 -1
  329. package/cjs/series/cartesian/cartesian.d.ts +1 -2
  330. package/cjs/series/cartesian/cartesian.js +28 -24
  331. package/cjs/series/cartesian/cartesian.js.map +1 -1
  332. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  333. package/cjs/series/correlation/interface.d.ts +3 -3
  334. package/cjs/series/correlation/interface.js.map +1 -1
  335. package/cjs/series/dot/interface.d.ts +2 -2
  336. package/cjs/series/dot/interface.js.map +1 -1
  337. package/cjs/series/dot/tooltip-helper.js +2 -2
  338. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  339. package/cjs/series/funnel/funnel.js.map +1 -1
  340. package/cjs/series/funnel/interface.d.ts +5 -4
  341. package/cjs/series/funnel/interface.js.map +1 -1
  342. package/cjs/series/gauge/constant.js +2 -2
  343. package/cjs/series/gauge/constant.js.map +1 -1
  344. package/cjs/series/gauge/gauge.js +2 -2
  345. package/cjs/series/gauge/gauge.js.map +1 -1
  346. package/cjs/series/gauge/interface.d.ts +3 -3
  347. package/cjs/series/gauge/interface.js.map +1 -1
  348. package/cjs/series/interface/common.d.ts +3 -1
  349. package/cjs/series/interface/common.js.map +1 -1
  350. package/cjs/series/line/interface.d.ts +3 -2
  351. package/cjs/series/line/interface.js.map +1 -1
  352. package/cjs/series/link/tooltip-helper.js +2 -2
  353. package/cjs/series/link/tooltip-helper.js.map +1 -1
  354. package/cjs/series/map/interface.d.ts +2 -5
  355. package/cjs/series/map/interface.js.map +1 -1
  356. package/cjs/series/mixin/line-mixin.js +1 -1
  357. package/cjs/series/mixin/line-mixin.js.map +1 -1
  358. package/cjs/series/pie/3d/pie-3d.d.ts +1 -1
  359. package/cjs/series/pie/3d/pie-3d.js +2 -4
  360. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  361. package/cjs/series/pie/interface.d.ts +5 -4
  362. package/cjs/series/pie/interface.js.map +1 -1
  363. package/cjs/series/pie/pie-transformer.js +5 -4
  364. package/cjs/series/pie/pie-transformer.js.map +1 -1
  365. package/cjs/series/pie/pie.js +1 -4
  366. package/cjs/series/pie/pie.js.map +1 -1
  367. package/cjs/series/polar/progress-like/progress-like.js +24 -26
  368. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  369. package/cjs/series/progress/circular/circular.js +3 -4
  370. package/cjs/series/progress/circular/circular.js.map +1 -1
  371. package/cjs/series/progress/circular/constant.js +2 -2
  372. package/cjs/series/progress/circular/constant.js.map +1 -1
  373. package/cjs/series/progress/circular/interface.d.ts +5 -5
  374. package/cjs/series/progress/circular/interface.js.map +1 -1
  375. package/cjs/series/radar/interface.d.ts +2 -1
  376. package/cjs/series/radar/interface.js.map +1 -1
  377. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  378. package/cjs/series/range-column/interface.d.ts +5 -5
  379. package/cjs/series/range-column/interface.js.map +1 -1
  380. package/cjs/series/rose/interface.d.ts +2 -1
  381. package/cjs/series/rose/interface.js.map +1 -1
  382. package/cjs/series/rose/rose.js +1 -5
  383. package/cjs/series/rose/rose.js.map +1 -1
  384. package/cjs/series/sankey/interface.d.ts +2 -2
  385. package/cjs/series/sankey/interface.js.map +1 -1
  386. package/cjs/series/sankey/sankey.js.map +1 -1
  387. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  388. package/cjs/series/scatter/interface.d.ts +2 -1
  389. package/cjs/series/scatter/interface.js.map +1 -1
  390. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  391. package/cjs/series/sunburst/sunburst.js.map +1 -1
  392. package/cjs/series/treemap/interface.d.ts +3 -2
  393. package/cjs/series/treemap/interface.js.map +1 -1
  394. package/cjs/series/treemap/treemap.d.ts +2 -0
  395. package/cjs/series/treemap/treemap.js +45 -45
  396. package/cjs/series/treemap/treemap.js.map +1 -1
  397. package/cjs/series/util/utils.js +1 -1
  398. package/cjs/series/util/utils.js.map +1 -1
  399. package/cjs/series/word-cloud/base.js.map +1 -1
  400. package/cjs/series/word-cloud/interface.d.ts +2 -6
  401. package/cjs/series/word-cloud/interface.js.map +1 -1
  402. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +9 -7
  403. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  404. package/cjs/theme/builtin/common/component/axis/common-axis.js +15 -10
  405. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  406. package/cjs/theme/builtin/common/component/crosshair.js +121 -6
  407. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  408. package/cjs/theme/builtin/common/component/data-zoom.js +17 -5
  409. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  410. package/cjs/theme/builtin/common/component/indicator.js +9 -7
  411. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  412. package/cjs/theme/builtin/common/component/legend/continuous.js +33 -13
  413. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  414. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +17 -9
  415. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  416. package/cjs/theme/builtin/common/component/map-label.js +9 -7
  417. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  418. package/cjs/theme/builtin/common/component/mark-area.js +5 -6
  419. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  420. package/cjs/theme/builtin/common/component/mark-line.js +5 -6
  421. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  422. package/cjs/theme/builtin/common/component/poptip.js +9 -7
  423. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  424. package/cjs/theme/builtin/common/component/title.js +17 -9
  425. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  426. package/cjs/theme/builtin/common/component/tooltip.js +25 -11
  427. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  428. package/cjs/theme/builtin/common/component/total-label.js +5 -6
  429. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  430. package/cjs/theme/builtin/common/mark.js +12 -9
  431. package/cjs/theme/builtin/common/mark.js.map +1 -1
  432. package/cjs/theme/builtin/common/series/box-plot.js +5 -0
  433. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -1
  434. package/cjs/theme/builtin/common/series/circle-packing.js +9 -7
  435. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  436. package/cjs/theme/builtin/common/series/dot.js +17 -9
  437. package/cjs/theme/builtin/common/series/dot.js.map +1 -1
  438. package/cjs/theme/builtin/common/series/funnel.js +9 -7
  439. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  440. package/cjs/theme/builtin/common/series/funnel3d.js +9 -7
  441. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  442. package/cjs/theme/builtin/common/series/map.js +9 -7
  443. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  444. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -0
  445. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  446. package/cjs/theme/builtin/common/series/sunburst.js +9 -3
  447. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  448. package/cjs/theme/builtin/common/series/treemap.js +18 -10
  449. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  450. package/cjs/theme/builtin/common/series/waterfall.js +9 -7
  451. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  452. package/cjs/theme/builtin/index.js +3 -3
  453. package/cjs/theme/builtin/index.js.map +1 -1
  454. package/cjs/theme/builtin/light/index.js +6 -2
  455. package/cjs/theme/builtin/light/index.js.map +1 -1
  456. package/cjs/theme/interface.d.ts +3 -19
  457. package/cjs/theme/interface.js.map +1 -1
  458. package/cjs/theme/theme-manager.d.ts +1 -1
  459. package/cjs/theme/theme-manager.js +2 -2
  460. package/cjs/theme/theme-manager.js.map +1 -1
  461. package/cjs/theme/token/builtin/default.d.ts +2 -0
  462. package/cjs/theme/{builtin/common/constants.js → token/builtin/default.js} +3 -5
  463. package/cjs/theme/token/builtin/default.js.map +1 -0
  464. package/cjs/theme/token/builtin/index.d.ts +2 -0
  465. package/cjs/theme/token/builtin/index.js +21 -0
  466. package/cjs/theme/token/builtin/index.js.map +1 -0
  467. package/cjs/theme/token/builtin/interface.d.ts +17 -0
  468. package/cjs/theme/token/builtin/interface.js +6 -0
  469. package/cjs/theme/token/builtin/interface.js.map +1 -0
  470. package/cjs/theme/token/index.d.ts +3 -0
  471. package/cjs/theme/token/index.js +22 -0
  472. package/cjs/theme/token/index.js.map +1 -0
  473. package/cjs/theme/token/interface.d.ts +6 -0
  474. package/cjs/theme/token/interface.js +6 -0
  475. package/cjs/theme/token/interface.js.map +1 -0
  476. package/cjs/theme/token/util.d.ts +3 -0
  477. package/cjs/theme/token/util.js +15 -0
  478. package/cjs/theme/token/util.js.map +1 -0
  479. package/cjs/typings/spec/common.d.ts +32 -22
  480. package/cjs/typings/spec/common.js.map +1 -1
  481. package/cjs/typings/tooltip/line.d.ts +5 -2
  482. package/cjs/typings/tooltip/line.js.map +1 -1
  483. package/cjs/typings/tooltip/position.d.ts +18 -24
  484. package/cjs/typings/tooltip/position.js +1 -12
  485. package/cjs/typings/tooltip/position.js.map +1 -1
  486. package/cjs/typings/tooltip/shape.d.ts +2 -2
  487. package/cjs/typings/tooltip/shape.js.map +1 -1
  488. package/cjs/typings/tooltip/tooltip.d.ts +8 -8
  489. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  490. package/cjs/typings/visual.d.ts +15 -11
  491. package/cjs/typings/visual.js.map +1 -1
  492. package/cjs/util/data.d.ts +2 -1
  493. package/cjs/util/data.js +12 -7
  494. package/cjs/util/data.js.map +1 -1
  495. package/cjs/util/index.d.ts +1 -2
  496. package/cjs/util/index.js +2 -2
  497. package/cjs/util/index.js.map +1 -1
  498. package/cjs/util/spec/common.d.ts +0 -2
  499. package/cjs/util/spec/common.js +3 -8
  500. package/cjs/util/spec/common.js.map +1 -1
  501. package/cjs/util/spec/index.d.ts +2 -2
  502. package/cjs/util/spec/index.js +1 -1
  503. package/cjs/util/spec/index.js.map +1 -1
  504. package/cjs/util/text.js +3 -3
  505. package/cjs/util/text.js.map +1 -1
  506. package/cjs/util/theme/common.d.ts +2 -0
  507. package/cjs/util/theme/common.js +15 -0
  508. package/cjs/util/theme/common.js.map +1 -0
  509. package/cjs/util/theme/index.d.ts +3 -0
  510. package/cjs/util/theme/index.js +22 -0
  511. package/cjs/util/theme/index.js.map +1 -0
  512. package/cjs/util/{spec → theme}/merge-theme.js +3 -1
  513. package/cjs/util/theme/merge-theme.js.map +1 -0
  514. package/cjs/util/{spec → theme}/preprocess.d.ts +2 -1
  515. package/cjs/util/{spec → theme}/preprocess.js +5 -3
  516. package/cjs/util/theme/preprocess.js.map +1 -0
  517. package/cjs/vchart-all.js +2 -2
  518. package/cjs/vchart-all.js.map +1 -1
  519. package/cjs/vchart-simple.js +2 -2
  520. package/cjs/vchart-simple.js.map +1 -1
  521. package/esm/animation/utils.js +5 -5
  522. package/esm/animation/utils.js.map +1 -1
  523. package/esm/chart/bar/bar-transformer.d.ts +1 -0
  524. package/esm/chart/bar/bar-transformer.js +19 -1
  525. package/esm/chart/bar/bar-transformer.js.map +1 -1
  526. package/esm/chart/bar/interface.d.ts +3 -0
  527. package/esm/chart/bar/interface.js.map +1 -1
  528. package/esm/chart/base/base-chart-transformer.js +10 -12
  529. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  530. package/esm/chart/base/base-chart.d.ts +2 -2
  531. package/esm/chart/base/base-chart.js +4 -2
  532. package/esm/chart/base/base-chart.js.map +1 -1
  533. package/esm/chart/base/util.d.ts +1 -1
  534. package/esm/chart/base/util.js +21 -9
  535. package/esm/chart/base/util.js.map +1 -1
  536. package/esm/chart/cartesian/cartesian-transformer.d.ts +1 -0
  537. package/esm/chart/cartesian/cartesian-transformer.js +10 -7
  538. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  539. package/esm/chart/interface/chart.d.ts +1 -1
  540. package/esm/chart/interface/chart.js.map +1 -1
  541. package/esm/chart/polar/polar-transformer.js.map +1 -1
  542. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -0
  543. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  544. package/esm/compile/compiler.d.ts +1 -1
  545. package/esm/compile/compiler.js +9 -5
  546. package/esm/compile/compiler.js.map +1 -1
  547. package/esm/compile/mark/compilable-mark.d.ts +4 -1
  548. package/esm/compile/mark/compilable-mark.js +9 -1
  549. package/esm/compile/mark/compilable-mark.js.map +1 -1
  550. package/esm/compile/mark/interface.d.ts +4 -1
  551. package/esm/compile/mark/interface.js.map +1 -1
  552. package/esm/component/axis/base-axis.d.ts +10 -59
  553. package/esm/component/axis/base-axis.js +112 -86
  554. package/esm/component/axis/base-axis.js.map +1 -1
  555. package/esm/component/axis/cartesian/axis.d.ts +1 -5
  556. package/esm/component/axis/cartesian/axis.js +8 -26
  557. package/esm/component/axis/cartesian/axis.js.map +1 -1
  558. package/esm/component/axis/cartesian/band-axis.d.ts +5 -0
  559. package/esm/component/axis/cartesian/band-axis.js +27 -6
  560. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  561. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -0
  562. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  563. package/esm/component/axis/cartesian/log-axis.js +2 -1
  564. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  565. package/esm/component/axis/cartesian/time-axis.d.ts +1 -1
  566. package/esm/component/axis/cartesian/time-axis.js +2 -2
  567. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  568. package/esm/component/axis/cartesian/util/index.d.ts +0 -1
  569. package/esm/component/axis/cartesian/util/index.js +0 -2
  570. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  571. package/esm/component/axis/interface/common.d.ts +2 -1
  572. package/esm/component/axis/interface/common.js.map +1 -1
  573. package/esm/component/axis/interface/spec.d.ts +7 -6
  574. package/esm/component/axis/interface/spec.js.map +1 -1
  575. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  576. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  577. package/esm/component/axis/polar/axis.d.ts +1 -5
  578. package/esm/component/axis/polar/axis.js +5 -23
  579. package/esm/component/axis/polar/axis.js.map +1 -1
  580. package/esm/component/base/base-component.d.ts +1 -1
  581. package/esm/component/base/base-component.js +3 -1
  582. package/esm/component/base/base-component.js.map +1 -1
  583. package/esm/component/base/util.d.ts +5 -0
  584. package/esm/component/base/util.js +12 -9
  585. package/esm/component/base/util.js.map +1 -1
  586. package/esm/component/brush/brush.d.ts +0 -3
  587. package/esm/component/brush/brush.js +5 -31
  588. package/esm/component/brush/brush.js.map +1 -1
  589. package/esm/component/brush/interface.d.ts +0 -3
  590. package/esm/component/brush/interface.js.map +1 -1
  591. package/esm/component/crosshair/base.d.ts +4 -1
  592. package/esm/component/crosshair/base.js +1 -10
  593. package/esm/component/crosshair/base.js.map +1 -1
  594. package/esm/component/crosshair/cartesian.d.ts +1 -7
  595. package/esm/component/crosshair/cartesian.js +20 -206
  596. package/esm/component/crosshair/cartesian.js.map +1 -1
  597. package/esm/component/crosshair/config.js.map +1 -1
  598. package/esm/component/crosshair/interface/cartesian.d.ts +46 -0
  599. package/esm/component/crosshair/interface/cartesian.js +2 -0
  600. package/esm/component/crosshair/interface/cartesian.js.map +1 -0
  601. package/esm/component/crosshair/interface/common.d.ts +7 -0
  602. package/esm/component/crosshair/interface/common.js +2 -0
  603. package/esm/component/crosshair/interface/common.js.map +1 -0
  604. package/esm/component/crosshair/interface/index.d.ts +3 -0
  605. package/esm/component/crosshair/interface/index.js +6 -0
  606. package/esm/component/crosshair/interface/index.js.map +1 -1
  607. package/esm/component/crosshair/interface/polar.d.ts +23 -0
  608. package/esm/component/crosshair/interface/polar.js +2 -0
  609. package/esm/component/crosshair/interface/polar.js.map +1 -0
  610. package/esm/component/crosshair/interface/spec.d.ts +1 -0
  611. package/esm/component/crosshair/interface/spec.js.map +1 -1
  612. package/esm/component/crosshair/polar.d.ts +2 -2
  613. package/esm/component/crosshair/polar.js +19 -116
  614. package/esm/component/crosshair/polar.js.map +1 -1
  615. package/esm/component/crosshair/utils/cartesian.d.ts +32 -0
  616. package/esm/component/crosshair/utils/cartesian.js +233 -0
  617. package/esm/component/crosshair/utils/cartesian.js.map +1 -0
  618. package/{cjs/component/crosshair/util.d.ts → esm/component/crosshair/utils/common.d.ts} +3 -3
  619. package/esm/component/crosshair/{util.js → utils/common.js} +6 -6
  620. package/esm/component/crosshair/utils/common.js.map +1 -0
  621. package/esm/component/crosshair/utils/index.d.ts +1 -0
  622. package/esm/component/crosshair/utils/index.js +2 -0
  623. package/esm/component/crosshair/utils/index.js.map +1 -0
  624. package/esm/component/crosshair/utils/polar.d.ts +37 -0
  625. package/esm/component/crosshair/utils/polar.js +125 -0
  626. package/esm/component/crosshair/utils/polar.js.map +1 -0
  627. package/esm/component/custom-mark/custom-mark.d.ts +1 -2
  628. package/esm/component/custom-mark/custom-mark.js +2 -1
  629. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  630. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -6
  631. package/esm/component/data-zoom/data-filter-base-component.js +12 -20
  632. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  633. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  634. package/esm/component/data-zoom/data-zoom/data-zoom.js +16 -9
  635. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  636. package/esm/component/data-zoom/data-zoom/interface.d.ts +4 -7
  637. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  638. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  639. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  640. package/esm/component/data-zoom/util.d.ts +0 -4
  641. package/esm/component/data-zoom/util.js +2 -15
  642. package/esm/component/data-zoom/util.js.map +1 -1
  643. package/esm/component/index.d.ts +1 -0
  644. package/esm/component/index.js +2 -0
  645. package/esm/component/index.js.map +1 -1
  646. package/esm/component/indicator/indicator.js.map +1 -1
  647. package/esm/component/indicator/interface.d.ts +5 -5
  648. package/esm/component/indicator/interface.js.map +1 -1
  649. package/esm/component/interface/theme.d.ts +8 -0
  650. package/esm/component/interface/theme.js.map +1 -1
  651. package/esm/component/label/base-label.d.ts +4 -4
  652. package/esm/component/label/interface.d.ts +9 -10
  653. package/esm/component/label/interface.js.map +1 -1
  654. package/esm/component/label/label.js +1 -1
  655. package/esm/component/label/label.js.map +1 -1
  656. package/esm/component/label/total-label.js +14 -1
  657. package/esm/component/label/total-label.js.map +1 -1
  658. package/esm/component/label/util.d.ts +1 -1
  659. package/esm/component/label/util.js +7 -11
  660. package/esm/component/label/util.js.map +1 -1
  661. package/esm/component/legend/continuous/interface.d.ts +6 -12
  662. package/esm/component/legend/continuous/interface.js.map +1 -1
  663. package/esm/component/legend/discrete/interface.d.ts +20 -6
  664. package/esm/component/legend/discrete/interface.js.map +1 -1
  665. package/esm/component/legend/discrete/legend.d.ts +1 -0
  666. package/esm/component/legend/discrete/legend.js +11 -1
  667. package/esm/component/legend/discrete/legend.js.map +1 -1
  668. package/esm/component/legend/discrete/util.js +3 -2
  669. package/esm/component/legend/discrete/util.js.map +1 -1
  670. package/esm/component/legend/util.d.ts +2 -3
  671. package/esm/component/legend/util.js +0 -4
  672. package/esm/component/legend/util.js.map +1 -1
  673. package/esm/component/marker/interface.d.ts +6 -6
  674. package/esm/component/marker/interface.js.map +1 -1
  675. package/esm/component/marker/mark-area/interface/theme.d.ts +1 -1
  676. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  677. package/esm/component/marker/mark-area/mark-area.js +1 -1
  678. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  679. package/esm/component/marker/mark-line/interface/theme.d.ts +1 -1
  680. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  681. package/esm/component/marker/mark-line/mark-line.js +1 -1
  682. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  683. package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
  684. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  685. package/esm/component/marker/mark-point/mark-point.js +5 -2
  686. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  687. package/esm/component/player/interface/theme.d.ts +1 -1
  688. package/esm/component/player/interface/theme.js.map +1 -1
  689. package/esm/component/player/utils/transform.js.map +1 -1
  690. package/esm/component/poptip/interface.d.ts +5 -2
  691. package/esm/component/poptip/interface.js.map +1 -1
  692. package/esm/component/title/interface/spec.d.ts +18 -7
  693. package/esm/component/title/interface/spec.js.map +1 -1
  694. package/esm/component/title/interface/theme.d.ts +2 -1
  695. package/esm/component/title/interface/theme.js.map +1 -1
  696. package/esm/component/tooltip/interface/common.d.ts +3 -3
  697. package/esm/component/tooltip/interface/common.js.map +1 -1
  698. package/esm/component/tooltip/interface/event.d.ts +0 -2
  699. package/esm/component/tooltip/interface/event.js.map +1 -1
  700. package/esm/component/tooltip/interface/index.d.ts +1 -0
  701. package/esm/component/tooltip/interface/index.js +2 -0
  702. package/esm/component/tooltip/interface/index.js.map +1 -1
  703. package/esm/component/tooltip/interface/spec.d.ts +2 -2
  704. package/esm/component/tooltip/interface/spec.js.map +1 -1
  705. package/esm/component/tooltip/interface/theme.d.ts +6 -5
  706. package/esm/component/tooltip/interface/theme.js.map +1 -1
  707. package/esm/component/tooltip/processor/base.js +1 -3
  708. package/esm/component/tooltip/processor/base.js.map +1 -1
  709. package/esm/component/tooltip/processor/dimension-tooltip.js +2 -1
  710. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  711. package/esm/component/tooltip/processor/mark-tooltip.js +2 -1
  712. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  713. package/esm/component/tooltip/tooltip.d.ts +3 -3
  714. package/esm/component/tooltip/tooltip.js +10 -10
  715. package/esm/component/tooltip/tooltip.js.map +1 -1
  716. package/esm/component/tooltip/utils/show-tooltip.js +3 -0
  717. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  718. package/esm/component/util.d.ts +8 -0
  719. package/esm/component/util.js +14 -0
  720. package/esm/component/util.js.map +1 -1
  721. package/esm/constant/index.d.ts +1 -0
  722. package/esm/constant/index.js +2 -0
  723. package/esm/constant/index.js.map +1 -1
  724. package/esm/core/factory.d.ts +3 -0
  725. package/esm/core/factory.js +6 -0
  726. package/esm/core/factory.js.map +1 -1
  727. package/esm/core/index.d.ts +2 -1
  728. package/esm/core/index.js +3 -1
  729. package/esm/core/index.js.map +1 -1
  730. package/esm/core/interface.d.ts +1 -1
  731. package/esm/core/interface.js.map +1 -1
  732. package/esm/core/vchart.d.ts +2 -1
  733. package/esm/core/vchart.js +7 -4
  734. package/esm/core/vchart.js.map +1 -1
  735. package/esm/data/initialize.js.map +1 -1
  736. package/esm/data/transforms/dimension-statistics.d.ts +2 -0
  737. package/esm/data/transforms/dimension-statistics.js +1 -1
  738. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  739. package/esm/data/transforms/funnel.d.ts +1 -1
  740. package/esm/data/transforms/waterfall.js +104 -28
  741. package/esm/data/transforms/waterfall.js.map +1 -1
  742. package/esm/event/event-dispatcher.js +2 -2
  743. package/esm/event/event-dispatcher.js.map +1 -1
  744. package/esm/event/events/dimension/interface.d.ts +3 -2
  745. package/esm/event/events/dimension/interface.js.map +1 -1
  746. package/esm/event/events/dimension/util/cartesian.js +1 -0
  747. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  748. package/esm/event/events/dimension/util/common.js +44 -47
  749. package/esm/event/events/dimension/util/common.js.map +1 -1
  750. package/esm/event/events/dimension/util/polar.js +2 -0
  751. package/esm/event/events/dimension/util/polar.js.map +1 -1
  752. package/esm/event/interface.d.ts +2 -1
  753. package/esm/event/interface.js.map +1 -1
  754. package/esm/index-lark.js +4 -2
  755. package/esm/index-lark.js.map +1 -1
  756. package/esm/index-wx-simple.js +4 -2
  757. package/esm/index-wx-simple.js.map +1 -1
  758. package/esm/index-wx.js +1 -1
  759. package/esm/index-wx.js.map +1 -1
  760. package/esm/index.d.ts +1 -0
  761. package/esm/index.js +2 -0
  762. package/esm/index.js.map +1 -1
  763. package/esm/interaction/dimension-trigger.js +3 -1
  764. package/esm/interaction/dimension-trigger.js.map +1 -1
  765. package/esm/interaction/interaction.d.ts +5 -0
  766. package/esm/interaction/interaction.js +17 -1
  767. package/esm/interaction/interaction.js.map +1 -1
  768. package/esm/interaction/interface.d.ts +4 -1
  769. package/esm/interaction/interface.js.map +1 -1
  770. package/esm/mark/arc.js +3 -1
  771. package/esm/mark/arc.js.map +1 -1
  772. package/esm/mark/base/base-mark.d.ts +3 -3
  773. package/esm/mark/base/base-mark.js +20 -13
  774. package/esm/mark/base/base-mark.js.map +1 -1
  775. package/esm/mark/index.d.ts +2 -3
  776. package/esm/mark/index.js +1 -3
  777. package/esm/mark/index.js.map +1 -1
  778. package/esm/mark/interface/type.d.ts +0 -1
  779. package/esm/mark/interface/type.js +2 -3
  780. package/esm/mark/interface/type.js.map +1 -1
  781. package/esm/mark/label.d.ts +2 -2
  782. package/esm/mark/label.js.map +1 -1
  783. package/esm/mark/text.d.ts +16 -7
  784. package/esm/mark/text.js +13 -7
  785. package/esm/mark/text.js.map +1 -1
  786. package/esm/plugin/chart/formatter/formatter.d.ts +28 -0
  787. package/esm/plugin/chart/formatter/formatter.js +71 -0
  788. package/esm/plugin/chart/formatter/formatter.js.map +1 -0
  789. package/esm/plugin/chart/formatter/index.d.ts +1 -0
  790. package/esm/plugin/chart/formatter/index.js +2 -0
  791. package/esm/plugin/chart/formatter/index.js.map +1 -0
  792. package/esm/plugin/components/index.d.ts +2 -5
  793. package/esm/plugin/components/index.js +2 -4
  794. package/esm/plugin/components/index.js.map +1 -1
  795. package/esm/plugin/components/tooltip-handler/base.d.ts +6 -6
  796. package/esm/plugin/components/tooltip-handler/base.js +125 -66
  797. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  798. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  799. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  800. package/esm/plugin/components/tooltip-handler/constants.d.ts +2 -2
  801. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -1
  802. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  803. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -9
  804. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  805. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  806. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  807. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  808. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  809. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  810. package/esm/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  811. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  812. package/esm/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  813. package/esm/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  814. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  815. package/esm/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  816. package/esm/plugin/components/tooltip-handler/utils/common.js +10 -1
  817. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  818. package/esm/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  819. package/esm/plugin/components/tooltip-handler/utils/compose.js +5 -7
  820. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  821. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +14 -11
  822. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  823. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  824. package/esm/plugin/components/tooltip-handler/utils/position.js +39 -7
  825. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  826. package/esm/plugin/index.d.ts +1 -0
  827. package/esm/plugin/index.js +2 -0
  828. package/esm/plugin/index.js.map +1 -1
  829. package/esm/series/area/interface.d.ts +2 -1
  830. package/esm/series/area/interface.js.map +1 -1
  831. package/esm/series/bar/bar-3d.js.map +1 -1
  832. package/esm/series/bar/bar.d.ts +11 -1
  833. package/esm/series/bar/bar.js +99 -66
  834. package/esm/series/bar/bar.js.map +1 -1
  835. package/esm/series/bar/interface.d.ts +4 -3
  836. package/esm/series/bar/interface.js.map +1 -1
  837. package/esm/series/base/base-series-transformer.d.ts +4 -0
  838. package/esm/series/base/base-series-transformer.js +35 -10
  839. package/esm/series/base/base-series-transformer.js.map +1 -1
  840. package/esm/series/base/base-series.d.ts +4 -1
  841. package/esm/series/base/base-series.js +12 -3
  842. package/esm/series/base/base-series.js.map +1 -1
  843. package/esm/series/base/tooltip-helper.d.ts +3 -3
  844. package/esm/series/base/tooltip-helper.js.map +1 -1
  845. package/esm/series/cartesian/cartesian.d.ts +1 -2
  846. package/esm/series/cartesian/cartesian.js +28 -25
  847. package/esm/series/cartesian/cartesian.js.map +1 -1
  848. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  849. package/esm/series/correlation/interface.d.ts +3 -3
  850. package/esm/series/correlation/interface.js.map +1 -1
  851. package/esm/series/dot/interface.d.ts +2 -2
  852. package/esm/series/dot/interface.js.map +1 -1
  853. package/esm/series/dot/tooltip-helper.js +1 -3
  854. package/esm/series/dot/tooltip-helper.js.map +1 -1
  855. package/esm/series/funnel/funnel.js.map +1 -1
  856. package/esm/series/funnel/interface.d.ts +5 -4
  857. package/esm/series/funnel/interface.js.map +1 -1
  858. package/esm/series/gauge/constant.js +2 -2
  859. package/esm/series/gauge/constant.js.map +1 -1
  860. package/esm/series/gauge/gauge.js +3 -3
  861. package/esm/series/gauge/gauge.js.map +1 -1
  862. package/esm/series/gauge/interface.d.ts +3 -3
  863. package/esm/series/gauge/interface.js.map +1 -1
  864. package/esm/series/interface/common.d.ts +3 -1
  865. package/esm/series/interface/common.js.map +1 -1
  866. package/esm/series/line/interface.d.ts +3 -2
  867. package/esm/series/line/interface.js.map +1 -1
  868. package/esm/series/link/tooltip-helper.js +1 -1
  869. package/esm/series/link/tooltip-helper.js.map +1 -1
  870. package/esm/series/map/interface.d.ts +2 -5
  871. package/esm/series/map/interface.js.map +1 -1
  872. package/esm/series/mixin/line-mixin.js +1 -1
  873. package/esm/series/mixin/line-mixin.js.map +1 -1
  874. package/esm/series/pie/3d/pie-3d.d.ts +1 -1
  875. package/esm/series/pie/3d/pie-3d.js +2 -3
  876. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  877. package/esm/series/pie/interface.d.ts +5 -4
  878. package/esm/series/pie/interface.js.map +1 -1
  879. package/esm/series/pie/pie-transformer.js +5 -1
  880. package/esm/series/pie/pie-transformer.js.map +1 -1
  881. package/esm/series/pie/pie.js +1 -4
  882. package/esm/series/pie/pie.js.map +1 -1
  883. package/esm/series/polar/progress-like/progress-like.js +23 -25
  884. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  885. package/esm/series/progress/circular/circular.js +1 -3
  886. package/esm/series/progress/circular/circular.js.map +1 -1
  887. package/esm/series/progress/circular/constant.js +2 -2
  888. package/esm/series/progress/circular/constant.js.map +1 -1
  889. package/esm/series/progress/circular/interface.d.ts +5 -5
  890. package/esm/series/progress/circular/interface.js.map +1 -1
  891. package/esm/series/radar/interface.d.ts +2 -1
  892. package/esm/series/radar/interface.js.map +1 -1
  893. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  894. package/esm/series/range-column/interface.d.ts +5 -5
  895. package/esm/series/range-column/interface.js.map +1 -1
  896. package/esm/series/rose/interface.d.ts +2 -1
  897. package/esm/series/rose/interface.js.map +1 -1
  898. package/esm/series/rose/rose.js +1 -5
  899. package/esm/series/rose/rose.js.map +1 -1
  900. package/esm/series/sankey/interface.d.ts +2 -2
  901. package/esm/series/sankey/interface.js.map +1 -1
  902. package/esm/series/sankey/sankey.js.map +1 -1
  903. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  904. package/esm/series/scatter/interface.d.ts +2 -1
  905. package/esm/series/scatter/interface.js.map +1 -1
  906. package/esm/series/sunburst/sunburst.d.ts +1 -1
  907. package/esm/series/sunburst/sunburst.js.map +1 -1
  908. package/esm/series/treemap/interface.d.ts +3 -2
  909. package/esm/series/treemap/interface.js.map +1 -1
  910. package/esm/series/treemap/treemap.d.ts +2 -0
  911. package/esm/series/treemap/treemap.js +43 -46
  912. package/esm/series/treemap/treemap.js.map +1 -1
  913. package/esm/series/util/utils.js +1 -1
  914. package/esm/series/util/utils.js.map +1 -1
  915. package/esm/series/word-cloud/base.js.map +1 -1
  916. package/esm/series/word-cloud/interface.d.ts +2 -6
  917. package/esm/series/word-cloud/interface.js.map +1 -1
  918. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +8 -4
  919. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  920. package/esm/theme/builtin/common/component/axis/common-axis.js +14 -7
  921. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  922. package/esm/theme/builtin/common/component/crosshair.js +120 -7
  923. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  924. package/esm/theme/builtin/common/component/data-zoom.js +16 -6
  925. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  926. package/esm/theme/builtin/common/component/indicator.js +8 -4
  927. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  928. package/esm/theme/builtin/common/component/legend/continuous.js +32 -10
  929. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  930. package/esm/theme/builtin/common/component/legend/discrete-legend.js +16 -6
  931. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  932. package/esm/theme/builtin/common/component/map-label.js +8 -4
  933. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  934. package/esm/theme/builtin/common/component/mark-area.js +4 -3
  935. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  936. package/esm/theme/builtin/common/component/mark-line.js +4 -3
  937. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  938. package/esm/theme/builtin/common/component/poptip.js +8 -4
  939. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  940. package/esm/theme/builtin/common/component/title.js +16 -6
  941. package/esm/theme/builtin/common/component/title.js.map +1 -1
  942. package/esm/theme/builtin/common/component/tooltip.js +24 -8
  943. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  944. package/esm/theme/builtin/common/component/total-label.js +4 -3
  945. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  946. package/esm/theme/builtin/common/mark.js +11 -6
  947. package/esm/theme/builtin/common/mark.js.map +1 -1
  948. package/esm/theme/builtin/common/series/box-plot.js +5 -0
  949. package/esm/theme/builtin/common/series/box-plot.js.map +1 -1
  950. package/esm/theme/builtin/common/series/circle-packing.js +8 -4
  951. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  952. package/esm/theme/builtin/common/series/dot.js +16 -6
  953. package/esm/theme/builtin/common/series/dot.js.map +1 -1
  954. package/esm/theme/builtin/common/series/funnel.js +8 -4
  955. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  956. package/esm/theme/builtin/common/series/funnel3d.js +8 -4
  957. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  958. package/esm/theme/builtin/common/series/map.js +8 -4
  959. package/esm/theme/builtin/common/series/map.js.map +1 -1
  960. package/esm/theme/builtin/common/series/rangeColumn.js +1 -0
  961. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  962. package/esm/theme/builtin/common/series/sunburst.js +8 -4
  963. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  964. package/esm/theme/builtin/common/series/treemap.js +17 -7
  965. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  966. package/esm/theme/builtin/common/series/waterfall.js +8 -4
  967. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  968. package/esm/theme/builtin/index.js +4 -4
  969. package/esm/theme/builtin/index.js.map +1 -1
  970. package/esm/theme/builtin/light/index.js +7 -3
  971. package/esm/theme/builtin/light/index.js.map +1 -1
  972. package/esm/theme/interface.d.ts +3 -19
  973. package/esm/theme/interface.js.map +1 -1
  974. package/esm/theme/theme-manager.d.ts +1 -1
  975. package/esm/theme/theme-manager.js +2 -2
  976. package/esm/theme/theme-manager.js.map +1 -1
  977. package/esm/theme/token/builtin/default.d.ts +2 -0
  978. package/esm/theme/{builtin/common/constants.js → token/builtin/default.js} +3 -5
  979. package/esm/theme/token/builtin/default.js.map +1 -0
  980. package/esm/theme/token/builtin/index.d.ts +2 -0
  981. package/esm/theme/token/builtin/index.js +4 -0
  982. package/esm/theme/token/builtin/index.js.map +1 -0
  983. package/esm/theme/token/builtin/interface.d.ts +17 -0
  984. package/esm/theme/token/builtin/interface.js +2 -0
  985. package/esm/theme/token/builtin/interface.js.map +1 -0
  986. package/esm/theme/token/index.d.ts +3 -0
  987. package/esm/theme/token/index.js +6 -0
  988. package/esm/theme/token/index.js.map +1 -0
  989. package/esm/theme/token/interface.d.ts +6 -0
  990. package/esm/theme/token/interface.js +2 -0
  991. package/esm/theme/token/interface.js.map +1 -0
  992. package/esm/theme/token/util.d.ts +3 -0
  993. package/esm/theme/token/util.js +8 -0
  994. package/esm/theme/token/util.js.map +1 -0
  995. package/esm/typings/spec/common.d.ts +32 -22
  996. package/esm/typings/spec/common.js.map +1 -1
  997. package/esm/typings/tooltip/line.d.ts +5 -2
  998. package/esm/typings/tooltip/line.js.map +1 -1
  999. package/esm/typings/tooltip/position.d.ts +18 -24
  1000. package/esm/typings/tooltip/position.js +1 -15
  1001. package/esm/typings/tooltip/position.js.map +1 -1
  1002. package/esm/typings/tooltip/shape.d.ts +2 -2
  1003. package/esm/typings/tooltip/shape.js.map +1 -1
  1004. package/esm/typings/tooltip/tooltip.d.ts +8 -8
  1005. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1006. package/esm/typings/visual.d.ts +15 -11
  1007. package/esm/typings/visual.js.map +1 -1
  1008. package/esm/util/data.d.ts +2 -1
  1009. package/esm/util/data.js +12 -8
  1010. package/esm/util/data.js.map +1 -1
  1011. package/esm/util/index.d.ts +1 -2
  1012. package/esm/util/index.js +1 -3
  1013. package/esm/util/index.js.map +1 -1
  1014. package/esm/util/spec/common.d.ts +0 -2
  1015. package/esm/util/spec/common.js +0 -8
  1016. package/esm/util/spec/common.js.map +1 -1
  1017. package/esm/util/spec/index.d.ts +2 -2
  1018. package/esm/util/spec/index.js +2 -2
  1019. package/esm/util/spec/index.js.map +1 -1
  1020. package/esm/util/text.js +4 -4
  1021. package/esm/util/text.js.map +1 -1
  1022. package/esm/util/theme/common.d.ts +2 -0
  1023. package/esm/util/theme/common.js +8 -0
  1024. package/esm/util/theme/common.js.map +1 -0
  1025. package/esm/util/theme/index.d.ts +3 -0
  1026. package/esm/util/theme/index.js +6 -0
  1027. package/esm/util/theme/index.js.map +1 -0
  1028. package/esm/util/{spec → theme}/merge-theme.js +3 -1
  1029. package/esm/util/theme/merge-theme.js.map +1 -0
  1030. package/esm/util/{spec → theme}/preprocess.d.ts +2 -1
  1031. package/esm/util/theme/preprocess.js +18 -0
  1032. package/esm/util/theme/preprocess.js.map +1 -0
  1033. package/esm/vchart-all.js +4 -2
  1034. package/esm/vchart-all.js.map +1 -1
  1035. package/esm/vchart-simple.js +1 -1
  1036. package/esm/vchart-simple.js.map +1 -1
  1037. package/package.json +18 -18
  1038. package/cjs/component/axis/cartesian/util/time.d.ts +0 -80
  1039. package/cjs/component/axis/cartesian/util/time.js +0 -204
  1040. package/cjs/component/axis/cartesian/util/time.js.map +0 -1
  1041. package/cjs/component/crosshair/util.js.map +0 -1
  1042. package/cjs/data/transforms/treemap.d.ts +0 -11
  1043. package/cjs/data/transforms/treemap.js +0 -15
  1044. package/cjs/data/transforms/treemap.js.map +0 -1
  1045. package/cjs/mark/progress-arc.d.ts +0 -14
  1046. package/cjs/mark/progress-arc.js +0 -55
  1047. package/cjs/mark/progress-arc.js.map +0 -1
  1048. package/cjs/theme/builtin/common/constants.d.ts +0 -2
  1049. package/cjs/theme/builtin/common/constants.js.map +0 -1
  1050. package/cjs/util/spec/merge-theme.js.map +0 -1
  1051. package/cjs/util/spec/preprocess.js.map +0 -1
  1052. package/esm/component/axis/cartesian/util/time.d.ts +0 -80
  1053. package/esm/component/axis/cartesian/util/time.js +0 -196
  1054. package/esm/component/axis/cartesian/util/time.js.map +0 -1
  1055. package/esm/component/crosshair/util.js.map +0 -1
  1056. package/esm/data/transforms/treemap.d.ts +0 -11
  1057. package/esm/data/transforms/treemap.js +0 -9
  1058. package/esm/data/transforms/treemap.js.map +0 -1
  1059. package/esm/mark/progress-arc.d.ts +0 -14
  1060. package/esm/mark/progress-arc.js +0 -47
  1061. package/esm/mark/progress-arc.js.map +0 -1
  1062. package/esm/theme/builtin/common/constants.d.ts +0 -2
  1063. package/esm/theme/builtin/common/constants.js.map +0 -1
  1064. package/esm/util/spec/merge-theme.js.map +0 -1
  1065. package/esm/util/spec/preprocess.js +0 -15
  1066. package/esm/util/spec/preprocess.js.map +0 -1
  1067. /package/cjs/util/{spec → theme}/merge-theme.d.ts +0 -0
  1068. /package/esm/util/{spec → theme}/merge-theme.d.ts +0 -0
@@ -2,55 +2,63 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getComponentThemeFromGlobalTheme = void 0;
5
+ }), exports.getComponentThemeWithDirection = exports.getComponentThemeFromGlobalTheme = void 0;
6
6
 
7
- const common_1 = require("../axis/cartesian/util/common"), util_1 = require("../axis/util"), util_2 = require("../crosshair/util"), util_3 = require("../data-zoom/util"), type_1 = require("../interface/type"), util_4 = require("../legend/util"), util_5 = require("../util");
7
+ const util_1 = require("../../util"), common_1 = require("../axis/cartesian/util/common"), util_2 = require("../axis/util"), utils_1 = require("../crosshair/utils"), type_1 = require("../interface/type"), util_3 = require("../util");
8
8
 
9
9
  function getComponentThemeFromGlobalTheme(type, chartTheme, componentSpec, chartSpec) {
10
10
  switch (type) {
11
11
  case type_1.ComponentTypeEnum.cartesianBandAxis:
12
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "band", chartTheme);
12
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "band", chartTheme);
13
13
 
14
14
  case type_1.ComponentTypeEnum.cartesianLinearAxis:
15
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "linear", chartTheme);
15
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "linear", chartTheme);
16
16
 
17
17
  case type_1.ComponentTypeEnum.cartesianLogAxis:
18
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "log", chartTheme);
18
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "log", chartTheme);
19
19
 
20
20
  case type_1.ComponentTypeEnum.cartesianSymlogAxis:
21
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "symlog", chartTheme);
21
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "symlog", chartTheme);
22
22
 
23
23
  case type_1.ComponentTypeEnum.cartesianAxis:
24
24
  case type_1.ComponentTypeEnum.cartesianTimeAxis:
25
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec), void 0, chartTheme);
25
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec), void 0, chartTheme);
26
26
 
27
27
  case type_1.ComponentTypeEnum.polarBandAxis:
28
- return (0, util_1.getPolarAxisTheme)(componentSpec.orient, "band", chartTheme);
28
+ return (0, util_2.getPolarAxisTheme)(componentSpec.orient, "band", chartTheme);
29
29
 
30
30
  case type_1.ComponentTypeEnum.polarLinearAxis:
31
- return (0, util_1.getPolarAxisTheme)(componentSpec.orient, "linear", chartTheme);
31
+ return (0, util_2.getPolarAxisTheme)(componentSpec.orient, "linear", chartTheme);
32
32
 
33
33
  case type_1.ComponentTypeEnum.polarAxis:
34
- return (0, util_1.getPolarAxisTheme)(componentSpec.orient, void 0, chartTheme);
34
+ return (0, util_2.getPolarAxisTheme)(componentSpec.orient, void 0, chartTheme);
35
35
 
36
36
  case type_1.ComponentTypeEnum.cartesianCrosshair:
37
- return (0, util_2.getCartesianCrosshairTheme)(chartTheme, chartSpec);
37
+ return (0, utils_1.getCartesianCrosshairTheme)(chartTheme, chartSpec);
38
38
 
39
39
  case type_1.ComponentTypeEnum.polarCrosshair:
40
- return (0, util_2.getPolarCrosshairTheme)(chartTheme, chartSpec);
40
+ return (0, utils_1.getPolarCrosshairTheme)(chartTheme, chartSpec);
41
41
 
42
42
  case type_1.ComponentTypeEnum.colorLegend:
43
43
  case type_1.ComponentTypeEnum.sizeLegend:
44
- return (0, util_5.getComponentThemeFromOption)(`${type}.${(0, util_4.getLayout)(componentSpec)}`, chartTheme);
45
-
44
+ case type_1.ComponentTypeEnum.discreteLegend:
46
45
  case type_1.ComponentTypeEnum.dataZoom:
47
46
  case type_1.ComponentTypeEnum.scrollBar:
48
- return (0, util_3.getDataFilterTheme)((0, common_1.getOrient)(componentSpec), type, chartTheme);
47
+ return (0, exports.getComponentThemeWithDirection)(componentSpec, (0, util_3.getComponentThemeFromOption)(type, chartTheme));
49
48
 
50
49
  default:
51
- return (0, util_5.getComponentThemeFromOption)(type, chartTheme);
50
+ return (0, util_3.getComponentThemeFromOption)(type, chartTheme);
52
51
  }
53
52
  }
54
53
 
55
54
  exports.getComponentThemeFromGlobalTheme = getComponentThemeFromGlobalTheme;
55
+
56
+ const getComponentThemeWithDirection = (componentSpec, originalTheme) => {
57
+ var _a;
58
+ const orient = null !== (_a = componentSpec.orient) && void 0 !== _a ? _a : originalTheme.orient, directionTheme = originalTheme[(0,
59
+ common_1.getDirectionByOrient)(orient)], finalTheme = (0, util_1.mergeSpec)({}, originalTheme, directionTheme);
60
+ return delete finalTheme.horizontal, delete finalTheme.vertical, finalTheme;
61
+ };
62
+
63
+ exports.getComponentThemeWithDirection = getComponentThemeWithDirection;
56
64
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/util.ts"],"names":[],"mappings":";;;AACA,0DAA0D;AAC1D,uCAAwE;AACxE,4CAAuF;AACvF,4CAAuD;AACvD,4CAAsD;AACtD,yCAA2C;AAC3C,kCAAsD;AAEtD,SAAgB,gCAAgC,CAC9C,IAAuB,EACvB,UAAkB,EAClB,aAAkB,EAClB,SAAc;IAEd,QAAQ,IAAI,EAAE;QACZ,KAAK,wBAAiB,CAAC,iBAAiB;YACtC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpF,KAAK,wBAAiB,CAAC,mBAAmB;YACxC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,wBAAiB,CAAC,gBAAgB;YACrC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnF,KAAK,wBAAiB,CAAC,mBAAmB;YACxC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,wBAAiB,CAAC,aAAa,CAAC;QACrC,KAAK,wBAAiB,CAAC,iBAAiB;YACtC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAChF,KAAK,wBAAiB,CAAC,aAAa;YAClC,OAAO,IAAA,wBAAiB,EAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACrE,KAAK,wBAAiB,CAAC,eAAe;YACpC,OAAO,IAAA,wBAAiB,EAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvE,KAAK,wBAAiB,CAAC,SAAS;YAC9B,OAAO,IAAA,wBAAiB,EAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxE,KAAK,wBAAiB,CAAC,kBAAkB;YACvC,OAAO,IAAA,iCAA0B,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,KAAK,wBAAiB,CAAC,cAAc;YACnC,OAAO,IAAA,6BAAsB,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACvD,KAAK,wBAAiB,CAAC,WAAW,CAAC;QACnC,KAAK,wBAAiB,CAAC,UAAU;YAC/B,OAAO,IAAA,kCAA2B,EAAC,GAAG,IAAI,IAAI,IAAA,gBAAS,EAAC,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACxF,KAAK,wBAAiB,CAAC,QAAQ,CAAC;QAChC,KAAK,wBAAiB,CAAC,SAAS;YAC9B,OAAO,IAAA,yBAAkB,EAAC,IAAA,kBAAS,EAAC,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACxE;YACE,OAAO,IAAA,kCAA2B,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACxD;AACH,CAAC;AArCD,4EAqCC","file":"util.js","sourcesContent":["import type { ITheme } from '../../theme';\nimport { getOrient } from '../axis/cartesian/util/common';\nimport { getCartesianAxisTheme, getPolarAxisTheme } from '../axis/util';\nimport { getCartesianCrosshairTheme, getPolarCrosshairTheme } from '../crosshair/util';\nimport { getDataFilterTheme } from '../data-zoom/util';\nimport { ComponentTypeEnum } from '../interface/type';\nimport { getLayout } from '../legend/util';\nimport { getComponentThemeFromOption } from '../util';\n\nexport function getComponentThemeFromGlobalTheme(\n type: ComponentTypeEnum,\n chartTheme: ITheme,\n componentSpec: any,\n chartSpec: any\n) {\n switch (type) {\n case ComponentTypeEnum.cartesianBandAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'band', chartTheme);\n case ComponentTypeEnum.cartesianLinearAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'linear', chartTheme);\n case ComponentTypeEnum.cartesianLogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'log', chartTheme);\n case ComponentTypeEnum.cartesianSymlogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'symlog', chartTheme);\n case ComponentTypeEnum.cartesianAxis:\n case ComponentTypeEnum.cartesianTimeAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), undefined, chartTheme);\n case ComponentTypeEnum.polarBandAxis:\n return getPolarAxisTheme(componentSpec.orient, 'band', chartTheme);\n case ComponentTypeEnum.polarLinearAxis:\n return getPolarAxisTheme(componentSpec.orient, 'linear', chartTheme);\n case ComponentTypeEnum.polarAxis:\n return getPolarAxisTheme(componentSpec.orient, undefined, chartTheme);\n case ComponentTypeEnum.cartesianCrosshair:\n return getCartesianCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.polarCrosshair:\n return getPolarCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.colorLegend:\n case ComponentTypeEnum.sizeLegend:\n return getComponentThemeFromOption(`${type}.${getLayout(componentSpec)}`, chartTheme);\n case ComponentTypeEnum.dataZoom:\n case ComponentTypeEnum.scrollBar:\n return getDataFilterTheme(getOrient(componentSpec), type, chartTheme);\n default:\n return getComponentThemeFromOption(type, chartTheme);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { ITheme } from '../../theme';\nimport { Direction, type IOrientType } from '../../typings';\nimport { mergeSpec } from '../../util';\nimport { getDirectionByOrient, getOrient } from '../axis/cartesian/util/common';\nimport { getCartesianAxisTheme, getPolarAxisTheme } from '../axis/util';\nimport { getCartesianCrosshairTheme, getPolarCrosshairTheme } from '../crosshair/utils';\nimport type { ComponentThemeWithDirection } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport { getComponentThemeFromOption } from '../util';\n\nexport function getComponentThemeFromGlobalTheme(\n type: ComponentTypeEnum,\n chartTheme: ITheme,\n componentSpec: any,\n chartSpec: any\n) {\n switch (type) {\n case ComponentTypeEnum.cartesianBandAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'band', chartTheme);\n case ComponentTypeEnum.cartesianLinearAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'linear', chartTheme);\n case ComponentTypeEnum.cartesianLogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'log', chartTheme);\n case ComponentTypeEnum.cartesianSymlogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'symlog', chartTheme);\n case ComponentTypeEnum.cartesianAxis:\n case ComponentTypeEnum.cartesianTimeAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), undefined, chartTheme);\n case ComponentTypeEnum.polarBandAxis:\n return getPolarAxisTheme(componentSpec.orient, 'band', chartTheme);\n case ComponentTypeEnum.polarLinearAxis:\n return getPolarAxisTheme(componentSpec.orient, 'linear', chartTheme);\n case ComponentTypeEnum.polarAxis:\n return getPolarAxisTheme(componentSpec.orient, undefined, chartTheme);\n case ComponentTypeEnum.cartesianCrosshair:\n return getCartesianCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.polarCrosshair:\n return getPolarCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.colorLegend:\n case ComponentTypeEnum.sizeLegend:\n case ComponentTypeEnum.discreteLegend:\n case ComponentTypeEnum.dataZoom:\n case ComponentTypeEnum.scrollBar:\n return getComponentThemeWithDirection(componentSpec, getComponentThemeFromOption(type, chartTheme));\n default:\n return getComponentThemeFromOption(type, chartTheme);\n }\n}\n\nexport const getComponentThemeWithDirection = <T>(\n componentSpec: { orient?: IOrientType },\n originalTheme: ComponentThemeWithDirection<T>\n): T => {\n const orient = componentSpec.orient ?? originalTheme.orient;\n const directionTheme = originalTheme[getDirectionByOrient(orient)];\n const finalTheme = mergeSpec({}, originalTheme, directionTheme);\n\n delete finalTheme[Direction.horizontal];\n delete finalTheme[Direction.vertical];\n return finalTheme;\n};\n"]}
@@ -40,7 +40,6 @@ export declare class Brush<T extends IBrushSpec = IBrushSpec> extends BaseCompon
40
40
  private _needInitOutState;
41
41
  private _cacheInteractiveRangeAttrs;
42
42
  private _needDisablePickable;
43
- private _relatedDataZooms;
44
43
  init(): void;
45
44
  static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
46
45
  created(): void;
@@ -61,10 +60,8 @@ export declare class Brush<T extends IBrushSpec = IBrushSpec> extends BaseCompon
61
60
  private _reconfigItem;
62
61
  private _reconfigLinkedItem;
63
62
  private _isBrushContainItem;
64
- private _setDataZoomState;
65
63
  protected _bindRegions(): void;
66
64
  protected _bindLinkedSeries(): void;
67
- private _bindDataZoom;
68
65
  private _initNeedOperatedItem;
69
66
  protected _initMarkBrushState(componentIndex: number, stateName: string): void;
70
67
  protected initEvent(): void;
@@ -12,8 +12,7 @@ class Brush extends base_component_1.BaseComponent {
12
12
  this.name = type_1.ComponentTypeEnum.brush, this.specKey = "brush", this.layoutZIndex = constant_1.LayoutZIndex.Brush,
13
13
  this._linkedSeries = [], this._itemMap = {}, this._linkedItemMap = {}, this._inBrushElementsMap = {},
14
14
  this._outOfBrushElementsMap = {}, this._linkedInBrushElementsMap = {}, this._linkedOutOfBrushElementsMap = {},
15
- this._needInitOutState = !0, this._cacheInteractiveRangeAttrs = [], this._needDisablePickable = !1,
16
- this._relatedDataZooms = [];
15
+ this._needInitOutState = !0, this._cacheInteractiveRangeAttrs = [], this._needDisablePickable = !1;
17
16
  }
18
17
  init() {
19
18
  const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec.inBrush), outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec.outOfBrush);
@@ -35,13 +34,11 @@ class Brush extends base_component_1.BaseComponent {
35
34
  }
36
35
  created() {
37
36
  super.created(), this.initEvent(), this._bindRegions(), this._bindLinkedSeries(),
38
- this._bindDataZoom(), this._initNeedOperatedItem();
37
+ this._initNeedOperatedItem();
39
38
  }
40
39
  _extendDataInBrush(elementsMap) {
41
40
  const data = [];
42
- for (const brushName in elementsMap) for (const elementKey in elementsMap[brushName]) data.push(Object.assign(Object.assign({}, elementsMap[brushName][elementKey].data[0]), {
43
- getSeries: elementsMap[brushName][elementKey].getSeries
44
- }));
41
+ for (const brushName in elementsMap) for (const elementKey in elementsMap[brushName]) data.push(elementsMap[brushName][elementKey].data[0]);
45
42
  return data;
46
43
  }
47
44
  _extendDatumOutOfBrush(elementsMap) {
@@ -93,12 +90,8 @@ class Brush extends base_component_1.BaseComponent {
93
90
  this._handleBrushChange(constant_1.ChartEvent.brushChange, region, e), this._handleBrushChange(constant_1.ChartEvent.brushClear, region, e);
94
91
  })), brush.addEventListener(vrender_components_1.IOperateType.drawEnd, (e => {
95
92
  this._needInitOutState = !0, this._needDisablePickable = !1, this._handleBrushChange(constant_1.ChartEvent.brushEnd, region, e);
96
- const {operateMask: operateMask} = e.detail;
97
- this._setDataZoomState(operateMask, region);
98
93
  })), brush.addEventListener(vrender_components_1.IOperateType.moveEnd, (e => {
99
94
  this._handleBrushChange(constant_1.ChartEvent.brushEnd, region, e);
100
- const {operateMask: operateMask} = e.detail;
101
- this._setDataZoomState(operateMask, region);
102
95
  }));
103
96
  }
104
97
  _handleBrushChange(eventType, region, e) {
@@ -137,7 +130,6 @@ class Brush extends base_component_1.BaseComponent {
137
130
  if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) return;
138
131
  grammarMark.elements.forEach((el => {
139
132
  var _a, _b, _c;
140
- el.getSeries = mark.getSeries;
141
133
  const graphicItem = el.getGraphicItem(), elementKey = mark.id + "_" + el.key;
142
134
  (null === (_a = this._outOfBrushElementsMap) || void 0 === _a ? void 0 : _a[elementKey]) && this._isBrushContainItem(operateMask, graphicItem) ? (el.addState("inBrush"),
143
135
  this._inBrushElementsMap[null == operateMask ? void 0 : operateMask.name] || (this._inBrushElementsMap[null == operateMask ? void 0 : operateMask.name] = {}),
@@ -219,19 +211,6 @@ class Brush extends base_component_1.BaseComponent {
219
211
  }
220
212
  return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);
221
213
  }
222
- _setDataZoomState(operateMask, region) {
223
- var _a;
224
- const hDataZooms = this._relatedDataZooms.filter((d => d.isHorizontal)), vDataZooms = this._relatedDataZooms.filter((d => !d.isHorizontal)), {x1: x1, x2: x2, y1: y1, y2: y2} = operateMask.AABBBounds, inBrushDataXValue = this._extendDataInBrush(this._inBrushElementsMap).map((item => item[(0,
225
- vutils_1.array)(item.getSeries().getSpec().xField)[0]])), inBrushDataYValue = this._extendDataInBrush(this._inBrushElementsMap).map((item => item[(0,
226
- vutils_1.array)(item.getSeries().getSpec().yField)[0]])), range = null !== (_a = this._spec.dataZoomRangeExpand) && void 0 !== _a ? _a : .05;
227
- hDataZooms.forEach((hd => {
228
- const startValue = hd.relatedAxisComponent ? Math.min(...inBrushDataXValue) - range : hd.relatedAxisComponent.getScale().invert(x1 - region.getLayoutStartPoint().x), endValue = hd.relatedAxisComponent ? Math.max(...inBrushDataXValue) + range : hd.relatedAxisComponent.getScale().invert(x2 - region.getLayoutStartPoint().x);
229
- hd.setStartAndEnd(startValue, endValue, [ "value", "value" ]);
230
- })), vDataZooms.forEach((vd => {
231
- const startValue = vd.relatedAxisComponent ? Math.min(...inBrushDataYValue) - range : vd.relatedAxisComponent.getScale().invert(y1 - region.getLayoutStartPoint().y), endValue = vd.relatedAxisComponent ? Math.max(...inBrushDataYValue) + range : vd.relatedAxisComponent.getScale().invert(y2 - region.getLayoutStartPoint().y);
232
- vd.setStartAndEnd(startValue, endValue, [ "value", "value" ]);
233
- }));
234
- }
235
214
  _bindRegions() {
236
215
  (0, vutils_1.isValid)(this._spec.regionId) && (0, vutils_1.isValid)(this._spec.regionIndex) && (this._relativeRegions = this._option.getAllRegions()),
237
216
  this._relativeRegions = this._option.getRegionsInUserIdOrIndex((0, vutils_1.array)(this._spec.regionId), (0,
@@ -241,21 +220,14 @@ class Brush extends base_component_1.BaseComponent {
241
220
  (0, vutils_1.isValid)(this._spec.brushLinkSeriesId) && (0, vutils_1.isValid)(this._spec.brushLinkSeriesIndex) || (this._linkedSeries = this._option.getSeriesInUserIdOrIndex((0,
242
221
  vutils_1.array)(this._spec.brushLinkSeriesId), (0, vutils_1.array)(this._spec.brushLinkSeriesIndex)));
243
222
  }
244
- _bindDataZoom() {
245
- this._spec.dataZoomId && (0, vutils_1.array)(this._spec.dataZoomId).forEach((dataZoomId => {
246
- this._relatedDataZooms.push(this._option.getComponentByUserId(dataZoomId));
247
- })), this._spec.dataZoomIndex && (0, vutils_1.array)(this._spec.dataZoomIndex).forEach((dataZoomIndex => {
248
- this._relatedDataZooms.push(this._option.getComponentByIndex("dataZoom", dataZoomIndex));
249
- }));
250
- }
251
223
  _initNeedOperatedItem() {
252
224
  const seriesUserId = this._spec.seriesId, seriesIndex = this._spec.seriesIndex;
253
225
  this._relativeRegions.forEach((r => {
254
226
  const allMarks = [];
255
227
  r.getSeries().forEach((s => {
256
228
  (seriesUserId && (0, vutils_1.array)(seriesUserId).includes(s.userId.toString()) || seriesIndex && (0,
257
- vutils_1.array)(seriesIndex).includes(s.getSpecIndex()) || !seriesIndex && !seriesUserId) && allMarks.push(...s.getMarksWithoutRoot().map((mark => (mark.getSeries = () => s,
258
- mark)))), this._itemMap[r.id] = allMarks;
229
+ vutils_1.array)(seriesIndex).includes(s.getSpecIndex()) || !seriesIndex && !seriesUserId) && allMarks.push(...s.getMarksWithoutRoot()),
230
+ this._itemMap[r.id] = allMarks;
259
231
  }));
260
232
  })), this._linkedSeries.forEach((s => {
261
233
  this._linkedItemMap[s.id] = s.getMarksWithoutRoot();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/brush/brush.ts"],"names":[],"mappings":"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","file":"brush.js","sourcesContent":["import { AttributeLevel, ChartEvent, LayoutZIndex } from '../../constant';\nimport { BaseComponent } from '../base/base-component';\nimport type { IComponent, IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { Brush as BrushComponent, IOperateType as BrushEvent } from '@visactor/vrender-components';\nimport type { IBounds, IPointLike, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isNil, polygonIntersectPolygon, isValid } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type {\n IGraphic,\n IGroup,\n INode,\n IPolygon,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute\n} from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport type { ISeries } from '../../series/interface';\nimport type { IMark } from '../../mark/interface';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { BrushInteractiveRangeAttr, IBrush, IBrushSpec, selectedItemStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { DataZoom } from '../data-zoom';\nimport { isHorizontal } from '../player/utils/orient';\nimport type { IAxis } from '../axis/interface/common';\n\nconst IN_BRUSH_STATE = 'inBrush';\nconst OUT_BRUSH_STATE = 'outOfBrush';\n\nexport class Brush<T extends IBrushSpec = IBrushSpec> extends BaseComponent<T> implements IBrush {\n layoutType: 'none' = 'none';\n static type = ComponentTypeEnum.brush;\n type = ComponentTypeEnum.brush;\n name: string = ComponentTypeEnum.brush;\n\n static specKey = 'brush';\n specKey = 'brush';\n\n layoutZIndex: number = LayoutZIndex.Brush;\n\n // brush组件\n protected _brushComponents!: BrushComponent[];\n protected _relativeRegions!: IRegion[];\n protected _linkedSeries: ISeries[] = [];\n\n private _itemMap: { [regionId: string | number]: IMark[] } = {};\n private _linkedItemMap: { [seriesId: string | number]: IMark[] } = {};\n\n // 用brushName做分组管理的原因是: 如果有多个brush, 某个图元A brush内, 但在B brush外, 该图元state会被B误变成out of brush。 但其实该图元只有在A brush外才能被判断out of brush\n // 用dict做存储因为方便查找和删减对应图元\n protected _inBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _outOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n protected _linkedInBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _linkedOutOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n\n private _needInitOutState: boolean = true;\n private _cacheInteractiveRangeAttrs: BrushInteractiveRangeAttr[] = [];\n\n private _needDisablePickable: boolean = false;\n\n private _relatedDataZooms: DataZoom[] = [];\n\n init() {\n const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec.inBrush);\n const outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec.outOfBrush);\n // 写入mark state, 便于后续state管理\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getActiveMarks().forEach((m: IMark) => {\n if (m) {\n s.setMarkStyle(\n m,\n {\n ...inBrushMarkAttr\n },\n IN_BRUSH_STATE,\n AttributeLevel.Series\n );\n s.setMarkStyle(\n m,\n {\n ...outOfBrushMarkAttr\n },\n OUT_BRUSH_STATE,\n AttributeLevel.Series\n );\n }\n });\n });\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const brushSpec = chartSpec[this.specKey];\n // brush不支持数组的形式配置\n if (isNil(brushSpec) || brushSpec.visible === false) {\n return undefined;\n }\n return [\n {\n spec: brushSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.brush\n }\n ];\n }\n\n created() {\n super.created();\n\n // event\n this.initEvent();\n this._bindRegions();\n this._bindLinkedSeries();\n this._bindDataZoom();\n this._initNeedOperatedItem();\n }\n\n protected _extendDataInBrush(elementsMap: { [brushName: string]: { [elementKey: string]: IElement } }) {\n const data = [];\n for (const brushName in elementsMap) {\n for (const elementKey in elementsMap[brushName]) {\n data.push({\n ...elementsMap[brushName][elementKey].data[0],\n getSeries: (elementsMap[brushName][elementKey] as any).getSeries // 将series info写入element, 更新dataZoom范围时需要使用\n });\n }\n }\n return data;\n }\n\n protected _extendDatumOutOfBrush(elementsMap: { [elementKey: string]: IElement }) {\n const data = [];\n for (const elementKey in elementsMap) {\n data.push(elementsMap[elementKey].data[0]);\n }\n return data;\n }\n\n protected _getBrushInteractiveAttr(region: IRegion) {\n const regionLayoutPosition = region.getLayoutStartPoint();\n const regionLayoutRect = region.getLayoutRect();\n const seriesRegionStartX = regionLayoutPosition.x;\n const seriesRegionEndX = seriesRegionStartX + regionLayoutRect.width;\n const seriesRegionStartY = regionLayoutPosition.y;\n const seriesRegionEndY = seriesRegionStartY + regionLayoutRect.height;\n return {\n interactiveRange: {\n minY: seriesRegionStartY,\n maxY: seriesRegionEndY,\n minX: seriesRegionStartX,\n maxX: seriesRegionEndX\n },\n xRange: [seriesRegionStartX, seriesRegionEndX],\n yRange: [seriesRegionStartY, seriesRegionEndY]\n } as BrushInteractiveRangeAttr;\n }\n\n protected _updateBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n // 布局变化后, 更新可交互范围\n const brushComponent = this._brushComponents[componentIndex];\n brushComponent.setAttributes(interactiveAttr as any);\n\n // 布局变化后, 更新brush 和 图元状态\n // 方案一:\n // TODO: 更新mask位置(保持选框在画布中的相对位置)\n // TODO: 是否更新mask大小有待商榷(保持选框位置和图元高亮区域一致)\n\n // 方案二: 清空brushMask 和 图元高亮状态\n this._initMarkBrushState(componentIndex, '');\n brushComponent.children[0].removeAllChild();\n this._needInitOutState = true;\n }\n\n protected _createBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n const brush = new BrushComponent({\n zIndex: this.layoutZIndex,\n brushStyle: transformToGraphic(this._spec?.style),\n ...interactiveAttr,\n ...this._spec,\n disableTriggerEvent: this._option.disableTriggerEvent\n });\n brush.id = this._spec.id ?? `brush-${this.id}`;\n this.getContainer().add(brush as unknown as INode);\n const { brushMode = 'single' } = this._spec;\n this._brushComponents.push(brush);\n this._cacheInteractiveRangeAttrs.push(interactiveAttr);\n\n brush.addEventListener(BrushEvent.drawStart, (e: any) => {\n this._emitEvent(ChartEvent.brushStart, region);\n });\n\n brush.addEventListener(BrushEvent.moveStart, (e: any) => {\n this._emitEvent(ChartEvent.brushStart, region);\n });\n\n brush.addEventListener(BrushEvent.drawing, (e: any) => {\n // 需要重置out状态的情况:\n // _needInitOutState:框选模式为'single' 且 开始后的第一次drawing时(这里不选择drawStart而选择第一次触发drawing的时机是因为点击空白处也会触发drawStart), 需要重置图元状态\n if (this._needInitOutState && brushMode === 'single') {\n this._initMarkBrushState(componentIndex, OUT_BRUSH_STATE);\n }\n this._needInitOutState = false;\n this._needDisablePickable = true;\n\n this._handleBrushChange(ChartEvent.brushChange, region, e);\n });\n\n brush.addEventListener(BrushEvent.moving, (e: any) => {\n this._handleBrushChange(ChartEvent.brushChange, region, e);\n });\n\n brush.addEventListener(BrushEvent.brushClear, (e: any) => {\n this._initMarkBrushState(componentIndex, '');\n this._needInitOutState = true;\n this._needDisablePickable = false;\n this._handleBrushChange(ChartEvent.brushChange, region, e);\n this._handleBrushChange(ChartEvent.brushClear, region, e);\n });\n\n brush.addEventListener(BrushEvent.drawEnd, (e: any) => {\n this._needInitOutState = true;\n this._needDisablePickable = false;\n this._handleBrushChange(ChartEvent.brushEnd, region, e);\n const { operateMask } = e.detail as any;\n this._setDataZoomState(operateMask, region);\n });\n\n brush.addEventListener(BrushEvent.moveEnd, (e: any) => {\n this._handleBrushChange(ChartEvent.brushEnd, region, e);\n const { operateMask } = e.detail as any;\n this._setDataZoomState(operateMask, region);\n });\n }\n\n private _handleBrushChange(eventType: string, region: IRegion, e: any) {\n const { operateMask } = e.detail as any;\n this._reconfigItem(operateMask, region);\n this._reconfigLinkedItem(operateMask, region);\n\n this._emitEvent(eventType, region);\n }\n\n private _emitEvent(eventType: string, region: IRegion) {\n this.event.emit(eventType, {\n model: this,\n value: {\n // 操作类型\n operateType: eventType,\n // 正在操作的region\n operateRegion: region,\n // 在选框内的 element data\n inBrushData: this._extendDataInBrush(this._inBrushElementsMap),\n // 在选框外的 element data\n outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),\n // 被链接的系列中:在选框内的 element data\n linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),\n // 被链接的系列中:在选框外的 element data\n linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),\n // 在选框内的 vgrammar elements\n inBrushElementsMap: this._inBrushElementsMap,\n // 在选框外的 vgrammar elements\n outOfBrushElementsMap: this._outOfBrushElementsMap,\n // 被链接的系列中:在选框内的 vgrammar elements\n linkedInBrushElementsMap: this._linkedInBrushElementsMap,\n // 被链接的系列中:在选框外的 vgrammar elements\n linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap\n }\n });\n }\n\n private _transformBrushedMarkAttr(brushedStyle: selectedItemStyle) {\n const styleResult: any = {};\n if (brushedStyle?.symbol) {\n styleResult.symbolType = brushedStyle.symbol;\n }\n if (brushedStyle?.symbolSize) {\n styleResult.size = brushedStyle.symbolSize;\n }\n if (brushedStyle?.color) {\n styleResult.fill = brushedStyle.color;\n }\n if (brushedStyle?.colorAlpha) {\n styleResult.fillOpacity = brushedStyle.colorAlpha;\n }\n return {\n ...transformToGraphic(brushedStyle),\n ...styleResult\n };\n }\n\n private _reconfigItem(operateMask: IPolygon, region: IRegion) {\n // 遍历图元, 更新状态\n this._itemMap[region.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n (el as any).getSeries = (mark as any).getSeries;\n const graphicItem = el.getGraphicItem();\n const elementKey = mark.id + '_' + el.key;\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (this._outOfBrushElementsMap?.[elementKey] && this._isBrushContainItem(operateMask, graphicItem)) {\n el.addState(IN_BRUSH_STATE);\n if (!this._inBrushElementsMap[operateMask?.name]) {\n this._inBrushElementsMap[operateMask?.name] = {};\n }\n this._inBrushElementsMap[operateMask?.name][elementKey] = el;\n delete this._outOfBrushElementsMap[elementKey];\n } else if (\n this._inBrushElementsMap?.[operateMask?.name]?.[elementKey] &&\n !this._isBrushContainItem(operateMask, graphicItem)\n ) {\n el.removeState(IN_BRUSH_STATE);\n el.addState(OUT_BRUSH_STATE);\n this._outOfBrushElementsMap[elementKey] = el;\n delete this._inBrushElementsMap[operateMask.name][elementKey];\n }\n graphicItem.setAttribute('pickable', !this._needDisablePickable);\n });\n });\n }\n\n private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) {\n const regionLayoutPos = region.getLayoutStartPoint();\n const seriesId = region.getSeries().map(s => s.id);\n this._linkedSeries.forEach((s: ISeries) => {\n if (!seriesId.includes(s.id)) {\n const sRegionLayoutPos = s.getRegion().getLayoutStartPoint();\n\n const regionOffsetX = sRegionLayoutPos.x - regionLayoutPos.x;\n const regionOffsetY = sRegionLayoutPos.y - regionLayoutPos.y;\n\n this._linkedItemMap[s.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n const elementKey = mark.id + '_' + el.key;\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (\n this._linkedOutOfBrushElementsMap?.[elementKey] &&\n this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n el.addState(IN_BRUSH_STATE);\n if (!this._linkedInBrushElementsMap[operateMask?.name]) {\n this._linkedInBrushElementsMap[operateMask?.name] = {};\n }\n this._linkedInBrushElementsMap[operateMask?.name][elementKey] = el;\n delete this._linkedOutOfBrushElementsMap[elementKey];\n } else if (\n this._linkedInBrushElementsMap?.[operateMask?.name]?.[elementKey] &&\n !this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n el.removeState(IN_BRUSH_STATE);\n el.addState(OUT_BRUSH_STATE);\n this._linkedOutOfBrushElementsMap[elementKey] = el;\n }\n graphicItem.setAttribute('pickable', !this._needDisablePickable);\n });\n });\n }\n });\n }\n\n private _isBrushContainItem(brushMask: IPolygon, item: IGraphic, linkedOffset?: { dx: number; dy: number }) {\n if (!brushMask?.globalTransMatrix || !brushMask?.attribute?.points) {\n return false;\n }\n\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask?.attribute?.points ?? [];\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = linkedOffset?.dx || 0;\n const dy = linkedOffset?.dy || 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = item.globalTransMatrix.e;\n const y = item.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n let itemBounds: { x: number; y: number }[] = [];\n if (item.type === 'symbol') {\n const { size: itemSize = 0 } = item?.attribute as ISymbolGraphicAttribute;\n const size = array(itemSize)[0] / 2;\n itemBounds = [\n {\n x: x - size,\n y: y - size\n },\n {\n x: x + size,\n y: y - size\n },\n {\n x: x + size,\n y: y + size\n },\n {\n x: x - size,\n y: y + size\n }\n ];\n return polygonIntersectPolygon(pointsCoord, itemBounds);\n } else if (item.type === 'rect') {\n const { x1, x2, y1, y2 } = item?.AABBBounds;\n const width = Math.abs(x1 - x2);\n const height = Math.abs(y1 - y2);\n itemBounds = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, itemBounds);\n }\n return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);\n }\n\n private _setDataZoomState(operateMask: IPolygon, region: IRegion) {\n // step1: 找到横向 & 纵向 datazoom\n const hDataZooms: DataZoom[] = this._relatedDataZooms.filter((d: DataZoom) => d.isHorizontal);\n const vDataZooms: DataZoom[] = this._relatedDataZooms.filter((d: DataZoom) => !d.isHorizontal);\n\n // step2: 拿到brush bounds, 计算dataZoom新范围\n const { x1, x2, y1, y2 } = operateMask.AABBBounds;\n\n // step3: 拿到brushData, 计算dataZoom新范围\n const inBrushDataXValue = this._extendDataInBrush(this._inBrushElementsMap).map(\n item => item[array(item.getSeries().getSpec().xField)[0]]\n );\n const inBrushDataYValue = this._extendDataInBrush(this._inBrushElementsMap).map(\n item => item[array(item.getSeries().getSpec().yField)[0]]\n );\n\n const range = this._spec.dataZoomRangeExpand ?? 0.05;\n hDataZooms.forEach((hd: DataZoom) => {\n const startValue = !hd.relatedAxisComponent\n ? (hd.relatedAxisComponent as IAxis).getScale().invert(x1 - region.getLayoutStartPoint().x)\n : Math.min(...inBrushDataXValue) - range;\n const endValue = !hd.relatedAxisComponent\n ? (hd.relatedAxisComponent as IAxis).getScale().invert(x2 - region.getLayoutStartPoint().x)\n : Math.max(...inBrushDataXValue) + range;\n hd.setStartAndEnd(startValue, endValue, ['value', 'value']);\n });\n\n vDataZooms.forEach((vd: DataZoom) => {\n const startValue = !vd.relatedAxisComponent\n ? (vd.relatedAxisComponent as IAxis).getScale().invert(y1 - region.getLayoutStartPoint().y)\n : Math.min(...inBrushDataYValue) - range;\n const endValue = !vd.relatedAxisComponent\n ? (vd.relatedAxisComponent as IAxis).getScale().invert(y2 - region.getLayoutStartPoint().y)\n : Math.max(...inBrushDataYValue) + range;\n vd.setStartAndEnd(startValue, endValue, ['value', 'value']);\n });\n }\n\n protected _bindRegions() {\n if (isValid(this._spec.regionId) && isValid(this._spec.regionIndex)) {\n this._relativeRegions = this._option.getAllRegions();\n }\n this._relativeRegions = this._option.getRegionsInUserIdOrIndex(\n array(this._spec.regionId),\n array(this._spec.regionIndex)\n );\n }\n\n protected _bindLinkedSeries() {\n if (isValid(this._spec.brushLinkSeriesId) && isValid(this._spec.brushLinkSeriesIndex)) {\n return;\n }\n this._linkedSeries = this._option.getSeriesInUserIdOrIndex(\n array(this._spec.brushLinkSeriesId),\n array(this._spec.brushLinkSeriesIndex)\n );\n }\n\n private _bindDataZoom() {\n if (this._spec.dataZoomId) {\n array(this._spec.dataZoomId).forEach((dataZoomId: string) => {\n this._relatedDataZooms.push(this._option.getComponentByUserId(dataZoomId) as DataZoom);\n });\n }\n if (this._spec.dataZoomIndex) {\n array(this._spec.dataZoomIndex).forEach((dataZoomIndex: number) => {\n this._relatedDataZooms.push(this._option.getComponentByIndex('dataZoom', dataZoomIndex) as DataZoom);\n });\n }\n }\n\n private _initNeedOperatedItem() {\n const seriesUserId = this._spec.seriesId;\n const seriesIndex = this._spec.seriesIndex;\n this._relativeRegions.forEach(r => {\n const allMarks: IMark[] = [];\n r.getSeries().forEach((s: ISeries) => {\n if (\n (seriesUserId && array(seriesUserId).includes(s.userId.toString())) ||\n (seriesIndex && array(seriesIndex).includes(s.getSpecIndex())) ||\n (!seriesIndex && !seriesUserId)\n ) {\n // series系列info 写入mark, 便于进一步写入element\n allMarks.push(\n ...s.getMarksWithoutRoot().map(mark => {\n (mark as any).getSeries = () => s;\n return mark;\n })\n );\n }\n this._itemMap[r.id] = allMarks;\n });\n });\n\n this._linkedSeries.forEach(s => {\n this._linkedItemMap[s.id] = s.getMarksWithoutRoot();\n });\n }\n\n protected _initMarkBrushState(componentIndex: number, stateName: string) {\n this._brushComponents.forEach((brush, index) => {\n if (index !== componentIndex) {\n brush.children[0].removeAllChild();\n }\n });\n\n this._inBrushElementsMap = {};\n this._outOfBrushElementsMap = {};\n this._linkedInBrushElementsMap = {};\n this._linkedOutOfBrushElementsMap = {};\n\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getMarksWithoutRoot().forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const elementKey = mark.id + '_' + el.key;\n el.removeState(IN_BRUSH_STATE);\n el.removeState(OUT_BRUSH_STATE);\n el.addState(stateName);\n this._outOfBrushElementsMap[elementKey] = el;\n this._linkedOutOfBrushElementsMap[elementKey] = el;\n });\n });\n });\n }\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._brushComponents as unknown as IGroup[];\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n if (this._brushComponents) {\n // FIXME: 这个逻辑放在这个方法里不太妥当?\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._updateBrushComponent(region, index);\n });\n }\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n if (this._option.disableTriggerEvent) {\n return;\n }\n const brushVisible = this._spec.visible ?? true;\n if (brushVisible) {\n // 创建或更新marker组件\n if (!this._brushComponents) {\n this._brushComponents = [];\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._createBrushComponent(region, index);\n });\n } else {\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._updateBrushComponent(region, index);\n });\n }\n }\n }\n\n clearGraphic(): void {\n if (this._brushComponents) {\n this._brushComponents.forEach(brush => {\n (brush as any)._container.incrementalClearChild();\n });\n }\n }\n\n clear(): void {\n if (this._brushComponents) {\n this.getContainer()?.removeChild(this._brushComponents as unknown as INode);\n this._brushComponents.forEach(brush => {\n brush.removeAllChild();\n brush.releaseBrushEvents();\n });\n this._brushComponents = null;\n }\n super.clear();\n }\n}\n\nexport const registerBrush = () => {\n Factory.registerComponent(Brush.type, Brush);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/brush/brush.ts"],"names":[],"mappings":"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","file":"brush.js","sourcesContent":["import { AttributeLevel, ChartEvent, LayoutZIndex } from '../../constant';\nimport { BaseComponent } from '../base/base-component';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { Brush as BrushComponent, IOperateType as BrushEvent } from '@visactor/vrender-components';\nimport type { IBounds, IPointLike, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isNil, polygonIntersectPolygon, isValid } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type {\n IGraphic,\n IGroup,\n INode,\n IPolygon,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute\n} from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport type { ISeries } from '../../series/interface';\nimport type { IMark } from '../../mark/interface';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { BrushInteractiveRangeAttr, IBrush, IBrushSpec, selectedItemStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\n\nconst IN_BRUSH_STATE = 'inBrush';\nconst OUT_BRUSH_STATE = 'outOfBrush';\n\nexport class Brush<T extends IBrushSpec = IBrushSpec> extends BaseComponent<T> implements IBrush {\n layoutType: 'none' = 'none';\n static type = ComponentTypeEnum.brush;\n type = ComponentTypeEnum.brush;\n name: string = ComponentTypeEnum.brush;\n\n static specKey = 'brush';\n specKey = 'brush';\n\n layoutZIndex: number = LayoutZIndex.Brush;\n\n // brush组件\n protected _brushComponents!: BrushComponent[];\n protected _relativeRegions!: IRegion[];\n protected _linkedSeries: ISeries[] = [];\n\n private _itemMap: { [regionId: string | number]: IMark[] } = {};\n private _linkedItemMap: { [seriesId: string | number]: IMark[] } = {};\n\n // 用brushName做分组管理的原因是: 如果有多个brush, 某个图元A brush内, 但在B brush外, 该图元state会被B误变成out of brush。 但其实该图元只有在A brush外才能被判断out of brush\n // 用dict做存储因为方便查找和删减对应图元\n protected _inBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _outOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n protected _linkedInBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _linkedOutOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n\n private _needInitOutState: boolean = true;\n private _cacheInteractiveRangeAttrs: BrushInteractiveRangeAttr[] = [];\n\n private _needDisablePickable: boolean = false;\n\n init() {\n const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec.inBrush);\n const outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec.outOfBrush);\n // 写入mark state, 便于后续state管理\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getActiveMarks().forEach((m: IMark) => {\n if (m) {\n s.setMarkStyle(\n m,\n {\n ...inBrushMarkAttr\n },\n IN_BRUSH_STATE,\n AttributeLevel.Series\n );\n s.setMarkStyle(\n m,\n {\n ...outOfBrushMarkAttr\n },\n OUT_BRUSH_STATE,\n AttributeLevel.Series\n );\n }\n });\n });\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const brushSpec = chartSpec[this.specKey];\n // brush不支持数组的形式配置\n if (isNil(brushSpec) || brushSpec.visible === false) {\n return undefined;\n }\n return [\n {\n spec: brushSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.brush\n }\n ];\n }\n\n created() {\n super.created();\n\n // event\n this.initEvent();\n this._bindRegions();\n this._bindLinkedSeries();\n this._initNeedOperatedItem();\n }\n\n protected _extendDataInBrush(elementsMap: { [brushName: string]: { [elementKey: string]: IElement } }) {\n const data = [];\n for (const brushName in elementsMap) {\n for (const elementKey in elementsMap[brushName]) {\n data.push(elementsMap[brushName][elementKey].data[0]);\n }\n }\n return data;\n }\n\n protected _extendDatumOutOfBrush(elementsMap: { [elementKey: string]: IElement }) {\n const data = [];\n for (const elementKey in elementsMap) {\n data.push(elementsMap[elementKey].data[0]);\n }\n return data;\n }\n\n protected _getBrushInteractiveAttr(region: IRegion) {\n const regionLayoutPosition = region.getLayoutStartPoint();\n const regionLayoutRect = region.getLayoutRect();\n const seriesRegionStartX = regionLayoutPosition.x;\n const seriesRegionEndX = seriesRegionStartX + regionLayoutRect.width;\n const seriesRegionStartY = regionLayoutPosition.y;\n const seriesRegionEndY = seriesRegionStartY + regionLayoutRect.height;\n return {\n interactiveRange: {\n minY: seriesRegionStartY,\n maxY: seriesRegionEndY,\n minX: seriesRegionStartX,\n maxX: seriesRegionEndX\n },\n xRange: [seriesRegionStartX, seriesRegionEndX],\n yRange: [seriesRegionStartY, seriesRegionEndY]\n } as BrushInteractiveRangeAttr;\n }\n\n protected _updateBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n // 布局变化后, 更新可交互范围\n const brushComponent = this._brushComponents[componentIndex];\n brushComponent.setAttributes(interactiveAttr as any);\n\n // 布局变化后, 更新brush 和 图元状态\n // 方案一:\n // TODO: 更新mask位置(保持选框在画布中的相对位置)\n // TODO: 是否更新mask大小有待商榷(保持选框位置和图元高亮区域一致)\n\n // 方案二: 清空brushMask 和 图元高亮状态\n this._initMarkBrushState(componentIndex, '');\n brushComponent.children[0].removeAllChild();\n this._needInitOutState = true;\n }\n\n protected _createBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n const brush = new BrushComponent({\n zIndex: this.layoutZIndex,\n brushStyle: transformToGraphic(this._spec?.style),\n ...interactiveAttr,\n ...this._spec,\n disableTriggerEvent: this._option.disableTriggerEvent\n });\n brush.id = this._spec.id ?? `brush-${this.id}`;\n this.getContainer().add(brush as unknown as INode);\n const { brushMode = 'single' } = this._spec;\n this._brushComponents.push(brush);\n this._cacheInteractiveRangeAttrs.push(interactiveAttr);\n\n brush.addEventListener(BrushEvent.drawStart, (e: any) => {\n this._emitEvent(ChartEvent.brushStart, region);\n });\n\n brush.addEventListener(BrushEvent.moveStart, (e: any) => {\n this._emitEvent(ChartEvent.brushStart, region);\n });\n\n brush.addEventListener(BrushEvent.drawing, (e: any) => {\n // 需要重置out状态的情况:\n // _needInitOutState:框选模式为'single' 且 开始后的第一次drawing时(这里不选择drawStart而选择第一次触发drawing的时机是因为点击空白处也会触发drawStart), 需要重置图元状态\n if (this._needInitOutState && brushMode === 'single') {\n this._initMarkBrushState(componentIndex, OUT_BRUSH_STATE);\n }\n this._needInitOutState = false;\n this._needDisablePickable = true;\n\n this._handleBrushChange(ChartEvent.brushChange, region, e);\n });\n\n brush.addEventListener(BrushEvent.moving, (e: any) => {\n this._handleBrushChange(ChartEvent.brushChange, region, e);\n });\n\n brush.addEventListener(BrushEvent.brushClear, (e: any) => {\n this._initMarkBrushState(componentIndex, '');\n this._needInitOutState = true;\n this._needDisablePickable = false;\n this._handleBrushChange(ChartEvent.brushChange, region, e);\n this._handleBrushChange(ChartEvent.brushClear, region, e);\n });\n\n brush.addEventListener(BrushEvent.drawEnd, (e: any) => {\n this._needInitOutState = true;\n this._needDisablePickable = false;\n this._handleBrushChange(ChartEvent.brushEnd, region, e);\n });\n\n brush.addEventListener(BrushEvent.moveEnd, (e: any) => {\n this._handleBrushChange(ChartEvent.brushEnd, region, e);\n });\n }\n\n private _handleBrushChange(eventType: string, region: IRegion, e: any) {\n const { operateMask } = e.detail as any;\n this._reconfigItem(operateMask, region);\n this._reconfigLinkedItem(operateMask, region);\n\n this._emitEvent(eventType, region);\n }\n\n private _emitEvent(eventType: string, region: IRegion) {\n this.event.emit(eventType, {\n model: this,\n value: {\n // 操作类型\n operateType: eventType,\n // 正在操作的region\n operateRegion: region,\n // 在选框内的 element data\n inBrushData: this._extendDataInBrush(this._inBrushElementsMap),\n // 在选框外的 element data\n outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),\n // 被链接的系列中:在选框内的 element data\n linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),\n // 被链接的系列中:在选框外的 element data\n linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),\n // 在选框内的 vgrammar elements\n inBrushElementsMap: this._inBrushElementsMap,\n // 在选框外的 vgrammar elements\n outOfBrushElementsMap: this._outOfBrushElementsMap,\n // 被链接的系列中:在选框内的 vgrammar elements\n linkedInBrushElementsMap: this._linkedInBrushElementsMap,\n // 被链接的系列中:在选框外的 vgrammar elements\n linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap\n }\n });\n }\n\n private _transformBrushedMarkAttr(brushedStyle: selectedItemStyle) {\n const styleResult: any = {};\n if (brushedStyle?.symbol) {\n styleResult.symbolType = brushedStyle.symbol;\n }\n if (brushedStyle?.symbolSize) {\n styleResult.size = brushedStyle.symbolSize;\n }\n if (brushedStyle?.color) {\n styleResult.fill = brushedStyle.color;\n }\n if (brushedStyle?.colorAlpha) {\n styleResult.fillOpacity = brushedStyle.colorAlpha;\n }\n return {\n ...transformToGraphic(brushedStyle),\n ...styleResult\n };\n }\n\n private _reconfigItem(operateMask: IPolygon, region: IRegion) {\n // 遍历图元, 更新状态\n this._itemMap[region.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n const elementKey = mark.id + '_' + el.key;\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (this._outOfBrushElementsMap?.[elementKey] && this._isBrushContainItem(operateMask, graphicItem)) {\n el.addState(IN_BRUSH_STATE);\n if (!this._inBrushElementsMap[operateMask?.name]) {\n this._inBrushElementsMap[operateMask?.name] = {};\n }\n this._inBrushElementsMap[operateMask?.name][elementKey] = el;\n delete this._outOfBrushElementsMap[elementKey];\n } else if (\n this._inBrushElementsMap?.[operateMask?.name]?.[elementKey] &&\n !this._isBrushContainItem(operateMask, graphicItem)\n ) {\n el.removeState(IN_BRUSH_STATE);\n el.addState(OUT_BRUSH_STATE);\n this._outOfBrushElementsMap[elementKey] = el;\n delete this._inBrushElementsMap[operateMask.name][elementKey];\n }\n graphicItem.setAttribute('pickable', !this._needDisablePickable);\n });\n });\n }\n\n private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) {\n const regionLayoutPos = region.getLayoutStartPoint();\n const seriesId = region.getSeries().map(s => s.id);\n this._linkedSeries.forEach((s: ISeries) => {\n if (!seriesId.includes(s.id)) {\n const sRegionLayoutPos = s.getRegion().getLayoutStartPoint();\n\n const regionOffsetX = sRegionLayoutPos.x - regionLayoutPos.x;\n const regionOffsetY = sRegionLayoutPos.y - regionLayoutPos.y;\n\n this._linkedItemMap[s.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n const elementKey = mark.id + '_' + el.key;\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (\n this._linkedOutOfBrushElementsMap?.[elementKey] &&\n this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n el.addState(IN_BRUSH_STATE);\n if (!this._linkedInBrushElementsMap[operateMask?.name]) {\n this._linkedInBrushElementsMap[operateMask?.name] = {};\n }\n this._linkedInBrushElementsMap[operateMask?.name][elementKey] = el;\n delete this._linkedOutOfBrushElementsMap[elementKey];\n } else if (\n this._linkedInBrushElementsMap?.[operateMask?.name]?.[elementKey] &&\n !this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n el.removeState(IN_BRUSH_STATE);\n el.addState(OUT_BRUSH_STATE);\n this._linkedOutOfBrushElementsMap[elementKey] = el;\n }\n graphicItem.setAttribute('pickable', !this._needDisablePickable);\n });\n });\n }\n });\n }\n\n private _isBrushContainItem(brushMask: IPolygon, item: IGraphic, linkedOffset?: { dx: number; dy: number }) {\n if (!brushMask?.globalTransMatrix || !brushMask?.attribute?.points) {\n return false;\n }\n\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask?.attribute?.points ?? [];\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = linkedOffset?.dx || 0;\n const dy = linkedOffset?.dy || 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = item.globalTransMatrix.e;\n const y = item.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n let itemBounds: { x: number; y: number }[] = [];\n if (item.type === 'symbol') {\n const { size: itemSize = 0 } = item?.attribute as ISymbolGraphicAttribute;\n const size = array(itemSize)[0] / 2;\n itemBounds = [\n {\n x: x - size,\n y: y - size\n },\n {\n x: x + size,\n y: y - size\n },\n {\n x: x + size,\n y: y + size\n },\n {\n x: x - size,\n y: y + size\n }\n ];\n return polygonIntersectPolygon(pointsCoord, itemBounds);\n } else if (item.type === 'rect') {\n const { x1, x2, y1, y2 } = item?.AABBBounds;\n const width = Math.abs(x1 - x2);\n const height = Math.abs(y1 - y2);\n itemBounds = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, itemBounds);\n }\n return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);\n }\n\n protected _bindRegions() {\n if (isValid(this._spec.regionId) && isValid(this._spec.regionIndex)) {\n this._relativeRegions = this._option.getAllRegions();\n }\n this._relativeRegions = this._option.getRegionsInUserIdOrIndex(\n array(this._spec.regionId),\n array(this._spec.regionIndex)\n );\n }\n\n protected _bindLinkedSeries() {\n if (isValid(this._spec.brushLinkSeriesId) && isValid(this._spec.brushLinkSeriesIndex)) {\n return;\n }\n this._linkedSeries = this._option.getSeriesInUserIdOrIndex(\n array(this._spec.brushLinkSeriesId),\n array(this._spec.brushLinkSeriesIndex)\n );\n }\n\n private _initNeedOperatedItem() {\n const seriesUserId = this._spec.seriesId;\n const seriesIndex = this._spec.seriesIndex;\n this._relativeRegions.forEach(r => {\n const allMarks: IMark[] = [];\n r.getSeries().forEach((s: ISeries) => {\n if (\n (seriesUserId && array(seriesUserId).includes(s.userId.toString())) ||\n (seriesIndex && array(seriesIndex).includes(s.getSpecIndex())) ||\n (!seriesIndex && !seriesUserId)\n ) {\n allMarks.push(...s.getMarksWithoutRoot());\n }\n this._itemMap[r.id] = allMarks;\n });\n });\n\n this._linkedSeries.forEach(s => {\n this._linkedItemMap[s.id] = s.getMarksWithoutRoot();\n });\n }\n\n protected _initMarkBrushState(componentIndex: number, stateName: string) {\n this._brushComponents.forEach((brush, index) => {\n if (index !== componentIndex) {\n brush.children[0].removeAllChild();\n }\n });\n\n this._inBrushElementsMap = {};\n this._outOfBrushElementsMap = {};\n this._linkedInBrushElementsMap = {};\n this._linkedOutOfBrushElementsMap = {};\n\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getMarksWithoutRoot().forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const elementKey = mark.id + '_' + el.key;\n el.removeState(IN_BRUSH_STATE);\n el.removeState(OUT_BRUSH_STATE);\n el.addState(stateName);\n this._outOfBrushElementsMap[elementKey] = el;\n this._linkedOutOfBrushElementsMap[elementKey] = el;\n });\n });\n });\n }\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._brushComponents as unknown as IGroup[];\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n if (this._brushComponents) {\n // FIXME: 这个逻辑放在这个方法里不太妥当?\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._updateBrushComponent(region, index);\n });\n }\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n if (this._option.disableTriggerEvent) {\n return;\n }\n const brushVisible = this._spec.visible ?? true;\n if (brushVisible) {\n // 创建或更新marker组件\n if (!this._brushComponents) {\n this._brushComponents = [];\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._createBrushComponent(region, index);\n });\n } else {\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._updateBrushComponent(region, index);\n });\n }\n }\n }\n\n clearGraphic(): void {\n if (this._brushComponents) {\n this._brushComponents.forEach(brush => {\n (brush as any)._container.incrementalClearChild();\n });\n }\n }\n\n clear(): void {\n if (this._brushComponents) {\n this.getContainer()?.removeChild(this._brushComponents as unknown as INode);\n this._brushComponents.forEach(brush => {\n brush.removeAllChild();\n brush.releaseBrushEvents();\n });\n this._brushComponents = null;\n }\n super.clear();\n }\n}\n\nexport const registerBrush = () => {\n Factory.registerComponent(Brush.type, Brush);\n};\n"]}
@@ -10,9 +10,6 @@ interface IBrushDataBindSpec {
10
10
  seriesId?: string | string[];
11
11
  brushLinkSeriesIndex?: number | number[];
12
12
  brushLinkSeriesId?: string | string[];
13
- dataZoomId?: string | string[];
14
- dataZoomIndex?: number | number[];
15
- dataZoomRangeExpand?: number;
16
13
  }
17
14
  export interface IBrushTheme {
18
15
  style?: Partial<IPolygonMarkSpec>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/brush/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { SymbolType } from '@visactor/vrender-core';\nimport type { IPolygonMarkSpec } from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IDelayType } from '../../typings/event';\n\nexport type IBrush = IComponent;\n\ninterface IBrushDataBindSpec {\n /**\n * 可刷取的regionIndex\n */\n regionIndex?: number | number[]; // 默认为所有region\n /**\n * 可刷取的regionId\n */\n regionId?: string | string[]; // 默认为所有region\n /**\n * 可刷取的seriesIndex\n */\n seriesIndex?: number | number[]; // 默认为所有系列\n /**\n * 可刷取的seriesId\n */\n seriesId?: string | string[]; // 默认为所有系列\n /**\n * 刷取联动的seriesIndex\n */\n brushLinkSeriesIndex?: number | number[]; // 默认无系列\n /**\n * 刷取联动的seriesId\n */\n brushLinkSeriesId?: string | string[]; // 默认无系列\n /**\n * 刷取关联的dataZoom id, 只有当前操作的region/series与dataZoom关联同一个axis时生效\n * @since 1.10.0\n */\n dataZoomId?: string | string[];\n /**\n * 刷取关联的dataZoom index, 只有当前操作的region/series与dataZoom关联同一个axis时生效\n * @since 1.10.0\n */\n dataZoomIndex?: number | number[];\n /**\n * 更新dataZoom范围时, 范围拓展\n * @since 1.10.0\n * 原因:\n * 1) 轴的zero、nice、min、max等配置可能导致轴范围与dataZoom范围不一致)\n * 2) 散点图按照散点中心定位, 如果严格按照中心范围更新,会出现散点超出画布的现象\n */\n dataZoomRangeExpand?: number;\n}\n\nexport interface IBrushTheme {\n /**\n * brush 的框选样式\n */\n style?: Partial<IPolygonMarkSpec>;\n\n /**\n * 框选范围内的图元样式\n */\n inBrush?: selectedItemStyle;\n /**\n * 框选范围外的图元样式\n */\n outOfBrush?: selectedItemStyle;\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 10\n */\n delayTime?: number;\n /**\n * brush选框的大小阈值\n * @default 5\n * @since 1.2.0\n */\n sizeThreshold?: number;\n}\n\nexport interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {\n /** 组件 id */\n id?: string;\n /**\n * 组件可见性\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport type selectedItemStyle = {\n /**\n * 图元的图形类别\n */\n symbol?: SymbolType;\n /**\n * 图元的大小\n */\n symbolSize?: number;\n /**\n * 图元的颜色\n */\n color?: string;\n /**\n * 图元的颜色透明度\n */\n colorAlpha?: number;\n} & Partial<IPolygonMarkSpec>;\n\nexport type BrushInteractiveRangeAttr = {\n interactiveRange: {\n minY: number;\n maxY: number;\n minX: number;\n maxX: number;\n };\n xRange: [number, number];\n yRange: [number, number];\n};\n"]}
1
+ {"version":3,"sources":["../src/component/brush/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { SymbolType } from '@visactor/vrender-core';\nimport type { IPolygonMarkSpec } from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IDelayType } from '../../typings/event';\n\nexport type IBrush = IComponent;\n\ninterface IBrushDataBindSpec {\n /**\n * 可刷取的regionIndex\n */\n regionIndex?: number | number[]; // 默认为所有region\n /**\n * 可刷取的regionId\n */\n regionId?: string | string[]; // 默认为所有region\n /**\n * 可刷取的seriesIndex\n */\n seriesIndex?: number | number[]; // 默认为所有系列\n /**\n * 可刷取的seriesId\n */\n seriesId?: string | string[]; // 默认为所有系列\n /**\n * 刷取联动的seriesIndex\n */\n brushLinkSeriesIndex?: number | number[]; // 默认无系列\n /**\n * 刷取联动的seriesId\n */\n brushLinkSeriesId?: string | string[]; // 默认无系列\n}\n\nexport interface IBrushTheme {\n /**\n * brush 的框选样式\n */\n style?: Partial<IPolygonMarkSpec>;\n\n /**\n * 框选范围内的图元样式\n */\n inBrush?: selectedItemStyle;\n /**\n * 框选范围外的图元样式\n */\n outOfBrush?: selectedItemStyle;\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 10\n */\n delayTime?: number;\n /**\n * brush选框的大小阈值\n * @default 5\n * @since 1.2.0\n */\n sizeThreshold?: number;\n}\n\nexport interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {\n /** 组件 id */\n id?: string;\n /**\n * 组件可见性\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport type selectedItemStyle = {\n /**\n * 图元的图形类别\n */\n symbol?: SymbolType;\n /**\n * 图元的大小\n */\n symbolSize?: number;\n /**\n * 图元的颜色\n */\n color?: string;\n /**\n * 图元的颜色透明度\n */\n colorAlpha?: number;\n} & Partial<IPolygonMarkSpec>;\n\nexport type BrushInteractiveRangeAttr = {\n interactiveRange: {\n minY: number;\n maxY: number;\n minX: number;\n maxX: number;\n };\n xRange: [number, number];\n yRange: [number, number];\n};\n"]}
@@ -22,6 +22,7 @@ export interface IHair {
22
22
  label?: {
23
23
  visible: boolean;
24
24
  formatMethod?: (text: StringOrNumber | string[], position: string) => string | string[];
25
+ formatter?: string | string[];
25
26
  textStyle?: Dict<any>;
26
27
  minWidth?: number;
27
28
  maxWidth?: number;
@@ -30,6 +31,9 @@ export interface IHair {
30
31
  zIndex?: number;
31
32
  };
32
33
  }
34
+ export interface IHairRadius extends IHair {
35
+ smooth?: boolean;
36
+ }
33
37
  export declare abstract class BaseCrossHair<T extends ICartesianCrosshairSpec | IPolarCrosshairSpec> extends BaseComponent<T> implements ICrossHair {
34
38
  static specKey: string;
35
39
  specKey: string;
@@ -75,7 +79,6 @@ export declare abstract class BaseCrossHair<T extends ICartesianCrosshairSpec |
75
79
  onLayoutEnd(ctx: IModelLayoutOption): void;
76
80
  onRender(ctx: IModelRenderOption): void;
77
81
  protected _releaseEvent(): void;
78
- protected _firstSeries<T>(): T | null;
79
82
  protected _parseCrosshairSpec(): void;
80
83
  protected _parseField(field: ICrosshairCategoryFieldSpec, fieldName: string): any;
81
84
  protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number): IAxisInfo<T>;
@@ -174,16 +174,6 @@ class BaseCrossHair extends base_component_1.BaseComponent {
174
174
  this._eventOff(cfg.in, !1, cfg.click), cfg.out && this._eventOff(cfg.out, !0);
175
175
  }));
176
176
  }
177
- _firstSeries() {
178
- for (let i = 0; i < this._regions.length; i++) {
179
- const series = this._regions[i].getSeries();
180
- for (let j = 0; j < series.length; j++) {
181
- const s = series[j];
182
- if (s) return s;
183
- }
184
- }
185
- return null;
186
- }
187
177
  _parseCrosshairSpec() {
188
178
  this._parseFieldInfo();
189
179
  const {trigger: trigger, triggerOff: triggerOff, labelZIndex: labelZIndex, gridZIndex: gridZIndex} = this._spec;
@@ -218,6 +208,7 @@ class BaseCrossHair extends base_component_1.BaseComponent {
218
208
  hair.label = {
219
209
  visible: !0,
220
210
  formatMethod: label.formatMethod,
211
+ formatter: label.formatter,
221
212
  minWidth: labelBackground.minWidth,
222
213
  maxWidth: labelBackground.maxWidth,
223
214
  padding: labelBackground.padding,