@visactor/vchart 1.13.1 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (792) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +1376 -1225
  3. package/build/index.js +1379 -1224
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/config.js.map +1 -1
  7. package/cjs/animation/utils.d.ts +2 -2
  8. package/cjs/chart/base/base-chart.d.ts +1 -2
  9. package/cjs/chart/base/base-chart.js.map +1 -1
  10. package/cjs/chart/common/interface.d.ts +5 -4
  11. package/cjs/chart/common/interface.js.map +1 -1
  12. package/cjs/chart/gauge/interface.d.ts +2 -2
  13. package/cjs/chart/gauge/interface.js.map +1 -1
  14. package/cjs/chart/index.js +2 -1
  15. package/cjs/chart/interface/common.d.ts +2 -2
  16. package/cjs/chart/interface/common.js.map +1 -1
  17. package/cjs/chart/polar/interface.d.ts +1 -1
  18. package/cjs/chart/polar/interface.js.map +1 -1
  19. package/cjs/chart/sequence/interface.d.ts +2 -1
  20. package/cjs/chart/sequence/interface.js.map +1 -1
  21. package/cjs/compile/compilable-base.d.ts +2 -3
  22. package/cjs/compile/compilable-base.js +1 -2
  23. package/cjs/compile/compilable-base.js.map +1 -1
  24. package/cjs/compile/compiler.d.ts +8 -8
  25. package/cjs/compile/compiler.js +23 -11
  26. package/cjs/compile/compiler.js.map +1 -1
  27. package/cjs/compile/interface/compilable-item.d.ts +63 -5
  28. package/cjs/compile/interface/compilable-item.js.map +1 -1
  29. package/cjs/compile/interface/compiler.d.ts +4 -20
  30. package/cjs/compile/interface/compiler.js.map +1 -1
  31. package/cjs/compile/mark/compilable-mark.d.ts +4 -5
  32. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  33. package/cjs/compile/mark/interface.d.ts +19 -7
  34. package/cjs/compile/mark/interface.js.map +1 -1
  35. package/cjs/compile/mark/mark-data.d.ts +2 -2
  36. package/cjs/compile/mark/mark-data.js.map +1 -1
  37. package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
  38. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  39. package/cjs/component/axis/base-axis.d.ts +1 -1
  40. package/cjs/component/axis/base-axis.js.map +1 -1
  41. package/cjs/component/axis/cartesian/axis.js +28 -59
  42. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  43. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  44. package/cjs/component/axis/interface/common.d.ts +2 -2
  45. package/cjs/component/axis/interface/common.js.map +1 -1
  46. package/cjs/component/axis/interface/spec.js.map +1 -1
  47. package/cjs/component/axis/polar/interface/common.d.ts +1 -1
  48. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  49. package/cjs/component/axis/util.js.map +1 -1
  50. package/cjs/component/base/base-component.js.map +1 -1
  51. package/cjs/component/crosshair/interface/cartesian.d.ts +1 -1
  52. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  53. package/cjs/component/crosshair/interface/common.d.ts +1 -1
  54. package/cjs/component/crosshair/interface/common.js.map +1 -1
  55. package/cjs/component/crosshair/interface/polar.d.ts +1 -1
  56. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  57. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  58. package/cjs/component/crosshair/interface/theme.d.ts +1 -1
  59. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  60. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  61. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  62. package/cjs/component/data-zoom/data-zoom/interface.d.ts +1 -2
  63. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  64. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +1 -2
  65. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  66. package/cjs/component/interface/theme.d.ts +13 -9
  67. package/cjs/component/interface/theme.js.map +1 -1
  68. package/cjs/component/label/interface.d.ts +14 -2
  69. package/cjs/component/label/interface.js.map +1 -1
  70. package/cjs/component/label/label.d.ts +2 -15
  71. package/cjs/component/label/label.js.map +1 -1
  72. package/cjs/component/label/total-label.js.map +1 -1
  73. package/cjs/component/label/util.d.ts +1 -2
  74. package/cjs/component/label/util.js.map +1 -1
  75. package/cjs/component/legend/interface.d.ts +5 -2
  76. package/cjs/component/legend/interface.js.map +1 -1
  77. package/cjs/component/legend/util.d.ts +2 -2
  78. package/cjs/component/marker/base-marker.d.ts +1 -1
  79. package/cjs/component/marker/base-marker.js.map +1 -1
  80. package/cjs/component/marker/interface.d.ts +3 -4
  81. package/cjs/component/marker/interface.js.map +1 -1
  82. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  83. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  84. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  85. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  86. package/cjs/component/marker/mark-line/interface/spec.d.ts +1 -1
  87. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  88. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  89. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  90. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  91. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  92. package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
  93. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  94. package/cjs/component/player/interface/theme.d.ts +1 -2
  95. package/cjs/component/player/interface/theme.js.map +1 -1
  96. package/cjs/component/poptip/interface.d.ts +1 -1
  97. package/cjs/component/poptip/interface.js.map +1 -1
  98. package/cjs/component/title/interface/theme.d.ts +1 -1
  99. package/cjs/component/title/interface/theme.js.map +1 -1
  100. package/cjs/component/tooltip/interface/theme.d.ts +1 -1
  101. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  102. package/cjs/core/factory.d.ts +1 -1
  103. package/cjs/core/index.d.ts +1 -1
  104. package/cjs/core/index.js +1 -1
  105. package/cjs/core/index.js.map +1 -1
  106. package/cjs/core/instance-manager.js +1 -2
  107. package/cjs/core/interface.d.ts +6 -7
  108. package/cjs/core/interface.js.map +1 -1
  109. package/cjs/core/util.js +2 -1
  110. package/cjs/core/vchart.d.ts +3 -3
  111. package/cjs/core/vchart.js.map +1 -1
  112. package/cjs/data/initialize.js +1 -1
  113. package/cjs/data/register.js +1 -1
  114. package/cjs/data/transforms/aggregation.d.ts +2 -29
  115. package/cjs/data/transforms/aggregation.js.map +1 -1
  116. package/cjs/data/transforms/dimension-statistics.d.ts +1 -13
  117. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  118. package/cjs/data/transforms/hierarchy-dimension-statistics.d.ts +1 -1
  119. package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  120. package/cjs/data/transforms/interface.d.ts +47 -0
  121. package/cjs/data/transforms/interface.js +6 -0
  122. package/cjs/data/transforms/interface.js.map +1 -0
  123. package/cjs/data/transforms/regression.d.ts +1 -4
  124. package/cjs/data/transforms/regression.js.map +1 -1
  125. package/cjs/event/event.js +1 -1
  126. package/cjs/event/events/dimension/interface.d.ts +1 -1
  127. package/cjs/event/events/dimension/interface.js.map +1 -1
  128. package/cjs/event/index.js +1 -1
  129. package/cjs/event/interface.d.ts +1 -2
  130. package/cjs/event/interface.js.map +1 -1
  131. package/cjs/interaction/interface.d.ts +1 -5
  132. package/cjs/interaction/interface.js.map +1 -1
  133. package/cjs/layout/interface.js.map +1 -1
  134. package/cjs/mark/arc-3d.d.ts +1 -2
  135. package/cjs/mark/arc-3d.js.map +1 -1
  136. package/cjs/mark/arc.d.ts +1 -2
  137. package/cjs/mark/arc.js.map +1 -1
  138. package/cjs/mark/area.d.ts +1 -2
  139. package/cjs/mark/area.js.map +1 -1
  140. package/cjs/mark/base/base-line.js.map +1 -1
  141. package/cjs/mark/box-plot.d.ts +1 -2
  142. package/cjs/mark/box-plot.js.map +1 -1
  143. package/cjs/mark/cell.d.ts +1 -2
  144. package/cjs/mark/cell.js.map +1 -1
  145. package/cjs/mark/component.d.ts +1 -2
  146. package/cjs/mark/component.js.map +1 -1
  147. package/cjs/mark/group.d.ts +1 -9
  148. package/cjs/mark/group.js.map +1 -1
  149. package/cjs/mark/image.d.ts +1 -2
  150. package/cjs/mark/image.js.map +1 -1
  151. package/cjs/mark/interface/common.d.ts +1 -1
  152. package/cjs/mark/interface/common.js.map +1 -1
  153. package/cjs/mark/interface/index.d.ts +1 -0
  154. package/cjs/mark/interface/index.js +2 -1
  155. package/cjs/mark/interface/index.js.map +1 -1
  156. package/cjs/mark/interface/mark.d.ts +44 -0
  157. package/cjs/mark/interface/mark.js +6 -0
  158. package/cjs/mark/interface/mark.js.map +1 -0
  159. package/cjs/mark/label.d.ts +2 -11
  160. package/cjs/mark/label.js.map +1 -1
  161. package/cjs/mark/line.d.ts +1 -2
  162. package/cjs/mark/line.js.map +1 -1
  163. package/cjs/mark/link-path.d.ts +1 -2
  164. package/cjs/mark/link-path.js.map +1 -1
  165. package/cjs/mark/path.d.ts +1 -2
  166. package/cjs/mark/path.js.map +1 -1
  167. package/cjs/mark/polygon/polygon.d.ts +1 -2
  168. package/cjs/mark/polygon/polygon.js.map +1 -1
  169. package/cjs/mark/polygon/pyramid-3d.d.ts +1 -2
  170. package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
  171. package/cjs/mark/rect-3d.d.ts +1 -2
  172. package/cjs/mark/rect-3d.js.map +1 -1
  173. package/cjs/mark/rect.d.ts +1 -2
  174. package/cjs/mark/rect.js.map +1 -1
  175. package/cjs/mark/ripple.d.ts +1 -2
  176. package/cjs/mark/ripple.js.map +1 -1
  177. package/cjs/mark/rule.d.ts +1 -2
  178. package/cjs/mark/rule.js.map +1 -1
  179. package/cjs/mark/symbol.d.ts +1 -2
  180. package/cjs/mark/symbol.js.map +1 -1
  181. package/cjs/mark/text.d.ts +2 -8
  182. package/cjs/mark/text.js.map +1 -1
  183. package/cjs/model/interface.d.ts +5 -5
  184. package/cjs/model/interface.js.map +1 -1
  185. package/cjs/plugin/chart/interface.d.ts +1 -2
  186. package/cjs/plugin/chart/interface.js.map +1 -1
  187. package/cjs/plugin/chart/media-query/interface/common.d.ts +2 -2
  188. package/cjs/plugin/chart/media-query/interface/common.js.map +1 -1
  189. package/cjs/plugin/chart/media-query/util/filter.js +1 -1
  190. package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
  191. package/cjs/plugin/components/tooltip-handler/base.d.ts +3 -3
  192. package/cjs/plugin/components/tooltip-handler/base.js +18 -16
  193. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  194. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  195. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -6
  196. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  197. package/cjs/region/interface.d.ts +1 -2
  198. package/cjs/region/interface.js.map +1 -1
  199. package/cjs/region/region.d.ts +1 -2
  200. package/cjs/region/region.js.map +1 -1
  201. package/cjs/scale/global-scale.d.ts +1 -1
  202. package/cjs/scale/global-scale.js.map +1 -1
  203. package/cjs/scale/interface.d.ts +1 -1
  204. package/cjs/scale/interface.js.map +1 -1
  205. package/cjs/series/area/animation.d.ts +1 -5
  206. package/cjs/series/area/animation.js.map +1 -1
  207. package/cjs/series/area/area.d.ts +1 -2
  208. package/cjs/series/area/area.js.map +1 -1
  209. package/cjs/series/area/interface.d.ts +7 -4
  210. package/cjs/series/area/interface.js.map +1 -1
  211. package/cjs/series/bar/animation.d.ts +1 -8
  212. package/cjs/series/bar/animation.js.map +1 -1
  213. package/cjs/series/bar/bar.d.ts +1 -3
  214. package/cjs/series/bar/bar.js.map +1 -1
  215. package/cjs/series/bar/interface.d.ts +10 -4
  216. package/cjs/series/bar/interface.js.map +1 -1
  217. package/cjs/series/base/base-series.d.ts +2 -3
  218. package/cjs/series/base/base-series.js.map +1 -1
  219. package/cjs/series/box-plot/box-plot.d.ts +1 -1
  220. package/cjs/series/box-plot/box-plot.js.map +1 -1
  221. package/cjs/series/cartesian/cartesian.d.ts +2 -2
  222. package/cjs/series/cartesian/cartesian.js.map +1 -1
  223. package/cjs/series/cartesian/interface.d.ts +1 -1
  224. package/cjs/series/cartesian/interface.js.map +1 -1
  225. package/cjs/series/circle-packing/animation.d.ts +1 -2
  226. package/cjs/series/circle-packing/animation.js.map +1 -1
  227. package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
  228. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  229. package/cjs/series/circle-packing/interface.d.ts +2 -1
  230. package/cjs/series/circle-packing/interface.js.map +1 -1
  231. package/cjs/series/correlation/animation.d.ts +1 -5
  232. package/cjs/series/correlation/animation.js.map +1 -1
  233. package/cjs/series/correlation/correlation.d.ts +1 -2
  234. package/cjs/series/correlation/correlation.js.map +1 -1
  235. package/cjs/series/correlation/interface.d.ts +7 -4
  236. package/cjs/series/correlation/interface.js.map +1 -1
  237. package/cjs/series/dot/dot.d.ts +1 -1
  238. package/cjs/series/dot/dot.js.map +1 -1
  239. package/cjs/series/funnel/3d/funnel-3d.d.ts +1 -1
  240. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  241. package/cjs/series/funnel/funnel.d.ts +1 -5
  242. package/cjs/series/funnel/funnel.js.map +1 -1
  243. package/cjs/series/funnel/interface.d.ts +1 -1
  244. package/cjs/series/funnel/interface.js.map +1 -1
  245. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  246. package/cjs/series/gauge/gauge.d.ts +2 -0
  247. package/cjs/series/gauge/gauge.js +14 -1
  248. package/cjs/series/gauge/gauge.js.map +1 -1
  249. package/cjs/series/gauge/interface.d.ts +1 -2
  250. package/cjs/series/gauge/interface.js.map +1 -1
  251. package/cjs/series/heatmap/animation.d.ts +1 -1
  252. package/cjs/series/heatmap/animation.js.map +1 -1
  253. package/cjs/series/heatmap/heatmap.d.ts +1 -3
  254. package/cjs/series/heatmap/heatmap.js.map +1 -1
  255. package/cjs/series/heatmap/interface.d.ts +2 -2
  256. package/cjs/series/heatmap/interface.js.map +1 -1
  257. package/cjs/series/index.d.ts +7 -3
  258. package/cjs/series/index.js +30 -2
  259. package/cjs/series/index.js.map +1 -1
  260. package/cjs/series/interface/common.d.ts +2 -3
  261. package/cjs/series/interface/common.js.map +1 -1
  262. package/cjs/series/interface/series.d.ts +6 -9
  263. package/cjs/series/interface/series.js.map +1 -1
  264. package/cjs/series/interface/theme.d.ts +1 -1
  265. package/cjs/series/interface/theme.js.map +1 -1
  266. package/cjs/series/line/animation.d.ts +1 -5
  267. package/cjs/series/line/animation.js.map +1 -1
  268. package/cjs/series/line/interface.d.ts +7 -4
  269. package/cjs/series/line/interface.js.map +1 -1
  270. package/cjs/series/line/line.js.map +1 -1
  271. package/cjs/series/link/link.d.ts +1 -1
  272. package/cjs/series/link/link.js.map +1 -1
  273. package/cjs/series/liquid/animation.d.ts +1 -11
  274. package/cjs/series/liquid/animation.js.map +1 -1
  275. package/cjs/series/liquid/interface.d.ts +12 -2
  276. package/cjs/series/liquid/interface.js.map +1 -1
  277. package/cjs/series/liquid/liquid.js.map +1 -1
  278. package/cjs/series/map/interface.d.ts +1 -1
  279. package/cjs/series/map/interface.js.map +1 -1
  280. package/cjs/series/map/map.d.ts +1 -2
  281. package/cjs/series/map/map.js.map +1 -1
  282. package/cjs/series/mixin/interface.d.ts +14 -0
  283. package/cjs/series/mixin/interface.js +6 -0
  284. package/cjs/series/mixin/interface.js.map +1 -0
  285. package/cjs/series/mixin/line-mixin.d.ts +3 -18
  286. package/cjs/series/mixin/line-mixin.js.map +1 -1
  287. package/cjs/series/mosaic/interface.js.map +1 -1
  288. package/cjs/series/pictogram/interface.js.map +1 -1
  289. package/cjs/series/pictogram/pictogram.d.ts +8 -7
  290. package/cjs/series/pictogram/pictogram.js.map +1 -1
  291. package/cjs/series/pie/3d/pie-3d.d.ts +1 -1
  292. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  293. package/cjs/series/pie/animation/animation.d.ts +1 -5
  294. package/cjs/series/pie/animation/animation.js.map +1 -1
  295. package/cjs/series/pie/animation/centerOffset.d.ts +1 -4
  296. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  297. package/cjs/series/pie/interface.d.ts +9 -2
  298. package/cjs/series/pie/interface.js.map +1 -1
  299. package/cjs/series/pie/pie.d.ts +1 -4
  300. package/cjs/series/pie/pie.js.map +1 -1
  301. package/cjs/series/polar/progress-like/animation.d.ts +1 -4
  302. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  303. package/cjs/series/polar/progress-like/interface.d.ts +4 -0
  304. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  305. package/cjs/series/polar/progress-like/progress-like.d.ts +1 -2
  306. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  307. package/cjs/series/progress/circular/circular.js.map +1 -1
  308. package/cjs/series/progress/circular/interface.d.ts +1 -2
  309. package/cjs/series/progress/circular/interface.js.map +1 -1
  310. package/cjs/series/progress/linear/animation.d.ts +1 -5
  311. package/cjs/series/progress/linear/animation.js.map +1 -1
  312. package/cjs/series/progress/linear/interface.d.ts +4 -1
  313. package/cjs/series/progress/linear/interface.js.map +1 -1
  314. package/cjs/series/progress/linear/linear.js.map +1 -1
  315. package/cjs/series/radar/animation.d.ts +2 -8
  316. package/cjs/series/radar/animation.js.map +1 -1
  317. package/cjs/series/radar/interface.d.ts +11 -4
  318. package/cjs/series/radar/interface.js.map +1 -1
  319. package/cjs/series/radar/radar.js.map +1 -1
  320. package/cjs/series/range-area/range-area.js.map +1 -1
  321. package/cjs/series/range-column/animation.d.ts +1 -5
  322. package/cjs/series/range-column/animation.js.map +1 -1
  323. package/cjs/series/range-column/interface.d.ts +6 -2
  324. package/cjs/series/range-column/interface.js.map +1 -1
  325. package/cjs/series/range-column/range-column.d.ts +1 -1
  326. package/cjs/series/range-column/range-column.js.map +1 -1
  327. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  328. package/cjs/series/rose/animation.d.ts +1 -5
  329. package/cjs/series/rose/animation.js.map +1 -1
  330. package/cjs/series/rose/interface.d.ts +7 -3
  331. package/cjs/series/rose/interface.js.map +1 -1
  332. package/cjs/series/rose/rose.d.ts +1 -3
  333. package/cjs/series/rose/rose.js.map +1 -1
  334. package/cjs/series/sankey/animation.d.ts +1 -7
  335. package/cjs/series/sankey/animation.js.map +1 -1
  336. package/cjs/series/sankey/interface.d.ts +7 -2
  337. package/cjs/series/sankey/interface.js.map +1 -1
  338. package/cjs/series/sankey/sankey.d.ts +2 -3
  339. package/cjs/series/sankey/sankey.js.map +1 -1
  340. package/cjs/series/scatter/animation.d.ts +1 -5
  341. package/cjs/series/scatter/animation.js.map +1 -1
  342. package/cjs/series/scatter/interface.d.ts +7 -3
  343. package/cjs/series/scatter/interface.js.map +1 -1
  344. package/cjs/series/scatter/scatter.d.ts +1 -2
  345. package/cjs/series/scatter/scatter.js.map +1 -1
  346. package/cjs/series/sunburst/interface.d.ts +1 -1
  347. package/cjs/series/sunburst/interface.js.map +1 -1
  348. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  349. package/cjs/series/sunburst/sunburst.js.map +1 -1
  350. package/cjs/series/treemap/animation.d.ts +1 -2
  351. package/cjs/series/treemap/animation.js.map +1 -1
  352. package/cjs/series/treemap/interface.d.ts +3 -2
  353. package/cjs/series/treemap/interface.js.map +1 -1
  354. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  355. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  356. package/cjs/series/treemap/treemap.d.ts +2 -3
  357. package/cjs/series/treemap/treemap.js.map +1 -1
  358. package/cjs/series/util/label-mark.d.ts +1 -1
  359. package/cjs/series/util/label-mark.js.map +1 -1
  360. package/cjs/series/util/utils.d.ts +1 -1
  361. package/cjs/series/util/utils.js.map +1 -1
  362. package/cjs/series/venn/animation.d.ts +1 -2
  363. package/cjs/series/venn/animation.js.map +1 -1
  364. package/cjs/series/venn/interface.d.ts +3 -2
  365. package/cjs/series/venn/interface.js.map +1 -1
  366. package/cjs/series/venn/venn.d.ts +3 -4
  367. package/cjs/series/venn/venn.js.map +1 -1
  368. package/cjs/series/waterfall/animation.d.ts +3 -3
  369. package/cjs/series/waterfall/animation.js.map +1 -1
  370. package/cjs/series/waterfall/interface.d.ts +3 -3
  371. package/cjs/series/waterfall/interface.js.map +1 -1
  372. package/cjs/series/waterfall/waterfall.d.ts +2 -4
  373. package/cjs/series/waterfall/waterfall.js.map +1 -1
  374. package/cjs/series/word-cloud/animation.d.ts +1 -8
  375. package/cjs/series/word-cloud/animation.js.map +1 -1
  376. package/cjs/series/word-cloud/base.d.ts +1 -3
  377. package/cjs/series/word-cloud/base.js.map +1 -1
  378. package/cjs/series/word-cloud/interface.d.ts +9 -1
  379. package/cjs/series/word-cloud/interface.js.map +1 -1
  380. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  381. package/cjs/theme/interface.d.ts +1 -1
  382. package/cjs/theme/interface.js.map +1 -1
  383. package/cjs/typings/layout.js.map +1 -1
  384. package/cjs/typings/params.d.ts +1 -1
  385. package/cjs/typings/params.js.map +1 -1
  386. package/cjs/typings/space.js.map +1 -1
  387. package/cjs/typings/spec/chart.d.ts +26 -26
  388. package/cjs/typings/spec/chart.js.map +1 -1
  389. package/cjs/typings/spec/common.d.ts +10 -9
  390. package/cjs/typings/spec/common.js.map +1 -1
  391. package/cjs/typings/spec/index.d.ts +1 -1
  392. package/cjs/typings/spec/index.js.map +1 -1
  393. package/cjs/typings/spec/media-query.d.ts +3 -2
  394. package/cjs/typings/spec/media-query.js.map +1 -1
  395. package/cjs/typings/visual.d.ts +3 -3
  396. package/cjs/typings/visual.js.map +1 -1
  397. package/cjs/util/data.d.ts +1 -1
  398. package/cjs/util/data.js.map +1 -1
  399. package/esm/animation/config.js.map +1 -1
  400. package/esm/animation/utils.d.ts +2 -2
  401. package/esm/chart/base/base-chart.d.ts +1 -2
  402. package/esm/chart/base/base-chart.js.map +1 -1
  403. package/esm/chart/common/interface.d.ts +5 -4
  404. package/esm/chart/common/interface.js.map +1 -1
  405. package/esm/chart/gauge/interface.d.ts +2 -2
  406. package/esm/chart/gauge/interface.js.map +1 -1
  407. package/esm/chart/index.js +2 -1
  408. package/esm/chart/interface/common.d.ts +2 -2
  409. package/esm/chart/interface/common.js.map +1 -1
  410. package/esm/chart/polar/interface.d.ts +1 -1
  411. package/esm/chart/polar/interface.js.map +1 -1
  412. package/esm/chart/sequence/interface.d.ts +2 -1
  413. package/esm/chart/sequence/interface.js.map +1 -1
  414. package/esm/compile/compilable-base.d.ts +2 -3
  415. package/esm/compile/compilable-base.js +1 -2
  416. package/esm/compile/compilable-base.js.map +1 -1
  417. package/esm/compile/compiler.d.ts +8 -8
  418. package/esm/compile/compiler.js +23 -9
  419. package/esm/compile/compiler.js.map +1 -1
  420. package/esm/compile/interface/compilable-item.d.ts +63 -5
  421. package/esm/compile/interface/compilable-item.js.map +1 -1
  422. package/esm/compile/interface/compiler.d.ts +4 -20
  423. package/esm/compile/interface/compiler.js.map +1 -1
  424. package/esm/compile/mark/compilable-mark.d.ts +4 -5
  425. package/esm/compile/mark/compilable-mark.js.map +1 -1
  426. package/esm/compile/mark/interface.d.ts +19 -7
  427. package/esm/compile/mark/interface.js.map +1 -1
  428. package/esm/compile/mark/mark-data.d.ts +2 -2
  429. package/esm/compile/mark/mark-data.js.map +1 -1
  430. package/esm/compile/mark/mark-state-manager.d.ts +2 -2
  431. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  432. package/esm/component/axis/base-axis.d.ts +1 -1
  433. package/esm/component/axis/base-axis.js.map +1 -1
  434. package/esm/component/axis/cartesian/axis.js +28 -59
  435. package/esm/component/axis/cartesian/axis.js.map +1 -1
  436. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  437. package/esm/component/axis/interface/common.d.ts +2 -2
  438. package/esm/component/axis/interface/common.js.map +1 -1
  439. package/esm/component/axis/interface/spec.js.map +1 -1
  440. package/esm/component/axis/polar/interface/common.d.ts +1 -1
  441. package/esm/component/axis/polar/interface/common.js.map +1 -1
  442. package/esm/component/axis/util.js.map +1 -1
  443. package/esm/component/base/base-component.js.map +1 -1
  444. package/esm/component/crosshair/interface/cartesian.d.ts +1 -1
  445. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  446. package/esm/component/crosshair/interface/common.d.ts +1 -1
  447. package/esm/component/crosshair/interface/common.js.map +1 -1
  448. package/esm/component/crosshair/interface/polar.d.ts +1 -1
  449. package/esm/component/crosshair/interface/polar.js.map +1 -1
  450. package/esm/component/crosshair/interface/spec.js.map +1 -1
  451. package/esm/component/crosshair/interface/theme.d.ts +1 -1
  452. package/esm/component/crosshair/interface/theme.js.map +1 -1
  453. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  454. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  455. package/esm/component/data-zoom/data-zoom/interface.d.ts +1 -2
  456. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  457. package/esm/component/data-zoom/scroll-bar/interface.d.ts +1 -2
  458. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  459. package/esm/component/interface/theme.d.ts +13 -9
  460. package/esm/component/interface/theme.js.map +1 -1
  461. package/esm/component/label/interface.d.ts +14 -2
  462. package/esm/component/label/interface.js.map +1 -1
  463. package/esm/component/label/label.d.ts +2 -15
  464. package/esm/component/label/label.js.map +1 -1
  465. package/esm/component/label/total-label.js.map +1 -1
  466. package/esm/component/label/util.d.ts +1 -2
  467. package/esm/component/label/util.js.map +1 -1
  468. package/esm/component/legend/interface.d.ts +5 -2
  469. package/esm/component/legend/interface.js.map +1 -1
  470. package/esm/component/legend/util.d.ts +2 -2
  471. package/esm/component/marker/base-marker.d.ts +1 -1
  472. package/esm/component/marker/base-marker.js.map +1 -1
  473. package/esm/component/marker/interface.d.ts +3 -4
  474. package/esm/component/marker/interface.js.map +1 -1
  475. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  476. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  477. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  478. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  479. package/esm/component/marker/mark-line/interface/spec.d.ts +1 -1
  480. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  481. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  482. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  483. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  484. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  485. package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
  486. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  487. package/esm/component/player/interface/theme.d.ts +1 -2
  488. package/esm/component/player/interface/theme.js.map +1 -1
  489. package/esm/component/poptip/interface.d.ts +1 -1
  490. package/esm/component/poptip/interface.js.map +1 -1
  491. package/esm/component/title/interface/theme.d.ts +1 -1
  492. package/esm/component/title/interface/theme.js.map +1 -1
  493. package/esm/component/tooltip/interface/theme.d.ts +1 -1
  494. package/esm/component/tooltip/interface/theme.js.map +1 -1
  495. package/esm/core/factory.d.ts +1 -1
  496. package/esm/core/index.d.ts +1 -1
  497. package/esm/core/index.js +1 -1
  498. package/esm/core/index.js.map +1 -1
  499. package/esm/core/instance-manager.js +1 -2
  500. package/esm/core/interface.d.ts +6 -7
  501. package/esm/core/interface.js.map +1 -1
  502. package/esm/core/util.js +2 -1
  503. package/esm/core/vchart.d.ts +3 -3
  504. package/esm/core/vchart.js.map +1 -1
  505. package/esm/data/initialize.js +1 -1
  506. package/esm/data/register.js +1 -1
  507. package/esm/data/transforms/aggregation.d.ts +2 -29
  508. package/esm/data/transforms/aggregation.js.map +1 -1
  509. package/esm/data/transforms/dimension-statistics.d.ts +1 -13
  510. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  511. package/esm/data/transforms/hierarchy-dimension-statistics.d.ts +1 -1
  512. package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  513. package/esm/data/transforms/interface.d.ts +47 -0
  514. package/esm/data/transforms/interface.js +2 -0
  515. package/esm/data/transforms/interface.js.map +1 -0
  516. package/esm/data/transforms/regression.d.ts +1 -4
  517. package/esm/data/transforms/regression.js.map +1 -1
  518. package/esm/event/event.js +1 -1
  519. package/esm/event/events/dimension/interface.d.ts +1 -1
  520. package/esm/event/events/dimension/interface.js.map +1 -1
  521. package/esm/event/index.js +1 -1
  522. package/esm/event/interface.d.ts +1 -2
  523. package/esm/event/interface.js.map +1 -1
  524. package/esm/interaction/interface.d.ts +1 -5
  525. package/esm/interaction/interface.js.map +1 -1
  526. package/esm/layout/interface.js.map +1 -1
  527. package/esm/mark/arc-3d.d.ts +1 -2
  528. package/esm/mark/arc-3d.js.map +1 -1
  529. package/esm/mark/arc.d.ts +1 -2
  530. package/esm/mark/arc.js.map +1 -1
  531. package/esm/mark/area.d.ts +1 -2
  532. package/esm/mark/area.js.map +1 -1
  533. package/esm/mark/base/base-line.js.map +1 -1
  534. package/esm/mark/box-plot.d.ts +1 -2
  535. package/esm/mark/box-plot.js.map +1 -1
  536. package/esm/mark/cell.d.ts +1 -2
  537. package/esm/mark/cell.js.map +1 -1
  538. package/esm/mark/component.d.ts +1 -2
  539. package/esm/mark/component.js.map +1 -1
  540. package/esm/mark/group.d.ts +1 -9
  541. package/esm/mark/group.js.map +1 -1
  542. package/esm/mark/image.d.ts +1 -2
  543. package/esm/mark/image.js.map +1 -1
  544. package/esm/mark/interface/common.d.ts +1 -1
  545. package/esm/mark/interface/common.js.map +1 -1
  546. package/esm/mark/interface/index.d.ts +1 -0
  547. package/esm/mark/interface/index.js +2 -0
  548. package/esm/mark/interface/index.js.map +1 -1
  549. package/esm/mark/interface/mark.d.ts +44 -0
  550. package/esm/mark/interface/mark.js +2 -0
  551. package/esm/mark/interface/mark.js.map +1 -0
  552. package/esm/mark/label.d.ts +2 -11
  553. package/esm/mark/label.js.map +1 -1
  554. package/esm/mark/line.d.ts +1 -2
  555. package/esm/mark/line.js.map +1 -1
  556. package/esm/mark/link-path.d.ts +1 -2
  557. package/esm/mark/link-path.js.map +1 -1
  558. package/esm/mark/path.d.ts +1 -2
  559. package/esm/mark/path.js.map +1 -1
  560. package/esm/mark/polygon/polygon.d.ts +1 -2
  561. package/esm/mark/polygon/polygon.js.map +1 -1
  562. package/esm/mark/polygon/pyramid-3d.d.ts +1 -2
  563. package/esm/mark/polygon/pyramid-3d.js.map +1 -1
  564. package/esm/mark/rect-3d.d.ts +1 -2
  565. package/esm/mark/rect-3d.js.map +1 -1
  566. package/esm/mark/rect.d.ts +1 -2
  567. package/esm/mark/rect.js.map +1 -1
  568. package/esm/mark/ripple.d.ts +1 -2
  569. package/esm/mark/ripple.js.map +1 -1
  570. package/esm/mark/rule.d.ts +1 -2
  571. package/esm/mark/rule.js.map +1 -1
  572. package/esm/mark/symbol.d.ts +1 -2
  573. package/esm/mark/symbol.js.map +1 -1
  574. package/esm/mark/text.d.ts +2 -8
  575. package/esm/mark/text.js.map +1 -1
  576. package/esm/model/interface.d.ts +5 -5
  577. package/esm/model/interface.js.map +1 -1
  578. package/esm/plugin/chart/interface.d.ts +1 -2
  579. package/esm/plugin/chart/interface.js.map +1 -1
  580. package/esm/plugin/chart/media-query/interface/common.d.ts +2 -2
  581. package/esm/plugin/chart/media-query/interface/common.js.map +1 -1
  582. package/esm/plugin/chart/media-query/util/filter.js +1 -1
  583. package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
  584. package/esm/plugin/components/tooltip-handler/base.d.ts +3 -3
  585. package/esm/plugin/components/tooltip-handler/base.js +17 -15
  586. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  587. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  588. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -6
  589. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  590. package/esm/region/interface.d.ts +1 -2
  591. package/esm/region/interface.js.map +1 -1
  592. package/esm/region/region.d.ts +1 -2
  593. package/esm/region/region.js.map +1 -1
  594. package/esm/scale/global-scale.d.ts +1 -1
  595. package/esm/scale/global-scale.js.map +1 -1
  596. package/esm/scale/interface.d.ts +1 -1
  597. package/esm/scale/interface.js.map +1 -1
  598. package/esm/series/area/animation.d.ts +1 -5
  599. package/esm/series/area/animation.js.map +1 -1
  600. package/esm/series/area/area.d.ts +1 -2
  601. package/esm/series/area/area.js.map +1 -1
  602. package/esm/series/area/interface.d.ts +7 -4
  603. package/esm/series/area/interface.js.map +1 -1
  604. package/esm/series/bar/animation.d.ts +1 -8
  605. package/esm/series/bar/animation.js.map +1 -1
  606. package/esm/series/bar/bar.d.ts +1 -3
  607. package/esm/series/bar/bar.js.map +1 -1
  608. package/esm/series/bar/interface.d.ts +10 -4
  609. package/esm/series/bar/interface.js.map +1 -1
  610. package/esm/series/base/base-series.d.ts +2 -3
  611. package/esm/series/base/base-series.js.map +1 -1
  612. package/esm/series/box-plot/box-plot.d.ts +1 -1
  613. package/esm/series/box-plot/box-plot.js.map +1 -1
  614. package/esm/series/cartesian/cartesian.d.ts +2 -2
  615. package/esm/series/cartesian/cartesian.js.map +1 -1
  616. package/esm/series/cartesian/interface.d.ts +1 -1
  617. package/esm/series/cartesian/interface.js.map +1 -1
  618. package/esm/series/circle-packing/animation.d.ts +1 -2
  619. package/esm/series/circle-packing/animation.js.map +1 -1
  620. package/esm/series/circle-packing/circle-packing.d.ts +1 -1
  621. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  622. package/esm/series/circle-packing/interface.d.ts +2 -1
  623. package/esm/series/circle-packing/interface.js.map +1 -1
  624. package/esm/series/correlation/animation.d.ts +1 -5
  625. package/esm/series/correlation/animation.js.map +1 -1
  626. package/esm/series/correlation/correlation.d.ts +1 -2
  627. package/esm/series/correlation/correlation.js.map +1 -1
  628. package/esm/series/correlation/interface.d.ts +7 -4
  629. package/esm/series/correlation/interface.js.map +1 -1
  630. package/esm/series/dot/dot.d.ts +1 -1
  631. package/esm/series/dot/dot.js.map +1 -1
  632. package/esm/series/funnel/3d/funnel-3d.d.ts +1 -1
  633. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  634. package/esm/series/funnel/funnel.d.ts +1 -5
  635. package/esm/series/funnel/funnel.js.map +1 -1
  636. package/esm/series/funnel/interface.d.ts +1 -1
  637. package/esm/series/funnel/interface.js.map +1 -1
  638. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  639. package/esm/series/gauge/gauge.d.ts +2 -0
  640. package/esm/series/gauge/gauge.js +15 -0
  641. package/esm/series/gauge/gauge.js.map +1 -1
  642. package/esm/series/gauge/interface.d.ts +1 -2
  643. package/esm/series/gauge/interface.js.map +1 -1
  644. package/esm/series/heatmap/animation.d.ts +1 -1
  645. package/esm/series/heatmap/animation.js.map +1 -1
  646. package/esm/series/heatmap/heatmap.d.ts +1 -3
  647. package/esm/series/heatmap/heatmap.js.map +1 -1
  648. package/esm/series/heatmap/interface.d.ts +2 -2
  649. package/esm/series/heatmap/interface.js.map +1 -1
  650. package/esm/series/index.d.ts +7 -3
  651. package/esm/series/index.js +6 -2
  652. package/esm/series/index.js.map +1 -1
  653. package/esm/series/interface/common.d.ts +2 -3
  654. package/esm/series/interface/common.js.map +1 -1
  655. package/esm/series/interface/series.d.ts +6 -9
  656. package/esm/series/interface/series.js.map +1 -1
  657. package/esm/series/interface/theme.d.ts +1 -1
  658. package/esm/series/interface/theme.js.map +1 -1
  659. package/esm/series/line/animation.d.ts +1 -5
  660. package/esm/series/line/animation.js.map +1 -1
  661. package/esm/series/line/interface.d.ts +7 -4
  662. package/esm/series/line/interface.js.map +1 -1
  663. package/esm/series/line/line.js.map +1 -1
  664. package/esm/series/link/link.d.ts +1 -1
  665. package/esm/series/link/link.js.map +1 -1
  666. package/esm/series/liquid/animation.d.ts +1 -11
  667. package/esm/series/liquid/animation.js.map +1 -1
  668. package/esm/series/liquid/interface.d.ts +12 -2
  669. package/esm/series/liquid/interface.js.map +1 -1
  670. package/esm/series/liquid/liquid.js.map +1 -1
  671. package/esm/series/map/interface.d.ts +1 -1
  672. package/esm/series/map/interface.js.map +1 -1
  673. package/esm/series/map/map.d.ts +1 -2
  674. package/esm/series/map/map.js.map +1 -1
  675. package/esm/series/mixin/interface.d.ts +14 -0
  676. package/esm/series/mixin/interface.js +2 -0
  677. package/esm/series/mixin/interface.js.map +1 -0
  678. package/esm/series/mixin/line-mixin.d.ts +3 -18
  679. package/esm/series/mixin/line-mixin.js.map +1 -1
  680. package/esm/series/mosaic/interface.js.map +1 -1
  681. package/esm/series/pictogram/interface.js.map +1 -1
  682. package/esm/series/pictogram/pictogram.d.ts +8 -7
  683. package/esm/series/pictogram/pictogram.js.map +1 -1
  684. package/esm/series/pie/3d/pie-3d.d.ts +1 -1
  685. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  686. package/esm/series/pie/animation/animation.d.ts +1 -5
  687. package/esm/series/pie/animation/animation.js.map +1 -1
  688. package/esm/series/pie/animation/centerOffset.d.ts +1 -4
  689. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  690. package/esm/series/pie/interface.d.ts +9 -2
  691. package/esm/series/pie/interface.js.map +1 -1
  692. package/esm/series/pie/pie.d.ts +1 -4
  693. package/esm/series/pie/pie.js.map +1 -1
  694. package/esm/series/polar/progress-like/animation.d.ts +1 -4
  695. package/esm/series/polar/progress-like/animation.js.map +1 -1
  696. package/esm/series/polar/progress-like/interface.d.ts +4 -0
  697. package/esm/series/polar/progress-like/interface.js.map +1 -1
  698. package/esm/series/polar/progress-like/progress-like.d.ts +1 -2
  699. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  700. package/esm/series/progress/circular/circular.js.map +1 -1
  701. package/esm/series/progress/circular/interface.d.ts +1 -2
  702. package/esm/series/progress/circular/interface.js.map +1 -1
  703. package/esm/series/progress/linear/animation.d.ts +1 -5
  704. package/esm/series/progress/linear/animation.js.map +1 -1
  705. package/esm/series/progress/linear/interface.d.ts +4 -1
  706. package/esm/series/progress/linear/interface.js.map +1 -1
  707. package/esm/series/progress/linear/linear.js.map +1 -1
  708. package/esm/series/radar/animation.d.ts +2 -8
  709. package/esm/series/radar/animation.js.map +1 -1
  710. package/esm/series/radar/interface.d.ts +11 -4
  711. package/esm/series/radar/interface.js.map +1 -1
  712. package/esm/series/radar/radar.js.map +1 -1
  713. package/esm/series/range-area/range-area.js.map +1 -1
  714. package/esm/series/range-column/animation.d.ts +1 -5
  715. package/esm/series/range-column/animation.js.map +1 -1
  716. package/esm/series/range-column/interface.d.ts +6 -2
  717. package/esm/series/range-column/interface.js.map +1 -1
  718. package/esm/series/range-column/range-column.d.ts +1 -1
  719. package/esm/series/range-column/range-column.js.map +1 -1
  720. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  721. package/esm/series/rose/animation.d.ts +1 -5
  722. package/esm/series/rose/animation.js.map +1 -1
  723. package/esm/series/rose/interface.d.ts +7 -3
  724. package/esm/series/rose/interface.js.map +1 -1
  725. package/esm/series/rose/rose.d.ts +1 -3
  726. package/esm/series/rose/rose.js.map +1 -1
  727. package/esm/series/sankey/animation.d.ts +1 -7
  728. package/esm/series/sankey/animation.js.map +1 -1
  729. package/esm/series/sankey/interface.d.ts +7 -2
  730. package/esm/series/sankey/interface.js.map +1 -1
  731. package/esm/series/sankey/sankey.d.ts +2 -3
  732. package/esm/series/sankey/sankey.js.map +1 -1
  733. package/esm/series/scatter/animation.d.ts +1 -5
  734. package/esm/series/scatter/animation.js.map +1 -1
  735. package/esm/series/scatter/interface.d.ts +7 -3
  736. package/esm/series/scatter/interface.js.map +1 -1
  737. package/esm/series/scatter/scatter.d.ts +1 -2
  738. package/esm/series/scatter/scatter.js.map +1 -1
  739. package/esm/series/sunburst/interface.d.ts +1 -1
  740. package/esm/series/sunburst/interface.js.map +1 -1
  741. package/esm/series/sunburst/sunburst.d.ts +1 -1
  742. package/esm/series/sunburst/sunburst.js.map +1 -1
  743. package/esm/series/treemap/animation.d.ts +1 -2
  744. package/esm/series/treemap/animation.js.map +1 -1
  745. package/esm/series/treemap/interface.d.ts +3 -2
  746. package/esm/series/treemap/interface.js.map +1 -1
  747. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  748. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  749. package/esm/series/treemap/treemap.d.ts +2 -3
  750. package/esm/series/treemap/treemap.js.map +1 -1
  751. package/esm/series/util/label-mark.d.ts +1 -1
  752. package/esm/series/util/label-mark.js.map +1 -1
  753. package/esm/series/util/utils.d.ts +1 -1
  754. package/esm/series/util/utils.js.map +1 -1
  755. package/esm/series/venn/animation.d.ts +1 -2
  756. package/esm/series/venn/animation.js.map +1 -1
  757. package/esm/series/venn/interface.d.ts +3 -2
  758. package/esm/series/venn/interface.js.map +1 -1
  759. package/esm/series/venn/venn.d.ts +3 -4
  760. package/esm/series/venn/venn.js.map +1 -1
  761. package/esm/series/waterfall/animation.d.ts +3 -3
  762. package/esm/series/waterfall/animation.js.map +1 -1
  763. package/esm/series/waterfall/interface.d.ts +3 -3
  764. package/esm/series/waterfall/interface.js.map +1 -1
  765. package/esm/series/waterfall/waterfall.d.ts +2 -4
  766. package/esm/series/waterfall/waterfall.js.map +1 -1
  767. package/esm/series/word-cloud/animation.d.ts +1 -8
  768. package/esm/series/word-cloud/animation.js.map +1 -1
  769. package/esm/series/word-cloud/base.d.ts +1 -3
  770. package/esm/series/word-cloud/base.js.map +1 -1
  771. package/esm/series/word-cloud/interface.d.ts +9 -1
  772. package/esm/series/word-cloud/interface.js.map +1 -1
  773. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  774. package/esm/theme/interface.d.ts +1 -1
  775. package/esm/theme/interface.js.map +1 -1
  776. package/esm/typings/layout.js.map +1 -1
  777. package/esm/typings/params.d.ts +1 -1
  778. package/esm/typings/params.js.map +1 -1
  779. package/esm/typings/space.js.map +1 -1
  780. package/esm/typings/spec/chart.d.ts +26 -26
  781. package/esm/typings/spec/chart.js.map +1 -1
  782. package/esm/typings/spec/common.d.ts +10 -9
  783. package/esm/typings/spec/common.js.map +1 -1
  784. package/esm/typings/spec/index.d.ts +1 -1
  785. package/esm/typings/spec/index.js.map +1 -1
  786. package/esm/typings/spec/media-query.d.ts +3 -2
  787. package/esm/typings/spec/media-query.js.map +1 -1
  788. package/esm/typings/visual.d.ts +3 -3
  789. package/esm/typings/visual.js.map +1 -1
  790. package/esm/util/data.d.ts +1 -1
  791. package/esm/util/data.js.map +1 -1
  792. package/package.json +16 -15
