@visactor/vchart 1.8.10-alpha.0 → 1.9.0-alpha.1

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 (965) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +11042 -10188
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart-transformer.d.ts +1 -0
  6. package/cjs/chart/base/base-chart-transformer.js +45 -20
  7. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  8. package/cjs/chart/base/base-chart.d.ts +1 -0
  9. package/cjs/chart/base/base-chart.js +10 -8
  10. package/cjs/chart/base/base-chart.js.map +1 -1
  11. package/cjs/chart/base/util.d.ts +7 -0
  12. package/cjs/chart/base/util.js +26 -0
  13. package/cjs/chart/base/util.js.map +1 -0
  14. package/cjs/chart/circle-packing/circle-packing-transformer.js +1 -7
  15. package/cjs/chart/circle-packing/circle-packing-transformer.js.map +1 -1
  16. package/cjs/chart/correlation/correlation-transformer.js +1 -7
  17. package/cjs/chart/correlation/correlation-transformer.js.map +1 -1
  18. package/cjs/chart/histogram/base/histogram-base-transformer.js +2 -1
  19. package/cjs/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  20. package/cjs/chart/index.d.ts +5 -3
  21. package/cjs/chart/index.js +16 -2
  22. package/cjs/chart/index.js.map +1 -1
  23. package/cjs/chart/interface/chart.d.ts +1 -0
  24. package/cjs/chart/interface/chart.js.map +1 -1
  25. package/cjs/chart/interface/common.d.ts +1 -4
  26. package/cjs/chart/interface/common.js.map +1 -1
  27. package/cjs/chart/interface/type.d.ts +2 -1
  28. package/cjs/chart/interface/type.js +1 -1
  29. package/cjs/chart/interface/type.js.map +1 -1
  30. package/cjs/chart/liquid/index.d.ts +2 -0
  31. package/cjs/chart/liquid/index.js +21 -0
  32. package/cjs/chart/liquid/index.js.map +1 -0
  33. package/cjs/chart/liquid/interface.d.ts +7 -0
  34. package/cjs/chart/liquid/interface.js.map +1 -0
  35. package/cjs/chart/liquid/liquid-transformer.d.ts +6 -0
  36. package/cjs/chart/liquid/liquid-transformer.js +29 -0
  37. package/cjs/chart/liquid/liquid-transformer.js.map +1 -0
  38. package/cjs/chart/liquid/liquid.d.ts +13 -0
  39. package/cjs/chart/liquid/liquid.js +25 -0
  40. package/cjs/chart/liquid/liquid.js.map +1 -0
  41. package/cjs/chart/polar/polar-transformer.js +1 -7
  42. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  43. package/cjs/chart/sankey/sankey-transformer.js +1 -7
  44. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  45. package/cjs/chart/sunburst/sunburst-transformer.js +1 -7
  46. package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
  47. package/cjs/chart/treemap/treemap-transformer.js +1 -7
  48. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  49. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
  50. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
  51. package/cjs/compile/compiler.d.ts +16 -5
  52. package/cjs/compile/compiler.js +38 -42
  53. package/cjs/compile/compiler.js.map +1 -1
  54. package/cjs/compile/data/compilable-data.d.ts +1 -1
  55. package/cjs/compile/data/compilable-data.js +1 -1
  56. package/cjs/compile/data/compilable-data.js.map +1 -1
  57. package/cjs/compile/data/interface.d.ts +1 -1
  58. package/cjs/compile/data/interface.js.map +1 -1
  59. package/cjs/compile/grammar-item.js +2 -1
  60. package/cjs/compile/mark/compilable-mark.d.ts +4 -2
  61. package/cjs/compile/mark/compilable-mark.js +4 -1
  62. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  63. package/cjs/compile/mark/interface.d.ts +3 -2
  64. package/cjs/compile/mark/interface.js.map +1 -1
  65. package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
  66. package/cjs/compile/mark/mark-state-manager.js +2 -2
  67. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  68. package/cjs/compile/signal/state-manager.d.ts +1 -1
  69. package/cjs/compile/signal/state-manager.js +2 -2
  70. package/cjs/compile/signal/state-manager.js.map +1 -1
  71. package/cjs/component/axis/base-axis.d.ts +8 -9
  72. package/cjs/component/axis/base-axis.js +22 -22
  73. package/cjs/component/axis/base-axis.js.map +1 -1
  74. package/cjs/component/axis/cartesian/axis.d.ts +5 -11
  75. package/cjs/component/axis/cartesian/axis.js +23 -30
  76. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  77. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  78. package/cjs/component/axis/cartesian/band-axis.js +2 -1
  79. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  80. package/cjs/component/axis/cartesian/interface/common.d.ts +3 -5
  81. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  82. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -19
  83. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  84. package/cjs/component/axis/cartesian/time-axis.js +10 -17
  85. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  86. package/cjs/component/axis/interface/common.d.ts +10 -0
  87. package/cjs/component/axis/interface/common.js.map +1 -1
  88. package/cjs/component/axis/interface/spec.d.ts +4 -7
  89. package/cjs/component/axis/interface/spec.js.map +1 -1
  90. package/cjs/component/axis/mixin/band-axis-mixin.d.ts +13 -1
  91. package/cjs/component/axis/mixin/band-axis-mixin.js +33 -1
  92. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  93. package/cjs/component/axis/polar/axis.d.ts +7 -3
  94. package/cjs/component/axis/polar/axis.js +50 -58
  95. package/cjs/component/axis/polar/axis.js.map +1 -1
  96. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  97. package/cjs/component/axis/util.d.ts +6 -0
  98. package/cjs/component/axis/util.js +11 -2
  99. package/cjs/component/axis/util.js.map +1 -1
  100. package/cjs/component/base/base-component.d.ts +0 -5
  101. package/cjs/component/base/base-component.js +0 -6
  102. package/cjs/component/base/base-component.js.map +1 -1
  103. package/cjs/component/brush/brush.js +1 -0
  104. package/cjs/component/brush/brush.js.map +1 -1
  105. package/cjs/component/crosshair/base.d.ts +10 -2
  106. package/cjs/component/crosshair/base.js +108 -83
  107. package/cjs/component/crosshair/base.js.map +1 -1
  108. package/cjs/component/crosshair/cartesian.d.ts +5 -0
  109. package/cjs/component/crosshair/cartesian.js +81 -71
  110. package/cjs/component/crosshair/cartesian.js.map +1 -1
  111. package/cjs/component/crosshair/config.d.ts +1 -2
  112. package/cjs/component/crosshair/config.js +1 -1
  113. package/cjs/component/crosshair/config.js.map +1 -1
  114. package/cjs/component/crosshair/interface/spec.d.ts +2 -1
  115. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  116. package/cjs/component/crosshair/polar.js +2 -1
  117. package/cjs/component/crosshair/polar.js.map +1 -1
  118. package/cjs/component/custom-mark/custom-mark.js +1 -1
  119. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  120. package/cjs/component/data-zoom/data-zoom/data-zoom.js +2 -1
  121. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  122. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
  123. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  124. package/cjs/component/geo/geo-coordinate.js +1 -1
  125. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  126. package/cjs/component/indicator/indicator.d.ts +2 -0
  127. package/cjs/component/indicator/indicator.js +21 -12
  128. package/cjs/component/indicator/indicator.js.map +1 -1
  129. package/cjs/component/indicator/interface.d.ts +1 -0
  130. package/cjs/component/indicator/interface.js.map +1 -1
  131. package/cjs/component/interface/common.d.ts +1 -0
  132. package/cjs/component/interface/common.js.map +1 -1
  133. package/cjs/component/label/base-label.d.ts +0 -3
  134. package/cjs/component/label/base-label.js +5 -8
  135. package/cjs/component/label/base-label.js.map +1 -1
  136. package/cjs/component/label/interface.d.ts +1 -0
  137. package/cjs/component/label/interface.js.map +1 -1
  138. package/cjs/component/label/label.js +5 -7
  139. package/cjs/component/label/label.js.map +1 -1
  140. package/cjs/component/label/total-label.js +4 -2
  141. package/cjs/component/label/total-label.js.map +1 -1
  142. package/cjs/component/legend/base-legend.d.ts +1 -1
  143. package/cjs/component/legend/continuous/legend.js +2 -2
  144. package/cjs/component/legend/continuous/legend.js.map +1 -1
  145. package/cjs/component/legend/discrete/legend.js +2 -2
  146. package/cjs/component/legend/discrete/legend.js.map +1 -1
  147. package/cjs/component/legend/util.d.ts +1 -1
  148. package/cjs/component/map-label/component.js +12 -12
  149. package/cjs/component/map-label/component.js.map +1 -1
  150. package/cjs/component/marker/mark-area/mark-area.js +2 -1
  151. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  152. package/cjs/component/marker/mark-line/mark-line.js +2 -1
  153. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  154. package/cjs/component/marker/mark-point/mark-point.js +2 -1
  155. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  156. package/cjs/component/player/player.js +1 -0
  157. package/cjs/component/player/player.js.map +1 -1
  158. package/cjs/component/title/title.js +2 -1
  159. package/cjs/component/title/title.js.map +1 -1
  160. package/cjs/component/tooltip/processor/base.js +2 -1
  161. package/cjs/component/tooltip/processor/base.js.map +1 -1
  162. package/cjs/component/tooltip/tooltip.js +10 -6
  163. package/cjs/component/tooltip/tooltip.js.map +1 -1
  164. package/cjs/constant/base.js +1 -2
  165. package/cjs/constant/scroll-bar.js +2 -1
  166. package/cjs/core/expression-function.js +1 -2
  167. package/cjs/core/factory.d.ts +5 -0
  168. package/cjs/core/factory.js +10 -1
  169. package/cjs/core/factory.js.map +1 -1
  170. package/cjs/core/index.d.ts +1 -1
  171. package/cjs/core/index.js +1 -1
  172. package/cjs/core/index.js.map +1 -1
  173. package/cjs/core/vchart.d.ts +7 -3
  174. package/cjs/core/vchart.js +51 -71
  175. package/cjs/core/vchart.js.map +1 -1
  176. package/cjs/event/event-dispatcher.js +2 -1
  177. package/cjs/event/events/dimension/util/cartesian.d.ts +1 -1
  178. package/cjs/event/events/dimension/util/cartesian.js +28 -12
  179. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  180. package/cjs/event/index.js +1 -2
  181. package/cjs/index-lark.js +2 -2
  182. package/cjs/index-lark.js.map +1 -1
  183. package/cjs/index-wx-simple.js +2 -2
  184. package/cjs/index-wx-simple.js.map +1 -1
  185. package/cjs/index-wx.js +2 -2
  186. package/cjs/index-wx.js.map +1 -1
  187. package/cjs/interaction/config.js +4 -4
  188. package/cjs/interaction/config.js.map +1 -1
  189. package/cjs/interaction/drill/drillable.js +1 -1
  190. package/cjs/interaction/drill/drillable.js.map +1 -1
  191. package/cjs/interaction/interface.d.ts +24 -2
  192. package/cjs/interaction/interface.js.map +1 -1
  193. package/cjs/layout/interface.d.ts +3 -0
  194. package/cjs/layout/interface.js.map +1 -1
  195. package/cjs/layout/layout-item.d.ts +2 -1
  196. package/cjs/layout/layout-item.js +2 -1
  197. package/cjs/layout/layout-item.js.map +1 -1
  198. package/cjs/layout/util.js +91 -77
  199. package/cjs/layout/util.js.map +1 -1
  200. package/cjs/mark/interface/type.d.ts +1 -0
  201. package/cjs/mark/interface/type.js +2 -1
  202. package/cjs/mark/interface/type.js.map +1 -1
  203. package/cjs/mark/liquid.d.ts +13 -0
  204. package/cjs/mark/liquid.js +32 -0
  205. package/cjs/mark/liquid.js.map +1 -0
  206. package/cjs/model/base-model.d.ts +1 -2
  207. package/cjs/model/base-model.js +11 -10
  208. package/cjs/model/base-model.js.map +1 -1
  209. package/cjs/model/interface.d.ts +3 -2
  210. package/cjs/model/interface.js.map +1 -1
  211. package/cjs/plugin/chart/media-query/util/filter.js +5 -8
  212. package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
  213. package/cjs/plugin/components/axis-sync/axis-sync.js.map +1 -0
  214. package/cjs/plugin/components/axis-sync/index.js.map +1 -0
  215. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
  216. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
  217. package/cjs/plugin/components/index.d.ts +1 -1
  218. package/cjs/plugin/components/index.js +2 -2
  219. package/cjs/plugin/components/index.js.map +1 -1
  220. package/cjs/plugin/components/register.d.ts +2 -0
  221. package/cjs/plugin/components/register.js +12 -0
  222. package/cjs/plugin/components/register.js.map +1 -0
  223. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
  224. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +29 -27
  225. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -0
  226. package/{esm/component/tooltip/handler → cjs/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
  227. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +14 -6
  228. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
  229. package/cjs/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
  230. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -0
  231. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
  232. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +15 -7
  233. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
  234. package/cjs/plugin/components/tooltip-handler/dom/index.js.map +1 -0
  235. package/cjs/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
  236. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
  237. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
  238. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
  239. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js +6 -0
  240. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
  241. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
  242. package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
  243. package/cjs/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
  244. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
  245. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
  246. package/cjs/plugin/components/tooltip-handler/dom/util.js.map +1 -0
  247. package/cjs/plugin/components/tooltip-handler/index.js.map +1 -0
  248. package/cjs/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
  249. package/cjs/plugin/components/tooltip-handler/interface/common.js +6 -0
  250. package/cjs/plugin/components/tooltip-handler/interface/common.js.map +1 -0
  251. package/cjs/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
  252. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +1 -1
  253. package/cjs/plugin/components/tooltip-handler/interface/index.js.map +1 -0
  254. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -0
  255. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
  256. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
  257. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
  258. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -0
  259. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
  260. package/cjs/plugin/components/tooltip-handler/utils/compose.js +106 -0
  261. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
  262. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
  263. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +6 -6
  264. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
  265. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -0
  266. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
  267. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -0
  268. package/cjs/region/interface.d.ts +0 -3
  269. package/cjs/region/interface.js.map +1 -1
  270. package/cjs/region/region.js +1 -1
  271. package/cjs/region/region.js.map +1 -1
  272. package/cjs/series/area/area-transformer.js +4 -4
  273. package/cjs/series/area/area-transformer.js.map +1 -1
  274. package/cjs/series/area/area.js +5 -5
  275. package/cjs/series/area/area.js.map +1 -1
  276. package/cjs/series/bar/bar.d.ts +12 -3
  277. package/cjs/series/bar/bar.js +138 -59
  278. package/cjs/series/bar/bar.js.map +1 -1
  279. package/cjs/series/bar/interface.d.ts +5 -2
  280. package/cjs/series/bar/interface.js.map +1 -1
  281. package/cjs/series/base/base-series.d.ts +30 -5
  282. package/cjs/series/base/base-series.js +72 -21
  283. package/cjs/series/base/base-series.js.map +1 -1
  284. package/cjs/series/box-plot/box-plot.js +3 -5
  285. package/cjs/series/box-plot/box-plot.js.map +1 -1
  286. package/cjs/series/cartesian/cartesian.d.ts +6 -0
  287. package/cjs/series/cartesian/cartesian.js +27 -16
  288. package/cjs/series/cartesian/cartesian.js.map +1 -1
  289. package/cjs/series/circle-packing/circle-packing.js +2 -2
  290. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  291. package/cjs/series/correlation/correlation.js +8 -8
  292. package/cjs/series/correlation/correlation.js.map +1 -1
  293. package/cjs/series/dot/dot.js +12 -12
  294. package/cjs/series/dot/dot.js.map +1 -1
  295. package/cjs/series/funnel/funnel.js +13 -11
  296. package/cjs/series/funnel/funnel.js.map +1 -1
  297. package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
  298. package/cjs/series/gauge/gauge-pointer.js +4 -1
  299. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  300. package/cjs/series/gauge/gauge.js +4 -4
  301. package/cjs/series/gauge/gauge.js.map +1 -1
  302. package/cjs/series/heatmap/heatmap.d.ts +1 -0
  303. package/cjs/series/heatmap/heatmap.js +9 -4
  304. package/cjs/series/heatmap/heatmap.js.map +1 -1
  305. package/cjs/series/interface/common.d.ts +1 -1
  306. package/cjs/series/interface/common.js.map +1 -1
  307. package/cjs/series/interface/series.d.ts +0 -2
  308. package/cjs/series/interface/series.js.map +1 -1
  309. package/cjs/series/interface/theme.d.ts +2 -0
  310. package/cjs/series/interface/theme.js +3 -2
  311. package/cjs/series/interface/theme.js.map +1 -1
  312. package/cjs/series/interface/type.d.ts +6 -2
  313. package/cjs/series/interface/type.js +4 -2
  314. package/cjs/series/interface/type.js.map +1 -1
  315. package/cjs/series/link/link.d.ts +1 -0
  316. package/cjs/series/link/link.js +9 -4
  317. package/cjs/series/link/link.js.map +1 -1
  318. package/cjs/series/liquid/animation.d.ts +14 -0
  319. package/cjs/series/liquid/animation.js +63 -0
  320. package/cjs/series/liquid/animation.js.map +1 -0
  321. package/cjs/series/liquid/constant.d.ts +2 -0
  322. package/cjs/series/liquid/constant.js +23 -0
  323. package/cjs/series/liquid/constant.js.map +1 -0
  324. package/cjs/series/liquid/interface.d.ts +35 -0
  325. package/cjs/series/liquid/interface.js +6 -0
  326. package/cjs/series/liquid/interface.js.map +1 -0
  327. package/cjs/series/liquid/liquid.d.ts +50 -0
  328. package/cjs/series/liquid/liquid.js +200 -0
  329. package/cjs/series/liquid/liquid.js.map +1 -0
  330. package/cjs/series/liquid/tooltip-helper.d.ts +9 -0
  331. package/cjs/series/liquid/tooltip-helper.js +37 -0
  332. package/cjs/series/liquid/tooltip-helper.js.map +1 -0
  333. package/cjs/series/liquid/util.d.ts +2 -0
  334. package/cjs/series/liquid/util.js +15 -0
  335. package/cjs/series/liquid/util.js.map +1 -0
  336. package/cjs/series/map/map.js +4 -4
  337. package/cjs/series/map/map.js.map +1 -1
  338. package/cjs/series/mixin/line-mixin.d.ts +0 -2
  339. package/cjs/series/mixin/line-mixin.js +11 -8
  340. package/cjs/series/mixin/line-mixin.js.map +1 -1
  341. package/cjs/series/pie/pie.d.ts +1 -0
  342. package/cjs/series/pie/pie.js +9 -5
  343. package/cjs/series/pie/pie.js.map +1 -1
  344. package/cjs/series/polar/polar.js +1 -1
  345. package/cjs/series/polar/polar.js.map +1 -1
  346. package/cjs/series/progress/circular/circular.d.ts +1 -0
  347. package/cjs/series/progress/circular/circular.js +15 -8
  348. package/cjs/series/progress/circular/circular.js.map +1 -1
  349. package/cjs/series/progress/linear/linear.d.ts +1 -0
  350. package/cjs/series/progress/linear/linear.js +56 -52
  351. package/cjs/series/progress/linear/linear.js.map +1 -1
  352. package/cjs/series/radar/radar.js +4 -3
  353. package/cjs/series/radar/radar.js.map +1 -1
  354. package/cjs/series/range-area/range-area.js +4 -3
  355. package/cjs/series/range-area/range-area.js.map +1 -1
  356. package/cjs/series/range-column/range-column.js +7 -6
  357. package/cjs/series/range-column/range-column.js.map +1 -1
  358. package/cjs/series/rose/rose.js +5 -4
  359. package/cjs/series/rose/rose.js.map +1 -1
  360. package/cjs/series/sankey/sankey.js +11 -10
  361. package/cjs/series/sankey/sankey.js.map +1 -1
  362. package/cjs/series/scatter/scatter.js +6 -6
  363. package/cjs/series/scatter/scatter.js.map +1 -1
  364. package/cjs/series/sunburst/sunburst.js +5 -4
  365. package/cjs/series/sunburst/sunburst.js.map +1 -1
  366. package/cjs/series/treemap/treemap.js +7 -5
  367. package/cjs/series/treemap/treemap.js.map +1 -1
  368. package/cjs/series/waterfall/waterfall.js +3 -2
  369. package/cjs/series/waterfall/waterfall.js.map +1 -1
  370. package/cjs/series/word-cloud/base.d.ts +5 -5
  371. package/cjs/series/word-cloud/base.js +40 -47
  372. package/cjs/series/word-cloud/base.js.map +1 -1
  373. package/cjs/series/word-cloud/word-cloud-3d.js +4 -25
  374. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  375. package/cjs/theme/builtin/common/mark.js +2 -2
  376. package/cjs/theme/builtin/common/mark.js.map +1 -1
  377. package/cjs/theme/builtin/common/series/funnel.js +0 -2
  378. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  379. package/cjs/theme/builtin/common/series/funnel3d.js +0 -2
  380. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  381. package/cjs/theme/builtin/common/series/index.js +3 -2
  382. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  383. package/cjs/theme/builtin/common/series/liquid.d.ts +2 -0
  384. package/cjs/theme/builtin/common/series/liquid.js +19 -0
  385. package/cjs/theme/builtin/common/series/liquid.js.map +1 -0
  386. package/cjs/theme/builtin/common/series/waterfall.js +1 -2
  387. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  388. package/cjs/typings/layout.d.ts +1 -0
  389. package/cjs/typings/layout.js.map +1 -1
  390. package/cjs/typings/spec/common.d.ts +3 -2
  391. package/cjs/typings/spec/common.js.map +1 -1
  392. package/cjs/typings/tooltip/line.d.ts +4 -0
  393. package/cjs/typings/tooltip/line.js.map +1 -1
  394. package/cjs/typings/visual.d.ts +6 -0
  395. package/cjs/typings/visual.js.map +1 -1
  396. package/cjs/util/model.js.map +1 -1
  397. package/cjs/vchart-all.js +2 -2
  398. package/cjs/vchart-all.js.map +1 -1
  399. package/cjs/vchart-simple.js +2 -2
  400. package/cjs/vchart-simple.js.map +1 -1
  401. package/esm/chart/base/base-chart-transformer.d.ts +1 -0
  402. package/esm/chart/base/base-chart-transformer.js +46 -18
  403. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  404. package/esm/chart/base/base-chart.d.ts +1 -0
  405. package/esm/chart/base/base-chart.js +10 -8
  406. package/esm/chart/base/base-chart.js.map +1 -1
  407. package/esm/chart/base/util.d.ts +7 -0
  408. package/esm/chart/base/util.js +16 -0
  409. package/esm/chart/base/util.js.map +1 -0
  410. package/esm/chart/circle-packing/circle-packing-transformer.js +1 -7
  411. package/esm/chart/circle-packing/circle-packing-transformer.js.map +1 -1
  412. package/esm/chart/correlation/correlation-transformer.js +1 -7
  413. package/esm/chart/correlation/correlation-transformer.js.map +1 -1
  414. package/esm/chart/histogram/base/histogram-base-transformer.js +2 -1
  415. package/esm/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  416. package/esm/chart/index.d.ts +5 -3
  417. package/esm/chart/index.js +4 -2
  418. package/esm/chart/index.js.map +1 -1
  419. package/esm/chart/interface/chart.d.ts +1 -0
  420. package/esm/chart/interface/chart.js.map +1 -1
  421. package/esm/chart/interface/common.d.ts +1 -4
  422. package/esm/chart/interface/common.js.map +1 -1
  423. package/esm/chart/interface/type.d.ts +2 -1
  424. package/esm/chart/interface/type.js +1 -1
  425. package/esm/chart/interface/type.js.map +1 -1
  426. package/esm/chart/liquid/index.d.ts +2 -0
  427. package/esm/chart/liquid/index.js +4 -0
  428. package/esm/chart/liquid/index.js.map +1 -0
  429. package/esm/chart/liquid/interface.d.ts +7 -0
  430. package/esm/chart/liquid/interface.js.map +1 -0
  431. package/esm/chart/liquid/liquid-transformer.d.ts +6 -0
  432. package/esm/chart/liquid/liquid-transformer.js +23 -0
  433. package/esm/chart/liquid/liquid-transformer.js.map +1 -0
  434. package/esm/chart/liquid/liquid.d.ts +13 -0
  435. package/esm/chart/liquid/liquid.js +26 -0
  436. package/esm/chart/liquid/liquid.js.map +1 -0
  437. package/esm/chart/polar/polar-transformer.js +1 -7
  438. package/esm/chart/polar/polar-transformer.js.map +1 -1
  439. package/esm/chart/sankey/sankey-transformer.js +1 -7
  440. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  441. package/esm/chart/sunburst/sunburst-transformer.js +1 -7
  442. package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
  443. package/esm/chart/treemap/treemap-transformer.js +1 -7
  444. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  445. package/esm/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
  446. package/esm/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
  447. package/esm/compile/compiler.d.ts +16 -5
  448. package/esm/compile/compiler.js +39 -41
  449. package/esm/compile/compiler.js.map +1 -1
  450. package/esm/compile/data/compilable-data.d.ts +1 -1
  451. package/esm/compile/data/compilable-data.js +1 -1
  452. package/esm/compile/data/compilable-data.js.map +1 -1
  453. package/esm/compile/data/interface.d.ts +1 -1
  454. package/esm/compile/data/interface.js.map +1 -1
  455. package/esm/compile/grammar-item.js +2 -1
  456. package/esm/compile/mark/compilable-mark.d.ts +4 -2
  457. package/esm/compile/mark/compilable-mark.js +4 -1
  458. package/esm/compile/mark/compilable-mark.js.map +1 -1
  459. package/esm/compile/mark/interface.d.ts +3 -2
  460. package/esm/compile/mark/interface.js.map +1 -1
  461. package/esm/compile/mark/mark-state-manager.d.ts +2 -2
  462. package/esm/compile/mark/mark-state-manager.js +2 -2
  463. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  464. package/esm/compile/signal/state-manager.d.ts +1 -1
  465. package/esm/compile/signal/state-manager.js +1 -1
  466. package/esm/compile/signal/state-manager.js.map +1 -1
  467. package/esm/component/axis/base-axis.d.ts +8 -9
  468. package/esm/component/axis/base-axis.js +23 -21
  469. package/esm/component/axis/base-axis.js.map +1 -1
  470. package/esm/component/axis/cartesian/axis.d.ts +5 -11
  471. package/esm/component/axis/cartesian/axis.js +23 -32
  472. package/esm/component/axis/cartesian/axis.js.map +1 -1
  473. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  474. package/esm/component/axis/cartesian/band-axis.js +2 -1
  475. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  476. package/esm/component/axis/cartesian/interface/common.d.ts +3 -5
  477. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  478. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -19
  479. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  480. package/esm/component/axis/cartesian/time-axis.js +9 -18
  481. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  482. package/esm/component/axis/interface/common.d.ts +10 -0
  483. package/esm/component/axis/interface/common.js.map +1 -1
  484. package/esm/component/axis/interface/spec.d.ts +4 -7
  485. package/esm/component/axis/interface/spec.js.map +1 -1
  486. package/esm/component/axis/mixin/band-axis-mixin.d.ts +13 -1
  487. package/esm/component/axis/mixin/band-axis-mixin.js +37 -1
  488. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  489. package/esm/component/axis/polar/axis.d.ts +7 -3
  490. package/esm/component/axis/polar/axis.js +48 -56
  491. package/esm/component/axis/polar/axis.js.map +1 -1
  492. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  493. package/esm/component/axis/util.d.ts +6 -0
  494. package/esm/component/axis/util.js +9 -0
  495. package/esm/component/axis/util.js.map +1 -1
  496. package/esm/component/base/base-component.d.ts +0 -5
  497. package/esm/component/base/base-component.js +0 -6
  498. package/esm/component/base/base-component.js.map +1 -1
  499. package/esm/component/brush/brush.js +1 -0
  500. package/esm/component/brush/brush.js.map +1 -1
  501. package/esm/component/crosshair/base.d.ts +10 -2
  502. package/esm/component/crosshair/base.js +108 -82
  503. package/esm/component/crosshair/base.js.map +1 -1
  504. package/esm/component/crosshair/cartesian.d.ts +5 -0
  505. package/esm/component/crosshair/cartesian.js +79 -71
  506. package/esm/component/crosshair/cartesian.js.map +1 -1
  507. package/esm/component/crosshair/config.d.ts +1 -2
  508. package/esm/component/crosshair/config.js +1 -1
  509. package/esm/component/crosshair/config.js.map +1 -1
  510. package/esm/component/crosshair/interface/spec.d.ts +2 -1
  511. package/esm/component/crosshair/interface/spec.js.map +1 -1
  512. package/esm/component/crosshair/polar.js +2 -1
  513. package/esm/component/crosshair/polar.js.map +1 -1
  514. package/esm/component/custom-mark/custom-mark.js +1 -1
  515. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  516. package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -1
  517. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  518. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
  519. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  520. package/esm/component/geo/geo-coordinate.js +1 -1
  521. package/esm/component/geo/geo-coordinate.js.map +1 -1
  522. package/esm/component/indicator/indicator.d.ts +2 -0
  523. package/esm/component/indicator/indicator.js +20 -13
  524. package/esm/component/indicator/indicator.js.map +1 -1
  525. package/esm/component/indicator/interface.d.ts +1 -0
  526. package/esm/component/indicator/interface.js.map +1 -1
  527. package/esm/component/interface/common.d.ts +1 -0
  528. package/esm/component/interface/common.js.map +1 -1
  529. package/esm/component/label/base-label.d.ts +0 -3
  530. package/esm/component/label/base-label.js +5 -8
  531. package/esm/component/label/base-label.js.map +1 -1
  532. package/esm/component/label/interface.d.ts +1 -0
  533. package/esm/component/label/interface.js.map +1 -1
  534. package/esm/component/label/label.js +5 -7
  535. package/esm/component/label/label.js.map +1 -1
  536. package/esm/component/label/total-label.js +4 -2
  537. package/esm/component/label/total-label.js.map +1 -1
  538. package/esm/component/legend/base-legend.d.ts +1 -1
  539. package/esm/component/legend/continuous/legend.js +2 -2
  540. package/esm/component/legend/continuous/legend.js.map +1 -1
  541. package/esm/component/legend/discrete/legend.js +2 -2
  542. package/esm/component/legend/discrete/legend.js.map +1 -1
  543. package/esm/component/legend/util.d.ts +1 -1
  544. package/esm/component/map-label/component.js +12 -12
  545. package/esm/component/map-label/component.js.map +1 -1
  546. package/esm/component/marker/mark-area/mark-area.js +2 -1
  547. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  548. package/esm/component/marker/mark-line/mark-line.js +2 -1
  549. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  550. package/esm/component/marker/mark-point/mark-point.js +2 -1
  551. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  552. package/esm/component/player/player.js +1 -0
  553. package/esm/component/player/player.js.map +1 -1
  554. package/esm/component/title/title.js +2 -1
  555. package/esm/component/title/title.js.map +1 -1
  556. package/esm/component/tooltip/processor/base.js +2 -1
  557. package/esm/component/tooltip/processor/base.js.map +1 -1
  558. package/esm/component/tooltip/tooltip.js +12 -10
  559. package/esm/component/tooltip/tooltip.js.map +1 -1
  560. package/esm/constant/base.js +1 -2
  561. package/esm/constant/scroll-bar.js +2 -1
  562. package/esm/core/expression-function.js +1 -2
  563. package/esm/core/factory.d.ts +5 -0
  564. package/esm/core/factory.js +10 -1
  565. package/esm/core/factory.js.map +1 -1
  566. package/esm/core/index.d.ts +1 -1
  567. package/esm/core/index.js +1 -1
  568. package/esm/core/index.js.map +1 -1
  569. package/esm/core/vchart.d.ts +7 -3
  570. package/esm/core/vchart.js +51 -70
  571. package/esm/core/vchart.js.map +1 -1
  572. package/esm/event/event-dispatcher.js +2 -1
  573. package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
  574. package/esm/event/events/dimension/util/cartesian.js +28 -13
  575. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  576. package/esm/event/index.js +1 -2
  577. package/esm/index-lark.js +7 -1
  578. package/esm/index-lark.js.map +1 -1
  579. package/esm/index-wx-simple.js +5 -1
  580. package/esm/index-wx-simple.js.map +1 -1
  581. package/esm/index-wx.js +7 -1
  582. package/esm/index-wx.js.map +1 -1
  583. package/esm/interaction/config.js +4 -4
  584. package/esm/interaction/config.js.map +1 -1
  585. package/esm/interaction/drill/drillable.js +1 -1
  586. package/esm/interaction/drill/drillable.js.map +1 -1
  587. package/esm/interaction/interface.d.ts +24 -2
  588. package/esm/interaction/interface.js.map +1 -1
  589. package/esm/layout/interface.d.ts +3 -0
  590. package/esm/layout/interface.js.map +1 -1
  591. package/esm/layout/layout-item.d.ts +2 -1
  592. package/esm/layout/layout-item.js +2 -1
  593. package/esm/layout/layout-item.js.map +1 -1
  594. package/esm/layout/util.js +91 -77
  595. package/esm/layout/util.js.map +1 -1
  596. package/esm/mark/interface/type.d.ts +1 -0
  597. package/esm/mark/interface/type.js +2 -1
  598. package/esm/mark/interface/type.js.map +1 -1
  599. package/esm/mark/liquid.d.ts +13 -0
  600. package/esm/mark/liquid.js +32 -0
  601. package/esm/mark/liquid.js.map +1 -0
  602. package/esm/model/base-model.d.ts +1 -2
  603. package/esm/model/base-model.js +11 -8
  604. package/esm/model/base-model.js.map +1 -1
  605. package/esm/model/interface.d.ts +3 -2
  606. package/esm/model/interface.js.map +1 -1
  607. package/esm/plugin/chart/media-query/util/filter.js +5 -8
  608. package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
  609. package/esm/plugin/components/axis-sync/axis-sync.js.map +1 -0
  610. package/esm/plugin/components/axis-sync/index.js.map +1 -0
  611. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
  612. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
  613. package/esm/plugin/components/index.d.ts +1 -1
  614. package/esm/plugin/components/index.js +1 -1
  615. package/esm/plugin/components/index.js.map +1 -1
  616. package/esm/plugin/components/register.d.ts +2 -0
  617. package/esm/plugin/components/register.js +6 -0
  618. package/esm/plugin/components/register.js.map +1 -0
  619. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
  620. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +19 -13
  621. package/esm/plugin/components/tooltip-handler/base.js.map +1 -0
  622. package/{cjs/component/tooltip/handler → esm/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
  623. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +13 -2
  624. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
  625. package/esm/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
  626. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -0
  627. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
  628. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +14 -4
  629. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
  630. package/esm/plugin/components/tooltip-handler/dom/index.js.map +1 -0
  631. package/esm/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
  632. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
  633. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
  634. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
  635. package/esm/plugin/components/tooltip-handler/dom/model/interface.js +2 -0
  636. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
  637. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
  638. package/esm/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
  639. package/esm/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
  640. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
  641. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
  642. package/esm/plugin/components/tooltip-handler/dom/util.js.map +1 -0
  643. package/esm/plugin/components/tooltip-handler/index.js.map +1 -0
  644. package/esm/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
  645. package/esm/plugin/components/tooltip-handler/interface/common.js +2 -0
  646. package/esm/plugin/components/tooltip-handler/interface/common.js.map +1 -0
  647. package/esm/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
  648. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +2 -0
  649. package/esm/plugin/components/tooltip-handler/interface/index.js.map +1 -0
  650. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -0
  651. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
  652. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
  653. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
  654. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -0
  655. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
  656. package/esm/plugin/components/tooltip-handler/utils/compose.js +94 -0
  657. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
  658. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
  659. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +2 -2
  660. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
  661. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -0
  662. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
  663. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -0
  664. package/esm/region/interface.d.ts +0 -3
  665. package/esm/region/interface.js.map +1 -1
  666. package/esm/region/region.js +1 -1
  667. package/esm/region/region.js.map +1 -1
  668. package/esm/series/area/area-transformer.js +3 -2
  669. package/esm/series/area/area-transformer.js.map +1 -1
  670. package/esm/series/area/area.js +5 -4
  671. package/esm/series/area/area.js.map +1 -1
  672. package/esm/series/bar/bar.d.ts +12 -3
  673. package/esm/series/bar/bar.js +136 -57
  674. package/esm/series/bar/bar.js.map +1 -1
  675. package/esm/series/bar/interface.d.ts +5 -2
  676. package/esm/series/bar/interface.js.map +1 -1
  677. package/esm/series/base/base-series.d.ts +30 -5
  678. package/esm/series/base/base-series.js +75 -22
  679. package/esm/series/base/base-series.js.map +1 -1
  680. package/esm/series/box-plot/box-plot.js +3 -4
  681. package/esm/series/box-plot/box-plot.js.map +1 -1
  682. package/esm/series/cartesian/cartesian.d.ts +6 -0
  683. package/esm/series/cartesian/cartesian.js +27 -16
  684. package/esm/series/cartesian/cartesian.js.map +1 -1
  685. package/esm/series/circle-packing/circle-packing.js +2 -2
  686. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  687. package/esm/series/correlation/correlation.js +8 -6
  688. package/esm/series/correlation/correlation.js.map +1 -1
  689. package/esm/series/dot/dot.js +12 -12
  690. package/esm/series/dot/dot.js.map +1 -1
  691. package/esm/series/funnel/funnel.js +13 -11
  692. package/esm/series/funnel/funnel.js.map +1 -1
  693. package/esm/series/gauge/gauge-pointer.d.ts +1 -0
  694. package/esm/series/gauge/gauge-pointer.js +4 -1
  695. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  696. package/esm/series/gauge/gauge.js +4 -4
  697. package/esm/series/gauge/gauge.js.map +1 -1
  698. package/esm/series/heatmap/heatmap.d.ts +1 -0
  699. package/esm/series/heatmap/heatmap.js +9 -4
  700. package/esm/series/heatmap/heatmap.js.map +1 -1
  701. package/esm/series/interface/common.d.ts +1 -1
  702. package/esm/series/interface/common.js.map +1 -1
  703. package/esm/series/interface/series.d.ts +0 -2
  704. package/esm/series/interface/series.js.map +1 -1
  705. package/esm/series/interface/theme.d.ts +2 -0
  706. package/esm/series/interface/theme.js +4 -1
  707. package/esm/series/interface/theme.js.map +1 -1
  708. package/esm/series/interface/type.d.ts +6 -2
  709. package/esm/series/interface/type.js +4 -2
  710. package/esm/series/interface/type.js.map +1 -1
  711. package/esm/series/link/link.d.ts +1 -0
  712. package/esm/series/link/link.js +9 -4
  713. package/esm/series/link/link.js.map +1 -1
  714. package/esm/series/liquid/animation.d.ts +14 -0
  715. package/esm/series/liquid/animation.js +55 -0
  716. package/esm/series/liquid/animation.js.map +1 -0
  717. package/esm/series/liquid/constant.d.ts +2 -0
  718. package/esm/series/liquid/constant.js +21 -0
  719. package/esm/series/liquid/constant.js.map +1 -0
  720. package/esm/series/liquid/interface.d.ts +35 -0
  721. package/esm/series/liquid/interface.js +2 -0
  722. package/esm/series/liquid/interface.js.map +1 -0
  723. package/esm/series/liquid/liquid.d.ts +50 -0
  724. package/esm/series/liquid/liquid.js +218 -0
  725. package/esm/series/liquid/liquid.js.map +1 -0
  726. package/esm/series/liquid/tooltip-helper.d.ts +9 -0
  727. package/esm/series/liquid/tooltip-helper.js +29 -0
  728. package/esm/series/liquid/tooltip-helper.js.map +1 -0
  729. package/esm/series/liquid/util.d.ts +2 -0
  730. package/esm/series/liquid/util.js +7 -0
  731. package/esm/series/liquid/util.js.map +1 -0
  732. package/esm/series/map/map.js +4 -4
  733. package/esm/series/map/map.js.map +1 -1
  734. package/esm/series/mixin/line-mixin.d.ts +0 -2
  735. package/esm/series/mixin/line-mixin.js +11 -8
  736. package/esm/series/mixin/line-mixin.js.map +1 -1
  737. package/esm/series/pie/pie.d.ts +1 -0
  738. package/esm/series/pie/pie.js +9 -5
  739. package/esm/series/pie/pie.js.map +1 -1
  740. package/esm/series/polar/polar.js +1 -1
  741. package/esm/series/polar/polar.js.map +1 -1
  742. package/esm/series/progress/circular/circular.d.ts +1 -0
  743. package/esm/series/progress/circular/circular.js +15 -8
  744. package/esm/series/progress/circular/circular.js.map +1 -1
  745. package/esm/series/progress/linear/linear.d.ts +1 -0
  746. package/esm/series/progress/linear/linear.js +56 -52
  747. package/esm/series/progress/linear/linear.js.map +1 -1
  748. package/esm/series/radar/radar.js +4 -3
  749. package/esm/series/radar/radar.js.map +1 -1
  750. package/esm/series/range-area/range-area.js +4 -3
  751. package/esm/series/range-area/range-area.js.map +1 -1
  752. package/esm/series/range-column/range-column.js +7 -6
  753. package/esm/series/range-column/range-column.js.map +1 -1
  754. package/esm/series/rose/rose.js +5 -4
  755. package/esm/series/rose/rose.js.map +1 -1
  756. package/esm/series/sankey/sankey.js +11 -10
  757. package/esm/series/sankey/sankey.js.map +1 -1
  758. package/esm/series/scatter/scatter.js +6 -5
  759. package/esm/series/scatter/scatter.js.map +1 -1
  760. package/esm/series/sunburst/sunburst.js +5 -4
  761. package/esm/series/sunburst/sunburst.js.map +1 -1
  762. package/esm/series/treemap/treemap.js +7 -5
  763. package/esm/series/treemap/treemap.js.map +1 -1
  764. package/esm/series/waterfall/waterfall.js +3 -2
  765. package/esm/series/waterfall/waterfall.js.map +1 -1
  766. package/esm/series/word-cloud/base.d.ts +5 -5
  767. package/esm/series/word-cloud/base.js +39 -45
  768. package/esm/series/word-cloud/base.js.map +1 -1
  769. package/esm/series/word-cloud/word-cloud-3d.js +4 -25
  770. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  771. package/esm/theme/builtin/common/mark.js +2 -2
  772. package/esm/theme/builtin/common/mark.js.map +1 -1
  773. package/esm/theme/builtin/common/series/funnel.js +0 -2
  774. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  775. package/esm/theme/builtin/common/series/funnel3d.js +0 -2
  776. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  777. package/esm/theme/builtin/common/series/index.js +4 -1
  778. package/esm/theme/builtin/common/series/index.js.map +1 -1
  779. package/esm/theme/builtin/common/series/liquid.d.ts +2 -0
  780. package/esm/theme/builtin/common/series/liquid.js +15 -0
  781. package/esm/theme/builtin/common/series/liquid.js.map +1 -0
  782. package/esm/theme/builtin/common/series/waterfall.js +1 -2
  783. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  784. package/esm/typings/layout.d.ts +1 -0
  785. package/esm/typings/layout.js.map +1 -1
  786. package/esm/typings/spec/common.d.ts +3 -2
  787. package/esm/typings/spec/common.js.map +1 -1
  788. package/esm/typings/tooltip/line.d.ts +4 -0
  789. package/esm/typings/tooltip/line.js.map +1 -1
  790. package/esm/typings/visual.d.ts +6 -0
  791. package/esm/typings/visual.js.map +1 -1
  792. package/esm/util/model.js.map +1 -1
  793. package/esm/vchart-all.js +7 -1
  794. package/esm/vchart-all.js.map +1 -1
  795. package/esm/vchart-simple.js +5 -1
  796. package/esm/vchart-simple.js.map +1 -1
  797. package/package.json +10 -10
  798. package/cjs/component/tooltip/handler/base.js.map +0 -1
  799. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
  800. package/cjs/component/tooltip/handler/canvas/index.js.map +0 -1
  801. package/cjs/component/tooltip/handler/constants.js.map +0 -1
  802. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
  803. package/cjs/component/tooltip/handler/dom/index.js.map +0 -1
  804. package/cjs/component/tooltip/handler/dom/interface.js.map +0 -1
  805. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
  806. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
  807. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +0 -1
  808. package/cjs/component/tooltip/handler/dom/model/interface.js.map +0 -1
  809. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
  810. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
  811. package/cjs/component/tooltip/handler/dom/model/text-model.js.map +0 -1
  812. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +0 -1
  813. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
  814. package/cjs/component/tooltip/handler/dom/util.js.map +0 -1
  815. package/cjs/component/tooltip/handler/index.js.map +0 -1
  816. package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
  817. package/cjs/component/tooltip/handler/interface/index.js.map +0 -1
  818. package/cjs/component/tooltip/handler/interface/style.js.map +0 -1
  819. package/cjs/component/tooltip/handler/utils/attribute.js.map +0 -1
  820. package/cjs/component/tooltip/handler/utils/common.js.map +0 -1
  821. package/cjs/component/tooltip/handler/utils/compose.js +0 -106
  822. package/cjs/component/tooltip/handler/utils/compose.js.map +0 -1
  823. package/cjs/component/tooltip/handler/utils/get-spec.js.map +0 -1
  824. package/cjs/component/tooltip/handler/utils/index.js.map +0 -1
  825. package/cjs/component/tooltip/handler/utils/pattern.js.map +0 -1
  826. package/cjs/component/tooltip/handler/utils/position.js.map +0 -1
  827. package/cjs/interaction/trigger.d.ts +0 -39
  828. package/cjs/interaction/trigger.js +0 -141
  829. package/cjs/interaction/trigger.js.map +0 -1
  830. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
  831. package/cjs/plugin/components/axis-sync-plugin/index.js.map +0 -1
  832. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
  833. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
  834. package/esm/component/tooltip/handler/base.js.map +0 -1
  835. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
  836. package/esm/component/tooltip/handler/canvas/index.js.map +0 -1
  837. package/esm/component/tooltip/handler/constants.js.map +0 -1
  838. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
  839. package/esm/component/tooltip/handler/dom/index.js.map +0 -1
  840. package/esm/component/tooltip/handler/dom/interface.js.map +0 -1
  841. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
  842. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
  843. package/esm/component/tooltip/handler/dom/model/content-model.js.map +0 -1
  844. package/esm/component/tooltip/handler/dom/model/interface.js.map +0 -1
  845. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
  846. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
  847. package/esm/component/tooltip/handler/dom/model/text-model.js.map +0 -1
  848. package/esm/component/tooltip/handler/dom/model/title-model.js.map +0 -1
  849. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
  850. package/esm/component/tooltip/handler/dom/util.js.map +0 -1
  851. package/esm/component/tooltip/handler/index.js.map +0 -1
  852. package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
  853. package/esm/component/tooltip/handler/interface/index.js.map +0 -1
  854. package/esm/component/tooltip/handler/interface/style.js.map +0 -1
  855. package/esm/component/tooltip/handler/utils/attribute.js.map +0 -1
  856. package/esm/component/tooltip/handler/utils/common.js.map +0 -1
  857. package/esm/component/tooltip/handler/utils/compose.js +0 -89
  858. package/esm/component/tooltip/handler/utils/compose.js.map +0 -1
  859. package/esm/component/tooltip/handler/utils/get-spec.js.map +0 -1
  860. package/esm/component/tooltip/handler/utils/index.js.map +0 -1
  861. package/esm/component/tooltip/handler/utils/pattern.js.map +0 -1
  862. package/esm/component/tooltip/handler/utils/position.js.map +0 -1
  863. package/esm/interaction/trigger.d.ts +0 -39
  864. package/esm/interaction/trigger.js +0 -142
  865. package/esm/interaction/trigger.js.map +0 -1
  866. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
  867. package/esm/plugin/components/axis-sync-plugin/index.js.map +0 -1
  868. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
  869. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
  870. /package/cjs/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
  871. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
  872. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
  873. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
  874. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
  875. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
  876. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
  877. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
  878. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +0 -0
  879. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
  880. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
  881. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
  882. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
  883. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
  884. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
  885. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
  886. /package/cjs/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
  887. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
  888. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
  889. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
  890. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
  891. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
  892. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
  893. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
  894. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
  895. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +0 -0
  896. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
  897. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
  898. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
  899. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
  900. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
  901. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +0 -0
  902. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
  903. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
  904. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
  905. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
  906. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
  907. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
  908. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
  909. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
  910. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
  911. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
  912. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
  913. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
  914. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
  915. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
  916. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
  917. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
  918. /package/esm/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
  919. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
  920. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
  921. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
  922. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
  923. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
  924. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
  925. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
  926. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +0 -0
  927. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
  928. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
  929. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
  930. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
  931. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
  932. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
  933. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
  934. /package/esm/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
  935. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
  936. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
  937. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
  938. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
  939. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
  940. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
  941. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
  942. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
  943. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +0 -0
  944. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
  945. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
  946. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
  947. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
  948. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
  949. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +0 -0
  950. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
  951. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
  952. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
  953. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
  954. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
  955. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
  956. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
  957. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
  958. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
  959. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
  960. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
  961. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
  962. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
  963. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
  964. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
  965. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
@@ -0,0 +1,94 @@
1
+ import { isValid, isNil, array } from "@visactor/vutils";
2
+
3
+ import { getFirstDatumFromTooltipData, getTooltipContentValue, getTooltipPatternValue } from "./common";
4
+
5
+ import { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from "../constants";
6
+
7
+ import { getTooltipActualActiveType } from "../../../../component/tooltip/utils";
8
+
9
+ import { TimeUtil } from "../../../../component/axis/cartesian/util";
10
+
11
+ const getTimeString = (value, timeFormat, timeFormatMode) => {
12
+ if (!timeFormat && !timeFormatMode) return "object" != typeof value ? null == value ? void 0 : value.toString() : value;
13
+ const timeUtil = TimeUtil.getInstance();
14
+ timeFormat = timeFormat || "%Y%m%d";
15
+ return ("local" === (timeFormatMode = timeFormatMode || "local") ? timeUtil.timeFormat : timeUtil.timeUTCFormat)(timeFormat, value);
16
+ };
17
+
18
+ export const getShowContent = (pattern, data, params) => {
19
+ var _a, _b, _c, _d;
20
+ if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
21
+ const tooltipActualTitleContent = {
22
+ title: {},
23
+ content: []
24
+ }, patternTitle = getTooltipPatternValue(pattern.title, data, params), {visible: visible, value: value, valueTimeFormat: valueTimeFormat, valueTimeFormatMode: valueTimeFormatMode, valueStyle: valueStyle, hasShape: hasShape} = null != patternTitle ? patternTitle : {}, patternTitleVisible = !1 !== getTooltipContentValue(visible, data, params);
25
+ if (patternTitle && patternTitleVisible) {
26
+ const datum = getFirstDatumFromTooltipData(data);
27
+ tooltipActualTitleContent.title = {
28
+ value: getTimeString(getTooltipContentValue(value, datum, params), valueTimeFormat, valueTimeFormatMode),
29
+ valueStyle: getTooltipContentValue(valueStyle, datum, params),
30
+ hasShape: hasShape
31
+ };
32
+ } else tooltipActualTitleContent.title = {
33
+ hasShape: !1,
34
+ visible: !1
35
+ };
36
+ const patternContent = array(getTooltipPatternValue(pattern.content, data, params)), {maxLineCount: maxLineCount = TOOLTIP_MAX_LINE_COUNT} = pattern;
37
+ if ("mark" === pattern.activeType) for (const content of null != patternContent ? patternContent : []) {
38
+ const oneLineData = getOneLineData(null === (_b = data[0]) || void 0 === _b ? void 0 : _b.datum[0], content, params);
39
+ if (!1 !== oneLineData.visible) {
40
+ if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
41
+ tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), TOOLTIP_OTHERS_LINE));
42
+ break;
43
+ }
44
+ if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
45
+ tooltipActualTitleContent.content.push(oneLineData);
46
+ }
47
+ } else if ("dimension" === pattern.activeType) for (const {data: d} of data) {
48
+ for (const {datum: datum, series: series} of d) {
49
+ if (!getTooltipActualActiveType(null === (_c = series.tooltipHelper) || void 0 === _c ? void 0 : _c.spec).includes("dimension")) continue;
50
+ const contentPatterns = null !== (_d = null == patternContent ? void 0 : patternContent.filter((c => isNil(c.seriesId) || c.seriesId === series.id))) && void 0 !== _d ? _d : [];
51
+ for (const datumItem of datum) {
52
+ for (const linePattern of contentPatterns) {
53
+ const oneLineData = getOneLineData(datumItem, linePattern, params);
54
+ if (!1 !== oneLineData.visible) {
55
+ if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
56
+ tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), TOOLTIP_OTHERS_LINE));
57
+ break;
58
+ }
59
+ if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
60
+ tooltipActualTitleContent.content.push(oneLineData);
61
+ }
62
+ }
63
+ if (tooltipActualTitleContent.content.length >= maxLineCount) break;
64
+ }
65
+ if (tooltipActualTitleContent.content.length >= maxLineCount) break;
66
+ }
67
+ if (tooltipActualTitleContent.content.length >= maxLineCount) break;
68
+ }
69
+ return tooltipActualTitleContent.title && (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType ? (isNil(tooltipActualTitleContent.title.shapeType) && (tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType),
70
+ isNil(tooltipActualTitleContent.title.shapeColor) && (tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor)) : tooltipActualTitleContent.title.hasShape = !1),
71
+ tooltipActualTitleContent;
72
+ };
73
+
74
+ export const getOneLineData = (datum, config, params) => {
75
+ const key = getTimeString(getTooltipContentValue(config.key, datum, params), config.keyTimeFormat, config.keyTimeFormatMode), value = getTimeString(getTooltipContentValue(config.value, datum, params), config.valueTimeFormat, config.valueTimeFormatMode), visible = !1 !== getTooltipContentValue(config.visible, datum, params) && (isValid(key) || isValid(value)), isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params), spaceRow = getTooltipContentValue(config.spaceRow, datum, params), shapeType = getTooltipContentValue(config.shapeType, datum, params), shapeColor = getTooltipContentValue(config.shapeColor, datum, params), shapeFill = getTooltipContentValue(config.shapeFill, datum, params), shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params), shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params), keyStyle = getTooltipContentValue(config.keyStyle, datum, params), valueStyle = getTooltipContentValue(config.valueStyle, datum, params);
76
+ return {
77
+ key: key,
78
+ value: value,
79
+ visible: visible,
80
+ isKeyAdaptive: isKeyAdaptive,
81
+ hasShape: config.hasShape,
82
+ shapeType: shapeType,
83
+ shapeFill: shapeFill,
84
+ shapeStroke: shapeStroke,
85
+ shapeLineWidth: shapeLineWidth,
86
+ shapeHollow: config.shapeHollow,
87
+ shapeColor: shapeColor,
88
+ keyStyle: keyStyle,
89
+ valueStyle: valueStyle,
90
+ spaceRow: spaceRow,
91
+ datum: datum
92
+ };
93
+ };
94
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, array } from '@visactor/vutils';\nimport type {\n IToolTipLinePattern,\n ITooltipPattern,\n TooltipData,\n IToolTipLineActual\n} from '../../../../typings/tooltip';\nimport { getFirstDatumFromTooltipData, getTooltipContentValue, getTooltipPatternValue } from './common';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constants';\nimport { getTooltipActualActiveType } from '../../../../component/tooltip/utils';\nimport type { TooltipActualTitleContent, TooltipHandlerParams } from '../../../../component/tooltip';\nimport { TimeUtil } from '../../../../component/axis/cartesian/util';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape } = patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(getTooltipContentValue(value, datum, params), valueTimeFormat, valueTimeFormatMode),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = array(getTooltipPatternValue(pattern.content, data, params));\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n\n if (pattern.activeType === 'mark') {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData((data as IDimensionData[])[0]?.datum[0], content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n } else if (pattern.activeType === 'dimension') {\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum, series } of d) {\n if (!getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension')) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datumItem of datum) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datumItem, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: IToolTipLinePattern,\n params: TooltipHandlerParams\n): IToolTipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType: shapeType as any,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow: config.shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
@@ -1,5 +1,5 @@
1
- import type { ITooltipSpec } from '../../interface';
2
1
  import type { TooltipActiveType } from '../../../../typings';
3
2
  import type { ISeries } from '../../../../series/interface';
4
3
  import type { IDimensionInfo } from '../../../../event/events/dimension/interface';
4
+ import type { ITooltipSpec } from '../../../../component/tooltip';
5
5
  export declare const getTooltipSpecForShow: (activeType: TooltipActiveType, globalSpec: ITooltipSpec, series?: ISeries, dimensionInfo?: IDimensionInfo[]) => ITooltipSpec;
@@ -2,10 +2,10 @@ import { mergeSpec } from "../../../../util/spec/merge-spec";
2
2
 
3
3
  import { makeDefaultPattern } from "./pattern";
4
4
 
5
- import { getTooltipActualActiveType } from "../../utils/common";
6
-
7
5
  import { memoize, isValid, array, isFunction, isNil, cloneDeep } from "@visactor/vutils";
8
6
 
7
+ import { getTooltipActualActiveType } from "../../../../component/tooltip/utils";
8
+
9
9
  export const getTooltipSpecForShow = (activeType, globalSpec, series, dimensionInfo) => {
10
10
  var _a, _b, _c, _d, _e, _f, _g;
11
11
  const finalSpec = Object.assign(Object.assign({}, globalSpec), {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type {\n IToolTipLinePattern,\n ITooltipPattern,\n ITooltipShapePattern,\n MaybeArray,\n TooltipActiveType,\n TooltipData,\n TooltipPatternProperty\n} from '../../../../typings';\nimport type { ISeries } from '../../../../series/interface';\nimport { mergeSpec } from '../../../../util/spec/merge-spec';\nimport { makeDefaultPattern } from './pattern';\nimport type { IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport { memoize, isValid, array, isFunction, isNil, cloneDeep } from '@visactor/vutils';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../../../../component/tooltip';\nimport { getTooltipActualActiveType } from '../../../../component/tooltip/utils';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n if (activeType === 'mark' && series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n\n // visible\n if (isValid(seriesSpec.visible) || isValid(seriesSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(seriesSpec).includes('mark');\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('mark');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler ?? globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n\n // visible\n if (seriesList.every(series => !getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension'))) {\n finalSpec.visible = false;\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('dimension');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n\n // 默认的 pattern\n const defaultPattern = getDefaultTooltipPattern(activeType, series, dimensionInfo);\n // 来自系列的 pattern\n const seriesPattern = getSeriesTooltipPattern(activeType, series, dimensionInfo);\n // 来自用户配置的 pattern\n const userPattern: ITooltipPattern = mergeSpec({}, cloneDeep(globalSpec[activeType]), seriesPattern);\n\n // 对pattern进行组装\n // 组装 title\n const defaultPatternTitle = defaultPattern.title as IToolTipLinePattern | undefined;\n const titleShape: ITooltipShapePattern = getShapePattern(undefined, userPattern, undefined, defaultPatternTitle);\n if (isValid(userPattern.title)) {\n // 排除是回调的情况\n if (!isFunction(userPattern.title)) {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userPattern.title\n };\n } else {\n const userPatternTitle = userPattern.title;\n userPattern.title = (data?: TooltipData, params?: TooltipHandlerParams) => {\n const userResult = userPatternTitle(data, params) ?? {};\n return {\n ...titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userResult\n };\n };\n }\n } else {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape\n };\n }\n\n // 组装 content\n const defaultPatternContent = array(defaultPattern.content) as IToolTipLinePattern[];\n if (isValid(userPattern.content)) {\n const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);\n // 排除是回调的情况\n if (!isFunction(userPattern.content)) {\n const newPatternContent: IToolTipLinePattern[] = [];\n array(userPattern.content).forEach(userLine => {\n newPatternContent.push({\n ...getShapePattern(userLine as IToolTipLinePattern, userPattern, shapePatternMap), // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userLine\n });\n });\n userPattern.content = newPatternContent;\n } else {\n const userPatternContent = userPattern.content;\n userPattern.content = (data?: TooltipData, params?: TooltipHandlerParams) => {\n const newPatternContent: IToolTipLinePattern[] = [];\n array(userPatternContent(data, params) ?? []).forEach(userLine => {\n newPatternContent.push({\n ...getShapePattern(userLine as IToolTipLinePattern, userPattern, shapePatternMap), // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userLine\n });\n });\n return newPatternContent;\n };\n }\n } else {\n userPattern.content = defaultPatternContent.map(line => ({\n ...line,\n ...getShapePattern(undefined, userPattern, undefined, line)\n }));\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n\n/** 获取默认 tooltip pattern */\nconst getDefaultTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let defaultPattern = {} as ITooltipPattern;\n if (activeType === 'mark' && series) {\n // mark tooltip\n defaultPattern = makeDefaultPattern(series, 'mark') ?? {};\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // dimension tooltip\n const patternList: ITooltipPattern[] = [];\n dimensionInfo[0].data.forEach(data => {\n const { series } = data;\n const mockDimensionInfo = [\n {\n ...dimensionInfo[0],\n data: [data]\n }\n ] as IDimensionInfo[];\n const pattern = makeDefaultPattern(series, 'dimension', mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n });\n // 拼接默认 tooltip content\n const defaultPatternContent: Array<TooltipPatternProperty<MaybeArray<IToolTipLinePattern>>> = [];\n patternList.forEach(({ content }) => {\n if (isFunction(content)) {\n defaultPatternContent.push(content);\n } else {\n defaultPatternContent.push(...array(content));\n }\n });\n defaultPattern = {\n ...patternList[0],\n content: defaultPatternContent\n };\n }\n return defaultPattern;\n};\n\n/** 获取来自系列 spec 的 tooltip pattern */\nconst getSeriesTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let seriesPattern = {} as ITooltipPattern;\n if (activeType === 'mark' && series) {\n // mark tooltip\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n seriesPattern = seriesSpec.mark ? cloneDeep(seriesSpec.mark) : {};\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // dimension tooltip\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n const seriesPatternList = seriesList\n .filter(series => {\n const spec = series.tooltipHelper?.spec;\n return isValid(spec?.dimension) && getTooltipActualActiveType(spec).includes('dimension');\n })\n .map(series => series.tooltipHelper.spec.dimension);\n if (seriesPatternList.length) {\n // 拼接系列 tooltip content\n let seriesPatternContent: Array<TooltipPatternProperty<MaybeArray<IToolTipLinePattern>>> | undefined = [];\n if (seriesPatternList.every(({ content }) => isNil(content))) {\n seriesPatternContent = undefined;\n } else {\n seriesPatternList.forEach(({ content }) => {\n if (isNil(content)) {\n return;\n }\n if (isFunction(content)) {\n seriesPatternContent?.push(content);\n } else {\n seriesPatternContent?.push(...array(content));\n }\n });\n }\n seriesPattern = {\n ...seriesPatternList[0],\n content: seriesPatternContent\n };\n }\n }\n return seriesPattern;\n};\n\nconst getSeriesListFromDimensionInfo = memoize((dimensionInfo: IDimensionInfo[]): ISeries[] => {\n return dimensionInfo.reduce(\n (list, cur) => list.concat(cur.data.map(data => data.series).filter(isValid)),\n [] as ISeries[]\n );\n});\n\n/** 获取每个系列对应的 shape pattern */\nconst getShapePatternMapOfEachSeries = (content: IToolTipLinePattern[]): Record<number, ITooltipShapePattern> => {\n const shapePatternMap: Record<number, ITooltipShapePattern> = {};\n content.forEach(line => {\n const key = line.seriesId ?? 0;\n if (!shapePatternMap[key]) {\n shapePatternMap[key] = line;\n }\n });\n return shapePatternMap;\n};\n\n/** 根据优先级获取形状配置 */\nconst getShapePattern = (\n userLinePattern?: IToolTipLinePattern,\n userPattern?: ITooltipPattern,\n shapePatternMap?: Record<number, ITooltipShapePattern>,\n defaultShapePattern?: ITooltipShapePattern\n): ITooltipShapePattern => {\n const shapePatternFromMap = shapePatternMap?.[userLinePattern?.seriesId ?? 0] ?? shapePatternMap?.[0];\n const shapeKeys: Set<keyof ITooltipShapePattern> = new Set(\n []\n .concat(\n Object.keys(userLinePattern ?? {}),\n Object.keys(userPattern ?? {}),\n Object.keys(shapePatternFromMap ?? {}),\n Object.keys(defaultShapePattern ?? {})\n )\n .filter(key => key.toLowerCase().includes('shape')) as any[]\n );\n\n const shapePattern: ITooltipShapePattern = {};\n shapeKeys.forEach(key => {\n const value =\n userLinePattern?.[key] ?? userPattern?.[key] ?? shapePatternFromMap?.[key] ?? defaultShapePattern?.[key];\n if (value !== undefined) {\n shapePattern[key as any] = value;\n }\n });\n return shapePattern;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './common';\nexport * from './compose';\nexport * from './pattern';\nexport * from './get-spec';\nexport * from './position';\nexport * from './attribute';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/pattern.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAe,EACf,UAA6B,EAC7B,aAAgC,EACR,EAAE;;IAC1B,OAAO,MAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,wBAAwB,CAAC,UAAU,EAAE,aAAa,CAAC,mCAAI,IAAI,CAAC;AAC3F,CAAC,CAAC","file":"pattern.js","sourcesContent":["import type { IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport type { ISeries } from '../../../../series/interface';\nimport type { ITooltipPattern, TooltipActiveType } from '../../../../typings';\n\n/**\n * 根据图表上下文生成默认的tooltip pattern\n * @param activeType\n * @param series\n * @param dimensionInfo\n * @returns\n */\nexport const makeDefaultPattern = (\n series: ISeries,\n activeType: TooltipActiveType,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern | null => {\n return series.tooltipHelper?.getDefaultTooltipPattern(activeType, dimensionInfo) ?? null;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,QAAqE,EACrE,KAAiB,EACjB,EAAE;IACF,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACtB,MAAM,GAAG,QAAQ,CAAC;SACnB;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YAE/B,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAExC,IAAI,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC7B,MAAM,GAAG,eAAe,CAAC;aAC1B;SACF;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GACvB;IACE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC/C,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACnD,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC7C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IAC1C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IAC1C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IAC3C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IAC3C,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACnD,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC9C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC/C,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,QAA8B,EAC9B,WAA2C,EACZ,EAAE,eAAC,OAAA,MAAA,MAAA,YAAY,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,mCAAI,WAAW,CAAA,EAAA,CAAC;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA8B,EAC9B,WAAyC,EACZ,EAAE,eAAC,OAAA,MAAA,MAAA,YAAY,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,mCAAI,WAAW,CAAA,EAAA,CAAC","file":"position.js","sourcesContent":["import { TooltipFixedPosition } from '../../../../typings/tooltip/position';\nimport { isFunction, isNumber, isValid } from '@visactor/vutils';\n\nexport const getActualTooltipPositionValue = (\n position: number | ((event: MouseEvent) => number) | null | undefined,\n event: MouseEvent\n) => {\n let result;\n if (isValid(position)) {\n if (isNumber(position)) {\n result = position;\n } else if (isFunction(position)) {\n // 这里额外判断下是否合法\n const tooltipPosition = position(event);\n\n if (isNumber(tooltipPosition)) {\n result = tooltipPosition;\n }\n }\n }\n return result;\n};\n\nexport type TooltipHorizontalPositionType = 'left' | 'right' | 'middle';\nexport type TooltipVerticalPositionType = 'top' | 'bottom' | 'middle';\n\nexport const positionType: Record<TooltipFixedPosition, [TooltipHorizontalPositionType, TooltipVerticalPositionType]> =\n {\n [TooltipFixedPosition.left]: ['left', 'middle'],\n [TooltipFixedPosition.right]: ['right', 'middle'],\n [TooltipFixedPosition.inside]: ['middle', 'middle'],\n [TooltipFixedPosition.top]: ['middle', 'top'],\n [TooltipFixedPosition.lt]: ['left', 'top'],\n [TooltipFixedPosition.tl]: ['left', 'top'],\n [TooltipFixedPosition.rt]: ['right', 'top'],\n [TooltipFixedPosition.tr]: ['right', 'top'],\n [TooltipFixedPosition.bottom]: ['middle', 'bottom'],\n [TooltipFixedPosition.bl]: ['left', 'bottom'],\n [TooltipFixedPosition.lb]: ['left', 'bottom'],\n [TooltipFixedPosition.br]: ['right', 'bottom'],\n [TooltipFixedPosition.rb]: ['right', 'bottom']\n };\n\nexport const getHorizontalPositionType = (\n position: TooltipFixedPosition,\n defaultCase?: TooltipHorizontalPositionType\n): TooltipHorizontalPositionType => positionType[position]?.[0] ?? defaultCase;\n\nexport const getVerticalPositionType = (\n position: TooltipFixedPosition,\n defaultCase?: TooltipVerticalPositionType\n): TooltipVerticalPositionType => positionType[position]?.[1] ?? defaultCase;\n"]}
@@ -63,7 +63,4 @@ export interface IGeoRegionSpec extends IRegionSpec {
63
63
  export interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {
64
64
  type: 'region';
65
65
  spec: T;
66
- seriesIndexes?: number[];
67
- markLabel?: IModelSpecInfo;
68
- geoCoordinate?: IModelSpecInfo;
69
66
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/region/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMark } from '../mark/interface';\nimport type { ILayoutModel, IModelConstructor, IModelOption, IModelSpecInfo } from '../model/interface';\nimport type { ISeries, SeriesType } from '../series/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IInteraction } from '../interaction/interface';\nimport type { IProjectionSpec } from '../component/geo/interface';\nimport type { ConvertToMarkStyleSpec, IRectMarkSpec } from '../typings/visual';\nimport type { IAnimate } from '../animation/interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { StringOrNumber } from '../typings';\nimport type { ILayoutItemSpec } from '../layout/interface';\n\nexport interface IRegion extends ILayoutModel {\n animate?: IAnimate;\n interaction: IInteraction;\n\n //stack\n getStackInverse: () => boolean;\n\n getMaxWidth: () => number | undefined;\n setMaxWidth: (value: number) => void;\n getMaxHeight: () => number | undefined;\n setMaxHeight: (value: number) => void;\n\n // 系列\n addSeries: (series: ISeries) => void;\n removeSeries: (series: ISeries) => void;\n\n getSeries: (opt?: ISeriesFilter) => ISeries[];\n getSeriesInName: (name: string) => ISeries;\n getSeriesInUserId: (userId: string) => ISeries;\n getSeriesInId: (id: number) => ISeries;\n getSeriesInType: (type: SeriesType) => ISeries[];\n getSeriesInCoordinateType: (type: CoordinateType) => ISeries[];\n getSeriesInDataName: (dataName: string) => ISeries[];\n\n getMarks: () => IMark[];\n getGroupMark: () => IGroupMark;\n getInteractionMark: () => IGroupMark;\n\n getSpecInfo: () => IRegionSpecInfo;\n}\n\nexport type ISeriesFilter = {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: number;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n};\n\nexport interface IRegionConstructor extends IModelConstructor {\n new (spec: IRegionSpec, ctx: IModelOption): IRegion;\n}\n\nexport interface IRegionSpec extends ILayoutItemSpec {\n id?: StringOrNumber;\n coordinate?: CoordinateType;\n style?: ConvertToMarkStyleSpec<IRectMarkSpec>;\n /**\n * 堆积时是否逆序\n * @default false\n * @since 1.4.0\n */\n stackInverse?: boolean;\n}\n\nexport interface IGeoRegionSpec extends IRegionSpec {\n coordinate?: 'geo';\n /**\n * 是否可以拖拽\n * @default false\n */\n roam?: boolean;\n /**\n * 数据中的经度字段名\n */\n longitudeField?: string;\n /**\n * 数据中的纬度字段名\n */\n latitudeField?: string;\n /**\n * 地理映射配置\n */\n projection?: Partial<Omit<IProjectionSpec, 'name'>>;\n /**\n * 缩放最大最小倍数限制\n */\n zoomLimit?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {\n /** model 具体类型 */\n type: 'region';\n /** model spec */\n spec: T;\n /** 该 region 包含的系列索引 */\n seriesIndexes?: number[];\n /** 该 region 挂载的标签组件 */\n markLabel?: IModelSpecInfo;\n /** 该 region 挂载的 geoCoordinate 组件 */\n geoCoordinate?: IModelSpecInfo;\n}\n"]}
1
+ {"version":3,"sources":["../src/region/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMark } from '../mark/interface';\nimport type { ILayoutModel, IModelConstructor, IModelOption, IModelSpecInfo } from '../model/interface';\nimport type { ISeries, SeriesType } from '../series/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IInteraction } from '../interaction/interface';\nimport type { IProjectionSpec } from '../component/geo/interface';\nimport type { ConvertToMarkStyleSpec, IRectMarkSpec } from '../typings/visual';\nimport type { IAnimate } from '../animation/interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { StringOrNumber } from '../typings';\nimport type { ILayoutItemSpec } from '../layout/interface';\n\nexport interface IRegion extends ILayoutModel {\n animate?: IAnimate;\n interaction: IInteraction;\n\n //stack\n getStackInverse: () => boolean;\n\n getMaxWidth: () => number | undefined;\n setMaxWidth: (value: number) => void;\n getMaxHeight: () => number | undefined;\n setMaxHeight: (value: number) => void;\n\n // 系列\n addSeries: (series: ISeries) => void;\n removeSeries: (series: ISeries) => void;\n\n getSeries: (opt?: ISeriesFilter) => ISeries[];\n getSeriesInName: (name: string) => ISeries;\n getSeriesInUserId: (userId: string) => ISeries;\n getSeriesInId: (id: number) => ISeries;\n getSeriesInType: (type: SeriesType) => ISeries[];\n getSeriesInCoordinateType: (type: CoordinateType) => ISeries[];\n getSeriesInDataName: (dataName: string) => ISeries[];\n\n getMarks: () => IMark[];\n getGroupMark: () => IGroupMark;\n getInteractionMark: () => IGroupMark;\n\n getSpecInfo: () => IRegionSpecInfo;\n}\n\nexport type ISeriesFilter = {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: number;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n};\n\nexport interface IRegionConstructor extends IModelConstructor {\n new (spec: IRegionSpec, ctx: IModelOption): IRegion;\n}\n\nexport interface IRegionSpec extends ILayoutItemSpec {\n id?: StringOrNumber;\n coordinate?: CoordinateType;\n style?: ConvertToMarkStyleSpec<IRectMarkSpec>;\n /**\n * 堆积时是否逆序\n * @default false\n * @since 1.4.0\n */\n stackInverse?: boolean;\n}\n\nexport interface IGeoRegionSpec extends IRegionSpec {\n coordinate?: 'geo';\n /**\n * 是否可以拖拽\n * @default false\n */\n roam?: boolean;\n /**\n * 数据中的经度字段名\n */\n longitudeField?: string;\n /**\n * 数据中的纬度字段名\n */\n latitudeField?: string;\n /**\n * 地理映射配置\n */\n projection?: Partial<Omit<IProjectionSpec, 'name'>>;\n /**\n * 缩放最大最小倍数限制\n */\n zoomLimit?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {\n /** model 具体类型 */\n type: 'region';\n /** model spec */\n spec: T;\n}\n"]}
@@ -148,7 +148,7 @@ export class Region extends LayoutModel {
148
148
  getSeries(opt = {}) {
149
149
  return this._series.filter((s => {
150
150
  var _a, _b;
151
- return (!opt.name || (null == s ? void 0 : s.name) === opt.name) && (!opt.userId || array(opt.userId).includes(s.userId)) && (!isValid(opt.specIndex) || !s.getSpecIndex || array(opt.specIndex).includes(s.getSpecIndex())) && (!opt.id || s.id === opt.id) && (!opt.type || s.type === opt.type) && (!opt.coordinateType || s.coordinate === opt.coordinateType) && (!opt.dataName || (null === (_b = null === (_a = s.getRawData) || void 0 === _a ? void 0 : _a.call(s)) || void 0 === _b ? void 0 : _b.name) === opt.dataName);
151
+ return (!opt.name || (null == s ? void 0 : s.name) === opt.name) && (!opt.userId || array(opt.userId).includes(s.userId)) && (!isValid(opt.specIndex) || array(opt.specIndex).includes(s.getSpecIndex())) && (!opt.id || s.id === opt.id) && (!opt.type || s.type === opt.type) && (!opt.coordinateType || s.coordinate === opt.coordinateType) && (!opt.dataName || (null === (_b = null === (_a = s.getRawData) || void 0 === _a ? void 0 : _a.call(s)) || void 0 === _b ? void 0 : _b.name) === opt.dataName);
152
152
  }));
153
153
  }
154
154
  getSeriesInName(name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec, IRegionSpecInfo } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\nimport { RegionSpecTransformer } from './region-transformer';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n static readonly transformerConstructor = RegionSpecTransformer;\n readonly transformerConstructor = RegionSpecTransformer as any;\n readonly modelType: string = 'region';\n static specKey = 'region';\n specKey: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n declare getSpecInfo: () => IRegionSpecInfo;\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _interactionMark!: IGroupMark;\n getInteractionMark() {\n return this._interactionMark;\n }\n\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n this.interaction.setDisableActiveEffect(this._option.disableTriggerEvent);\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n created(): void {\n this.initLayout();\n super.created();\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);\n // 交互层\n this._interactionMark = this._createGroupMark(\n 'regionInteractionGroup',\n this.userId + '_interaction',\n LayoutZIndex.Interaction\n );\n\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n private _createGroupMark(name: string, userId: StringOrNumber, zIndex: number) {\n const groupMark = this._createMark({ type: MarkTypeEnum.group, name }) as IGroupMark;\n groupMark.setUserId(userId);\n groupMark.setZIndex(zIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(groupMark);\n return groupMark;\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec?.style, spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec, IRegionSpecInfo } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\nimport { RegionSpecTransformer } from './region-transformer';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n static readonly transformerConstructor = RegionSpecTransformer;\n readonly transformerConstructor = RegionSpecTransformer as any;\n readonly modelType: string = 'region';\n static specKey = 'region';\n specKey: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n declare getSpecInfo: () => IRegionSpecInfo;\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _interactionMark!: IGroupMark;\n getInteractionMark() {\n return this._interactionMark;\n }\n\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n this.interaction.setDisableActiveEffect(this._option.disableTriggerEvent);\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n created(): void {\n this.initLayout();\n super.created();\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);\n // 交互层\n this._interactionMark = this._createGroupMark(\n 'regionInteractionGroup',\n this.userId + '_interaction',\n LayoutZIndex.Interaction\n );\n\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n private _createGroupMark(name: string, userId: StringOrNumber, zIndex: number) {\n const groupMark = this._createMark({ type: MarkTypeEnum.group, name }) as IGroupMark;\n groupMark.setUserId(userId);\n groupMark.setZIndex(zIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(groupMark);\n return groupMark;\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec?.style, spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
@@ -16,8 +16,7 @@ export class AreaSeriesSpecTransformer extends LineLikeSeriesSpecTransformer {
16
16
  var _a, _b, _c, _d, _e;
17
17
  super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);
18
18
  const {area: area = {}, line: line = {}, seriesMark: seriesMark = "area"} = spec, isAreaVisible = !1 !== area.visible && !1 !== (null === (_a = area.style) || void 0 === _a ? void 0 : _a.visible), isLineVisible = !1 !== line.visible && !1 !== (null === (_b = line.style) || void 0 === _b ? void 0 : _b.visible);
19
- area.interactive = !(!area.interactive && null !== (_c = line.interactive) && void 0 !== _c && !_c),
20
- area.support3d = !(!area.support3d && !line.support3d), area.zIndex = isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(null !== (_d = area.zIndex) && void 0 !== _d ? _d : 0, null !== (_e = line.zIndex) && void 0 !== _e ? _e : 0) : void 0,
19
+ area.support3d = !(!area.support3d && !line.support3d), area.zIndex = isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(null !== (_c = area.zIndex) && void 0 !== _c ? _c : 0, null !== (_d = line.zIndex) && void 0 !== _d ? _d : 0) : void 0,
21
20
  area.style && delete area.style.stroke, area.state && Object.keys(area.state).forEach((state => {
22
21
  "style" in area.state[state] ? delete area.state[state].style.stroke : delete area.state[state].stroke;
23
22
  }));
@@ -25,6 +24,8 @@ export class AreaSeriesSpecTransformer extends LineLikeSeriesSpecTransformer {
25
24
  ("line" === seriesMark || isLineVisible && !isAreaVisible) && (mainSpec = line,
26
25
  subSpec = area), area.style = mergeSpec({}, subSpec.style, mainSpec.style), area.state = mergeSpec({}, subSpec.state, mainSpec.state),
27
26
  isAreaVisible || (area.style.fill = !1), isLineVisible || (area.style.stroke = !1),
27
+ !1 === area.interactive && (area.style.fillPickable = !1), !1 === line.interactive && (line.style.strokePickable = !1),
28
+ area.interactive = !(!area.interactive && null !== (_e = line.interactive) && void 0 !== _e && !_e),
28
29
  area.visible = !(!isAreaVisible && !isLineVisible), spec.area = area, spec.line = line;
29
30
  }
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/area-transformer.ts"],"names":[],"mappings":"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","file":"area-transformer.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport type { AreaSeries } from './area';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { ConvertToMarkStyleSpec, IAreaMarkSpec } from '../../typings';\nimport { mergeSpec } from '../../util';\n\nexport class AreaSeriesSpecTransformer<\n T extends IAreaSeriesSpec = IAreaSeriesSpec,\n K extends IAreaSeriesTheme = IAreaSeriesTheme\n> extends LineLikeSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n super._transformLabelSpec(spec);\n this._addMarkLabelSpec<AreaSeries>(\n spec,\n SeriesMarkNameEnum.area,\n 'areaLabel' as any,\n 'initLineLabelMarkStyle',\n undefined,\n true\n );\n const isPointVisible = spec.point?.visible !== false && spec.point?.style?.visible !== false;\n if (!isPointVisible) {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.area);\n }\n }\n\n protected _transformSpecAfterMergingTheme(spec: T, chartSpec: any, chartSpecInfo?: IChartSpecInfo) {\n super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);\n\n const { area = {}, line = {}, seriesMark = 'area' } = spec;\n const isAreaVisible = area.visible !== false && area.style?.visible !== false;\n const isLineVisible = line.visible !== false && line.style?.visible !== false;\n // merge line to area\n area.interactive = !!(area.interactive || (line.interactive ?? true));\n area.support3d = !!(area.support3d || line.support3d);\n area.zIndex =\n isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(area.zIndex ?? 0, line.zIndex ?? 0) : undefined;\n\n // remove area stroke\n if (area.style) {\n delete area.style.stroke;\n }\n if (area.state) {\n Object.keys(area.state).forEach(state => {\n if ('style' in area.state[state]) {\n delete area.state[state].style.stroke;\n } else {\n delete (<ConvertToMarkStyleSpec<IAreaMarkSpec>>area.state[state]).stroke;\n }\n });\n }\n // check which one is main\n let mainSpec = area;\n let subSpec = line;\n if (seriesMark === 'line' || (isLineVisible && !isAreaVisible)) {\n mainSpec = line;\n subSpec = area;\n }\n area.style = mergeSpec({}, subSpec.style, mainSpec.style);\n area.state = mergeSpec({}, subSpec.state, mainSpec.state);\n if (!isAreaVisible) {\n area.style.fill = false;\n }\n if (!isLineVisible) {\n area.style.stroke = false;\n }\n area.visible = !(!isAreaVisible && !isLineVisible);\n\n spec.area = area;\n spec.line = line;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/area/area-transformer.ts"],"names":[],"mappings":"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","file":"area-transformer.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport type { AreaSeries } from './area';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { ConvertToMarkStyleSpec, IAreaMarkSpec } from '../../typings';\nimport { mergeSpec } from '../../util';\n\nexport class AreaSeriesSpecTransformer<\n T extends IAreaSeriesSpec = IAreaSeriesSpec,\n K extends IAreaSeriesTheme = IAreaSeriesTheme\n> extends LineLikeSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n super._transformLabelSpec(spec);\n this._addMarkLabelSpec<AreaSeries>(\n spec,\n SeriesMarkNameEnum.area,\n 'areaLabel' as any,\n 'initLineLabelMarkStyle',\n undefined,\n true\n );\n const isPointVisible = spec.point?.visible !== false && spec.point?.style?.visible !== false;\n if (!isPointVisible) {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.area);\n }\n }\n\n protected _transformSpecAfterMergingTheme(spec: T, chartSpec: any, chartSpecInfo?: IChartSpecInfo) {\n super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);\n\n const { area = {}, line = {}, seriesMark = 'area' } = spec;\n const isAreaVisible = area.visible !== false && area.style?.visible !== false;\n const isLineVisible = line.visible !== false && line.style?.visible !== false;\n // merge line to area\n\n area.support3d = !!(area.support3d || line.support3d);\n area.zIndex =\n isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(area.zIndex ?? 0, line.zIndex ?? 0) : undefined;\n\n // remove area stroke\n if (area.style) {\n delete area.style.stroke;\n }\n if (area.state) {\n Object.keys(area.state).forEach(state => {\n if ('style' in area.state[state]) {\n delete area.state[state].style.stroke;\n } else {\n delete (<ConvertToMarkStyleSpec<IAreaMarkSpec>>area.state[state]).stroke;\n }\n });\n }\n // check which one is main\n let mainSpec = area;\n let subSpec = line;\n if (seriesMark === 'line' || (isLineVisible && !isAreaVisible)) {\n mainSpec = line;\n subSpec = area;\n }\n area.style = mergeSpec({}, subSpec.style, mainSpec.style);\n area.state = mergeSpec({}, subSpec.state, mainSpec.state);\n if (!isAreaVisible) {\n area.style.fill = false;\n }\n if (!isLineVisible) {\n area.style.stroke = false;\n }\n\n if (area.interactive === false) {\n area.style.fillPickable = false;\n }\n if (line.interactive === false) {\n line.style.strokePickable = false;\n }\n\n area.interactive = !!(area.interactive || (line.interactive ?? true));\n area.visible = !(!isAreaVisible && !isLineVisible);\n\n spec.area = area;\n spec.line = line;\n }\n}\n"]}
@@ -44,19 +44,20 @@ export class AreaSeries extends CartesianSeries {
44
44
  this._supportStack = !0, this._sortDataByAxis = !1;
45
45
  }
46
46
  initMark() {
47
- var _a, _b, _c, _d, _e;
47
+ var _a, _b;
48
48
  const progressive = {
49
49
  progressiveStep: this._spec.progressiveStep,
50
50
  progressiveThreshold: this._spec.progressiveThreshold,
51
51
  large: this._spec.large,
52
52
  largeThreshold: this._spec.largeThreshold
53
- }, isAreaVisible = !1 !== (null === (_a = this._spec.area) || void 0 === _a ? void 0 : _a.visible) && !1 !== (null === (_c = null === (_b = this._spec.area) || void 0 === _b ? void 0 : _b.style) || void 0 === _c ? void 0 : _c.visible), seriesMark = null !== (_d = this._spec.seriesMark) && void 0 !== _d ? _d : "area";
53
+ }, areaSpec = this._spec.area || {}, isAreaVisible = !1 !== areaSpec.visible && !1 !== (null === (_a = areaSpec.style) || void 0 === _a ? void 0 : _a.visible), seriesMark = null !== (_b = this._spec.seriesMark) && void 0 !== _b ? _b : "area";
54
54
  this._areaMark = this._createMark(AreaSeries.mark.area, {
55
55
  groupKey: this._seriesField,
56
56
  defaultMorphElementKey: this.getDimensionField()[0],
57
57
  progressive: progressive,
58
58
  isSeriesMark: isAreaVisible && "point" !== seriesMark,
59
- customShape: null === (_e = this._spec.area) || void 0 === _e ? void 0 : _e.customShape
59
+ customShape: areaSpec.customShape,
60
+ stateSort: areaSpec.stateSort
60
61
  }), this.initSymbolMark(progressive, "point" === seriesMark);
61
62
  }
62
63
  initMarkStyle() {
@@ -87,7 +88,7 @@ export class AreaSeries extends CartesianSeries {
87
88
  connectedType: this._getInvalidConnectType()
88
89
  }, "normal", AttributeLevel.Series), this.setMarkStyle(areaMark, {
89
90
  curveType: curveType
90
- }, "normal", AttributeLevel.Built_In), this._trigger.registerMark(areaMark), Object.keys(areaMark.stateStyle).forEach((state => {
91
+ }, "normal", AttributeLevel.Built_In), Object.keys(areaMark.stateStyle).forEach((state => {
91
92
  areaMark.stateStyle[state].stroke && areaMark.setPostProcess("stroke", (result => [ result, !1, !1, !1 ]), state);
92
93
  }))), this.initLineMarkStyle(this._direction, userCurveType), this.initSymbolMarkStyle();
93
94
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: this._spec.area?.customShape\n }) as IAreaMark;\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaAnimation();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const areaSpec = this._spec.area || {};\n const isAreaVisible = areaSpec.visible !== false && areaSpec.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: areaSpec.customShape,\n stateSort: areaSpec.stateSort\n }) as IAreaMark;\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaAnimation();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
@@ -41,11 +41,20 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
41
41
  protected _dataToPosY(datum: Datum): number;