package/build/index.es.js CHANGED
@@ -20,7 +20,7 @@ function __rest$e(s, e) {
20
20
  }
21
21
  return t;
22
22
  }
23
- function __awaiter$7(thisArg, _arguments, P, generator) {
23
+ function __awaiter$a(thisArg, _arguments, P, generator) {
24
24
  function adopt(value) {
25
25
  return value instanceof P ? value : new P(function (resolve) {
26
26
  resolve(value);
@@ -7884,6 +7884,31 @@ var __decorate$1B = undefined && undefined.__decorate || function (decorators, t
7884
7884
  return function (target, key) {
7885
7885
  decorator(target, key, paramIndex);
7886
7886
  };
7887
+ },
7888
+ __awaiter$9 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
7889
+ return new (P || (P = Promise))(function (resolve, reject) {
7890
+ function fulfilled(value) {
7891
+ try {
7892
+ step(generator.next(value));
7893
+ } catch (e) {
7894
+ reject(e);
7895
+ }
7896
+ }
7897
+ function rejected(value) {
7898
+ try {
7899
+ step(generator.throw(value));
7900
+ } catch (e) {
7901
+ reject(e);
7902
+ }
7903
+ }
7904
+ function step(result) {
7905
+ var value;
7906
+ result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P(function (resolve) {
7907
+ resolve(value);
7908
+ })).then(fulfilled, rejected);
7909
+ }
7910
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
7911
+ });
7887
7912
  };
7888
7913
  let DefaultGlobal = class {
7889
7914
  get env() {
@@ -8009,6 +8034,11 @@ let DefaultGlobal = class {
8009
8034
  loadBlob(url) {
8010
8035
  return this._env || this.setEnv("browser"), this.envContribution.loadBlob(url);
8011
8036
  }
8037
+ loadFont(name, source, descriptors) {
8038
+ return __awaiter$9(this, void 0, void 0, function* () {
8039
+ return this._env || this.setEnv("browser"), this.envContribution.loadFont(name, source, descriptors);
8040
+ });
8041
+ }
8012
8042
  isChrome() {
8013
8043
  return null != this._isChrome || (this._env || this.setEnv("browser"), this._isChrome = "browser" === this._env && navigator.userAgent.indexOf("Chrome") > -1), this._isChrome;
8014
8044
  }
@@ -11162,7 +11192,7 @@ function getThemeFromGroup(graphic) {
11162
11192
  return null;
11163
11193
  }
11164
11194
 
11165
- var __awaiter$6 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
11195
+ var __awaiter$8 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
11166
11196
  return new (P || (P = Promise))(function (resolve, reject) {
11167
11197
  function fulfilled(value) {
11168
11198
  try {
@@ -11232,7 +11262,7 @@ class Node extends EventEmitter {
11232
11262
  }
11233
11263
  forEachChildrenAsync(cb) {
11234
11264
  let reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
11235
- return __awaiter$6(this, void 0, void 0, function* () {
11265
+ return __awaiter$8(this, void 0, void 0, function* () {
11236
11266
  if (reverse) {
11237
11267
  let child = this._lastChild,
11238
11268
  i = 0;
@@ -15294,7 +15324,7 @@ function isSvg(str) {
15294
15324
  return str.startsWith("<svg") || str.startsWith("<?xml");
15295
15325
  }
15296
15326
 
15297
- var __awaiter$5 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
15327
+ var __awaiter$7 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
15298
15328
  return new (P || (P = Promise))(function (resolve, reject) {
15299
15329
  function fulfilled(value) {
15300
15330
  try {
@@ -15320,7 +15350,7 @@ var __awaiter$5 = undefined && undefined.__awaiter || function (thisArg, _argume
15320
15350
  });
15321
15351
  };
15322
15352
  function waitForAllSubLayers(stage) {
15323
- return __awaiter$5(this, void 0, void 0, function* () {
15353
+ return __awaiter$7(this, void 0, void 0, function* () {
15324
15354
  const promiseList = [],
15325
15355
  layers = stage.getChildren();
15326
15356
  yield new Promise(resolve => {
@@ -17151,7 +17181,9 @@ class DefaultImageBackgroundRenderContribution extends DefaultBaseBackgroundRend
17151
17181
  const {
17152
17182
  background: background,
17153
17183
  backgroundMode = graphicAttribute.backgroundMode,
17154
- backgroundFit = graphicAttribute.backgroundFit
17184
+ backgroundFit = graphicAttribute.backgroundFit,
17185
+ width: width,
17186
+ height: height
17155
17187
  } = graphic.attribute;
17156
17188
  if (background) if (graphic.backgroundImg) {
17157
17189
  const res = graphic.resources.get(background);
@@ -17184,11 +17216,7 @@ class DefaultImageBackgroundRenderContribution extends DefaultBaseBackgroundRend
17184
17216
  height: height
17185
17217
  } = getActualPosition(graphic);
17186
17218
  cornerRadius ? createRectPath(context, x - expandX, y - expandY, width + 2 * expandX, height + 2 * expandY, cornerRadius) : context.rect(x - expandX, y - expandY, width + 2 * expandX, height + 2 * expandY), context.globalAlpha = 1, fill && (context.fillStyle = fill, context.fill()), stroke && lineWidth > 0 && (context.lineWidth = lineWidth, context.strokeStyle = stroke, context.stroke());
17187
- } else {
17188
- context.beginPath();
17189
- const b = graphic.AABBBounds;
17190
- context.rect(x, y, b.width(), b.height()), context.fillStyle = background, context.globalAlpha = 1, context.fill();
17191
- }
17219
+ } else context.beginPath(), context.rect(x, y, width || 0, height || 0), context.fillStyle = background, context.globalAlpha = 1, context.fill();
17192
17220
  }
17193
17221
  }
17194
17222
  function getActualPosition(graphic) {
@@ -18895,7 +18923,7 @@ let DefaultCanvasImageRender = class extends BaseRender {
18895
18923
  doFill: doFill,
18896
18924
  doStroke: doStroke
18897
18925
  } = data;
18898
- context.setShadowBlendStyle && context.setShadowBlendStyle(image, imageAttribute), this.beforeRenderStep(image, context, x, y, doFill, !1, fVisible, !1, imageAttribute, drawContext, fillCb);
18926
+ context.setShadowBlendStyle && context.setShadowBlendStyle(image, image.attribute, imageAttribute), this.beforeRenderStep(image, context, x, y, doFill, !1, fVisible, !1, imageAttribute, drawContext, fillCb);
18899
18927
  const _runFill = () => {
18900
18928
  if (doFill) if (fillCb) fillCb(context, image.attribute, imageAttribute);else if (fVisible) {
18901
18929
  if (!url || !image.resources) return;
@@ -18912,7 +18940,7 @@ let DefaultCanvasImageRender = class extends BaseRender {
18912
18940
  }
18913
18941
  },
18914
18942
  _runStroke = () => {
18915
- doStroke && (strokeCb ? strokeCb(context, image.attribute, imageAttribute) : sVisible && (context.setStrokeStyle(image, image.attribute, originX - x, originY - y, imageAttribute), context.stroke()));
18943
+ doStroke && (strokeCb ? strokeCb(context, image.attribute, imageAttribute) : sVisible && (context.setStrokeStyle(image, image.attribute, originX - x, originY - y, imageAttribute), context.strokeRect(x, y, width, height)));
18916
18944
  };
18917
18945
  fillStrokeOrder ? (_runStroke(), _runFill()) : (_runFill(), _runStroke()), this.afterRenderStep(image, context, x, y, doFill, !1, fVisible, !1, imageAttribute, drawContext, fillCb);
18918
18946
  }
@@ -22383,7 +22411,7 @@ function load$1(container) {
22383
22411
  container.load(envModules), container.load(textMeasureModules), container.load(layerHandlerModules);
22384
22412
  }
22385
22413
 
22386
- var __awaiter$4 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
22414
+ var __awaiter$6 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
22387
22415
  return new (P || (P = Promise))(function (resolve, reject) {
22388
22416
  function fulfilled(value) {
22389
22417
  try {
@@ -22456,7 +22484,7 @@ function foreach(graphic, defaultZIndex, cb) {
22456
22484
  }
22457
22485
  function foreachAsync(graphic, defaultZIndex, cb) {
22458
22486
  let reverse = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;
22459
- return __awaiter$4(this, void 0, void 0, function* () {
22487
+ return __awaiter$6(this, void 0, void 0, function* () {
22460
22488
  yield graphic.forEachChildrenAsync(cb, reverse);
22461
22489
  });
22462
22490
  }
@@ -22817,7 +22845,7 @@ var STATUS,
22817
22845
  decorator(target, key, paramIndex);
22818
22846
  };
22819
22847
  },
22820
- __awaiter$3 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
22848
+ __awaiter$5 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
22821
22849
  return new (P || (P = Promise))(function (resolve, reject) {
22822
22850
  function fulfilled(value) {
22823
22851
  try {
@@ -22852,7 +22880,7 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
22852
22880
  }, this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender), this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);
22853
22881
  }
22854
22882
  draw(renderService, drawContext) {
22855
- return __awaiter$3(this, void 0, void 0, function* () {
22883
+ return __awaiter$5(this, void 0, void 0, function* () {
22856
22884
  if (this.checkingForDrawPromise) return;
22857
22885
  this.lastRenderService = renderService, this.lastDrawContext = drawContext, this.checkingForDrawPromise = this.checkForDraw(drawContext);
22858
22886
  const skipDraw = yield this.checkingForDrawPromise;
@@ -22873,15 +22901,15 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
22873
22901
  });
22874
22902
  }
22875
22903
  _increaseRender(group, drawContext) {
22876
- return __awaiter$3(this, void 0, void 0, function* () {
22904
+ return __awaiter$5(this, void 0, void 0, function* () {
22877
22905
  this.rendering = !0, yield this._renderIncrementalGroup(group, drawContext);
22878
22906
  });
22879
22907
  }
22880
22908
  _renderIncrementalGroup(group, drawContext) {
22881
- return __awaiter$3(this, void 0, void 0, function* () {
22909
+ return __awaiter$5(this, void 0, void 0, function* () {
22882
22910
  this.count = group.count, yield new Promise(resolve => {
22883
22911
  this.renderItem(group, drawContext, {
22884
- drawingCb: () => __awaiter$3(this, void 0, void 0, function* () {
22912
+ drawingCb: () => __awaiter$5(this, void 0, void 0, function* () {
22885
22913
  if (2 !== group.count) yield foreachAsync(group, DefaultAttribute.zIndex, (item, i) => {
22886
22914
  if (this.status === STATUS.STOP) return !0;
22887
22915
  if (item.isContainer) return !1;
@@ -22902,7 +22930,7 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
22902
22930
  });
22903
22931
  }
22904
22932
  waitToNextFrame() {
22905
- return __awaiter$3(this, void 0, void 0, function* () {
22933
+ return __awaiter$5(this, void 0, void 0, function* () {
22906
22934
  return new Promise(resolve => {
22907
22935
  this.global.getRequestAnimationFrame()(() => {
22908
22936
  resolve(!1);
@@ -22911,13 +22939,13 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
22911
22939
  });
22912
22940
  }
22913
22941
  checkForDraw(drawContext) {
22914
- return __awaiter$3(this, void 0, void 0, function* () {
22942
+ return __awaiter$5(this, void 0, void 0, function* () {
22915
22943
  let skip = this.rendering;
22916
22944
  return drawContext.restartIncremental && (skip = !1, yield this.forceStop(), this.resetToInit()), skip;
22917
22945
  });
22918
22946
  }
22919
22947
  forceStop() {
22920
- return __awaiter$3(this, void 0, void 0, function* () {
22948
+ return __awaiter$5(this, void 0, void 0, function* () {
22921
22949
  this.rendering && (this.status = STATUS.STOP, yield new Promise(resolve => {
22922
22950
  this.hooks.completeDraw.tap("stopCb", () => {
22923
22951
  this.status = STATUS.NORMAL, this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => "stopCb" !== item.name), resolve(!1);
@@ -22929,11 +22957,11 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
22929
22957
  this.currFrameStartAt = 0, this.currentIdx = 0;
22930
22958
  }
22931
22959
  renderGroup(group, drawContext) {
22932
- return __awaiter$3(this, void 0, void 0, function* () {
22960
+ return __awaiter$5(this, void 0, void 0, function* () {
22933
22961
  if (!drawContext.break && !1 !== group.attribute.visibleAll) return group.incremental && drawContext.startAtId === group._uid ? (yield this._increaseRender(group, drawContext), void (drawContext.break = !0)) : void (yield new Promise(resolve => {
22934
22962
  this.renderItem(group, drawContext, {
22935
- drawingCb: () => __awaiter$3(this, void 0, void 0, function* () {
22936
- yield foreachAsync(group, DefaultAttribute.zIndex, item => __awaiter$3(this, void 0, void 0, function* () {
22963
+ drawingCb: () => __awaiter$5(this, void 0, void 0, function* () {
22964
+ yield foreachAsync(group, DefaultAttribute.zIndex, item => __awaiter$5(this, void 0, void 0, function* () {
22937
22965
  drawContext.break || item.isContainer && (yield this.renderGroup(item, drawContext));
22938
22966
  })), resolve(!1);
22939
22967
  })
@@ -23947,12 +23975,37 @@ class BaseCanvas {
23947
23975
  BaseCanvas.env = "browser";
23948
23976
 
23949
23977
  var __decorate$17 = undefined && undefined.__decorate || function (decorators, target, key, desc) {
23950
- var d,
23951
- c = arguments.length,
23952
- r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
23953
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
23954
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23955
- };
23978
+ var d,
23979
+ c = arguments.length,
23980
+ r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
23981
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
23982
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23983
+ },
23984
+ __awaiter$4 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
23985
+ return new (P || (P = Promise))(function (resolve, reject) {
23986
+ function fulfilled(value) {
23987
+ try {
23988
+ step(generator.next(value));
23989
+ } catch (e) {
23990
+ reject(e);
23991
+ }
23992
+ }
23993
+ function rejected(value) {
23994
+ try {
23995
+ step(generator.throw(value));
23996
+ } catch (e) {
23997
+ reject(e);
23998
+ }
23999
+ }
24000
+ function step(result) {
24001
+ var value;
24002
+ result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P(function (resolve) {
24003
+ resolve(value);
24004
+ })).then(fulfilled, rejected);
24005
+ }
24006
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24007
+ });
24008
+ };
23956
24009
  let BaseEnvContribution = class {
23957
24010
  configure(service) {
23958
24011
  service.env === this.type && service.setActiveEnvContribution(this);
@@ -24021,6 +24074,13 @@ let BaseEnvContribution = class {
24021
24074
  left: 0
24022
24075
  };
24023
24076
  }
24077
+ loadFont(font, source, descriptors) {
24078
+ return __awaiter$4(this, void 0, void 0, function* () {
24079
+ return {
24080
+ loadState: "fail"
24081
+ };
24082
+ });
24083
+ }
24024
24084
  };
24025
24085
  BaseEnvContribution = __decorate$17([injectable()], BaseEnvContribution);
24026
24086
 
@@ -24403,7 +24463,7 @@ let DefaultCanvasRichTextRender = class extends BaseRender {
24403
24463
  const fVisible = fillVisible(opacity, fillOpacity, !0),
24404
24464
  sVisible = fillVisible(opacity, strokeOpacity, !0);
24405
24465
  if (!fVisible) return;
24406
- context.translate(x, y), this.beforeRenderStep(richtext, context, x, y, fVisible, sVisible, fVisible, sVisible, richtextAttribute, drawContext);
24466
+ context.setShadowBlendStyle && context.setShadowBlendStyle(richtext, richtext.attribute, richtextAttribute), context.translate(x, y), this.beforeRenderStep(richtext, context, x, y, fVisible, sVisible, fVisible, sVisible, richtextAttribute, drawContext);
24407
24467
  richtext.getFrameCache().draw(context, this.drawIcon), this.afterRenderStep(richtext, context, x, y, fVisible, sVisible, fVisible, sVisible, richtextAttribute, drawContext);
24408
24468
  }
24409
24469
  drawIcon(icon, context, x, y, baseline) {
@@ -24833,11 +24893,18 @@ function registerShadowRootGraphic() {
24833
24893
 
24834
24894
  class HtmlAttributePlugin {
24835
24895
  constructor() {
24836
- this.name = "HtmlAttributePlugin", this.activeEvent = "onRegister", this._uid = Generator.GenAutoIncrementId(), this.key = this.name + this._uid, this.htmlMap = {}, this.renderId = 0;
24896
+ this.name = "HtmlAttributePlugin", this.activeEvent = "onRegister", this._uid = Generator.GenAutoIncrementId(), this.key = this.name + this._uid, this.htmlMap = {}, this.renderId = 0, this.onWheel = ev => {
24897
+ try {
24898
+ const newEvent = new ev.constructor(ev.type, ev);
24899
+ this.pluginService.stage.window.getContext().getCanvas().nativeCanvas.dispatchEvent(newEvent);
24900
+ } catch (err) {
24901
+ return;
24902
+ }
24903
+ };
24837
24904
  }
24838
24905
  activate(context) {
24839
24906
  this.pluginService = context, context.stage.hooks.afterRender.tap(this.key, stage => {
24840
- stage && stage === this.pluginService.stage && this.drawHTML(context.stage.renderService);
24907
+ stage && stage === this.pluginService.stage && this.drawHTML([...context.stage.getChildren()]);
24841
24908
  });
24842
24909
  }
24843
24910
  deactivate(context) {
@@ -24899,10 +24966,13 @@ class HtmlAttributePlugin {
24899
24966
  }
24900
24967
  updateStyleOfWrapContainer(graphic, stage, wrapContainer, nativeContainer, options) {
24901
24968
  const {
24902
- pointerEvents: pointerEvents
24969
+ pointerEvents: pointerEvents,
24970
+ penetrateEventList = []
24903
24971
  } = options;
24904
24972
  let calculateStyle = this.parseDefaultStyleFromGraphic(graphic);
24905
- calculateStyle.display = !1 !== graphic.attribute.visible ? "block" : "none", calculateStyle.pointerEvents = !0 === pointerEvents ? "all" : pointerEvents || "none", wrapContainer.style.position || (wrapContainer.style.position = "absolute", nativeContainer.style.position = "relative");
24973
+ calculateStyle.display = !1 !== graphic.attribute.visible ? "block" : "none", calculateStyle.pointerEvents = !0 === pointerEvents ? "all" : pointerEvents || "none", "none" !== calculateStyle.pointerEvents && (this.removeWrapContainerEventListener(wrapContainer), penetrateEventList.forEach(event => {
24974
+ "wheel" === event && wrapContainer.addEventListener("wheel", this.onWheel);
24975
+ })), wrapContainer.style.position || (wrapContainer.style.position = "absolute", nativeContainer.style.position = "relative");
24906
24976
  let left = 0,
24907
24977
  top = 0;
24908
24978
  const b = graphic.globalAABBBounds;
@@ -24939,8 +25009,8 @@ class HtmlAttributePlugin {
24939
25009
  this.htmlMap[key] && this.htmlMap[key].renderId !== this.renderId && this.removeElement(key);
24940
25010
  }), this.renderId += 1;
24941
25011
  }
24942
- drawHTML(renderService) {
24943
- "browser" === application.global.env && (renderService.renderTreeRoots.sort((a, b) => {
25012
+ drawHTML(layers) {
25013
+ "browser" === application.global.env && (layers.sort((a, b) => {
24944
25014
  var _a, _b;
24945
25015
  return (null !== (_a = a.attribute.zIndex) && void 0 !== _a ? _a : DefaultAttribute.zIndex) - (null !== (_b = b.attribute.zIndex) && void 0 !== _b ? _b : DefaultAttribute.zIndex);
24946
25016
  }).forEach(group => {
@@ -24959,6 +25029,9 @@ class HtmlAttributePlugin {
24959
25029
  } = this.htmlMap[id];
24960
25030
  wrapContainer && application.global.removeDom(wrapContainer), this.htmlMap[id] = null;
24961
25031
  }
25032
+ removeWrapContainerEventListener(wrapContainer) {
25033
+ wrapContainer.removeEventListener("wheel", this.onWheel);
25034
+ }
24962
25035
  renderGraphicHTML(graphic) {
24963
25036
  var _a;
24964
25037
  const {
@@ -25839,6 +25912,7 @@ class Gesture extends EventEmitter {
25839
25912
  });
25840
25913
  }
25841
25914
  emitEvent(type, e) {
25915
+ if (!this.element) return;
25842
25916
  const listeners = this.element._events[WILDCARD];
25843
25917
  if (listeners) if ("fn" in listeners) listeners.fn.call(listeners.context, e, type);else for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) listeners[i].fn.call(listeners[i].context, e, type);
25844
25918
  this.emit(type, e);
@@ -26716,6 +26790,31 @@ var __decorate$W = undefined && undefined.__decorate || function (decorators, ta
26716
26790
  },
26717
26791
  __metadata$J = undefined && undefined.__metadata || function (k, v) {
26718
26792
  if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
26793
+ },
26794
+ __awaiter$3 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
26795
+ return new (P || (P = Promise))(function (resolve, reject) {
26796
+ function fulfilled(value) {
26797
+ try {
26798
+ step(generator.next(value));
26799
+ } catch (e) {
26800
+ reject(e);
26801
+ }
26802
+ }
26803
+ function rejected(value) {
26804
+ try {
26805
+ step(generator.throw(value));
26806
+ } catch (e) {
26807
+ reject(e);
26808
+ }
26809
+ }
26810
+ function step(result) {
26811
+ var value;
26812
+ result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P(function (resolve) {
26813
+ resolve(value);
26814
+ })).then(fulfilled, rejected);
26815
+ }
26816
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
26817
+ });
26719
26818
  };
26720
26819
  class DynamicB {
26721
26820
  get x1() {
@@ -26911,6 +27010,19 @@ let BrowserEnvContribution = class extends BaseEnvContribution {
26911
27010
  left: actualLeft
26912
27011
  };
26913
27012
  }
27013
+ loadFont(font, source, descriptors) {
27014
+ return __awaiter$3(this, void 0, void 0, function* () {
27015
+ return new FontFace(font, isString$1(source) ? `url(${source})` : source, descriptors).load().then(function (loadedFont) {
27016
+ return document.fonts.add(loadedFont), {
27017
+ loadState: "success"
27018
+ };
27019
+ }).catch(function (error) {
27020
+ return console.error("Failed to load font:", error), {
27021
+ loadState: "fail"
27022
+ };
27023
+ });
27024
+ });
27025
+ }
26914
27026
  };
26915
27027
  BrowserEnvContribution = __decorate$W([injectable(), __metadata$J("design:paramtypes", [])], BrowserEnvContribution);
26916
27028
 
@@ -32201,11 +32313,11 @@ function clampText(text, width, height) {
32201
32313
  maxX = Math.max(x1, x2),
32202
32314
  minY = Math.min(y1, y2),
32203
32315
  maxY = Math.max(y1, y2),
32204
- minXWithPadding = 0 - left,
32205
- minYWithPadding = 0 - top;
32316
+ maxXWithPadding = width + right,
32317
+ maxYWithPadding = height + bottom;
32206
32318
  let dx = 0,
32207
32319
  dy = 0;
32208
- return minX < minXWithPadding && maxX - minX <= width ? dx = -minX : maxX > width + right && minX - (maxX - width) >= minXWithPadding && (dx = width - maxX), minY < minYWithPadding && maxY - minY <= height ? dy = -minY : maxY > height + bottom && minY - (maxY - height) >= minYWithPadding && (dy = height - maxY), {
32320
+ return minX < 0 - left ? dx = -minX : maxX > maxXWithPadding && (dx = maxXWithPadding - maxX), minY < 0 - top ? dy = -minY : maxY > maxYWithPadding && (dy = maxYWithPadding - maxY), {
32209
32321
  dx: dx,
32210
32322
  dy: dy
32211
32323
  };
@@ -32919,7 +33031,7 @@ class LabelBase extends AbstractComponent {
32919
33031
  range = boundToRange(bmpTool, bounds, !0);
32920
33032
  if (canPlace(bmpTool, bitmap, bounds, clampForce, overlapPadding)) bitmap.setRange(range);else {
32921
33033
  if (clampForce) {
32922
- if (this._processClampForce(text, bmpTool, bitmap)) continue;
33034
+ if (this._processClampForce(text, bmpTool, bitmap, overlapPadding)) continue;
32923
33035
  }
32924
33036
  hideOnHit ? text.setAttributes({
32925
33037
  visible: !1
@@ -32929,12 +33041,13 @@ class LabelBase extends AbstractComponent {
32929
33041
  return result;
32930
33042
  }
32931
33043
  _processClampForce(text, bmpTool, bitmap) {
33044
+ let overlapPadding = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
32932
33045
  const {
32933
33046
  dy = 0,
32934
33047
  dx = 0
32935
33048
  } = clampText(text, bmpTool.width, bmpTool.height, bmpTool.padding);
32936
33049
  if (0 === dx && 0 === dy) {
32937
- if (canPlace(bmpTool, bitmap, text.AABBBounds)) return bitmap.setRange(boundToRange(bmpTool, text.AABBBounds, !0)), !0;
33050
+ if (canPlace(bmpTool, bitmap, text.AABBBounds, !1, overlapPadding)) return bitmap.setRange(boundToRange(bmpTool, text.AABBBounds, !0)), !0;
32938
33051
  } else if (canPlace(bmpTool, bitmap, {
32939
33052
  x1: text.AABBBounds.x1 + dx,
32940
33053
  x2: text.AABBBounds.x2 + dx,
@@ -32994,7 +33107,7 @@ class LabelBase extends AbstractComponent {
32994
33107
  break;
32995
33108
  }
32996
33109
  if (!hasPlace && clampForce) {
32997
- if (this._processClampForce(text, bmpTool, bitmap)) {
33110
+ if (this._processClampForce(text, bmpTool, bitmap, overlapPadding)) {
32998
33111
  result.push(text);
32999
33112
  continue;
33000
33113
  }
@@ -34408,6 +34521,52 @@ const DEFAULT_AXIS_BREAK_SYMBOL_STYLE = {
34408
34521
  zIndex: 1
34409
34522
  };
34410
34523
 
34524
+ function genNormalBounds(item) {
34525
+ const bounds = item.AABBBounds;
34526
+ return {
34527
+ x1: bounds.x1,
34528
+ x2: bounds.x2,
34529
+ y1: bounds.y1,
34530
+ y2: bounds.y2,
34531
+ centerX: item.attribute.x,
34532
+ centerY: item.attribute.y,
34533
+ angle: item.attribute.angle
34534
+ };
34535
+ }
34536
+ function genRotateBounds(items) {
34537
+ items.forEach(item => {
34538
+ if (item.rotatedBounds || !item.attribute.angle) return;
34539
+ const bounds = genNormalBounds(item),
34540
+ rotatedCenter = rotatePoint({
34541
+ x: item.attribute.x,
34542
+ y: item.attribute.y
34543
+ }, bounds.angle, {
34544
+ x: bounds.centerX,
34545
+ y: bounds.centerY
34546
+ }),
34547
+ deltaX = rotatedCenter.x - bounds.centerX,
34548
+ deltaY = rotatedCenter.y - bounds.centerY;
34549
+ bounds.x1 += deltaX, bounds.x2 += deltaX, bounds.y1 += deltaY, bounds.y2 += deltaY, bounds.centerX += deltaX, bounds.centerY += deltaY, item.rotatedBounds = bounds;
34550
+ });
34551
+ }
34552
+ function itemIntersect(item1, item2) {
34553
+ var _a, _b;
34554
+ return (null === (_a = item1.OBBBounds) || void 0 === _a ? void 0 : _a.empty()) || (null === (_b = item2.OBBBounds) || void 0 === _b ? void 0 : _b.empty()) ? isRectIntersect(item1.AABBBounds, item2.AABBBounds, !1) && (!item1.rotatedBounds || !item2.rotatedBounds || isRotateAABBIntersect(item1.rotatedBounds, item2.rotatedBounds, !0)) : item1.OBBBounds.intersects(item2.OBBBounds);
34555
+ }
34556
+ const DELTA_ANGLE = Math.sin(Math.PI / 10);
34557
+ function isAngleVertical(angle) {
34558
+ let delta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DELTA_ANGLE;
34559
+ const hasAngle = !isNil$1(angle) && 0 !== angle,
34560
+ cos = hasAngle ? Math.cos(angle) : 1;
34561
+ return hasAngle && Math.abs(cos) <= delta;
34562
+ }
34563
+ function isAngleHorizontal(angle) {
34564
+ let delta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DELTA_ANGLE;
34565
+ const hasAngle = !isNil$1(angle) && 0 !== angle,
34566
+ sin = hasAngle ? Math.sin(angle) : 0;
34567
+ return !hasAngle || Math.abs(sin) <= delta;
34568
+ }
34569
+
34411
34570
  function getCircleLabelPosition(tickPosition, tickVector) {
34412
34571
  return {
34413
34572
  x: tickPosition.x + tickVector[0],
@@ -34478,9 +34637,11 @@ function getPolygonPath(points, closed) {
34478
34637
  }), closed && (path += "Z")), path;
34479
34638
  }
34480
34639
  function textIntersect(textA, textB, sep) {
34481
- let a = textA.OBBBounds,
34482
- b = textB.OBBBounds;
34483
- return a && b && !a.empty() && !b.empty() ? a.intersects(b) : (a = textA.AABBBounds, b = textB.AABBBounds, sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2));
34640
+ var _a;
34641
+ let a, b;
34642
+ const angle = null === (_a = textA.attribute) || void 0 === _a ? void 0 : _a.angle,
34643
+ isAABBIntersects = (textA, textB, sep) => (a = textA.AABBBounds, b = textB.AABBBounds, sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2));
34644
+ return isAngleHorizontal(angle, Number.EPSILON) ? isAABBIntersects(textA, textB, sep) : (a = textA.OBBBounds, b = textB.OBBBounds, !a || !b || a.empty() || b.empty() ? isAABBIntersects(textA, textB, sep) : a.intersects(b));
34484
34645
  }
34485
34646
  function hasOverlap$1(items, pad) {
34486
34647
  for (let b, i = 1, n = items.length, a = items[0]; i < n; a = b, ++i) if (b = items[i], textIntersect(a, b, pad)) return !0;
@@ -34864,50 +35025,6 @@ function autoHide(labels, config) {
34864
35025
  });
34865
35026
  }
34866
35027
 
34867
- function genNormalBounds(item) {
34868
- const bounds = item.AABBBounds;
34869
- return {
34870
- x1: bounds.x1,
34871
- x2: bounds.x2,
34872
- y1: bounds.y1,
34873
- y2: bounds.y2,
34874
- centerX: item.attribute.x,
34875
- centerY: item.attribute.y,
34876
- angle: item.attribute.angle
34877
- };
34878
- }
34879
- function genRotateBounds(items) {
34880
- items.forEach(item => {
34881
- if (item.rotatedBounds || !item.attribute.angle) return;
34882
- const bounds = genNormalBounds(item),
34883
- rotatedCenter = rotatePoint({
34884
- x: item.attribute.x,
34885
- y: item.attribute.y
34886
- }, bounds.angle, {
34887
- x: bounds.centerX,
34888
- y: bounds.centerY
34889
- }),
34890
- deltaX = rotatedCenter.x - bounds.centerX,
34891
- deltaY = rotatedCenter.y - bounds.centerY;
34892
- bounds.x1 += deltaX, bounds.x2 += deltaX, bounds.y1 += deltaY, bounds.y2 += deltaY, bounds.centerX += deltaX, bounds.centerY += deltaY, item.rotatedBounds = bounds;
34893
- });
34894
- }
34895
- function itemIntersect(item1, item2) {
34896
- var _a, _b;
34897
- return (null === (_a = item1.OBBBounds) || void 0 === _a ? void 0 : _a.empty()) || (null === (_b = item2.OBBBounds) || void 0 === _b ? void 0 : _b.empty()) ? isRectIntersect(item1.AABBBounds, item2.AABBBounds, !1) && (!item1.rotatedBounds || !item2.rotatedBounds || isRotateAABBIntersect(item1.rotatedBounds, item2.rotatedBounds, !0)) : item1.OBBBounds.intersects(item2.OBBBounds);
34898
- }
34899
- const DELTA_ANGLE = Math.sin(Math.PI / 10);
34900
- function isAngleVertical(angle) {
34901
- const hasAngle = !isNil$1(angle) && 0 !== angle,
34902
- cos = hasAngle ? Math.cos(angle) : 1;
34903
- return hasAngle && Math.abs(cos) <= DELTA_ANGLE;
34904
- }
34905
- function isAngleHorizontal(angle) {
34906
- const hasAngle = !isNil$1(angle) && 0 !== angle,
34907
- sin = hasAngle ? Math.sin(angle) : 0;
34908
- return !hasAngle || Math.abs(sin) <= DELTA_ANGLE;
34909
- }
34910
-
34911
35028
  function autoRotate(items, rotateConfig) {
34912
35029
  if (isEmpty(items)) return;
34913
35030
  const {
@@ -37053,7 +37170,7 @@ const continuousTicks = (scale, op) => {
37053
37170
  breakData: breakData
37054
37171
  } = op;
37055
37172
  let scaleTicks;
37056
- if (isValid$1(tickStep)) scaleTicks = scale.stepTicks(tickStep);else if (isValid$1(forceTickCount)) scaleTicks = getScaleTicks(op, scale, forceTickCount, (count, subDomain) => subDomain && subDomain.length ? scale.domain(subDomain, !0).forceTicks(count) : scale.forceTicks(count));else if ("d3" === op.tickMode) {
37173
+ if (isValid$1(tickStep)) ticks = scale.stepTicks(tickStep), breakDomains = breakData && breakData() ? breakData().breakDomains : null, scaleTicks = breakDomains && breakDomains.length ? ticks.filter(tick => breakDomains.every(breakDomain => tick < breakDomain[0] || tick > breakDomain[1])) : ticks;else if (isValid$1(forceTickCount)) scaleTicks = getScaleTicks(op, scale, forceTickCount, (count, subDomain) => subDomain && subDomain.length ? scale.domain(subDomain, !0).forceTicks(count) : scale.forceTicks(count));else if ("d3" === op.tickMode) {
37057
37174
  const count = null !== (_a = isFunction$1(tickCount) ? tickCount({
37058
37175
  axisLength: rangeSize,
37059
37176
  labelStyle: labelStyle
@@ -37077,19 +37194,30 @@ const continuousTicks = (scale, op) => {
37077
37194
  customTicks: customTicks
37078
37195
  }));
37079
37196
  }
37197
+ var ticks, breakDomains;
37080
37198
  const domain = scale.domain();
37081
37199
  if (op.labelFirstVisible && domain[0] !== scaleTicks[0] && !scaleTicks.includes(domain[0]) && scaleTicks.unshift(domain[0]), op.labelLastVisible && domain[domain.length - 1] !== scaleTicks[scaleTicks.length - 1] && !scaleTicks.includes(domain[domain.length - 1]) && scaleTicks.push(domain[domain.length - 1]), op.sampling && scaleTicks.length > 1 && ("cartesian" === op.coordinateType || "polar" === op.coordinateType && "radius" === op.axisOrientType)) {
37082
37200
  const {
37083
- labelGap = 4,
37084
- labelFlush: labelFlush
37085
- } = op;
37086
- let items = getCartesianLabelBounds(scale, scaleTicks, op).map((bounds, i) => ({
37201
+ labelGap = 4,
37202
+ labelFlush: labelFlush
37203
+ } = op,
37204
+ MIN_FONT_SIZE = 6;
37205
+ let items;
37206
+ if (scaleTicks.length * MIN_FONT_SIZE > rangeSize) {
37207
+ const samplingScaleTicks = [],
37208
+ step = Math.floor(scaleTicks.length * MIN_FONT_SIZE / rangeSize);
37209
+ scaleTicks.forEach((tick, index) => {
37210
+ index % step != 0 && index !== scaleTicks.length - 1 || samplingScaleTicks.push(tick);
37211
+ }), items = getCartesianLabelBounds(scale, samplingScaleTicks, op).map((bounds, i) => ({
37212
+ AABBBounds: bounds,
37213
+ value: samplingScaleTicks[i]
37214
+ }));
37215
+ } else items = getCartesianLabelBounds(scale, scaleTicks, op).map((bounds, i) => ({
37087
37216
  AABBBounds: bounds,
37088
37217
  value: scaleTicks[i]
37089
37218
  }));
37090
- const source = [...items],
37091
- firstSourceItem = source[0],
37092
- lastSourceItem = last(source),
37219
+ const firstSourceItem = items[0],
37220
+ lastSourceItem = last(items),
37093
37221
  samplingMethod = breakData && breakData() ? methods$1.greedy : methods$1.parity;
37094
37222
  for (; items.length >= 3 && hasOverlap$1(items, labelGap);) items = samplingMethod(items, labelGap);
37095
37223
  const checkFirst = op.labelFirstVisible;
@@ -40677,7 +40805,8 @@ let DiscreteLegend$1 = class DiscreteLegend extends LegendBase {
40677
40805
  } = this.attribute,
40678
40806
  {
40679
40807
  spaceCol = DEFAULT_ITEM_SPACE_COL,
40680
- spaceRow = DEFAULT_ITEM_SPACE_ROW
40808
+ spaceRow = DEFAULT_ITEM_SPACE_ROW,
40809
+ verticalAlign = "middle"
40681
40810
  } = itemAttrs,
40682
40811
  itemsContainer = this._itemsContainer,
40683
40812
  {
@@ -40696,7 +40825,9 @@ let DiscreteLegend$1 = class DiscreteLegend extends LegendBase {
40696
40825
  startY: startY,
40697
40826
  pages: pages
40698
40827
  } = this._itemContext,
40699
- lastItemWidth = 0;
40828
+ lastItemWidth = 0,
40829
+ lastLineHeight = 0;
40830
+ const lastLineItemGroup = [];
40700
40831
  for (let index = startIndex, len = legendItems.length; index < len && !(lazyload && pages > this._itemContext.currentPage * maxPages); index++) {
40701
40832
  lazyload && (this._itemContext.startIndex = index + 1), item = legendItems[index], item.id || (item.id = item.label), item.index = index;
40702
40833
  let isSelected = !0;
@@ -40704,15 +40835,23 @@ let DiscreteLegend$1 = class DiscreteLegend extends LegendBase {
40704
40835
  const itemGroup = this._renderEachItem(item, isSelected, index, legendItems),
40705
40836
  itemWidth = itemGroup.attribute.width,
40706
40837
  itemHeight = itemGroup.attribute.height;
40707
- this._itemHeight = Math.max(this._itemHeight, itemHeight), maxWidthInCol = Math.max(itemWidth, maxWidthInCol), this._itemMaxWidth = Math.max(itemWidth, this._itemMaxWidth), isHorizontal ? (isValid$1(maxWidth) && (isScrollbar && autoPage ? (pages = Math.ceil((startX + itemWidth) / maxWidth), doWrap = pages > 1) : startX + itemWidth > maxWidth && (doWrap = !0, startX > 0 && (pages += 1, startX = 0, startY += itemHeight + spaceRow))), 0 === startX && 0 === startY || itemGroup.setAttributes({
40838
+ this._itemHeight = Math.max(this._itemHeight, itemHeight), maxWidthInCol = Math.max(itemWidth, maxWidthInCol), this._itemMaxWidth = Math.max(itemWidth, this._itemMaxWidth), isHorizontal ? (isValid$1(maxWidth) && (isScrollbar && autoPage ? (pages = Math.ceil((startX + itemWidth) / maxWidth), doWrap = pages > 1) : startX + itemWidth > maxWidth && (doWrap = !0, startX > 0 && ("middle" !== verticalAlign && "bottom" !== verticalAlign || lastLineItemGroup.forEach(i => {
40839
+ i.setAttributes({
40840
+ y: i.attribute.y + (lastLineHeight - i.attribute.height) / ("middle" === verticalAlign ? 2 : 1)
40841
+ });
40842
+ }), pages += 1, startX = 0, startY += lastLineHeight + spaceRow, lastLineHeight = 0, lastLineItemGroup.length = 0))), 0 === startX && 0 === startY || itemGroup.setAttributes({
40708
40843
  x: startX,
40709
40844
  y: startY
40710
- }), startX += spaceCol + itemWidth) : (isValid$1(maxHeight) && (isScrollbar && autoPage ? (pages = Math.ceil((startY + itemHeight) / maxHeight), doWrap = pages > 1) : maxHeight <= itemHeight ? (pages += 1, doWrap = !0, startY = 0, index > 0 && (startX += lastItemWidth + spaceCol)) : maxHeight < startY + itemHeight && (pages += 1, doWrap = !0, startY = 0, startX += maxWidthInCol + spaceCol, maxWidthInCol = 0)), 0 === startX && 0 === startY || itemGroup.setAttributes({
40845
+ }), startX += spaceCol + itemWidth, lastLineHeight = Math.max(lastLineHeight, itemHeight), lastLineItemGroup.push(itemGroup)) : (isValid$1(maxHeight) && (isScrollbar && autoPage ? (pages = Math.ceil((startY + itemHeight) / maxHeight), doWrap = pages > 1) : maxHeight <= itemHeight ? (pages += 1, doWrap = !0, startY = 0, index > 0 && (startX += lastItemWidth + spaceCol)) : maxHeight < startY + itemHeight && (pages += 1, doWrap = !0, startY = 0, startX += maxWidthInCol + spaceCol, maxWidthInCol = 0)), 0 === startX && 0 === startY || itemGroup.setAttributes({
40711
40846
  x: startX,
40712
40847
  y: startY
40713
40848
  }), startY += spaceRow + itemHeight), itemsContainer.add(itemGroup), lastItemWidth = itemWidth;
40714
40849
  }
40715
- return this._itemContext.doWrap = doWrap, this._itemContext.startX = startX, this._itemContext.startY = startY, this._itemContext.maxWidthInCol = maxWidthInCol, this._itemContext.pages = pages, this._itemContext.maxPages = maxPages, isScrollbar && (this._itemContext.totalPage = pages), lazyload || (this._itemContext.startIndex = legendItems.length), this._itemContext;
40850
+ return !isHorizontal || "middle" !== verticalAlign && "bottom" !== verticalAlign || lastLineItemGroup.forEach(i => {
40851
+ i.setAttributes({
40852
+ y: i.attribute.y + (lastLineHeight - i.attribute.height) / ("middle" === verticalAlign ? 2 : 1)
40853
+ });
40854
+ }), this._itemContext.doWrap = doWrap, this._itemContext.startX = startX, this._itemContext.startY = startY, this._itemContext.maxWidthInCol = maxWidthInCol, this._itemContext.pages = pages, this._itemContext.maxPages = maxPages, isScrollbar && (this._itemContext.totalPage = pages), lazyload || (this._itemContext.startIndex = legendItems.length), this._itemContext;
40716
40855
  }
40717
40856
  _renderContent() {
40718
40857
  const {
@@ -49673,6 +49812,10 @@ class CanvasRenderer {
49673
49812
  ticker: viewOptions.ticker,
49674
49813
  supportsTouchEvents: viewOptions.supportsTouchEvents,
49675
49814
  supportsPointerEvents: viewOptions.supportsPointerEvents,
49815
+ event: {
49816
+ clickInterval: this._eventConfig.clickInterval,
49817
+ autoPreventDefault: !!this._eventConfig.autoPreventDefault
49818
+ },
49676
49819
  ReactDOM: viewOptions.ReactDOM,
49677
49820
  autoRefresh: viewOptions.autoRefresh
49678
49821
  });
@@ -57086,18 +57229,18 @@ class Compiler {
57086
57229
  (_b = (_a = this._option) === null || _a === void 0 ? void 0 : _a.onError) === null || _b === void 0 ? void 0 : _b.call(_a, ...args);
57087
57230
  });
57088
57231
  }
57089
- this._view = new View(Object.assign(Object.assign({ width: this._width, height: this._height, container: (_c = this._container.dom) !== null && _c !== void 0 ? _c : null, renderCanvas: (_d = this._container.canvas) !== null && _d !== void 0 ? _d : null, hooks: this._option.performanceHook }, this._option), { autoRefresh: isValid$1(this._option.autoRefreshDpr) ? this._option.autoRefreshDpr : !isValid$1(this._option.dpr), mode: toRenderMode(this._option.mode), autoFit: false, eventConfig: {
57090
- gesture: isValid$1(this._option.gestureConfig)
57091
- ? this._option.gestureConfig
57092
- : isMobileLikeMode(this._option.mode),
57093
- disable: this._option.interactive === false
57232
+ const _e = this._option, { performanceHook, autoRefreshDpr, dpr, mode, gestureConfig, interactive, clickInterval, autoPreventDefault } = _e, restOption = __rest$e(_e, ["performanceHook", "autoRefreshDpr", "dpr", "mode", "gestureConfig", "interactive", "clickInterval", "autoPreventDefault"]);
57233
+ this._view = new View(Object.assign(Object.assign({ width: this._width, height: this._height, container: (_c = this._container.dom) !== null && _c !== void 0 ? _c : null, renderCanvas: (_d = this._container.canvas) !== null && _d !== void 0 ? _d : null, hooks: performanceHook }, restOption), { autoRefresh: isValid$1(autoRefreshDpr) ? autoRefreshDpr : !isValid$1(dpr), mode: toRenderMode(mode), autoFit: false, eventConfig: {
57234
+ gesture: isValid$1(gestureConfig) ? gestureConfig : isMobileLikeMode(mode),
57235
+ disable: interactive === false,
57236
+ clickInterval,
57237
+ autoPreventDefault
57094
57238
  }, doLayout: () => {
57095
57239
  var _a;
57096
57240
  (_a = this._compileChart) === null || _a === void 0 ? void 0 : _a.onLayout(this._view);
57097
57241
  }, logger: logger, logLevel: logger.level() }));
57098
57242
  this._setCanvasStyle();
57099
57243
  this.getStage().hooks.afterRender.tap('chart-event', this.handleStageRender);
57100
- const interactive = this._option.interactive;
57101
57244
  if (interactive !== false) {
57102
57245
  this._viewListeners.forEach(listener => {
57103
57246
  var _a;
@@ -57461,7 +57604,7 @@ function OffscreenCanvasToDataURL(c) {
57461
57604
  }
57462
57605
  function getCanvasDataURL(c, ctx) {
57463
57606
  var _a;
57464
- return __awaiter$7(this, void 0, void 0, function* () {
57607
+ return __awaiter$a(this, void 0, void 0, function* () {
57465
57608
  if (!c) {
57466
57609
  return '';
57467
57610
  }
@@ -61639,7 +61782,7 @@ class VChart {
61639
61782
  });
61640
61783
  }
61641
61784
  renderAsync(morphConfig) {
61642
- return __awaiter$7(this, void 0, void 0, function* () {
61785
+ return __awaiter$a(this, void 0, void 0, function* () {
61643
61786
  return this._renderAsync({
61644
61787
  morphConfig,
61645
61788
  transformSpec: true,
@@ -61648,7 +61791,7 @@ class VChart {
61648
61791
  });
61649
61792
  }
61650
61793
  _renderAsync(option = {}) {
61651
- return __awaiter$7(this, void 0, void 0, function* () {
61794
+ return __awaiter$a(this, void 0, void 0, function* () {
61652
61795
  return this._renderSync(option);
61653
61796
  });
61654
61797
  }
@@ -61696,7 +61839,7 @@ class VChart {
61696
61839
  InstanceManager.unregisterInstance(this);
61697
61840
  }
61698
61841
  updateData(id, data, parserOptions, userUpdateOptions) {
61699
- return __awaiter$7(this, void 0, void 0, function* () {
61842
+ return __awaiter$a(this, void 0, void 0, function* () {
61700
61843
  return this.updateDataSync(id, data, parserOptions, userUpdateOptions);
61701
61844
  });
61702
61845
  }
@@ -61723,7 +61866,7 @@ class VChart {
61723
61866
  }
61724
61867
  }
61725
61868
  updateDataInBatches(list) {
61726
- return __awaiter$7(this, void 0, void 0, function* () {
61869
+ return __awaiter$a(this, void 0, void 0, function* () {
61727
61870
  if (this._chart) {
61728
61871
  this._chart.updateFullData(list.map(({ id, data, options }) => {
61729
61872
  return { id, values: data, parser: options };
@@ -61794,12 +61937,12 @@ class VChart {
61794
61937
  return this;
61795
61938
  }
61796
61939
  updateFullData(data, reRender = true) {
61797
- return __awaiter$7(this, void 0, void 0, function* () {
61940
+ return __awaiter$a(this, void 0, void 0, function* () {
61798
61941
  return this.updateFullDataSync(data, reRender);
61799
61942
  });
61800
61943
  }
61801
61944
  updateSpec(spec, forceMerge = false, morphConfig, userUpdateOptions) {
61802
- return __awaiter$7(this, void 0, void 0, function* () {
61945
+ return __awaiter$a(this, void 0, void 0, function* () {
61803
61946
  const result = this._updateSpec(spec, forceMerge, userUpdateOptions);
61804
61947
  if (!result) {
61805
61948
  return this;
@@ -61829,7 +61972,7 @@ class VChart {
61829
61972
  return this._updateCustomConfigAndRecompile(result, Object.assign({ actionSource: 'updateSpecAndRecompile' }, option));
61830
61973
  }
61831
61974
  updateModelSpec(filter, spec, forceMerge = false, morphConfig) {
61832
- return __awaiter$7(this, void 0, void 0, function* () {
61975
+ return __awaiter$a(this, void 0, void 0, function* () {
61833
61976
  if (!spec || !this._spec) {
61834
61977
  return this;
61835
61978
  }
@@ -61882,7 +62025,7 @@ class VChart {
61882
62025
  });
61883
62026
  }
61884
62027
  resize(width, height) {
61885
- return __awaiter$7(this, void 0, void 0, function* () {
62028
+ return __awaiter$a(this, void 0, void 0, function* () {
61886
62029
  return this.resizeSync(width, height);
61887
62030
  });
61888
62031
  }
@@ -62074,7 +62217,7 @@ class VChart {
62074
62217
  }
62075
62218
  setCurrentTheme(name) {
62076
62219
  var _a;
62077
- return __awaiter$7(this, void 0, void 0, function* () {
62220
+ return __awaiter$a(this, void 0, void 0, function* () {
62078
62221
  if (!ThemeManager$1.themeExist(name)) {
62079
62222
  return this;
62080
62223
  }
@@ -62197,7 +62340,7 @@ class VChart {
62197
62340
  }
62198
62341
  getDataURL() {
62199
62342
  var _a;
62200
- return __awaiter$7(this, void 0, void 0, function* () {
62343
+ return __awaiter$a(this, void 0, void 0, function* () {
62201
62344
  const stage = this.getStage();
62202
62345
  if (this._chart && stage) {
62203
62346
  stage.render();
@@ -62213,7 +62356,7 @@ class VChart {
62213
62356
  }
62214
62357
  exportImg(name) {
62215
62358
  var _a, _b;
62216
- return __awaiter$7(this, void 0, void 0, function* () {
62359
+ return __awaiter$a(this, void 0, void 0, function* () {
62217
62360
  if (!isTrueBrowser(this._option.mode)) {
62218
62361
  (_a = this._option) === null || _a === void 0 ? void 0 : _a.onError(new TypeError(`non-browser environment can not export img`));
62219
62362
  return;
@@ -62504,7 +62647,7 @@ const registerVChartCore = () => {
62504
62647
  };
62505
62648
  registerVChartCore();
62506
62649
 
62507
- const version = "1.13.1";
62650
+ const version = "1.13.2";
62508
62651
 
62509
62652
  const addVChartProperty = (data, op) => {
62510
62653
  const context = op.beforeCall();
@@ -67361,8 +67504,9 @@ class CartesianAxis extends AxisComponent {
67361
67504
  }
67362
67505
  _getTitleLimit(isX) {
67363
67506
  var _a, _b, _c, _d, _e;
67364
- if (this._spec.title.visible && isNil$1((_a = this._spec.title.style) === null || _a === void 0 ? void 0 : _a.maxLineWidth)) {
67365
- const angle = (_e = (_c = (_b = this._axisStyle.title) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : (_d = this._spec.title.style) === null || _d === void 0 ? void 0 : _d.angle) !== null && _e !== void 0 ? _e : 0;
67507
+ const titleSpec = this._spec.title;
67508
+ if (titleSpec.visible && isNil$1((_a = titleSpec.style) === null || _a === void 0 ? void 0 : _a.maxLineWidth)) {
67509
+ const angle = (_e = (_c = (_b = this._axisStyle.title) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : (_d = titleSpec.style) === null || _d === void 0 ? void 0 : _d.angle) !== null && _e !== void 0 ? _e : 0;
67366
67510
  if (isX) {
67367
67511
  const width = this.getLayoutRect().width;
67368
67512
  const cosValue = Math.abs(Math.cos(angle));
@@ -67399,64 +67543,20 @@ class CartesianAxis extends AxisComponent {
67399
67543
  const isX = isXAxis(this._orient);
67400
67544
  const isY = isYAxis(this._orient);
67401
67545
  const isZ = isZAxis(this._orient);
67402
- let end = { x: 0, y: 0 };
67403
- let gridLength = 0;
67404
- let axisLength = 0;
67405
67546
  const depth = this.layout3dBox ? this.layout3dBox.length : 0;
67547
+ let end = { x: 0, y: 0 };
67548
+ let gridLength = regionHeight;
67549
+ let axisLength = width;
67406
67550
  if (isX) {
67407
67551
  end = { x: width, y: 0 };
67408
- gridLength = regionHeight;
67409
- axisLength = width;
67410
67552
  }
67411
67553
  else if (isY) {
67412
67554
  end = { x: 0, y: height };
67413
67555
  gridLength = regionWidth;
67414
67556
  axisLength = height;
67415
67557
  }
67416
- if (isZ) {
67417
- const directionStr = (_a = this.directionStr) !== null && _a !== void 0 ? _a : 'r2l';
67418
- const depthZ = this.layout3dBox ? this.layout3dBox.width : 0;
67419
- let anchor3d = [0, 0];
67420
- let alpha = -Math.PI / 2;
67421
- let z = 0;
67422
- if (directionStr === 'l2r') {
67423
- z = this.layout3dBox.length;
67424
- anchor3d = [0, 0, 0];
67425
- alpha = Math.PI / 2;
67426
- }
67427
- const items = this.getLabelItems(width);
67428
- const axisAttrs = {
67429
- start: { x: 0, y: 0 },
67430
- end: { x: depth, y: 0 },
67431
- z: z,
67432
- alpha,
67433
- anchor3d,
67434
- title: {
67435
- text: this._spec.title.text || this._dataFieldText,
67436
- maxWidth: this._getTitleLimit(isX)
67437
- },
67438
- items
67439
- };
67440
- if (!ignoreGrid) {
67441
- axisAttrs.grid = {
67442
- type: 'line',
67443
- start: { x: 0, y: 0 },
67444
- end: { x: depth, y: 0 },
67445
- items: items[0],
67446
- verticalFactor: this._axisStyle.verticalFactor,
67447
- depth: depthZ,
67448
- length: regionHeight,
67449
- z: z,
67450
- alpha,
67451
- anchor3d
67452
- };
67453
- }
67454
- return axisAttrs;
67455
- }
67456
- let verticalMinSize = isX ? this.layout.minHeight : this.layout.minWidth;
67457
- if ((isX && this._layout.layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL) ||
67458
- (isY && this._layout.layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL)) {
67459
- verticalMinSize = this._verticalLimitSize;
67558
+ else if (isZ) {
67559
+ end = { x: depth, y: 0 };
67460
67560
  }
67461
67561
  const items = this.getLabelItems(axisLength);
67462
67562
  const attrs = {
@@ -67466,12 +67566,7 @@ class CartesianAxis extends AxisComponent {
67466
67566
  text: this._spec.title.text || this._dataFieldText,
67467
67567
  maxWidth: this._getTitleLimit(isX)
67468
67568
  },
67469
- items,
67470
- verticalLimitSize: this._verticalLimitSize,
67471
- verticalMinSize,
67472
- label: {
67473
- overflowLimitLength: this._getLabelOverflowLimit(isX)
67474
- }
67569
+ items
67475
67570
  };
67476
67571
  if (!ignoreGrid) {
67477
67572
  attrs.grid = {
@@ -67484,6 +67579,36 @@ class CartesianAxis extends AxisComponent {
67484
67579
  length: gridLength
67485
67580
  };
67486
67581
  }
67582
+ if (isZ) {
67583
+ const directionStr = (_a = this.directionStr) !== null && _a !== void 0 ? _a : 'r2l';
67584
+ const depthZ = this.layout3dBox ? this.layout3dBox.width : 0;
67585
+ let anchor3d = [0, 0];
67586
+ let alpha = -Math.PI / 2;
67587
+ let z = 0;
67588
+ if (directionStr === 'l2r') {
67589
+ z = this.layout3dBox.length;
67590
+ anchor3d = [0, 0, 0];
67591
+ alpha = Math.PI / 2;
67592
+ }
67593
+ attrs.z = z;
67594
+ attrs.alpha = alpha;
67595
+ attrs.anchor3d = anchor3d;
67596
+ if (!ignoreGrid) {
67597
+ attrs.grid.depth = depthZ;
67598
+ }
67599
+ }
67600
+ else {
67601
+ let verticalMinSize = isX ? this.layout.minHeight : this.layout.minWidth;
67602
+ if ((isX && this._layout.layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL) ||
67603
+ (isY && this._layout.layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL)) {
67604
+ verticalMinSize = this._verticalLimitSize;
67605
+ }
67606
+ attrs.verticalLimitSize = this._verticalLimitSize;
67607
+ attrs.verticalMinSize = verticalMinSize;
67608
+ attrs.label = {
67609
+ overflowLimitLength: this._getLabelOverflowLimit(isX)
67610
+ };
67611
+ }
67487
67612
  return attrs;
67488
67613
  }
67489
67614
  getLabelItems(length) {
@@ -84189,9 +84314,9 @@ class SankeyLayout {
84189
84314
  return Math.min(val, (this._viewBox.height - sumGapY) / sumValue);
84190
84315
  }, 1 / 0);else {
84191
84316
  const maxRowCount = columns.reduce((cnt, column) => Math.max(cnt, column.length), 0),
84192
- maxStepHeight = this._viewBox.height / maxRowCount,
84193
- gapY = Math.min(this.options.nodeGap, maxStepHeight);
84194
- if (getGapY = () => gapY, this._gapY = gapY, (minNodeHeight + gapY) * maxRowCount > this._viewBox.height && (minNodeHeight = maxStepHeight - gapY), this.options.equalNodeHeight) forceNodeHeight = this._viewBox.height / maxRowCount - gapY;else {
84317
+ maxStepHeight = this._viewBox.height / maxRowCount;
84318
+ let gapY = Math.min(this.options.nodeGap, maxStepHeight);
84319
+ if (minNodeHeight + gapY > maxStepHeight && (gapY = minNodeHeight >= maxStepHeight ? maxStepHeight / 2 : (maxStepHeight - minNodeHeight) / 2, minNodeHeight = Math.min(maxStepHeight - gapY, minNodeHeight)), getGapY = () => gapY, this._gapY = gapY, this.options.equalNodeHeight) forceNodeHeight = this._viewBox.height / maxRowCount - gapY;else {
84195
84320
  const calGapY = minNodeHeight > 0 ? Math.max(gapY, minNodeHeight) : gapY;
84196
84321
  ky = columns.reduce((val, column) => {
84197
84322
  const sumValue = column.reduce((sum, node) => sum + node.value, 0);
@@ -86348,6 +86473,26 @@ class GaugeSeries extends ProgressLikeSeries {
86348
86473
  });
86349
86474
  }
86350
86475
  }
86476
+ generateRadiusStyle(spec) {
86477
+ if (!spec) {
86478
+ return;
86479
+ }
86480
+ const style = {};
86481
+ spec.outerRadius && (style.outerRadius = () => this._computeLayoutRadius() * spec.outerRadius);
86482
+ spec.innerRadius && (style.innerRadius = () => this._computeLayoutRadius() * spec.innerRadius);
86483
+ return style;
86484
+ }
86485
+ initMarkStyleWithSpec(mark, spec, key) {
86486
+ super.initMarkStyleWithSpec(mark, spec, key);
86487
+ if (mark && mark.name === "segment") {
86488
+ const segmentSpec = this.getSpec()["segment"];
86489
+ if (segmentSpec) {
86490
+ for (const state in segmentSpec.state || {}) {
86491
+ this.setMarkStyle(mark, this.generateRadiusStyle(segmentSpec.state[state]), state, AttributeLevel.User_Mark);
86492
+ }
86493
+ }
86494
+ }
86495
+ }
86351
86496
  initTooltip() {
86352
86497
  super.initTooltip();
86353
86498
  this._segmentMark && this._tooltipHelper.activeTriggerSet.mark.add(this._segmentMark);
@@ -88542,371 +88687,689 @@ const registerVennSeries = () => {
88542
88687
  Factory$1.registerSeries(VennSeries.type, VennSeries);
88543
88688
  };
88544
88689
 
88545
- class MapChartSpecTransformer extends BaseChartSpecTransformer {
88546
- _isValidSeries(type) {
88547
- return type === SeriesTypeEnum.map;
88548
- }
88549
- _getDefaultSeriesSpec(spec) {
88550
- const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { type: spec.type, nameField: spec.nameField, valueField: spec.valueField, seriesField: spec.seriesField, map: spec.map, nameProperty: spec.nameProperty, centroidProperty: spec.centroidProperty, nameMap: spec.nameMap, area: spec.area, defaultFillColor: spec.defaultFillColor, showDefaultName: spec.showDefaultName });
88551
- return series;
88552
- }
88553
- transformSpec(spec) {
88554
- super.transformSpec(spec);
88555
- spec.region.forEach((r) => {
88556
- r.coordinate = 'geo';
88557
- });
88558
- const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);
88559
- if (!spec.series || spec.series.length === 0) {
88560
- spec.series = [defaultSeriesSpec];
88561
- }
88562
- else {
88563
- spec.series.forEach((s) => {
88564
- if (!this._isValidSeries(s.type)) {
88565
- return;
88566
- }
88567
- Object.keys(defaultSeriesSpec).forEach(k => {
88568
- if (!(k in s)) {
88569
- s[k] = defaultSeriesSpec[k];
88570
- }
88571
- });
88572
- });
88573
- }
88574
- }
88575
- }
88576
-
88577
- class MapChart extends BaseChart {
88690
+ class MosaicSeries extends BarSeries {
88578
88691
  constructor() {
88579
88692
  super(...arguments);
88580
- this.transformerConstructor = MapChartSpecTransformer;
88581
- this.type = "map";
88582
- this.seriesType = SeriesTypeEnum.map;
88583
- }
88584
- }
88585
- MapChart.type = "map";
88586
- MapChart.seriesType = SeriesTypeEnum.map;
88587
- MapChart.transformerConstructor = MapChartSpecTransformer;
88588
- const registerMapChart = () => {
88589
- registerMapSeries();
88590
- Factory$1.registerChart(MapChart.type, MapChart);
88591
- };
88592
-
88593
- class PolarChartSpecTransformer extends BaseChartSpecTransformer {
88594
- _isValidSeries(type) {
88595
- return this.seriesType ? type === this.seriesType : true;
88596
- }
88597
- getIndicatorSpec(spec) {
88598
- var _a, _b, _c;
88599
- const indicatorSpec = array(spec.indicator);
88600
- const limitRatio = (_a = spec.innerRadius) !== null && _a !== void 0 ? _a : (_c = (_b = spec.series) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.innerRadius;
88601
- if (isValid$1(limitRatio)) {
88602
- indicatorSpec.forEach(indicator => {
88603
- if (isNil$1(indicator.limitRatio)) {
88604
- indicator.limitRatio = limitRatio;
88605
- }
88606
- });
88607
- }
88608
- return indicatorSpec;
88609
- }
88610
- _getDefaultSeriesSpec(spec) {
88611
- const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { radius: spec.radius, outerRadius: spec.outerRadius, innerRadius: spec.innerRadius, startAngle: spec.startAngle, endAngle: spec.endAngle, sortDataByAxis: spec.sortDataByAxis });
88612
- const seriesType = this.seriesType;
88613
- if (seriesType) {
88614
- series.type = seriesType;
88615
- series[seriesType] = spec[seriesType];
88616
- }
88617
- return series;
88693
+ this.type = SeriesTypeEnum.mosaic;
88694
+ this.transformerConstructor = BarSeriesSpecTransformer;
88618
88695
  }
88619
- transformSpec(spec) {
88620
- super.transformSpec(spec);
88621
- if (isArray$1(spec.dataZoom) && spec.dataZoom.length > 0) {
88622
- spec.dataZoom.forEach((zoom) => {
88623
- if (zoom.filterMode === 'axis') {
88624
- zoom.filterMode = 'filter';
88625
- }
88626
- });
88627
- }
88628
- this.transformSeriesSpec(spec);
88629
- if (isValid$1(spec.indicator)) {
88630
- spec.indicator = this.getIndicatorSpec(spec);
88631
- }
88696
+ getStack() {
88697
+ return true;
88632
88698
  }
88633
- }
88634
-
88635
- class ProgressLikeChartSpecTransformer extends PolarChartSpecTransformer {
88636
- needAxes() {
88637
- return false;
88699
+ getPercent() {
88700
+ return !!this.getSeriesField();
88638
88701
  }
88639
- _getDefaultSeriesSpec(spec) {
88640
- const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { seriesField: spec.seriesField, categoryField: spec.categoryField || spec.radiusField, valueField: spec.valueField || spec.angleField, startAngle: spec.startAngle, endAngle: spec.endAngle, radius: spec.radius, innerRadius: spec.innerRadius, centerX: spec.centerX, centerY: spec.centerY });
88641
- return series;
88702
+ getGroupFields() {
88703
+ return this.direction === 'vertical' ? this._specXField : this._specYField;
88642
88704
  }
88643
- _transformProgressAxisSpec(spec, angleAxisDefaultSpec, radiusAxisDefaultSpec, angleAxisAppendSpec, radiusAxisAppendSpec) {
88644
- var _a, _b;
88645
- if (!spec.axes) {
88646
- spec.axes = [];
88647
- }
88648
- let radiusAxis = ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).find((axis) => axis.orient === 'radius');
88649
- let angleAxis = ((_b = spec.axes) !== null && _b !== void 0 ? _b : []).find((axis) => axis.orient === 'angle');
88650
- if (!angleAxis) {
88651
- angleAxis = angleAxisDefaultSpec;
88652
- spec.axes.push(angleAxis);
88653
- }
88654
- if (!radiusAxis) {
88655
- radiusAxis = radiusAxisDefaultSpec;
88656
- spec.axes.push(radiusAxis);
88657
- }
88658
- if (isNil$1(angleAxis.type)) {
88659
- angleAxis.type = 'linear';
88660
- }
88661
- if (isNil$1(radiusAxis.type)) {
88662
- radiusAxis.type = 'band';
88663
- }
88664
- const domain = getLinearAxisSpecDomain(angleAxis, { min: 0, max: 1 });
88665
- if (isNil$1(angleAxis.min)) {
88666
- angleAxis.min = domain.min;
88667
- }
88668
- if (isNil$1(angleAxis.max)) {
88669
- angleAxis.max = domain.max;
88670
- }
88671
- if (angleAxisAppendSpec) {
88672
- Object.assign(angleAxis, mergeSpec({}, angleAxisAppendSpec, angleAxis));
88705
+ setAttrFromSpec() {
88706
+ super.setAttrFromSpec();
88707
+ const isPercent = this.getPercent();
88708
+ if (this.direction === "horizontal") {
88709
+ if (isPercent) {
88710
+ this.setFieldX(MOSAIC_VALUE_END_PERCENT);
88711
+ this.setFieldX2(MOSAIC_VALUE_START_PERCENT);
88712
+ }
88713
+ this.setFieldY(MOSAIC_CAT_END_PERCENT);
88714
+ this.setFieldY2(MOSAIC_CAT_START_PERCENT);
88673
88715
  }
88674
- if (radiusAxisAppendSpec) {
88675
- Object.assign(radiusAxis, mergeSpec({}, radiusAxisAppendSpec, radiusAxis));
88716
+ else {
88717
+ if (isPercent) {
88718
+ this.setFieldY(MOSAIC_VALUE_END_PERCENT);
88719
+ this.setFieldY2(MOSAIC_VALUE_START_PERCENT);
88720
+ }
88721
+ this.setFieldX(MOSAIC_CAT_END_PERCENT);
88722
+ this.setFieldX2(MOSAIC_CAT_START_PERCENT);
88676
88723
  }
88677
88724
  }
88678
- }
88679
-
88680
- class RoseLikeChartSpecTransformer extends PolarChartSpecTransformer {
88681
- needAxes() {
88682
- return true;
88683
- }
88684
- _getDefaultSeriesSpec(spec) {
88685
- const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { categoryField: spec.categoryField || spec.angleField, valueField: spec.valueField || spec.radiusField });
88686
- return series;
88687
- }
88688
- transformSpec(spec) {
88689
- var _a;
88690
- super.transformSpec(spec);
88691
- if (this.needAxes()) {
88692
- if (!spec.axes) {
88693
- spec.axes = [];
88725
+ parseLabelStyle(labelStyle, labelSpec) {
88726
+ if ((labelSpec === null || labelSpec === void 0 ? void 0 : labelSpec.filterByGroup) && isNil$1(labelStyle.dataFilter)) {
88727
+ const allGroupFields = this.getGroupFields();
88728
+ const { field, type: filterType = 'max', filter } = labelSpec.filterByGroup;
88729
+ delete labelStyle.filterField;
88730
+ const fieldIndex = allGroupFields.indexOf(field);
88731
+ if (fieldIndex < 0) {
88732
+ return;
88694
88733
  }
88695
- const haxAxes = { radius: false, angle: false };
88696
- ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).forEach((axis) => {
88697
- const { orient } = axis;
88698
- if (orient === 'radius') {
88699
- haxAxes.radius = true;
88700
- }
88701
- if (orient === 'angle') {
88702
- haxAxes.angle = true;
88734
+ const isCatField = !!(fieldIndex % 2);
88735
+ const valueField = isCatField
88736
+ ? filterType === 'min'
88737
+ ? this.direction === "horizontal"
88738
+ ? this._fieldY2
88739
+ : this._fieldX2
88740
+ : this.direction === "horizontal"
88741
+ ? this._fieldY
88742
+ : this._fieldX
88743
+ : filterType === 'min'
88744
+ ? this.direction === "horizontal"
88745
+ ? this._fieldX2
88746
+ : this._fieldY2
88747
+ : this.direction === "horizontal"
88748
+ ? this._fieldX
88749
+ : this._fieldY;
88750
+ const filterFunc = filterType === 'min'
88751
+ ? (a, b) => {
88752
+ var _a, _b;
88753
+ return ((_a = a.data) === null || _a === void 0 ? void 0 : _a[valueField]) < ((_b = b.data) === null || _b === void 0 ? void 0 : _b[valueField]);
88703
88754
  }
88704
- });
88705
- if (!haxAxes.angle) {
88706
- spec.axes.push({
88707
- orient: 'angle'
88755
+ : (a, b) => {
88756
+ var _a, _b;
88757
+ return ((_a = a.data) === null || _a === void 0 ? void 0 : _a[valueField]) > ((_b = b.data) === null || _b === void 0 ? void 0 : _b[valueField]);
88758
+ };
88759
+ labelStyle.dataFilter = (data) => {
88760
+ const filteredData = {};
88761
+ data.forEach((d) => {
88762
+ const datum = d.data;
88763
+ const fieldValue = datum === null || datum === void 0 ? void 0 : datum[field];
88764
+ if (isNil$1(fieldValue) || (filter && !filter(d))) {
88765
+ return;
88766
+ }
88767
+ if (!filteredData[fieldValue] || filterFunc(d, filteredData[fieldValue])) {
88768
+ filteredData[fieldValue] = d;
88769
+ }
88708
88770
  });
88709
- }
88710
- if (!haxAxes.radius) {
88711
- spec.axes.push({
88712
- orient: 'radius'
88771
+ return data.filter((d) => {
88772
+ var _a;
88773
+ const fieldValue = (_a = d.data) === null || _a === void 0 ? void 0 : _a[field];
88774
+ return filteredData[fieldValue] && filteredData[fieldValue] === d;
88713
88775
  });
88714
- }
88776
+ };
88715
88777
  }
88778
+ return labelStyle;
88716
88779
  }
88717
88780
  }
88781
+ MosaicSeries.type = SeriesTypeEnum.mosaic;
88782
+ MosaicSeries.transformerConstructor = BarSeriesSpecTransformer;
88783
+ const registerMosaicSeries = () => {
88784
+ registerRectMark();
88785
+ registerTextMark();
88786
+ registerFadeInOutAnimation();
88787
+ registerCartesianLinearAxis();
88788
+ Factory$1.registerSeries(MosaicSeries.type, MosaicSeries);
88789
+ };
88718
88790
 
88719
- class BasePieChartSpecTransformer extends PolarChartSpecTransformer {
88720
- needAxes() {
88721
- return false;
88722
- }
88723
- _getDefaultSeriesSpec(spec) {
88724
- var _a;
88725
- return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { categoryField: spec.categoryField || spec.seriesField, valueField: spec.valueField || spec.angleField, center: spec.center, centerOffset: spec.centerOffset, cornerRadius: spec.cornerRadius, padAngle: spec.padAngle, minAngle: spec.minAngle, emptyPlaceholder: spec.emptyPlaceholder, emptyCircle: (_a = spec.emptyPlaceholder) === null || _a === void 0 ? void 0 : _a.emptyCircle, showAllZero: spec.showAllZero, supportNegative: spec.supportNegative, layoutRadius: spec.layoutRadius });
88726
- }
88727
- }
88791
+ const PictogramSeriesMark = Object.assign(Object.assign({}, baseSeriesMark), { ["pictogram"]: { name: "pictogram", type: "group" } });
88728
88792
 
88729
- class BasePieChart extends BaseChart {
88730
- constructor() {
88731
- super(...arguments);
88732
- this.transformerConstructor = BasePieChartSpecTransformer;
88793
+ class PictogramSeriesSpecTransformer extends BaseSeriesSpecTransformer {
88794
+ _getDefaultSpecFromChart(chartSpec) {
88795
+ var _a, _b, _c;
88796
+ const spec = (_a = super._getDefaultSpecFromChart(chartSpec)) !== null && _a !== void 0 ? _a : {};
88797
+ const svg = chartSpec.svg;
88798
+ const elements = (_c = (_b = svgSourceMap.get(svg)) === null || _b === void 0 ? void 0 : _b.latestData) === null || _c === void 0 ? void 0 : _c.elements;
88799
+ if (elements && elements.length) {
88800
+ const names = elements.map(e => e.name).filter(n => isValid$1(n));
88801
+ names.forEach(name => {
88802
+ if (chartSpec[name]) {
88803
+ spec[name] = chartSpec[name];
88804
+ }
88805
+ });
88806
+ }
88807
+ return spec;
88733
88808
  }
88734
88809
  }
88735
- BasePieChart.transformerConstructor = BasePieChartSpecTransformer;
88736
88810
 
88737
- class PieChart extends BasePieChart {
88811
+ class PictogramSeriesTooltipHelper extends BaseSeriesTooltipHelper {
88738
88812
  constructor() {
88739
88813
  super(...arguments);
88740
- this.transformerConstructor = BasePieChartSpecTransformer;
88741
- this.type = "pie";
88742
- this.seriesType = SeriesTypeEnum.pie;
88814
+ this.dimensionTooltipTitleCallback = (datum) => {
88815
+ var _a;
88816
+ const series = this.series;
88817
+ return (_a = this._getDimensionData(datum)) !== null && _a !== void 0 ? _a : series.getDatumName(datum);
88818
+ };
88819
+ this.markTooltipValueCallback = (datum, params) => {
88820
+ const { measureFields } = this._seriesCacheInfo;
88821
+ if (measureFields[0] && datum.data) {
88822
+ return datum.data[measureFields[0]];
88823
+ }
88824
+ };
88825
+ this.markTooltipKeyCallback = (datum) => {
88826
+ var _a;
88827
+ return (_a = datum.data) === null || _a === void 0 ? void 0 : _a[this.series.getDimensionField()[0]];
88828
+ };
88743
88829
  }
88744
88830
  }
88745
- PieChart.type = "pie";
88746
- PieChart.seriesType = SeriesTypeEnum.pie;
88747
- PieChart.transformerConstructor = BasePieChartSpecTransformer;
88748
- const registerPieChart = () => {
88749
- registerPieSeries();
88750
- Factory$1.registerChart(PieChart.type, PieChart);
88751
- };
88752
88831
 
88753
- class Pie3dChartSpecTransformer extends BasePieChartSpecTransformer {
88754
- transformSpec(spec) {
88755
- super.transformSpec(spec);
88756
- spec.series.forEach((s) => {
88757
- if (s.type === 'pie3d') {
88758
- s.angle3d = spec.angle3d;
88759
- }
88760
- });
88761
- }
88832
+ function isValidStrokeOrFill(attr) {
88833
+ var _a;
88834
+ return isValid$1(attr) && attr !== 'none' && !((_a = attr.includes) === null || _a === void 0 ? void 0 : _a.call(attr, 'url'));
88762
88835
  }
88763
- class Pie3dChart extends BasePieChart {
88764
- constructor() {
88765
- super(...arguments);
88766
- this.transformerConstructor = Pie3dChartSpecTransformer;
88767
- this.type = "pie3d";
88768
- this.seriesType = SeriesTypeEnum.pie3d;
88836
+ const getLineWidth = (attributes) => {
88837
+ const strokeWidth = parseFloat(attributes['strokeWidth']);
88838
+ if (!isNaN(strokeWidth))
88839
+ return strokeWidth;
88840
+ const stroke = attributes['stroke'];
88841
+ return stroke && isValidStrokeOrFill(stroke) ? 1 : 0;
88842
+ };
88843
+ const getFill = (attributes, defaultFill) => {
88844
+ var _a;
88845
+ const fill = (_a = attributes['fill']) !== null && _a !== void 0 ? _a : defaultFill;
88846
+ return fill && isValidStrokeOrFill(fill) ? fill : undefined;
88847
+ };
88848
+ const getStroke = (attributes, defaultStroke) => {
88849
+ var _a;
88850
+ const stroke = (_a = attributes['stroke']) !== null && _a !== void 0 ? _a : defaultStroke;
88851
+ return stroke && isValidStrokeOrFill(stroke) ? stroke : false;
88852
+ };
88853
+ const commonAttributes = (attributes) => {
88854
+ return Object.assign(Object.assign({}, attributes), { x: parseFloat(attributes.x) || undefined, y: parseFloat(attributes.y) || undefined, fillStrokeOrder: false, fill: getFill(attributes), lineWidth: getLineWidth(attributes), stroke: getStroke(attributes) });
88855
+ };
88856
+ const graphicAttributeTransform = {
88857
+ group: (attributes) => {
88858
+ const common = commonAttributes(attributes);
88859
+ return Object.assign(Object.assign({}, common), { visibleAll: common['visible'] !== false });
88860
+ },
88861
+ rule: (attributes) => {
88862
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { x: parseFloat(attributes.x1), y: parseFloat(attributes.y1), x1: parseFloat(attributes.x2), y1: parseFloat(attributes.y2) });
88863
+ },
88864
+ rect: (attributes) => {
88865
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { fill: getFill(attributes, '#000'), width: parseFloat(attributes.width), height: parseFloat(attributes.height) });
88866
+ },
88867
+ polygon: (attributes) => {
88868
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { fill: getFill(attributes, '#000'), points: attributes.points
88869
+ .trim()
88870
+ .split(/\s+/)
88871
+ .map((pair) => {
88872
+ const [x, y] = pair.split(',').map(Number);
88873
+ return { x, y };
88874
+ }) });
88875
+ },
88876
+ line: (attributes) => {
88877
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { points: attributes.points
88878
+ .trim()
88879
+ .split(/\s+/)
88880
+ .map((pair) => {
88881
+ const [x, y] = pair.split(',').map(Number);
88882
+ return { x, y };
88883
+ }) });
88884
+ },
88885
+ path: (attributes) => {
88886
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { path: attributes.d, fillStrokeOrder: false });
88887
+ },
88888
+ arc: (attributes) => {
88889
+ var _a;
88890
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { outerRadius: (_a = attributes.r) !== null && _a !== void 0 ? _a : attributes.ry, x: parseFloat(attributes.cx), y: parseFloat(attributes.cy), startAngle: 0, endAngle: Math.PI * 2, scaleX: parseFloat(attributes.rx) / parseFloat(attributes.ry) || 1, fill: getFill(attributes, '#000') });
88891
+ },
88892
+ text: (attributes, value) => {
88893
+ var _a, _b;
88894
+ return Object.assign(Object.assign({}, commonAttributes(attributes)), { text: value, textAlign: (_a = attributes.textAlign) !== null && _a !== void 0 ? _a : 'left', textBaseLine: (_b = attributes.textAnchor) !== null && _b !== void 0 ? _b : 'middle', anchor: [0, 0], fill: getFill(attributes, '#000') });
88769
88895
  }
88770
- }
88771
- Pie3dChart.type = "pie3d";
88772
- Pie3dChart.seriesType = SeriesTypeEnum.pie3d;
88773
- Pie3dChart.transformerConstructor = Pie3dChartSpecTransformer;
88774
- const registerPie3dChart = () => {
88775
- register3DPlugin();
88776
- registerPie3dSeries();
88777
- Factory$1.registerChart(Pie3dChart.type, Pie3dChart);
88778
88896
  };
88779
-
88780
- class RoseChartSpecTransformer extends RoseLikeChartSpecTransformer {
88781
- _getDefaultSeriesSpec(spec) {
88782
- var _a, _b, _c;
88783
- return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { radius: (_a = spec.radius) !== null && _a !== void 0 ? _a : POLAR_DEFAULT_RADIUS, outerRadius: (_b = spec.outerRadius) !== null && _b !== void 0 ? _b : POLAR_DEFAULT_RADIUS, innerRadius: (_c = spec.innerRadius) !== null && _c !== void 0 ? _c : 0, seriesField: spec.seriesField, stack: spec.stack, percent: spec.percent });
88897
+ const pictogram = (data) => {
88898
+ var _a, _b;
88899
+ if (!data || !data[0]) {
88900
+ return {};
88784
88901
  }
88785
- transformSpec(spec) {
88786
- var _a;
88787
- super.transformSpec(spec);
88788
- ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).forEach((axis) => {
88789
- ['domainLine', 'grid', 'label', 'tick'].forEach(configName => {
88790
- if (!axis[configName]) {
88791
- axis[configName] = { visible: false };
88792
- }
88793
- });
88794
- if (axis.orient === 'angle' && isNil$1(axis.bandPosition)) {
88795
- axis.bandPosition = 0.5;
88902
+ const { elements } = data[0].latestData;
88903
+ if (elements && elements.length) {
88904
+ elements.forEach((el, index) => {
88905
+ var _a;
88906
+ el[DEFAULT_DATA_INDEX] = index;
88907
+ el._uniqueId = `${el.id}-${index}`;
88908
+ el.data = undefined;
88909
+ const { graphicType: type, transform } = el;
88910
+ let finalAttributes = {
88911
+ visible: el.attributes.visibility !== 'hidden' && el.attributes.visibility !== 'collapse'
88912
+ };
88913
+ if (el.graphicType === 'text') {
88914
+ merge$1(finalAttributes, el._inheritStyle, (_a = el.parent) === null || _a === void 0 ? void 0 : _a._textGroupStyle, el.attributes);
88915
+ }
88916
+ else if (el.graphicType !== 'group') {
88917
+ merge$1(finalAttributes, el._inheritStyle, el.attributes);
88918
+ }
88919
+ if (graphicAttributeTransform[type]) {
88920
+ el._finalAttributes = graphicAttributeTransform[type](finalAttributes, el.value);
88921
+ }
88922
+ else {
88923
+ el._finalAttributes = finalAttributes;
88924
+ }
88925
+ if (transform) {
88926
+ el._finalAttributes.postMatrix = Object.assign({}, transform);
88796
88927
  }
88797
88928
  });
88798
- spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {
88799
- return mergeSpec({
88800
- categoryField: {
88801
- visible: true,
88802
- line: {
88803
- visible: true,
88804
- type: 'rect'
88929
+ const texts = elements.filter(el => el.tagName === 'text');
88930
+ for (let i = 0; i < texts.length; i++) {
88931
+ const textId = texts[i]._uniqueId;
88932
+ const children = elements.filter(el => {
88933
+ let result = false;
88934
+ let parent = el.parent;
88935
+ while (parent) {
88936
+ if (parent._uniqueId === textId) {
88937
+ result = true;
88938
+ break;
88805
88939
  }
88940
+ parent = parent.parent;
88806
88941
  }
88807
- }, crosshairCfg);
88808
- });
88942
+ return result;
88943
+ });
88944
+ if (children && children.length) {
88945
+ let startX = (_b = (_a = texts[i]._textGroupStyle) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0;
88946
+ let curX = startX;
88947
+ for (let j = 0; j < children.length; j++) {
88948
+ const currentChild = children[j];
88949
+ if (currentChild.graphicType === 'group') {
88950
+ curX = startX;
88951
+ }
88952
+ else if (currentChild.value) {
88953
+ if (currentChild.parent._textGroupStyle.x === undefined) {
88954
+ const lastText = children
88955
+ .slice(0, j)
88956
+ .reverse()
88957
+ .find(c => c.graphicType === 'text' && c.value);
88958
+ if (lastText) {
88959
+ const width = measureText(lastText.value, lastText._finalAttributes).width;
88960
+ curX += width;
88961
+ }
88962
+ currentChild._finalAttributes.x = curX;
88963
+ }
88964
+ }
88965
+ }
88966
+ }
88967
+ }
88809
88968
  }
88810
- }
88969
+ return elements;
88970
+ };
88811
88971
 
88812
- class RoseChart extends BaseChart {
88972
+ class PictogramSeries extends GeoSeries {
88813
88973
  constructor() {
88814
88974
  super(...arguments);
88815
- this.transformerConstructor = RoseChartSpecTransformer;
88816
- this.type = "rose";
88817
- this.seriesType = SeriesTypeEnum.rose;
88975
+ this.type = SeriesTypeEnum.pictogram;
88818
88976
  }
88819
- }
88820
- RoseChart.type = "rose";
88821
- RoseChart.seriesType = SeriesTypeEnum.rose;
88822
- RoseChart.transformerConstructor = RoseChartSpecTransformer;
88823
- mixin(RoseChart, StackChartMixin);
88824
- const registerRoseChart = () => {
88825
- registerRoseSeries();
88826
- Factory$1.registerChart(RoseChart.type, RoseChart);
88827
- };
88828
-
88829
- class RadarChartSpecTransformer extends RoseLikeChartSpecTransformer {
88830
- _getDefaultSeriesSpec(spec) {
88831
- var _a;
88832
- return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { seriesField: spec.seriesField, line: spec.line, point: spec.point, stack: spec.stack, percent: spec.percent, area: mergeSpec({
88833
- visible: false
88834
- }, spec.area), seriesMark: (_a = spec.seriesMark) !== null && _a !== void 0 ? _a : 'area', activePoint: spec.activePoint, pointDis: spec.pointDis, pointDisMul: spec.pointDisMul, markOverlap: spec.markOverlap });
88977
+ setAttrFromSpec() {
88978
+ var _a, _b, _c;
88979
+ super.setAttrFromSpec();
88980
+ this.svg = this._spec.svg;
88981
+ this._nameField = this._spec.nameField;
88982
+ this._valueField = this._spec.valueField;
88983
+ if (!this.svg) {
88984
+ (_a = this._option) === null || _a === void 0 ? void 0 : _a.onError(`svg source is not specified !`);
88985
+ }
88986
+ this._parsedSvgResult = (_b = getSVGSource(this.svg)) === null || _b === void 0 ? void 0 : _b.latestData;
88987
+ if (!this._parsedSvgResult) {
88988
+ (_c = this._option) === null || _c === void 0 ? void 0 : _c.onError(`'${this.svg}' is not registered !`);
88989
+ }
88835
88990
  }
88836
- transformSpec(spec) {
88991
+ getDatumCenter(datum) {
88992
+ return [Number.NaN, Number.NaN];
88993
+ }
88994
+ getDatumName(datum) {
88995
+ return datum.name || datum._nameFromParent;
88996
+ }
88997
+ getMarksWithoutRoot() {
88998
+ return this.getMarks().filter(m => m.name && !m.name.includes('seriesGroup') && !m.name.includes('root') && m !== this._pictogramMark);
88999
+ }
89000
+ _buildMarkAttributeContext() {
89001
+ super._buildMarkAttributeContext();
89002
+ this._markAttributeContext.getTransformMatrix = this.getRootMatrix.bind(this);
89003
+ this._markAttributeContext.coordToPosition = this.coordToPosition.bind(this);
89004
+ this._markAttributeContext.dataToPosition = this.dataToPosition.bind(this);
89005
+ }
89006
+ _defaultHoverConfig(selector, finalHoverSpec) {
89007
+ return {
89008
+ seriesId: this.id,
89009
+ regionId: this._region.id,
89010
+ selector,
89011
+ type: 'element-highlight-by-graphic-name',
89012
+ trigger: finalHoverSpec.trigger,
89013
+ triggerOff: 'pointerout',
89014
+ blurState: STATE_VALUE_ENUM.STATE_HOVER_REVERSE,
89015
+ highlightState: STATE_VALUE_ENUM.STATE_HOVER
89016
+ };
89017
+ }
89018
+ _defaultSelectConfig(selector, finalSelectSpec) {
89019
+ const isMultiple = finalSelectSpec.mode === 'multiple';
89020
+ const triggerOff = isValid$1(finalSelectSpec.triggerOff)
89021
+ ? finalSelectSpec.triggerOff
89022
+ : isMultiple
89023
+ ? ['empty', 'self']
89024
+ : ['empty', finalSelectSpec.trigger];
89025
+ return {
89026
+ type: 'element-select-by-graphic-name',
89027
+ seriesId: this.id,
89028
+ regionId: this._region.id,
89029
+ selector,
89030
+ trigger: finalSelectSpec.trigger,
89031
+ triggerOff: triggerOff,
89032
+ reverseState: STATE_VALUE_ENUM.STATE_SELECTED_REVERSE,
89033
+ state: STATE_VALUE_ENUM.STATE_SELECTED,
89034
+ isMultiple
89035
+ };
89036
+ }
89037
+ initMark() {
88837
89038
  var _a;
88838
- super.transformSpec(spec);
88839
- ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).forEach((axis) => {
88840
- if (axis.orient === 'radius') {
88841
- ['domainLine', 'label', 'tick'].forEach(configName => {
88842
- if (!axis[configName]) {
88843
- axis[configName] = { visible: false };
89039
+ this._pictogramMark = this._createMark(PictogramSeries.mark.pictogram, {
89040
+ groupKey: this.getDimensionField()[0],
89041
+ isSeriesMark: true,
89042
+ skipBeforeLayouted: true,
89043
+ dataView: this._mapViewData.getDataView(),
89044
+ dataProductId: this._mapViewData.getProductId()
89045
+ }, {
89046
+ morph: shouldMarkDoMorph(this._spec, PictogramSeries.mark.pictogram.name)
89047
+ });
89048
+ if (!this._pictogramMark) {
89049
+ return;
89050
+ }
89051
+ this._pictogramMark.setUserId(PictogramSeries.mark.pictogram.name);
89052
+ for (const element of this._mapViewData.getDataView().latestData) {
89053
+ const { graphicType: type, name, parent, id, _nameFromParent, _uniqueId } = element;
89054
+ const mark = this._createMark({ type, name: name !== null && name !== void 0 ? name : _nameFromParent }, {
89055
+ groupKey: _uniqueId,
89056
+ isSeriesMark: false,
89057
+ skipBeforeLayouted: true,
89058
+ dataView: this._mapViewData.getDataView(),
89059
+ dataProductId: this._mapViewData.getProductId(),
89060
+ parent: (_a = this._pictogramMark.getMarkInUserId(parent === null || parent === void 0 ? void 0 : parent._uniqueId)) !== null && _a !== void 0 ? _a : this._pictogramMark
89061
+ }, {
89062
+ morph: shouldMarkDoMorph(this._spec, PictogramSeries.mark.pictogram.name)
89063
+ });
89064
+ if (mark) {
89065
+ mark.setUserId(_uniqueId);
89066
+ if (mark.type !== 'group') {
89067
+ mark.setMarkConfig({ graphicName: mark.name });
89068
+ }
89069
+ mark.setTransform([
89070
+ {
89071
+ type: 'filter',
89072
+ callback: (datum) => {
89073
+ return datum._uniqueId === _uniqueId;
89074
+ }
88844
89075
  }
89076
+ ]);
89077
+ }
89078
+ }
89079
+ this._initLabelMark();
89080
+ }
89081
+ _initLabelMark() {
89082
+ if (this._spec.label.visible !== true) {
89083
+ return;
89084
+ }
89085
+ const labelMark = this._createMark(PictogramSeries.mark.label, {
89086
+ isSeriesMark: false,
89087
+ parent: this._pictogramMark,
89088
+ groupKey: '_uniqueId',
89089
+ skipBeforeLayouted: true,
89090
+ depend: this.getMarksWithoutRoot()
89091
+ });
89092
+ if (labelMark) {
89093
+ this._labelMark = labelMark;
89094
+ this._labelMark.setDataView(this._mapViewData.getDataView());
89095
+ }
89096
+ }
89097
+ initLabelMarkStyle() {
89098
+ if (!this._labelMark) {
89099
+ return;
89100
+ }
89101
+ this.setMarkStyle(this._labelMark, {
89102
+ visible: d => !!this._validElement(d),
89103
+ x: d => { var _a; return (_a = this.dataToPosition(d, true)) === null || _a === void 0 ? void 0 : _a.x; },
89104
+ y: d => { var _a; return (_a = this.dataToPosition(d, true)) === null || _a === void 0 ? void 0 : _a.y; },
89105
+ text: d => d[this.nameField],
89106
+ textAlign: 'center',
89107
+ textBaseline: 'middle'
89108
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);
89109
+ }
89110
+ initMarkStyle() {
89111
+ const { root, viewBoxRect } = this._parsedSvgResult;
89112
+ const elements = this._mapViewData.getDataView().latestData;
89113
+ if (root) {
89114
+ this.setMarkStyle(this._pictogramMark, graphicAttributeTransform.group(root.attributes), 'normal', AttributeLevel.Built_In);
89115
+ if (root.transform) {
89116
+ this.setMarkStyle(this._pictogramMark, {
89117
+ postMatrix: () => root.transform
89118
+ }, 'normal', AttributeLevel.Built_In);
89119
+ }
89120
+ if (viewBoxRect) {
89121
+ this._pictogramMark.setMarkConfig({
89122
+ clip: true,
89123
+ clipPath: [createRect(Object.assign(Object.assign({}, viewBoxRect), { fill: true }))]
88845
89124
  });
88846
- if (!axis.grid) {
88847
- axis.grid = { visible: true };
89125
+ }
89126
+ }
89127
+ for (const element of elements) {
89128
+ const { _uniqueId, _finalAttributes: attributes } = element;
89129
+ const mark = this._pictogramMark.getMarkInUserId(_uniqueId);
89130
+ const valid = this._validElement(element);
89131
+ if (mark) {
89132
+ this.setMarkStyle(mark, { keepStrokeScale: true }, 'normal', AttributeLevel.Built_In);
89133
+ if (valid) {
89134
+ this.initMarkStyleWithSpec(mark, merge$1({}, this._spec.pictogram, this._spec[mark.name]));
89135
+ this.setMarkStyle(mark, attributes, 'normal', AttributeLevel.Series);
89136
+ mark.setPostProcess('fill', (result, datum) => {
89137
+ return isValid$1(result) ? result : this._spec.defaultFillColor;
89138
+ });
89139
+ }
89140
+ else {
89141
+ mark.setMarkConfig({ interactive: false });
89142
+ this.setMarkStyle(mark, attributes, 'normal', AttributeLevel.Built_In);
88848
89143
  }
88849
89144
  }
89145
+ }
89146
+ this.initLabelMarkStyle();
89147
+ }
89148
+ _validElement(element) {
89149
+ return element.name || element._nameFromParent;
89150
+ }
89151
+ initTooltip() {
89152
+ this._tooltipHelper = new PictogramSeriesTooltipHelper(this);
89153
+ this.getMarksWithoutRoot().forEach(mark => {
89154
+ if (mark && mark.name) {
89155
+ this._tooltipHelper.activeTriggerSet.mark.add(mark);
89156
+ }
88850
89157
  });
88851
- spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {
88852
- return mergeSpec({
88853
- categoryField: {
88854
- visible: true,
88855
- line: {
88856
- visible: true,
88857
- type: 'line'
89158
+ }
89159
+ dataToPosition(datum, global = false) {
89160
+ if (!datum) {
89161
+ return null;
89162
+ }
89163
+ const name = datum[this.nameField];
89164
+ if (!name) {
89165
+ return null;
89166
+ }
89167
+ const mark = this.getMarksWithoutRoot().filter(mark => mark.name === name);
89168
+ if (!mark || mark.length === 0) {
89169
+ return null;
89170
+ }
89171
+ let bounds = new Bounds();
89172
+ if (global) {
89173
+ mark.forEach(m => {
89174
+ bounds = bounds.union(m.getProduct().getGroupGraphicItem().globalAABBBounds);
89175
+ });
89176
+ }
89177
+ else {
89178
+ mark.forEach(m => {
89179
+ bounds = bounds.union(m.getProduct().getBounds());
89180
+ });
89181
+ }
89182
+ const point = { x: (bounds.x1 + bounds.x2) / 2, y: (bounds.y1 + bounds.y2) / 2 };
89183
+ if (global) {
89184
+ const { x, y } = this.getLayoutStartPoint();
89185
+ point.x -= x;
89186
+ point.y -= y;
89187
+ }
89188
+ return point;
89189
+ }
89190
+ coordToPosition(point) {
89191
+ if (!point) {
89192
+ return null;
89193
+ }
89194
+ const { x, y } = point;
89195
+ const matrix = this.getRootMatrix();
89196
+ if (!matrix) {
89197
+ return null;
89198
+ }
89199
+ const position = {};
89200
+ matrix.getInverse().transformPoint({ x, y }, position);
89201
+ return position;
89202
+ }
89203
+ getRootMatrix() {
89204
+ var _a;
89205
+ return (_a = this.getPictogramRootGraphic()) === null || _a === void 0 ? void 0 : _a.transMatrix;
89206
+ }
89207
+ getPictogramRootGraphic() {
89208
+ var _a;
89209
+ return (_a = this._pictogramMark.getProduct()) === null || _a === void 0 ? void 0 : _a.getGroupGraphicItem();
89210
+ }
89211
+ initData() {
89212
+ var _a, _b;
89213
+ super.initData();
89214
+ const parsedSvg = svgSourceMap.get(this.svg);
89215
+ if (!parsedSvg) {
89216
+ (_a = this._option) === null || _a === void 0 ? void 0 : _a.onError('no valid svg found!');
89217
+ }
89218
+ const svgData = new DataView(this._dataSet, { name: `pictogram_${this.id}_data` });
89219
+ registerDataSetInstanceTransform(this._dataSet, 'pictogram', pictogram);
89220
+ registerDataSetInstanceTransform(this._dataSet, 'lookup', lookup);
89221
+ svgData
89222
+ .parse([parsedSvg], {
89223
+ type: 'dataview'
89224
+ })
89225
+ .transform({ type: 'pictogram' })
89226
+ .transform({
89227
+ type: 'lookup',
89228
+ options: {
89229
+ from: () => this.getViewData().latestData,
89230
+ key: 'name',
89231
+ fields: this._nameField,
89232
+ set: (a, b) => {
89233
+ if (b) {
89234
+ a.data = b;
88858
89235
  }
88859
89236
  }
88860
- }, crosshairCfg);
89237
+ }
89238
+ })
89239
+ .transform({
89240
+ type: 'lookup',
89241
+ options: {
89242
+ from: () => this.getViewData().latestData,
89243
+ key: '_nameFromParent',
89244
+ fields: this._nameField,
89245
+ set: (a, b) => {
89246
+ if (b) {
89247
+ a.data = b;
89248
+ }
89249
+ }
89250
+ }
88861
89251
  });
89252
+ (_b = this._data) === null || _b === void 0 ? void 0 : _b.getDataView().target.addListener('change', svgData.reRunAllTransform);
89253
+ this._mapViewData = new SeriesData(this._option, svgData);
88862
89254
  }
88863
- }
88864
-
88865
- class RadarChart extends BaseChart {
88866
- constructor() {
88867
- super(...arguments);
88868
- this.transformerConstructor = RadarChartSpecTransformer;
88869
- this.type = "radar";
88870
- this.seriesType = SeriesTypeEnum.radar;
89255
+ mapViewDataUpdate() {
89256
+ this._mapViewData.updateData();
88871
89257
  }
88872
- }
88873
- RadarChart.type = "radar";
88874
- RadarChart.seriesType = SeriesTypeEnum.radar;
88875
- RadarChart.transformerConstructor = RadarChartSpecTransformer;
88876
- mixin(RadarChart, StackChartMixin);
88877
- const registerRadarChart = () => {
88878
- registerRadarSeries();
88879
- Factory$1.registerChart(RadarChart.type, RadarChart);
88880
- };
88881
-
88882
- class CommonChartSpecTransformer extends BaseChartSpecTransformer {
88883
- _getDefaultSeriesSpec(spec) {
88884
- const defaultSpec = super._getDefaultSeriesSpec(spec);
88885
- delete defaultSpec.data;
88886
- return defaultSpec;
89258
+ onLayoutEnd(ctx) {
89259
+ var _a;
89260
+ super.onLayoutEnd(ctx);
89261
+ (_a = this._mapViewData) === null || _a === void 0 ? void 0 : _a.getDataView().reRunAllTransform();
88887
89262
  }
88888
- _transformAxisSpec(spec) {
88889
- if (!spec.axes) {
89263
+ updateSVGSize() {
89264
+ const { width: regionWidth, height: regionHeight } = this.getLayoutRect();
89265
+ const regionCenterX = regionWidth / 2;
89266
+ const regionCenterY = regionHeight / 2;
89267
+ const root = this.getPictogramRootGraphic();
89268
+ if (root) {
89269
+ const bounds = root.AABBBounds;
89270
+ const { x1, x2, y1, y2 } = root.AABBBounds;
89271
+ const width = bounds.width();
89272
+ const height = bounds.height();
89273
+ const rootCenterX = (x1 + x2) / 2;
89274
+ const rootCenterY = (y1 + y2) / 2;
89275
+ const scaleX = regionWidth / width;
89276
+ const scaleY = regionHeight / height;
89277
+ const scale = Math.min(scaleX, scaleY);
89278
+ root.scale(scale, scale, { x: rootCenterX, y: rootCenterY });
89279
+ root.translate(regionCenterX - rootCenterX, regionCenterY - rootCenterY);
89280
+ }
89281
+ }
89282
+ initEvent() {
89283
+ var _a;
89284
+ super.initEvent();
89285
+ (_a = this._mapViewData.getDataView()) === null || _a === void 0 ? void 0 : _a.target.addListener('change', this.mapViewDataUpdate.bind(this));
89286
+ this.event.on(HOOK_EVENT.AFTER_MARK_LAYOUT_END, this.updateSVGSize.bind(this));
89287
+ }
89288
+ handleZoom(e) {
89289
+ const { scale, scaleCenter } = e;
89290
+ if (scale === 1) {
88890
89291
  return;
88891
89292
  }
88892
- if (!!spec.autoBandSize) {
88893
- spec.series.forEach((series, seriesIndex) => {
88894
- var _a;
88895
- if (series.type === 'bar') {
88896
- const relatedAxis = this._findBandAxisBySeries(series, seriesIndex, spec.axes);
88897
- if (relatedAxis && !relatedAxis.bandSize && !relatedAxis.maxBandSize && !relatedAxis.minBandSize) {
88898
- const extend = isObject$2(series.autoBandSize) ? (_a = series.autoBandSize.extend) !== null && _a !== void 0 ? _a : 0 : 0;
88899
- const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = series;
88900
- this._applyAxisBandSize(relatedAxis, extend, { barMaxWidth, barMinWidth, barWidth, barGapInGroup });
88901
- }
88902
- }
88903
- });
89293
+ const root = this.getPictogramRootGraphic();
89294
+ if (root) {
89295
+ if (!root.attribute.postMatrix) {
89296
+ root.setAttributes({
89297
+ postMatrix: new Matrix()
89298
+ });
89299
+ }
89300
+ root.scale(scale, scale, scaleCenter);
89301
+ }
89302
+ }
89303
+ handlePan(e) {
89304
+ const { delta } = e;
89305
+ if (delta[0] === 0 && delta[1] === 0) {
89306
+ return;
89307
+ }
89308
+ const root = this.getPictogramRootGraphic();
89309
+ if (root) {
89310
+ if (!root.attribute.postMatrix) {
89311
+ root.setAttributes({
89312
+ postMatrix: new Matrix()
89313
+ });
89314
+ }
89315
+ root.translate(delta[0], delta[1]);
88904
89316
  }
88905
89317
  }
89318
+ getMarkData(datum) {
89319
+ var _a;
89320
+ return (_a = datum.data) !== null && _a !== void 0 ? _a : {};
89321
+ }
89322
+ getMeasureField() {
89323
+ return [this.valueField];
89324
+ }
89325
+ getDimensionField() {
89326
+ return [this.nameField];
89327
+ }
89328
+ _getSeriesInfo(field, keys) {
89329
+ const defaultShapeType = this.getDefaultShapeType();
89330
+ return keys.map(key => {
89331
+ return {
89332
+ key,
89333
+ originalKey: key,
89334
+ style: this.getSeriesStyle({
89335
+ data: {
89336
+ [field]: key
89337
+ }
89338
+ }),
89339
+ shapeType: defaultShapeType
89340
+ };
89341
+ });
89342
+ }
89343
+ }
89344
+ PictogramSeries.type = SeriesTypeEnum.pictogram;
89345
+ PictogramSeries.mark = PictogramSeriesMark;
89346
+ PictogramSeries.transformerConstructor = PictogramSeriesSpecTransformer;
89347
+ const registerPictogramSeries = () => {
89348
+ Factory$1.registerSeries(PictogramSeries.type, PictogramSeries);
89349
+ Factory$1.registerImplement('registerSVG', registerSVGSource);
89350
+ Factory$1.registerImplement('unregisterSVG', unregisterSVGSource);
89351
+ registerElementHighlightByGraphicName();
89352
+ registerElementSelectByGraphicName();
89353
+ };
89354
+
89355
+ class MapChartSpecTransformer extends BaseChartSpecTransformer {
89356
+ _isValidSeries(type) {
89357
+ return type === SeriesTypeEnum.map;
89358
+ }
89359
+ _getDefaultSeriesSpec(spec) {
89360
+ const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { type: spec.type, nameField: spec.nameField, valueField: spec.valueField, seriesField: spec.seriesField, map: spec.map, nameProperty: spec.nameProperty, centroidProperty: spec.centroidProperty, nameMap: spec.nameMap, area: spec.area, defaultFillColor: spec.defaultFillColor, showDefaultName: spec.showDefaultName });
89361
+ return series;
89362
+ }
88906
89363
  transformSpec(spec) {
88907
89364
  super.transformSpec(spec);
88908
- if (spec.series && spec.series.length) {
88909
- const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);
89365
+ spec.region.forEach((r) => {
89366
+ r.coordinate = 'geo';
89367
+ });
89368
+ const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);
89369
+ if (!spec.series || spec.series.length === 0) {
89370
+ spec.series = [defaultSeriesSpec];
89371
+ }
89372
+ else {
88910
89373
  spec.series.forEach((s) => {
88911
89374
  if (!this._isValidSeries(s.type)) {
88912
89375
  return;
@@ -88918,71 +89381,418 @@ class CommonChartSpecTransformer extends BaseChartSpecTransformer {
88918
89381
  });
88919
89382
  });
88920
89383
  }
88921
- if (spec.axes && spec.axes.length) {
88922
- spec.axes.forEach((axis) => {
88923
- if (get$1(axis, 'trimPadding')) {
88924
- mergeSpec(axis, getTrimPaddingConfig(this.type, spec));
88925
- }
88926
- });
88927
- }
88928
- this._transformAxisSpec(spec);
88929
89384
  }
88930
89385
  }
88931
89386
 
88932
- class CommonChart extends BaseChart {
89387
+ class MapChart extends BaseChart {
88933
89388
  constructor() {
88934
89389
  super(...arguments);
88935
- this.transformerConstructor = CommonChartSpecTransformer;
88936
- this.type = "common";
89390
+ this.transformerConstructor = MapChartSpecTransformer;
89391
+ this.type = "map";
89392
+ this.seriesType = SeriesTypeEnum.map;
88937
89393
  }
88938
89394
  }
88939
- CommonChart.type = "common";
88940
- CommonChart.transformerConstructor = CommonChartSpecTransformer;
88941
- mixin(CommonChart, StackChartMixin);
88942
- const registerCommonChart = () => {
88943
- Factory$1.registerChart(CommonChart.type, CommonChart);
89395
+ MapChart.type = "map";
89396
+ MapChart.seriesType = SeriesTypeEnum.map;
89397
+ MapChart.transformerConstructor = MapChartSpecTransformer;
89398
+ const registerMapChart = () => {
89399
+ registerMapSeries();
89400
+ Factory$1.registerChart(MapChart.type, MapChart);
88944
89401
  };
88945
89402
 
88946
- const SCROLL_BAR_DEFAULT_SIZE = 12;
88947
-
88948
- class SequenceChartSpecTransformer extends BaseChartSpecTransformer {
88949
- _getSeriesDataLength(spec, seriesSpec) {
88950
- var _a, _b;
88951
- if (seriesSpec.data) {
88952
- const _d = array(seriesSpec.data)[0];
88953
- if (_d instanceof DataView) {
88954
- return (_a = _d.latestData) === null || _a === void 0 ? void 0 : _a.length;
88955
- }
88956
- return (_b = _d.values) === null || _b === void 0 ? void 0 : _b.length;
88957
- }
88958
- const dataTemp = array(spec.data).find((_d, index) => {
88959
- if (seriesSpec.dataId) {
88960
- if (_d instanceof DataView) {
88961
- return _d.name === seriesSpec.dataId;
89403
+ class PolarChartSpecTransformer extends BaseChartSpecTransformer {
89404
+ _isValidSeries(type) {
89405
+ return this.seriesType ? type === this.seriesType : true;
89406
+ }
89407
+ getIndicatorSpec(spec) {
89408
+ var _a, _b, _c;
89409
+ const indicatorSpec = array(spec.indicator);
89410
+ const limitRatio = (_a = spec.innerRadius) !== null && _a !== void 0 ? _a : (_c = (_b = spec.series) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.innerRadius;
89411
+ if (isValid$1(limitRatio)) {
89412
+ indicatorSpec.forEach(indicator => {
89413
+ if (isNil$1(indicator.limitRatio)) {
89414
+ indicator.limitRatio = limitRatio;
88962
89415
  }
88963
- return _d.id === seriesSpec.dataId;
88964
- }
88965
- return seriesSpec.dataIndex === index;
88966
- });
88967
- if (!dataTemp) {
88968
- return 0;
89416
+ });
88969
89417
  }
88970
- if (dataTemp instanceof DataView) {
88971
- return dataTemp.latestData.length;
89418
+ return indicatorSpec;
89419
+ }
89420
+ _getDefaultSeriesSpec(spec) {
89421
+ const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { radius: spec.radius, outerRadius: spec.outerRadius, innerRadius: spec.innerRadius, startAngle: spec.startAngle, endAngle: spec.endAngle, sortDataByAxis: spec.sortDataByAxis });
89422
+ const seriesType = this.seriesType;
89423
+ if (seriesType) {
89424
+ series.type = seriesType;
89425
+ series[seriesType] = spec[seriesType];
88972
89426
  }
88973
- return dataTemp.values.length;
89427
+ return series;
88974
89428
  }
88975
- addAttrToComponentSpec(componentSpec, attr, value) {
88976
- if (Array.isArray(componentSpec)) {
88977
- componentSpec[0][attr] = value;
89429
+ transformSpec(spec) {
89430
+ super.transformSpec(spec);
89431
+ if (isArray$1(spec.dataZoom) && spec.dataZoom.length > 0) {
89432
+ spec.dataZoom.forEach((zoom) => {
89433
+ if (zoom.filterMode === 'axis') {
89434
+ zoom.filterMode = 'filter';
89435
+ }
89436
+ });
88978
89437
  }
88979
- else {
88980
- componentSpec[attr] = value;
89438
+ this.transformSeriesSpec(spec);
89439
+ if (isValid$1(spec.indicator)) {
89440
+ spec.indicator = this.getIndicatorSpec(spec);
88981
89441
  }
88982
- return componentSpec;
88983
89442
  }
88984
- addPaddingRow(rowHeight, rowNum, size) {
88985
- rowHeight.push({
89443
+ }
89444
+
89445
+ class ProgressLikeChartSpecTransformer extends PolarChartSpecTransformer {
89446
+ needAxes() {
89447
+ return false;
89448
+ }
89449
+ _getDefaultSeriesSpec(spec) {
89450
+ const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { seriesField: spec.seriesField, categoryField: spec.categoryField || spec.radiusField, valueField: spec.valueField || spec.angleField, startAngle: spec.startAngle, endAngle: spec.endAngle, radius: spec.radius, innerRadius: spec.innerRadius, centerX: spec.centerX, centerY: spec.centerY });
89451
+ return series;
89452
+ }
89453
+ _transformProgressAxisSpec(spec, angleAxisDefaultSpec, radiusAxisDefaultSpec, angleAxisAppendSpec, radiusAxisAppendSpec) {
89454
+ var _a, _b;
89455
+ if (!spec.axes) {
89456
+ spec.axes = [];
89457
+ }
89458
+ let radiusAxis = ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).find((axis) => axis.orient === 'radius');
89459
+ let angleAxis = ((_b = spec.axes) !== null && _b !== void 0 ? _b : []).find((axis) => axis.orient === 'angle');
89460
+ if (!angleAxis) {
89461
+ angleAxis = angleAxisDefaultSpec;
89462
+ spec.axes.push(angleAxis);
89463
+ }
89464
+ if (!radiusAxis) {
89465
+ radiusAxis = radiusAxisDefaultSpec;
89466
+ spec.axes.push(radiusAxis);
89467
+ }
89468
+ if (isNil$1(angleAxis.type)) {
89469
+ angleAxis.type = 'linear';
89470
+ }
89471
+ if (isNil$1(radiusAxis.type)) {
89472
+ radiusAxis.type = 'band';
89473
+ }
89474
+ const domain = getLinearAxisSpecDomain(angleAxis, { min: 0, max: 1 });
89475
+ if (isNil$1(angleAxis.min)) {
89476
+ angleAxis.min = domain.min;
89477
+ }
89478
+ if (isNil$1(angleAxis.max)) {
89479
+ angleAxis.max = domain.max;
89480
+ }
89481
+ if (angleAxisAppendSpec) {
89482
+ Object.assign(angleAxis, mergeSpec({}, angleAxisAppendSpec, angleAxis));
89483
+ }
89484
+ if (radiusAxisAppendSpec) {
89485
+ Object.assign(radiusAxis, mergeSpec({}, radiusAxisAppendSpec, radiusAxis));
89486
+ }
89487
+ }
89488
+ }
89489
+
89490
+ class RoseLikeChartSpecTransformer extends PolarChartSpecTransformer {
89491
+ needAxes() {
89492
+ return true;
89493
+ }
89494
+ _getDefaultSeriesSpec(spec) {
89495
+ const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { categoryField: spec.categoryField || spec.angleField, valueField: spec.valueField || spec.radiusField });
89496
+ return series;
89497
+ }
89498
+ transformSpec(spec) {
89499
+ var _a;
89500
+ super.transformSpec(spec);
89501
+ if (this.needAxes()) {
89502
+ if (!spec.axes) {
89503
+ spec.axes = [];
89504
+ }
89505
+ const haxAxes = { radius: false, angle: false };
89506
+ ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).forEach((axis) => {
89507
+ const { orient } = axis;
89508
+ if (orient === 'radius') {
89509
+ haxAxes.radius = true;
89510
+ }
89511
+ if (orient === 'angle') {
89512
+ haxAxes.angle = true;
89513
+ }
89514
+ });
89515
+ if (!haxAxes.angle) {
89516
+ spec.axes.push({
89517
+ orient: 'angle'
89518
+ });
89519
+ }
89520
+ if (!haxAxes.radius) {
89521
+ spec.axes.push({
89522
+ orient: 'radius'
89523
+ });
89524
+ }
89525
+ }
89526
+ }
89527
+ }
89528
+
89529
+ class BasePieChartSpecTransformer extends PolarChartSpecTransformer {
89530
+ needAxes() {
89531
+ return false;
89532
+ }
89533
+ _getDefaultSeriesSpec(spec) {
89534
+ var _a;
89535
+ return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { categoryField: spec.categoryField || spec.seriesField, valueField: spec.valueField || spec.angleField, center: spec.center, centerOffset: spec.centerOffset, cornerRadius: spec.cornerRadius, padAngle: spec.padAngle, minAngle: spec.minAngle, emptyPlaceholder: spec.emptyPlaceholder, emptyCircle: (_a = spec.emptyPlaceholder) === null || _a === void 0 ? void 0 : _a.emptyCircle, showAllZero: spec.showAllZero, supportNegative: spec.supportNegative, layoutRadius: spec.layoutRadius });
89536
+ }
89537
+ }
89538
+
89539
+ class BasePieChart extends BaseChart {
89540
+ constructor() {
89541
+ super(...arguments);
89542
+ this.transformerConstructor = BasePieChartSpecTransformer;
89543
+ }
89544
+ }
89545
+ BasePieChart.transformerConstructor = BasePieChartSpecTransformer;
89546
+
89547
+ class PieChart extends BasePieChart {
89548
+ constructor() {
89549
+ super(...arguments);
89550
+ this.transformerConstructor = BasePieChartSpecTransformer;
89551
+ this.type = "pie";
89552
+ this.seriesType = SeriesTypeEnum.pie;
89553
+ }
89554
+ }
89555
+ PieChart.type = "pie";
89556
+ PieChart.seriesType = SeriesTypeEnum.pie;
89557
+ PieChart.transformerConstructor = BasePieChartSpecTransformer;
89558
+ const registerPieChart = () => {
89559
+ registerPieSeries();
89560
+ Factory$1.registerChart(PieChart.type, PieChart);
89561
+ };
89562
+
89563
+ class Pie3dChartSpecTransformer extends BasePieChartSpecTransformer {
89564
+ transformSpec(spec) {
89565
+ super.transformSpec(spec);
89566
+ spec.series.forEach((s) => {
89567
+ if (s.type === 'pie3d') {
89568
+ s.angle3d = spec.angle3d;
89569
+ }
89570
+ });
89571
+ }
89572
+ }
89573
+ class Pie3dChart extends BasePieChart {
89574
+ constructor() {
89575
+ super(...arguments);
89576
+ this.transformerConstructor = Pie3dChartSpecTransformer;
89577
+ this.type = "pie3d";
89578
+ this.seriesType = SeriesTypeEnum.pie3d;
89579
+ }
89580
+ }
89581
+ Pie3dChart.type = "pie3d";
89582
+ Pie3dChart.seriesType = SeriesTypeEnum.pie3d;
89583
+ Pie3dChart.transformerConstructor = Pie3dChartSpecTransformer;
89584
+ const registerPie3dChart = () => {
89585
+ register3DPlugin();
89586
+ registerPie3dSeries();
89587
+ Factory$1.registerChart(Pie3dChart.type, Pie3dChart);
89588
+ };
89589
+
89590
+ class RoseChartSpecTransformer extends RoseLikeChartSpecTransformer {
89591
+ _getDefaultSeriesSpec(spec) {
89592
+ var _a, _b, _c;
89593
+ return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { radius: (_a = spec.radius) !== null && _a !== void 0 ? _a : POLAR_DEFAULT_RADIUS, outerRadius: (_b = spec.outerRadius) !== null && _b !== void 0 ? _b : POLAR_DEFAULT_RADIUS, innerRadius: (_c = spec.innerRadius) !== null && _c !== void 0 ? _c : 0, seriesField: spec.seriesField, stack: spec.stack, percent: spec.percent });
89594
+ }
89595
+ transformSpec(spec) {
89596
+ var _a;
89597
+ super.transformSpec(spec);
89598
+ ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).forEach((axis) => {
89599
+ ['domainLine', 'grid', 'label', 'tick'].forEach(configName => {
89600
+ if (!axis[configName]) {
89601
+ axis[configName] = { visible: false };
89602
+ }
89603
+ });
89604
+ if (axis.orient === 'angle' && isNil$1(axis.bandPosition)) {
89605
+ axis.bandPosition = 0.5;
89606
+ }
89607
+ });
89608
+ spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {
89609
+ return mergeSpec({
89610
+ categoryField: {
89611
+ visible: true,
89612
+ line: {
89613
+ visible: true,
89614
+ type: 'rect'
89615
+ }
89616
+ }
89617
+ }, crosshairCfg);
89618
+ });
89619
+ }
89620
+ }
89621
+
89622
+ class RoseChart extends BaseChart {
89623
+ constructor() {
89624
+ super(...arguments);
89625
+ this.transformerConstructor = RoseChartSpecTransformer;
89626
+ this.type = "rose";
89627
+ this.seriesType = SeriesTypeEnum.rose;
89628
+ }
89629
+ }
89630
+ RoseChart.type = "rose";
89631
+ RoseChart.seriesType = SeriesTypeEnum.rose;
89632
+ RoseChart.transformerConstructor = RoseChartSpecTransformer;
89633
+ mixin(RoseChart, StackChartMixin);
89634
+ const registerRoseChart = () => {
89635
+ registerRoseSeries();
89636
+ Factory$1.registerChart(RoseChart.type, RoseChart);
89637
+ };
89638
+
89639
+ class RadarChartSpecTransformer extends RoseLikeChartSpecTransformer {
89640
+ _getDefaultSeriesSpec(spec) {
89641
+ var _a;
89642
+ return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { seriesField: spec.seriesField, line: spec.line, point: spec.point, stack: spec.stack, percent: spec.percent, area: mergeSpec({
89643
+ visible: false
89644
+ }, spec.area), seriesMark: (_a = spec.seriesMark) !== null && _a !== void 0 ? _a : 'area', activePoint: spec.activePoint, pointDis: spec.pointDis, pointDisMul: spec.pointDisMul, markOverlap: spec.markOverlap });
89645
+ }
89646
+ transformSpec(spec) {
89647
+ var _a;
89648
+ super.transformSpec(spec);
89649
+ ((_a = spec.axes) !== null && _a !== void 0 ? _a : []).forEach((axis) => {
89650
+ if (axis.orient === 'radius') {
89651
+ ['domainLine', 'label', 'tick'].forEach(configName => {
89652
+ if (!axis[configName]) {
89653
+ axis[configName] = { visible: false };
89654
+ }
89655
+ });
89656
+ if (!axis.grid) {
89657
+ axis.grid = { visible: true };
89658
+ }
89659
+ }
89660
+ });
89661
+ spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {
89662
+ return mergeSpec({
89663
+ categoryField: {
89664
+ visible: true,
89665
+ line: {
89666
+ visible: true,
89667
+ type: 'line'
89668
+ }
89669
+ }
89670
+ }, crosshairCfg);
89671
+ });
89672
+ }
89673
+ }
89674
+
89675
+ class RadarChart extends BaseChart {
89676
+ constructor() {
89677
+ super(...arguments);
89678
+ this.transformerConstructor = RadarChartSpecTransformer;
89679
+ this.type = "radar";
89680
+ this.seriesType = SeriesTypeEnum.radar;
89681
+ }
89682
+ }
89683
+ RadarChart.type = "radar";
89684
+ RadarChart.seriesType = SeriesTypeEnum.radar;
89685
+ RadarChart.transformerConstructor = RadarChartSpecTransformer;
89686
+ mixin(RadarChart, StackChartMixin);
89687
+ const registerRadarChart = () => {
89688
+ registerRadarSeries();
89689
+ Factory$1.registerChart(RadarChart.type, RadarChart);
89690
+ };
89691
+
89692
+ class CommonChartSpecTransformer extends BaseChartSpecTransformer {
89693
+ _getDefaultSeriesSpec(spec) {
89694
+ const defaultSpec = super._getDefaultSeriesSpec(spec);
89695
+ delete defaultSpec.data;
89696
+ return defaultSpec;
89697
+ }
89698
+ _transformAxisSpec(spec) {
89699
+ if (!spec.axes) {
89700
+ return;
89701
+ }
89702
+ if (!!spec.autoBandSize) {
89703
+ spec.series.forEach((series, seriesIndex) => {
89704
+ var _a;
89705
+ if (series.type === 'bar') {
89706
+ const relatedAxis = this._findBandAxisBySeries(series, seriesIndex, spec.axes);
89707
+ if (relatedAxis && !relatedAxis.bandSize && !relatedAxis.maxBandSize && !relatedAxis.minBandSize) {
89708
+ const extend = isObject$2(series.autoBandSize) ? (_a = series.autoBandSize.extend) !== null && _a !== void 0 ? _a : 0 : 0;
89709
+ const { barMaxWidth, barMinWidth, barWidth, barGapInGroup } = series;
89710
+ this._applyAxisBandSize(relatedAxis, extend, { barMaxWidth, barMinWidth, barWidth, barGapInGroup });
89711
+ }
89712
+ }
89713
+ });
89714
+ }
89715
+ }
89716
+ transformSpec(spec) {
89717
+ super.transformSpec(spec);
89718
+ if (spec.series && spec.series.length) {
89719
+ const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);
89720
+ spec.series.forEach((s) => {
89721
+ if (!this._isValidSeries(s.type)) {
89722
+ return;
89723
+ }
89724
+ Object.keys(defaultSeriesSpec).forEach(k => {
89725
+ if (!(k in s)) {
89726
+ s[k] = defaultSeriesSpec[k];
89727
+ }
89728
+ });
89729
+ });
89730
+ }
89731
+ if (spec.axes && spec.axes.length) {
89732
+ spec.axes.forEach((axis) => {
89733
+ if (get$1(axis, 'trimPadding')) {
89734
+ mergeSpec(axis, getTrimPaddingConfig(this.type, spec));
89735
+ }
89736
+ });
89737
+ }
89738
+ this._transformAxisSpec(spec);
89739
+ }
89740
+ }
89741
+
89742
+ class CommonChart extends BaseChart {
89743
+ constructor() {
89744
+ super(...arguments);
89745
+ this.transformerConstructor = CommonChartSpecTransformer;
89746
+ this.type = "common";
89747
+ }
89748
+ }
89749
+ CommonChart.type = "common";
89750
+ CommonChart.transformerConstructor = CommonChartSpecTransformer;
89751
+ mixin(CommonChart, StackChartMixin);
89752
+ const registerCommonChart = () => {
89753
+ Factory$1.registerChart(CommonChart.type, CommonChart);
89754
+ };
89755
+
89756
+ const SCROLL_BAR_DEFAULT_SIZE = 12;
89757
+
89758
+ class SequenceChartSpecTransformer extends BaseChartSpecTransformer {
89759
+ _getSeriesDataLength(spec, seriesSpec) {
89760
+ var _a, _b;
89761
+ if (seriesSpec.data) {
89762
+ const _d = array(seriesSpec.data)[0];
89763
+ if (_d instanceof DataView) {
89764
+ return (_a = _d.latestData) === null || _a === void 0 ? void 0 : _a.length;
89765
+ }
89766
+ return (_b = _d.values) === null || _b === void 0 ? void 0 : _b.length;
89767
+ }
89768
+ const dataTemp = array(spec.data).find((_d, index) => {
89769
+ if (seriesSpec.dataId) {
89770
+ if (_d instanceof DataView) {
89771
+ return _d.name === seriesSpec.dataId;
89772
+ }
89773
+ return _d.id === seriesSpec.dataId;
89774
+ }
89775
+ return seriesSpec.dataIndex === index;
89776
+ });
89777
+ if (!dataTemp) {
89778
+ return 0;
89779
+ }
89780
+ if (dataTemp instanceof DataView) {
89781
+ return dataTemp.latestData.length;
89782
+ }
89783
+ return dataTemp.values.length;
89784
+ }
89785
+ addAttrToComponentSpec(componentSpec, attr, value) {
89786
+ if (Array.isArray(componentSpec)) {
89787
+ componentSpec[0][attr] = value;
89788
+ }
89789
+ else {
89790
+ componentSpec[attr] = value;
89791
+ }
89792
+ return componentSpec;
89793
+ }
89794
+ addPaddingRow(rowHeight, rowNum, size) {
89795
+ rowHeight.push({
88986
89796
  index: rowNum,
88987
89797
  size
88988
89798
  });
@@ -100036,28 +100846,30 @@ class BaseTooltipHandler extends BasePlugin {
100036
100846
  };
100037
100847
  let relativePosOffset = { x: 0, y: 0 };
100038
100848
  let tooltipParentElementRect = { x: 0, y: 0 };
100849
+ let chartElementRect;
100039
100850
  let chartElementScale = 1;
100040
100851
  let tooltipParentElementScale = 1;
100041
- if (isTrueBrowser(this._env) && !tooltipSpec.confine) {
100852
+ const isBrowser = isTrueBrowser(this._env);
100853
+ if (isBrowser && !tooltipSpec.confine) {
100042
100854
  containerSize.width = window.innerWidth;
100043
100855
  containerSize.height = window.innerHeight;
100044
- if (!isCanvas) {
100045
- const tooltipParentElement = this._getParentElement(tooltipSpec);
100046
- tooltipParentElementRect = (_h = (_g = tooltipParentElement === null || tooltipParentElement === void 0 ? void 0 : tooltipParentElement.getBoundingClientRect) === null || _g === void 0 ? void 0 : _g.call(tooltipParentElement)) !== null && _h !== void 0 ? _h : invalidPosition;
100047
- const chartElement = ((_j = this._compiler.getCanvas()) !== null && _j !== void 0 ? _j : this._chartContainer);
100048
- const chartElementRect = chartElement === null || chartElement === void 0 ? void 0 : chartElement.getBoundingClientRect();
100049
- relativePosOffset = {
100050
- x: chartElementRect.x - tooltipParentElementRect.x,
100051
- y: chartElementRect.y - tooltipParentElementRect.y
100052
- };
100053
- chartElementScale = getScale(chartElement, chartElementRect);
100054
- tooltipParentElementScale = getScale(tooltipParentElement, tooltipParentElementRect);
100055
- }
100056
100856
  }
100057
100857
  else {
100058
100858
  containerSize.width = canvasWidth;
100059
100859
  containerSize.height = canvasHeight;
100060
100860
  }
100861
+ if (isBrowser && !isCanvas) {
100862
+ const tooltipParentElement = this._getParentElement(tooltipSpec);
100863
+ tooltipParentElementRect = (_h = (_g = tooltipParentElement === null || tooltipParentElement === void 0 ? void 0 : tooltipParentElement.getBoundingClientRect) === null || _g === void 0 ? void 0 : _g.call(tooltipParentElement)) !== null && _h !== void 0 ? _h : invalidPosition;
100864
+ const chartElement = ((_j = this._compiler.getCanvas()) !== null && _j !== void 0 ? _j : this._chartContainer);
100865
+ chartElementRect = chartElement === null || chartElement === void 0 ? void 0 : chartElement.getBoundingClientRect();
100866
+ relativePosOffset = {
100867
+ x: chartElementRect.x - tooltipParentElementRect.x,
100868
+ y: chartElementRect.y - tooltipParentElementRect.y
100869
+ };
100870
+ chartElementScale = getScale(chartElement, chartElementRect);
100871
+ tooltipParentElementScale = getScale(tooltipParentElement, tooltipParentElementRect);
100872
+ }
100061
100873
  const tooltipSizeScale = tooltipParentElementScale / chartElementScale;
100062
100874
  const calcPos = {};
100063
100875
  const pointerFixedPosition = { x: position, y: position };
@@ -100140,8 +100952,8 @@ class BaseTooltipHandler extends BasePlugin {
100140
100952
  processCartesianFixedPosition({ orient: position, mode: positionMode }, 'y');
100141
100953
  }
100142
100954
  const result = { x: null, y: null };
100143
- const isBrowser = isTrueBrowser(this._env);
100144
100955
  dims.forEach(dim => {
100956
+ var _a;
100145
100957
  const boxSize = dim === 'x' ? tooltipBoxWidth : tooltipBoxHeight;
100146
100958
  const canvasSize = dim === 'x' ? canvasWidth : canvasHeight;
100147
100959
  const offset = dim === 'x' ? offsetX : offsetY;
@@ -100170,8 +100982,9 @@ class BaseTooltipHandler extends BasePlugin {
100170
100982
  }
100171
100983
  result[dim] /= tooltipParentElementScale;
100172
100984
  const containerDimSize = dim === 'x' ? containerSize.width : containerSize.height;
100173
- const leftOrTop = -tooltipParentElementRect[dim] / tooltipParentElementScale;
100174
- const rightOrBottom = (containerDimSize - tooltipParentElementRect[dim]) / tooltipParentElementScale - boxSize;
100985
+ const leftOrTop = -(tooltipParentElementRect[dim] - ((_a = chartElementRect === null || chartElementRect === void 0 ? void 0 : chartElementRect[dim]) !== null && _a !== void 0 ? _a : 0) / chartElementScale) /
100986
+ tooltipParentElementScale;
100987
+ const rightOrBottom = containerDimSize / tooltipParentElementScale + leftOrTop - boxSize;
100175
100988
  if (posType !== 2 && result[dim] < leftOrTop) {
100176
100989
  if (isFixedPosition) {
100177
100990
  result[dim] = leftOrTop;
@@ -100618,7 +101431,8 @@ class DomTooltipHandler extends BaseTooltipHandler {
100618
101431
  columnDivs.forEach((colDiv, index) => {
100619
101432
  const colName = colDiv.getAttribute('data-col');
100620
101433
  if (colName && columns.includes(colName)) {
100621
- setStyleToDom(colDiv, Object.assign(Object.assign({}, this._domStyle[colName]), { display: 'inline-block', verticalAlign: 'top' }));
101434
+ const hideColumn = colName === 'shape' && content.every(c => !c.hasShape || !c.shapeType);
101435
+ setStyleToDom(colDiv, Object.assign(Object.assign({}, this._domStyle[colName]), { display: hideColumn ? 'none' : 'inline-block', verticalAlign: 'top' }));
100622
101436
  const rows = [...colDiv.children];
100623
101437
  rows.slice(content.length).forEach(extraRow => {
100624
101438
  extraRow.parentNode.removeChild(extraRow);
@@ -100630,7 +101444,9 @@ class DomTooltipHandler extends BaseTooltipHandler {
100630
101444
  row.classList.add(`${TOOLTIP_PREFIX}-${colName}`);
100631
101445
  colDiv.appendChild(row);
100632
101446
  }
100633
- let styleByRow = index === content.length - 1 ? { height: 'initial' } : Object.assign(Object.assign({}, rowStyle), { height: 'initial' });
101447
+ let styleByRow = index === content.length - 1 ? {} : Object.assign({}, rowStyle);
101448
+ styleByRow.display = entry.visible === false ? 'none' : 'block';
101449
+ styleByRow.height = 'initial';
100634
101450
  if (colName === 'key') {
100635
101451
  row.innerHTML = formatContent(entry.key);
100636
101452
  if (entry.keyStyle) {
@@ -101391,107 +102207,6 @@ class MosaicChartSpecTransformer extends CartesianChartSpecTransformer {
101391
102207
  }
101392
102208
  }
101393
102209
 
101394
- class MosaicSeries extends BarSeries {
101395
- constructor() {
101396
- super(...arguments);
101397
- this.type = SeriesTypeEnum.mosaic;
101398
- this.transformerConstructor = BarSeriesSpecTransformer;
101399
- }
101400
- getStack() {
101401
- return true;
101402
- }
101403
- getPercent() {
101404
- return !!this.getSeriesField();
101405
- }
101406
- getGroupFields() {
101407
- return this.direction === 'vertical' ? this._specXField : this._specYField;
101408
- }
101409
- setAttrFromSpec() {
101410
- super.setAttrFromSpec();
101411
- const isPercent = this.getPercent();
101412
- if (this.direction === "horizontal") {
101413
- if (isPercent) {
101414
- this.setFieldX(MOSAIC_VALUE_END_PERCENT);
101415
- this.setFieldX2(MOSAIC_VALUE_START_PERCENT);
101416
- }
101417
- this.setFieldY(MOSAIC_CAT_END_PERCENT);
101418
- this.setFieldY2(MOSAIC_CAT_START_PERCENT);
101419
- }
101420
- else {
101421
- if (isPercent) {
101422
- this.setFieldY(MOSAIC_VALUE_END_PERCENT);
101423
- this.setFieldY2(MOSAIC_VALUE_START_PERCENT);
101424
- }
101425
- this.setFieldX(MOSAIC_CAT_END_PERCENT);
101426
- this.setFieldX2(MOSAIC_CAT_START_PERCENT);
101427
- }
101428
- }
101429
- parseLabelStyle(labelStyle, labelSpec) {
101430
- if ((labelSpec === null || labelSpec === void 0 ? void 0 : labelSpec.filterByGroup) && isNil$1(labelStyle.dataFilter)) {
101431
- const allGroupFields = this.getGroupFields();
101432
- const { field, type: filterType = 'max', filter } = labelSpec.filterByGroup;
101433
- delete labelStyle.filterField;
101434
- const fieldIndex = allGroupFields.indexOf(field);
101435
- if (fieldIndex < 0) {
101436
- return;
101437
- }
101438
- const isCatField = !!(fieldIndex % 2);
101439
- const valueField = isCatField
101440
- ? filterType === 'min'
101441
- ? this.direction === "horizontal"
101442
- ? this._fieldY2
101443
- : this._fieldX2
101444
- : this.direction === "horizontal"
101445
- ? this._fieldY
101446
- : this._fieldX
101447
- : filterType === 'min'
101448
- ? this.direction === "horizontal"
101449
- ? this._fieldX2
101450
- : this._fieldY2
101451
- : this.direction === "horizontal"
101452
- ? this._fieldX
101453
- : this._fieldY;
101454
- const filterFunc = filterType === 'min'
101455
- ? (a, b) => {
101456
- var _a, _b;
101457
- return ((_a = a.data) === null || _a === void 0 ? void 0 : _a[valueField]) < ((_b = b.data) === null || _b === void 0 ? void 0 : _b[valueField]);
101458
- }
101459
- : (a, b) => {
101460
- var _a, _b;
101461
- return ((_a = a.data) === null || _a === void 0 ? void 0 : _a[valueField]) > ((_b = b.data) === null || _b === void 0 ? void 0 : _b[valueField]);
101462
- };
101463
- labelStyle.dataFilter = (data) => {
101464
- const filteredData = {};
101465
- data.forEach((d) => {
101466
- const datum = d.data;
101467
- const fieldValue = datum === null || datum === void 0 ? void 0 : datum[field];
101468
- if (isNil$1(fieldValue) || (filter && !filter(d))) {
101469
- return;
101470
- }
101471
- if (!filteredData[fieldValue] || filterFunc(d, filteredData[fieldValue])) {
101472
- filteredData[fieldValue] = d;
101473
- }
101474
- });
101475
- return data.filter((d) => {
101476
- var _a;
101477
- const fieldValue = (_a = d.data) === null || _a === void 0 ? void 0 : _a[field];
101478
- return filteredData[fieldValue] && filteredData[fieldValue] === d;
101479
- });
101480
- };
101481
- }
101482
- return labelStyle;
101483
- }
101484
- }
101485
- MosaicSeries.type = SeriesTypeEnum.mosaic;
101486
- MosaicSeries.transformerConstructor = BarSeriesSpecTransformer;
101487
- const registerMosaicSeries = () => {
101488
- registerRectMark();
101489
- registerTextMark();
101490
- registerFadeInOutAnimation();
101491
- registerCartesianLinearAxis();
101492
- Factory$1.registerSeries(MosaicSeries.type, MosaicSeries);
101493
- };
101494
-
101495
102210
  class MosaicChart extends BaseChart {
101496
102211
  constructor() {
101497
102212
  super(...arguments);
@@ -101562,570 +102277,6 @@ class PictogramChartSpecTransformer extends BaseChartSpecTransformer {
101562
102277
  }
101563
102278
  }
101564
102279
 
101565
- const PictogramSeriesMark = Object.assign(Object.assign({}, baseSeriesMark), { ["pictogram"]: { name: "pictogram", type: "group" } });
101566
-
101567
- class PictogramSeriesSpecTransformer extends BaseSeriesSpecTransformer {
101568
- _getDefaultSpecFromChart(chartSpec) {
101569
- var _a, _b, _c;
101570
- const spec = (_a = super._getDefaultSpecFromChart(chartSpec)) !== null && _a !== void 0 ? _a : {};
101571
- const svg = chartSpec.svg;
101572
- const elements = (_c = (_b = svgSourceMap.get(svg)) === null || _b === void 0 ? void 0 : _b.latestData) === null || _c === void 0 ? void 0 : _c.elements;
101573
- if (elements && elements.length) {
101574
- const names = elements.map(e => e.name).filter(n => isValid$1(n));
101575
- names.forEach(name => {
101576
- if (chartSpec[name]) {
101577
- spec[name] = chartSpec[name];
101578
- }
101579
- });
101580
- }
101581
- return spec;
101582
- }
101583
- }
101584
-
101585
- class PictogramSeriesTooltipHelper extends BaseSeriesTooltipHelper {
101586
- constructor() {
101587
- super(...arguments);
101588
- this.dimensionTooltipTitleCallback = (datum) => {
101589
- var _a;
101590
- const series = this.series;
101591
- return (_a = this._getDimensionData(datum)) !== null && _a !== void 0 ? _a : series.getDatumName(datum);
101592
- };
101593
- this.markTooltipValueCallback = (datum, params) => {
101594
- const { measureFields } = this._seriesCacheInfo;
101595
- if (measureFields[0] && datum.data) {
101596
- return datum.data[measureFields[0]];
101597
- }
101598
- };
101599
- this.markTooltipKeyCallback = (datum) => {
101600
- var _a;
101601
- return (_a = datum.data) === null || _a === void 0 ? void 0 : _a[this.series.getDimensionField()[0]];
101602
- };
101603
- }
101604
- }
101605
-
101606
- function isValidStrokeOrFill(attr) {
101607
- var _a;
101608
- return isValid$1(attr) && attr !== 'none' && !((_a = attr.includes) === null || _a === void 0 ? void 0 : _a.call(attr, 'url'));
101609
- }
101610
- const getLineWidth = (attributes) => {
101611
- const strokeWidth = parseFloat(attributes['strokeWidth']);
101612
- if (!isNaN(strokeWidth))
101613
- return strokeWidth;
101614
- const stroke = attributes['stroke'];
101615
- return stroke && isValidStrokeOrFill(stroke) ? 1 : 0;
101616
- };
101617
- const getFill = (attributes, defaultFill) => {
101618
- var _a;
101619
- const fill = (_a = attributes['fill']) !== null && _a !== void 0 ? _a : defaultFill;
101620
- return fill && isValidStrokeOrFill(fill) ? fill : undefined;
101621
- };
101622
- const getStroke = (attributes, defaultStroke) => {
101623
- var _a;
101624
- const stroke = (_a = attributes['stroke']) !== null && _a !== void 0 ? _a : defaultStroke;
101625
- return stroke && isValidStrokeOrFill(stroke) ? stroke : false;
101626
- };
101627
- const commonAttributes = (attributes) => {
101628
- return Object.assign(Object.assign({}, attributes), { x: parseFloat(attributes.x) || undefined, y: parseFloat(attributes.y) || undefined, fillStrokeOrder: false, fill: getFill(attributes), lineWidth: getLineWidth(attributes), stroke: getStroke(attributes) });
101629
- };
101630
- const graphicAttributeTransform = {
101631
- group: (attributes) => {
101632
- const common = commonAttributes(attributes);
101633
- return Object.assign(Object.assign({}, common), { visibleAll: common['visible'] !== false });
101634
- },
101635
- rule: (attributes) => {
101636
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { x: parseFloat(attributes.x1), y: parseFloat(attributes.y1), x1: parseFloat(attributes.x2), y1: parseFloat(attributes.y2) });
101637
- },
101638
- rect: (attributes) => {
101639
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { fill: getFill(attributes, '#000'), width: parseFloat(attributes.width), height: parseFloat(attributes.height) });
101640
- },
101641
- polygon: (attributes) => {
101642
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { fill: getFill(attributes, '#000'), points: attributes.points
101643
- .trim()
101644
- .split(/\s+/)
101645
- .map((pair) => {
101646
- const [x, y] = pair.split(',').map(Number);
101647
- return { x, y };
101648
- }) });
101649
- },
101650
- line: (attributes) => {
101651
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { points: attributes.points
101652
- .trim()
101653
- .split(/\s+/)
101654
- .map((pair) => {
101655
- const [x, y] = pair.split(',').map(Number);
101656
- return { x, y };
101657
- }) });
101658
- },
101659
- path: (attributes) => {
101660
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { path: attributes.d, fillStrokeOrder: false });
101661
- },
101662
- arc: (attributes) => {
101663
- var _a;
101664
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { outerRadius: (_a = attributes.r) !== null && _a !== void 0 ? _a : attributes.ry, x: parseFloat(attributes.cx), y: parseFloat(attributes.cy), startAngle: 0, endAngle: Math.PI * 2, scaleX: parseFloat(attributes.rx) / parseFloat(attributes.ry) || 1, fill: getFill(attributes, '#000') });
101665
- },
101666
- text: (attributes, value) => {
101667
- var _a, _b;
101668
- return Object.assign(Object.assign({}, commonAttributes(attributes)), { text: value, textAlign: (_a = attributes.textAlign) !== null && _a !== void 0 ? _a : 'left', textBaseLine: (_b = attributes.textAnchor) !== null && _b !== void 0 ? _b : 'middle', anchor: [0, 0], fill: getFill(attributes, '#000') });
101669
- }
101670
- };
101671
- const pictogram = (data) => {
101672
- var _a, _b;
101673
- if (!data || !data[0]) {
101674
- return {};
101675
- }
101676
- const { elements } = data[0].latestData;
101677
- if (elements && elements.length) {
101678
- elements.forEach((el, index) => {
101679
- var _a;
101680
- el[DEFAULT_DATA_INDEX] = index;
101681
- el._uniqueId = `${el.id}-${index}`;
101682
- el.data = undefined;
101683
- const { graphicType: type, transform } = el;
101684
- let finalAttributes = {
101685
- visible: el.attributes.visibility !== 'hidden' && el.attributes.visibility !== 'collapse'
101686
- };
101687
- if (el.graphicType === 'text') {
101688
- merge$1(finalAttributes, el._inheritStyle, (_a = el.parent) === null || _a === void 0 ? void 0 : _a._textGroupStyle, el.attributes);
101689
- }
101690
- else if (el.graphicType !== 'group') {
101691
- merge$1(finalAttributes, el._inheritStyle, el.attributes);
101692
- }
101693
- if (graphicAttributeTransform[type]) {
101694
- el._finalAttributes = graphicAttributeTransform[type](finalAttributes, el.value);
101695
- }
101696
- else {
101697
- el._finalAttributes = finalAttributes;
101698
- }
101699
- if (transform) {
101700
- el._finalAttributes.postMatrix = Object.assign({}, transform);
101701
- }
101702
- });
101703
- const texts = elements.filter(el => el.tagName === 'text');
101704
- for (let i = 0; i < texts.length; i++) {
101705
- const textId = texts[i]._uniqueId;
101706
- const children = elements.filter(el => {
101707
- let result = false;
101708
- let parent = el.parent;
101709
- while (parent) {
101710
- if (parent._uniqueId === textId) {
101711
- result = true;
101712
- break;
101713
- }
101714
- parent = parent.parent;
101715
- }
101716
- return result;
101717
- });
101718
- if (children && children.length) {
101719
- let startX = (_b = (_a = texts[i]._textGroupStyle) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0;
101720
- let curX = startX;
101721
- for (let j = 0; j < children.length; j++) {
101722
- const currentChild = children[j];
101723
- if (currentChild.graphicType === 'group') {
101724
- curX = startX;
101725
- }
101726
- else if (currentChild.value) {
101727
- if (currentChild.parent._textGroupStyle.x === undefined) {
101728
- const lastText = children
101729
- .slice(0, j)
101730
- .reverse()
101731
- .find(c => c.graphicType === 'text' && c.value);
101732
- if (lastText) {
101733
- const width = measureText(lastText.value, lastText._finalAttributes).width;
101734
- curX += width;
101735
- }
101736
- currentChild._finalAttributes.x = curX;
101737
- }
101738
- }
101739
- }
101740
- }
101741
- }
101742
- }
101743
- return elements;
101744
- };
101745
-
101746
- class PictogramSeries extends GeoSeries {
101747
- constructor() {
101748
- super(...arguments);
101749
- this.type = SeriesTypeEnum.pictogram;
101750
- }
101751
- setAttrFromSpec() {
101752
- var _a, _b, _c;
101753
- super.setAttrFromSpec();
101754
- this.svg = this._spec.svg;
101755
- this._nameField = this._spec.nameField;
101756
- this._valueField = this._spec.valueField;
101757
- if (!this.svg) {
101758
- (_a = this._option) === null || _a === void 0 ? void 0 : _a.onError(`svg source is not specified !`);
101759
- }
101760
- this._parsedSvgResult = (_b = getSVGSource(this.svg)) === null || _b === void 0 ? void 0 : _b.latestData;
101761
- if (!this._parsedSvgResult) {
101762
- (_c = this._option) === null || _c === void 0 ? void 0 : _c.onError(`'${this.svg}' is not registered !`);
101763
- }
101764
- }
101765
- getDatumCenter(datum) {
101766
- return [Number.NaN, Number.NaN];
101767
- }
101768
- getDatumName(datum) {
101769
- return datum.name || datum._nameFromParent;
101770
- }
101771
- getMarksWithoutRoot() {
101772
- return this.getMarks().filter(m => m.name && !m.name.includes('seriesGroup') && !m.name.includes('root') && m !== this._pictogramMark);
101773
- }
101774
- _buildMarkAttributeContext() {
101775
- super._buildMarkAttributeContext();
101776
- this._markAttributeContext.getTransformMatrix = this.getRootMatrix.bind(this);
101777
- this._markAttributeContext.coordToPosition = this.coordToPosition.bind(this);
101778
- this._markAttributeContext.dataToPosition = this.dataToPosition.bind(this);
101779
- }
101780
- _defaultHoverConfig(selector, finalHoverSpec) {
101781
- return {
101782
- seriesId: this.id,
101783
- regionId: this._region.id,
101784
- selector,
101785
- type: 'element-highlight-by-graphic-name',
101786
- trigger: finalHoverSpec.trigger,
101787
- triggerOff: 'pointerout',
101788
- blurState: STATE_VALUE_ENUM.STATE_HOVER_REVERSE,
101789
- highlightState: STATE_VALUE_ENUM.STATE_HOVER
101790
- };
101791
- }
101792
- _defaultSelectConfig(selector, finalSelectSpec) {
101793
- const isMultiple = finalSelectSpec.mode === 'multiple';
101794
- const triggerOff = isValid$1(finalSelectSpec.triggerOff)
101795
- ? finalSelectSpec.triggerOff
101796
- : isMultiple
101797
- ? ['empty', 'self']
101798
- : ['empty', finalSelectSpec.trigger];
101799
- return {
101800
- type: 'element-select-by-graphic-name',
101801
- seriesId: this.id,
101802
- regionId: this._region.id,
101803
- selector,
101804
- trigger: finalSelectSpec.trigger,
101805
- triggerOff: triggerOff,
101806
- reverseState: STATE_VALUE_ENUM.STATE_SELECTED_REVERSE,
101807
- state: STATE_VALUE_ENUM.STATE_SELECTED,
101808
- isMultiple
101809
- };
101810
- }
101811
- initMark() {
101812
- var _a;
101813
- this._pictogramMark = this._createMark(PictogramSeries.mark.pictogram, {
101814
- groupKey: this.getDimensionField()[0],
101815
- isSeriesMark: true,
101816
- skipBeforeLayouted: true,
101817
- dataView: this._mapViewData.getDataView(),
101818
- dataProductId: this._mapViewData.getProductId()
101819
- }, {
101820
- morph: shouldMarkDoMorph(this._spec, PictogramSeries.mark.pictogram.name)
101821
- });
101822
- if (!this._pictogramMark) {
101823
- return;
101824
- }
101825
- this._pictogramMark.setUserId(PictogramSeries.mark.pictogram.name);
101826
- for (const element of this._mapViewData.getDataView().latestData) {
101827
- const { graphicType: type, name, parent, id, _nameFromParent, _uniqueId } = element;
101828
- const mark = this._createMark({ type, name: name !== null && name !== void 0 ? name : _nameFromParent }, {
101829
- groupKey: _uniqueId,
101830
- isSeriesMark: false,
101831
- skipBeforeLayouted: true,
101832
- dataView: this._mapViewData.getDataView(),
101833
- dataProductId: this._mapViewData.getProductId(),
101834
- parent: (_a = this._pictogramMark.getMarkInUserId(parent === null || parent === void 0 ? void 0 : parent._uniqueId)) !== null && _a !== void 0 ? _a : this._pictogramMark
101835
- }, {
101836
- morph: shouldMarkDoMorph(this._spec, PictogramSeries.mark.pictogram.name)
101837
- });
101838
- if (mark) {
101839
- mark.setUserId(_uniqueId);
101840
- if (mark.type !== 'group') {
101841
- mark.setMarkConfig({ graphicName: mark.name });
101842
- }
101843
- mark.setTransform([
101844
- {
101845
- type: 'filter',
101846
- callback: (datum) => {
101847
- return datum._uniqueId === _uniqueId;
101848
- }
101849
- }
101850
- ]);
101851
- }
101852
- }
101853
- this._initLabelMark();
101854
- }
101855
- _initLabelMark() {
101856
- if (this._spec.label.visible !== true) {
101857
- return;
101858
- }
101859
- const labelMark = this._createMark(PictogramSeries.mark.label, {
101860
- isSeriesMark: false,
101861
- parent: this._pictogramMark,
101862
- groupKey: '_uniqueId',
101863
- skipBeforeLayouted: true,
101864
- depend: this.getMarksWithoutRoot()
101865
- });
101866
- if (labelMark) {
101867
- this._labelMark = labelMark;
101868
- this._labelMark.setDataView(this._mapViewData.getDataView());
101869
- }
101870
- }
101871
- initLabelMarkStyle() {
101872
- if (!this._labelMark) {
101873
- return;
101874
- }
101875
- this.setMarkStyle(this._labelMark, {
101876
- visible: d => !!this._validElement(d),
101877
- x: d => { var _a; return (_a = this.dataToPosition(d, true)) === null || _a === void 0 ? void 0 : _a.x; },
101878
- y: d => { var _a; return (_a = this.dataToPosition(d, true)) === null || _a === void 0 ? void 0 : _a.y; },
101879
- text: d => d[this.nameField],
101880
- textAlign: 'center',
101881
- textBaseline: 'middle'
101882
- }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);
101883
- }
101884
- initMarkStyle() {
101885
- const { root, viewBoxRect } = this._parsedSvgResult;
101886
- const elements = this._mapViewData.getDataView().latestData;
101887
- if (root) {
101888
- this.setMarkStyle(this._pictogramMark, graphicAttributeTransform.group(root.attributes), 'normal', AttributeLevel.Built_In);
101889
- if (root.transform) {
101890
- this.setMarkStyle(this._pictogramMark, {
101891
- postMatrix: () => root.transform
101892
- }, 'normal', AttributeLevel.Built_In);
101893
- }
101894
- if (viewBoxRect) {
101895
- this._pictogramMark.setMarkConfig({
101896
- clip: true,
101897
- clipPath: [createRect(Object.assign(Object.assign({}, viewBoxRect), { fill: true }))]
101898
- });
101899
- }
101900
- }
101901
- for (const element of elements) {
101902
- const { _uniqueId, _finalAttributes: attributes } = element;
101903
- const mark = this._pictogramMark.getMarkInUserId(_uniqueId);
101904
- const valid = this._validElement(element);
101905
- if (mark) {
101906
- this.setMarkStyle(mark, { keepStrokeScale: true }, 'normal', AttributeLevel.Built_In);
101907
- if (valid) {
101908
- this.initMarkStyleWithSpec(mark, merge$1({}, this._spec.pictogram, this._spec[mark.name]));
101909
- this.setMarkStyle(mark, attributes, 'normal', AttributeLevel.Series);
101910
- mark.setPostProcess('fill', (result, datum) => {
101911
- return isValid$1(result) ? result : this._spec.defaultFillColor;
101912
- });
101913
- }
101914
- else {
101915
- mark.setMarkConfig({ interactive: false });
101916
- this.setMarkStyle(mark, attributes, 'normal', AttributeLevel.Built_In);
101917
- }
101918
- }
101919
- }
101920
- this.initLabelMarkStyle();
101921
- }
101922
- _validElement(element) {
101923
- return element.name || element._nameFromParent;
101924
- }
101925
- initTooltip() {
101926
- this._tooltipHelper = new PictogramSeriesTooltipHelper(this);
101927
- this.getMarksWithoutRoot().forEach(mark => {
101928
- if (mark && mark.name) {
101929
- this._tooltipHelper.activeTriggerSet.mark.add(mark);
101930
- }
101931
- });
101932
- }
101933
- dataToPosition(datum, global = false) {
101934
- if (!datum) {
101935
- return null;
101936
- }
101937
- const name = datum[this.nameField];
101938
- if (!name) {
101939
- return null;
101940
- }
101941
- const mark = this.getMarksWithoutRoot().filter(mark => mark.name === name);
101942
- if (!mark || mark.length === 0) {
101943
- return null;
101944
- }
101945
- let bounds = new Bounds();
101946
- if (global) {
101947
- mark.forEach(m => {
101948
- bounds = bounds.union(m.getProduct().getGroupGraphicItem().globalAABBBounds);
101949
- });
101950
- }
101951
- else {
101952
- mark.forEach(m => {
101953
- bounds = bounds.union(m.getProduct().getBounds());
101954
- });
101955
- }
101956
- const point = { x: (bounds.x1 + bounds.x2) / 2, y: (bounds.y1 + bounds.y2) / 2 };
101957
- if (global) {
101958
- const { x, y } = this.getLayoutStartPoint();
101959
- point.x -= x;
101960
- point.y -= y;
101961
- }
101962
- return point;
101963
- }
101964
- coordToPosition(point) {
101965
- if (!point) {
101966
- return null;
101967
- }
101968
- const { x, y } = point;
101969
- const matrix = this.getRootMatrix();
101970
- if (!matrix) {
101971
- return null;
101972
- }
101973
- const position = {};
101974
- matrix.getInverse().transformPoint({ x, y }, position);
101975
- return position;
101976
- }
101977
- getRootMatrix() {
101978
- var _a;
101979
- return (_a = this.getPictogramRootGraphic()) === null || _a === void 0 ? void 0 : _a.transMatrix;
101980
- }
101981
- getPictogramRootGraphic() {
101982
- var _a;
101983
- return (_a = this._pictogramMark.getProduct()) === null || _a === void 0 ? void 0 : _a.getGroupGraphicItem();
101984
- }
101985
- initData() {
101986
- var _a, _b;
101987
- super.initData();
101988
- const parsedSvg = svgSourceMap.get(this.svg);
101989
- if (!parsedSvg) {
101990
- (_a = this._option) === null || _a === void 0 ? void 0 : _a.onError('no valid svg found!');
101991
- }
101992
- const svgData = new DataView(this._dataSet, { name: `pictogram_${this.id}_data` });
101993
- registerDataSetInstanceTransform(this._dataSet, 'pictogram', pictogram);
101994
- registerDataSetInstanceTransform(this._dataSet, 'lookup', lookup);
101995
- svgData
101996
- .parse([parsedSvg], {
101997
- type: 'dataview'
101998
- })
101999
- .transform({ type: 'pictogram' })
102000
- .transform({
102001
- type: 'lookup',
102002
- options: {
102003
- from: () => this.getViewData().latestData,
102004
- key: 'name',
102005
- fields: this._nameField,
102006
- set: (a, b) => {
102007
- if (b) {
102008
- a.data = b;
102009
- }
102010
- }
102011
- }
102012
- })
102013
- .transform({
102014
- type: 'lookup',
102015
- options: {
102016
- from: () => this.getViewData().latestData,
102017
- key: '_nameFromParent',
102018
- fields: this._nameField,
102019
- set: (a, b) => {
102020
- if (b) {
102021
- a.data = b;
102022
- }
102023
- }
102024
- }
102025
- });
102026
- (_b = this._data) === null || _b === void 0 ? void 0 : _b.getDataView().target.addListener('change', svgData.reRunAllTransform);
102027
- this._mapViewData = new SeriesData(this._option, svgData);
102028
- }
102029
- mapViewDataUpdate() {
102030
- this._mapViewData.updateData();
102031
- }
102032
- onLayoutEnd(ctx) {
102033
- var _a;
102034
- super.onLayoutEnd(ctx);
102035
- (_a = this._mapViewData) === null || _a === void 0 ? void 0 : _a.getDataView().reRunAllTransform();
102036
- }
102037
- updateSVGSize() {
102038
- const { width: regionWidth, height: regionHeight } = this.getLayoutRect();
102039
- const regionCenterX = regionWidth / 2;
102040
- const regionCenterY = regionHeight / 2;
102041
- const root = this.getPictogramRootGraphic();
102042
- if (root) {
102043
- const bounds = root.AABBBounds;
102044
- const { x1, x2, y1, y2 } = root.AABBBounds;
102045
- const width = bounds.width();
102046
- const height = bounds.height();
102047
- const rootCenterX = (x1 + x2) / 2;
102048
- const rootCenterY = (y1 + y2) / 2;
102049
- const scaleX = regionWidth / width;
102050
- const scaleY = regionHeight / height;
102051
- const scale = Math.min(scaleX, scaleY);
102052
- root.scale(scale, scale, { x: rootCenterX, y: rootCenterY });
102053
- root.translate(regionCenterX - rootCenterX, regionCenterY - rootCenterY);
102054
- }
102055
- }
102056
- initEvent() {
102057
- var _a;
102058
- super.initEvent();
102059
- (_a = this._mapViewData.getDataView()) === null || _a === void 0 ? void 0 : _a.target.addListener('change', this.mapViewDataUpdate.bind(this));
102060
- this.event.on(HOOK_EVENT.AFTER_MARK_LAYOUT_END, this.updateSVGSize.bind(this));
102061
- }
102062
- handleZoom(e) {
102063
- const { scale, scaleCenter } = e;
102064
- if (scale === 1) {
102065
- return;
102066
- }
102067
- const root = this.getPictogramRootGraphic();
102068
- if (root) {
102069
- if (!root.attribute.postMatrix) {
102070
- root.setAttributes({
102071
- postMatrix: new Matrix()
102072
- });
102073
- }
102074
- root.scale(scale, scale, scaleCenter);
102075
- }
102076
- }
102077
- handlePan(e) {
102078
- const { delta } = e;
102079
- if (delta[0] === 0 && delta[1] === 0) {
102080
- return;
102081
- }
102082
- const root = this.getPictogramRootGraphic();
102083
- if (root) {
102084
- if (!root.attribute.postMatrix) {
102085
- root.setAttributes({
102086
- postMatrix: new Matrix()
102087
- });
102088
- }
102089
- root.translate(delta[0], delta[1]);
102090
- }
102091
- }
102092
- getMarkData(datum) {
102093
- var _a;
102094
- return (_a = datum.data) !== null && _a !== void 0 ? _a : {};
102095
- }
102096
- getMeasureField() {
102097
- return [this.valueField];
102098
- }
102099
- getDimensionField() {
102100
- return [this.nameField];
102101
- }
102102
- _getSeriesInfo(field, keys) {
102103
- const defaultShapeType = this.getDefaultShapeType();
102104
- return keys.map(key => {
102105
- return {
102106
- key,
102107
- originalKey: key,
102108
- style: this.getSeriesStyle({
102109
- data: {
102110
- [field]: key
102111
- }
102112
- }),
102113
- shapeType: defaultShapeType
102114
- };
102115
- });
102116
- }
102117
- }
102118
- PictogramSeries.type = SeriesTypeEnum.pictogram;
102119
- PictogramSeries.mark = PictogramSeriesMark;
102120
- PictogramSeries.transformerConstructor = PictogramSeriesSpecTransformer;
102121
- const registerPictogramSeries = () => {
102122
- Factory$1.registerSeries(PictogramSeries.type, PictogramSeries);
102123
- Factory$1.registerImplement('registerSVG', registerSVGSource);
102124
- Factory$1.registerImplement('unregisterSVG', unregisterSVGSource);
102125
- registerElementHighlightByGraphicName();
102126
- registerElementSelectByGraphicName();
102127
- };
102128
-
102129
102280
  class PictogramChart extends BaseChart {
102130
102281
  constructor() {
102131
102282
  super(...arguments);
@@ -102267,7 +102418,7 @@ const executeMediaQueryActionFilterType = (filterType = 'chart', chartSpec, char
102267
102418
  const infoList = array((_k = (_j = chartSpecInfo.component) === null || _j === void 0 ? void 0 : _j[specKey]) !== null && _k !== void 0 ? _k : []);
102268
102419
  array((_l = chartSpec[specKey]) !== null && _l !== void 0 ? _l : []).forEach((componentSpec, i) => {
102269
102420
  const specInfo = infoList[i];
102270
- if (componentTypes.includes(specInfo.type)) {
102421
+ if (specInfo && componentTypes.includes(specInfo.type)) {
102271
102422
  result.modelInfo.push(Object.assign(Object.assign({}, specInfo), { spec: componentSpec }));
102272
102423
  }
102273
102424
  });
@@ -102514,4 +102665,4 @@ const registerMediaQuery = () => {
102514
102665
  registerChartPlugin(MediaQuery);
102515
102666
  };
102516
102667
 
102517
- export { Arc3dMark, ArcMark, AreaChart, AreaMark, AreaSeries, AxisSyncPlugin, Bar3dChart, Bar3dSeries, BarChart, BarSeries, BaseChart, BaseChartSpecTransformer, BaseMark, BaseSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, ComponentMark, ComposedEventMapper, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, DiscreteLegend, DomTooltipHandler, DotSeries, Event$1 as Event, Factory$1 as Factory, FormatterPlugin, Funnel3dChart, Funnel3dSeries, FunnelChart, FunnelSeries, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, Histogram3dChart, HistogramChart, ImageMark, Indicator, Label, Layout$1 as Layout, Layout3d, LineChart, LineMark, LineSeries, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, MapChart, MapLabelComponent, MapSeries, MediaQuery, MosaicChart, PREFIX, PathMark, PictogramChart, Pie3dChart, Pie3dSeries, PieChart, PieSeries, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, ProgressLikeSeries, Pyramid3dMark, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumn3dChart, RangeColumn3dSeries, RangeColumnChart, RangeColumnSeries, Rect3dMark, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, SankeyChart, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager$1 as ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TreemapChart, TreemapSeries, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloud3dChart, WordCloud3dSeries, WordCloudChart, WordCloudSeries, builtinThemes, computeActualDataScheme, darkTheme$1 as darkTheme, dataScheme, VChart as default, defaultThemeName, getActualColor, getColorSchemeBySeries, getDataScheme, getMergedTheme, getTheme, hasThemeMerged, isColorKey, isProgressiveDataColorScheme, isTokenKey, lightTheme, queryColorFromColorScheme, queryToken, register3DPlugin, registerAllEnv, registerAllMarks, registerAnimate, registerArc3dMark, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBar3dChart, registerBar3dSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomMark, registerDataZoom, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerFormatPlugin, registerFunnel3dChart, registerFunnel3dSeries, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogram3dChart, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLayout3d, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapLabel, registerMapSeries, registerMarkArea, registerMarkLine, registerMarkPoint, registerMediaQuery, registerMorph, registerMosaicChart, registerNodeEnv, registerPathMark, registerPictogramChart, registerPie3dChart, registerPie3dSeries, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonMark, registerPoptip, registerPyramid3dMark, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumn3dChart, registerRangeColumn3dSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRect3dMark, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloud3dChart, registerWordCloud3dSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, themeExist, themes, token, transformColorSchemeToStandardStruct, version, vglobal };
102668
+ export { Arc3dMark, ArcMark, AreaChart, AreaMark, AreaSeries, AxisSyncPlugin, Bar3dChart, Bar3dSeries, BarChart, BarSeries, BaseChart, BaseChartSpecTransformer, BaseMark, BaseSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, ComponentMark, ComposedEventMapper, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, DiscreteLegend, DomTooltipHandler, DotSeries, Event$1 as Event, Factory$1 as Factory, FormatterPlugin, Funnel3dChart, Funnel3dSeries, FunnelChart, FunnelSeries, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, Histogram3dChart, HistogramChart, ImageMark, Indicator, Label, Layout$1 as Layout, Layout3d, LineChart, LineMark, LineSeries, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, MapChart, MapLabelComponent, MapSeries, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PictogramChart, PictogramSeries, Pie3dChart, Pie3dSeries, PieChart, PieSeries, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, ProgressLikeSeries, Pyramid3dMark, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumn3dChart, RangeColumn3dSeries, RangeColumnChart, RangeColumnSeries, Rect3dMark, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, SankeyChart, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager$1 as ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TreemapChart, TreemapSeries, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloud3dChart, WordCloud3dSeries, WordCloudChart, WordCloudSeries, builtinThemes, computeActualDataScheme, darkTheme$1 as darkTheme, dataScheme, VChart as default, defaultThemeName, getActualColor, getColorSchemeBySeries, getDataScheme, getMergedTheme, getTheme, hasThemeMerged, isColorKey, isProgressiveDataColorScheme, isTokenKey, lightTheme, queryColorFromColorScheme, queryToken, register3DPlugin, registerAllEnv, registerAllMarks, registerAnimate, registerArc3dMark, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBar3dChart, registerBar3dSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomMark, registerDataZoom, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerFormatPlugin, registerFunnel3dChart, registerFunnel3dSeries, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogram3dChart, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLayout3d, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapLabel, registerMapSeries, registerMarkArea, registerMarkLine, registerMarkPoint, registerMediaQuery, registerMorph, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPictogramChart, registerPictogramSeries, registerPie3dChart, registerPie3dSeries, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonMark, registerPoptip, registerPyramid3dMark, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumn3dChart, registerRangeColumn3dSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRect3dMark, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloud3dChart, registerWordCloud3dSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, themeExist, themes, token, transformColorSchemeToStandardStruct, version, vglobal };