42
42
  protected _dataToPosY1(datum: Datum): number;
43
43
  initBandRectMarkStyle(): void;
44
- protected _initBarBackgroundMarkStyle(): void;
44
+ protected _initBandBarBackgroundMarkStyle(): void;
45
45
  initLinearRectMarkStyle(): void;
46
+ protected _initLinearBarBackgroundMarkStyle(): void;
46
47
  initAnimation(): void;
47
- protected _getBarWidth(axisHelper: IAxisHelper): number;
48
- protected _getPosition(direction: DirectionType, datum: Datum): number;
48
+ protected _getBarWidth(axisHelper: IAxisHelper, scaleDepth?: number): number;
49
+ protected _getPosition(direction: DirectionType, datum: Datum, scaleDepth?: number, mark?: SeriesMarkNameEnum): number;
50
+ protected _barBackgroundPositionXEncoder?: (datum: Datum) => number;
51
+ protected _getBarBackgroundPositionXEncoder: () => (datum: Datum) => number;
52
+ protected _setBarBackgroundPositionXEncoder: (encoder: (datum: Datum) => number) => void;
53
+ dataToBarBackgroundPositionX(datum: Datum, scaleDepth?: number): number;
54
+ protected _barBackgroundPositionYEncoder?: (datum: Datum) => number;
55
+ protected _getBarBackgroundPositionYEncoder: () => (datum: Datum) => number;
56
+ protected _setBarBackgroundPositionYEncoder: (encoder: (datum: Datum) => number) => void;
57
+ dataToBarBackgroundPositionY(datum: Datum, scaleDepth?: number): number;
49
58
  onLayoutEnd(ctx: any): void;
50
59
  compile(): void;
51
60
  getDefaultShapeType(): string;