@visactor/vchart 1.3.0-beta.1 → 1.3.0-beta.10

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 (781) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +17962 -16626
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/spec.d.ts +1 -1
  6. package/cjs/animation/spec.js.map +1 -1
  7. package/cjs/chart/area/area.js +4 -4
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +2 -2
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base-chart.d.ts +4 -2
  14. package/cjs/chart/base-chart.js +33 -30
  15. package/cjs/chart/base-chart.js.map +1 -1
  16. package/cjs/chart/box-plot/box-plot.js +2 -2
  17. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian.js +2 -1
  19. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  20. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  21. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  22. package/cjs/chart/funnel/funnel-3d.js +2 -2
  23. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  24. package/cjs/chart/funnel/funnel.js +2 -2
  25. package/cjs/chart/funnel/funnel.js.map +1 -1
  26. package/cjs/chart/gauge/gauge.js +2 -2
  27. package/cjs/chart/gauge/gauge.js.map +1 -1
  28. package/cjs/chart/heatmap/heatmap.js +2 -2
  29. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  30. package/cjs/chart/histogram/histogram-3d.js +2 -2
  31. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  32. package/cjs/chart/histogram/histogram.js +2 -2
  33. package/cjs/chart/histogram/histogram.js.map +1 -1
  34. package/cjs/chart/interface/chart.d.ts +4 -2
  35. package/cjs/chart/interface/chart.js.map +1 -1
  36. package/cjs/chart/line/line.js +4 -4
  37. package/cjs/chart/line/line.js.map +1 -1
  38. package/cjs/chart/map/map.js +2 -2
  39. package/cjs/chart/map/map.js.map +1 -1
  40. package/cjs/chart/pie/pie-3d.js +2 -2
  41. package/cjs/chart/pie/pie-3d.js.map +1 -1
  42. package/cjs/chart/pie/pie.js +2 -2
  43. package/cjs/chart/pie/pie.js.map +1 -1
  44. package/cjs/chart/progress/circular/circular.js +2 -2
  45. package/cjs/chart/progress/circular/circular.js.map +1 -1
  46. package/cjs/chart/progress/linear/linear.js +2 -2
  47. package/cjs/chart/progress/linear/linear.js.map +1 -1
  48. package/cjs/chart/radar/radar.js +4 -4
  49. package/cjs/chart/radar/radar.js.map +1 -1
  50. package/cjs/chart/range-area/range-area.js +2 -2
  51. package/cjs/chart/range-area/range-area.js.map +1 -1
  52. package/cjs/chart/range-column/range-column-3d.js +2 -2
  53. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  54. package/cjs/chart/range-column/range-column.js +2 -2
  55. package/cjs/chart/range-column/range-column.js.map +1 -1
  56. package/cjs/chart/rose/rose.js +2 -2
  57. package/cjs/chart/rose/rose.js.map +1 -1
  58. package/cjs/chart/sankey/sankey.js +2 -2
  59. package/cjs/chart/sankey/sankey.js.map +1 -1
  60. package/cjs/chart/scatter/scatter.js +2 -2
  61. package/cjs/chart/scatter/scatter.js.map +1 -1
  62. package/cjs/chart/sequence/sequence.js +2 -2
  63. package/cjs/chart/sequence/sequence.js.map +1 -1
  64. package/cjs/chart/stack.d.ts +1 -0
  65. package/cjs/chart/stack.js +14 -0
  66. package/cjs/chart/stack.js.map +1 -1
  67. package/cjs/chart/sunburst/sunburst.js +2 -2
  68. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  69. package/cjs/chart/treemap/treemap.js +2 -2
  70. package/cjs/chart/treemap/treemap.js.map +1 -1
  71. package/cjs/chart/util.d.ts +8 -0
  72. package/cjs/chart/util.js +32 -3
  73. package/cjs/chart/util.js.map +1 -1
  74. package/cjs/chart/waterfall/waterfall.js +2 -2
  75. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  76. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  77. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  78. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  79. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  80. package/cjs/compile/compiler.d.ts +2 -1
  81. package/cjs/compile/compiler.js +6 -1
  82. package/cjs/compile/compiler.js.map +1 -1
  83. package/cjs/compile/mark/compilable-mark.js +9 -10
  84. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  85. package/cjs/compile/mark/interface.d.ts +2 -1
  86. package/cjs/compile/mark/interface.js.map +1 -1
  87. package/cjs/compile/mark/util.d.ts +2 -1
  88. package/cjs/compile/mark/util.js +21 -5
  89. package/cjs/compile/mark/util.js.map +1 -1
  90. package/cjs/component/axis/base-axis.d.ts +1 -12
  91. package/cjs/component/axis/base-axis.js +7 -17
  92. package/cjs/component/axis/base-axis.js.map +1 -1
  93. package/cjs/component/axis/cartesian/axis.js +9 -4
  94. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  95. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  96. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  97. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  98. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  99. package/cjs/component/axis/cartesian/index.js +2 -1
  100. package/cjs/component/axis/cartesian/index.js.map +1 -1
  101. package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
  102. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  103. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  104. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  105. package/cjs/component/axis/cartesian/linear-axis.js +4 -3
  106. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  107. package/cjs/component/axis/cartesian/symlog-axis.d.ts +15 -0
  108. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  109. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  110. package/cjs/component/axis/interface.d.ts +1 -1
  111. package/cjs/component/axis/interface.js.map +1 -1
  112. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  113. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  114. package/cjs/component/axis/polar/axis.d.ts +1 -0
  115. package/cjs/component/axis/polar/axis.js +6 -4
  116. package/cjs/component/axis/polar/axis.js.map +1 -1
  117. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  118. package/cjs/component/base/base-component.d.ts +3 -2
  119. package/cjs/component/base/base-component.js +3 -3
  120. package/cjs/component/base/base-component.js.map +1 -1
  121. package/cjs/component/base/util.js +3 -0
  122. package/cjs/component/base/util.js.map +1 -1
  123. package/cjs/component/brush/brush.d.ts +11 -1
  124. package/cjs/component/brush/brush.js +61 -51
  125. package/cjs/component/brush/brush.js.map +1 -1
  126. package/cjs/component/crosshair/base.d.ts +1 -0
  127. package/cjs/component/crosshair/base.js +3 -2
  128. package/cjs/component/crosshair/base.js.map +1 -1
  129. package/cjs/component/crosshair/cartesian.js +1 -1
  130. package/cjs/component/crosshair/cartesian.js.map +1 -1
  131. package/cjs/component/crosshair/polar.js +3 -3
  132. package/cjs/component/crosshair/polar.js.map +1 -1
  133. package/cjs/component/custom-mark/custom-mark.d.ts +1 -0
  134. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
  135. package/cjs/component/geo/geo-coordinate.d.ts +7 -2
  136. package/cjs/component/geo/geo-coordinate.js +54 -14
  137. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  138. package/cjs/component/index.d.ts +3 -2
  139. package/cjs/component/index.js +15 -1
  140. package/cjs/component/index.js.map +1 -1
  141. package/cjs/component/indicator/indicator.js.map +1 -1
  142. package/cjs/component/interface/theme.d.ts +2 -0
  143. package/cjs/component/interface/theme.js.map +1 -1
  144. package/cjs/component/interface/type.d.ts +2 -0
  145. package/cjs/component/interface/type.js +13 -12
  146. package/cjs/component/interface/type.js.map +1 -1
  147. package/cjs/component/label/base-label.d.ts +40 -0
  148. package/cjs/component/label/base-label.js +44 -0
  149. package/cjs/component/label/base-label.js.map +1 -0
  150. package/cjs/component/label/interface.d.ts +7 -0
  151. package/cjs/component/label/interface.js.map +1 -1
  152. package/cjs/component/label/label.d.ts +5 -27
  153. package/cjs/component/label/label.js +31 -38
  154. package/cjs/component/label/label.js.map +1 -1
  155. package/cjs/component/label/pie.d.ts +5 -0
  156. package/cjs/component/label/pie.js +21 -0
  157. package/cjs/component/label/pie.js.map +1 -0
  158. package/cjs/component/label/totalLabel.d.ts +27 -0
  159. package/cjs/component/label/totalLabel.js +107 -0
  160. package/cjs/component/label/totalLabel.js.map +1 -0
  161. package/cjs/component/label/util.d.ts +3 -1
  162. package/cjs/component/label/util.js +5 -5
  163. package/cjs/component/label/util.js.map +1 -1
  164. package/cjs/component/legend/base-legend.d.ts +1 -0
  165. package/cjs/component/legend/continuous/legend.js +5 -2
  166. package/cjs/component/legend/continuous/legend.js.map +1 -1
  167. package/cjs/component/marker/base-marker.d.ts +6 -0
  168. package/cjs/component/marker/base-marker.js +14 -0
  169. package/cjs/component/marker/base-marker.js.map +1 -1
  170. package/cjs/component/marker/interface.d.ts +1 -0
  171. package/cjs/component/marker/interface.js.map +1 -1
  172. package/cjs/component/marker/mark-area/mark-area.js +17 -6
  173. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  174. package/cjs/component/marker/mark-line/mark-line.js +17 -6
  175. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  176. package/cjs/component/marker/mark-point/mark-point.js +18 -7
  177. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  178. package/cjs/component/title/title.d.ts +1 -0
  179. package/cjs/component/title/title.js +3 -2
  180. package/cjs/component/title/title.js.map +1 -1
  181. package/cjs/component/tooltip/handler/base.js +6 -3
  182. package/cjs/component/tooltip/handler/base.js.map +1 -1
  183. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  184. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  185. package/cjs/component/tooltip/handler/dom/interface.d.ts +9 -12
  186. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  187. package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  188. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +17 -15
  189. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  190. package/cjs/component/tooltip/handler/dom/model/title-model.js +3 -3
  191. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  192. package/cjs/component/tooltip/handler/dom/util.js +18 -11
  193. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  194. package/cjs/component/tooltip/handler/utils/attribute.js +25 -24
  195. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  196. package/cjs/component/tooltip/handler/utils/common.js +2 -2
  197. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  198. package/cjs/component/tooltip/handler/utils/compose.d.ts +2 -2
  199. package/cjs/component/tooltip/handler/utils/compose.js +13 -10
  200. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  201. package/cjs/component/tooltip/handler/utils/get-spec.js +72 -54
  202. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  203. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  204. package/cjs/component/tooltip/handler/utils/style.js +15 -10
  205. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  206. package/cjs/component/tooltip/interface/theme.d.ts +1 -0
  207. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  208. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  209. package/cjs/component/tooltip/tooltip.js +10 -7
  210. package/cjs/component/tooltip/tooltip.js.map +1 -1
  211. package/cjs/constant/index.d.ts +3 -0
  212. package/cjs/constant/index.js +4 -3
  213. package/cjs/constant/index.js.map +1 -1
  214. package/cjs/core/index.d.ts +1 -1
  215. package/cjs/core/index.js +1 -1
  216. package/cjs/core/index.js.map +1 -1
  217. package/cjs/core/interface.d.ts +3 -0
  218. package/cjs/core/interface.js.map +1 -1
  219. package/cjs/core/vchart.d.ts +7 -1
  220. package/cjs/core/vchart.js +63 -21
  221. package/cjs/core/vchart.js.map +1 -1
  222. package/cjs/data/initialize.js +9 -7
  223. package/cjs/data/initialize.js.map +1 -1
  224. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  225. package/cjs/data/transforms/dimension-statistics.js +34 -22
  226. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  227. package/cjs/data/transforms/invalid-travel.js +1 -2
  228. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  229. package/cjs/data/transforms/legend-data/continuous/continuous.js +1 -2
  230. package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  231. package/cjs/event/event-dispatcher.js +4 -2
  232. package/cjs/event/event-dispatcher.js.map +1 -1
  233. package/cjs/event/events/dimension/dimension-click.d.ts +1 -3
  234. package/cjs/event/events/dimension/dimension-click.js +9 -10
  235. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  236. package/cjs/event/events/dimension/dimension-hover.d.ts +2 -3
  237. package/cjs/event/events/dimension/dimension-hover.js +26 -17
  238. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  239. package/cjs/event/interface.d.ts +3 -3
  240. package/cjs/event/interface.js.map +1 -1
  241. package/cjs/interaction/trigger.js +4 -0
  242. package/cjs/interaction/trigger.js.map +1 -1
  243. package/cjs/layout/label/arc-label.js.map +1 -1
  244. package/cjs/mark/base/base-mark.d.ts +1 -0
  245. package/cjs/mark/base/base-mark.js +20 -3
  246. package/cjs/mark/base/base-mark.js.map +1 -1
  247. package/cjs/mark/symbol.js +1 -1
  248. package/cjs/mark/symbol.js.map +1 -1
  249. package/cjs/model/base-model.d.ts +2 -0
  250. package/cjs/model/base-model.js +4 -1
  251. package/cjs/model/base-model.js.map +1 -1
  252. package/cjs/model/interface.d.ts +6 -1
  253. package/cjs/model/interface.js.map +1 -1
  254. package/cjs/model/layout-item.d.ts +4 -4
  255. package/cjs/model/layout-item.js.map +1 -1
  256. package/cjs/plugin/components/index.d.ts +0 -2
  257. package/cjs/plugin/components/index.js +1 -2
  258. package/cjs/plugin/components/index.js.map +1 -1
  259. package/cjs/region/region.d.ts +1 -0
  260. package/cjs/series/area/area.d.ts +6 -3
  261. package/cjs/series/area/area.js +36 -12
  262. package/cjs/series/area/area.js.map +1 -1
  263. package/cjs/series/area/interface.d.ts +1 -0
  264. package/cjs/series/area/interface.js.map +1 -1
  265. package/cjs/series/area/tooltip-helpter.d.ts +5 -0
  266. package/cjs/series/area/tooltip-helpter.js +24 -0
  267. package/cjs/series/area/tooltip-helpter.js.map +1 -0
  268. package/cjs/series/bar/bar.d.ts +1 -0
  269. package/cjs/series/bar/bar.js +1 -1
  270. package/cjs/series/bar/bar.js.map +1 -1
  271. package/cjs/series/base/base-series.d.ts +4 -0
  272. package/cjs/series/base/base-series.js +62 -16
  273. package/cjs/series/base/base-series.js.map +1 -1
  274. package/cjs/series/base/tooltip-helper.js +5 -2
  275. package/cjs/series/base/tooltip-helper.js.map +1 -1
  276. package/cjs/series/box-plot/box-plot.js +1 -1
  277. package/cjs/series/box-plot/box-plot.js.map +1 -1
  278. package/cjs/series/cartesian/cartesian.d.ts +7 -3
  279. package/cjs/series/cartesian/cartesian.js +27 -17
  280. package/cjs/series/cartesian/cartesian.js.map +1 -1
  281. package/cjs/series/dot/dot.d.ts +1 -0
  282. package/cjs/series/dot/dot.js +3 -0
  283. package/cjs/series/dot/dot.js.map +1 -1
  284. package/cjs/series/funnel/funnel.d.ts +1 -0
  285. package/cjs/series/geo/geo.d.ts +2 -0
  286. package/cjs/series/geo/geo.js +5 -1
  287. package/cjs/series/geo/geo.js.map +1 -1
  288. package/cjs/series/heatmap/heatmap.d.ts +1 -0
  289. package/cjs/series/interface/common.d.ts +1 -0
  290. package/cjs/series/interface/common.js.map +1 -1
  291. package/cjs/series/interface/series.d.ts +3 -2
  292. package/cjs/series/interface/series.js.map +1 -1
  293. package/cjs/series/line/interface.d.ts +1 -2
  294. package/cjs/series/line/interface.js.map +1 -1
  295. package/cjs/series/line/line.d.ts +1 -2
  296. package/cjs/series/line/line.js +3 -2
  297. package/cjs/series/line/line.js.map +1 -1
  298. package/cjs/series/link/link.js +1 -1
  299. package/cjs/series/link/link.js.map +1 -1
  300. package/cjs/series/map/interface.d.ts +1 -0
  301. package/cjs/series/map/interface.js.map +1 -1
  302. package/cjs/series/map/map.d.ts +1 -2
  303. package/cjs/series/map/map.js +9 -9
  304. package/cjs/series/map/map.js.map +1 -1
  305. package/cjs/series/mixin/line-mixin.d.ts +14 -3
  306. package/cjs/series/mixin/line-mixin.js +89 -26
  307. package/cjs/series/mixin/line-mixin.js.map +1 -1
  308. package/cjs/series/pie/interface.d.ts +4 -7
  309. package/cjs/series/pie/interface.js.map +1 -1
  310. package/cjs/series/pie/pie.d.ts +2 -0
  311. package/cjs/series/pie/pie.js +19 -56
  312. package/cjs/series/pie/pie.js.map +1 -1
  313. package/cjs/series/polar/polar.d.ts +1 -0
  314. package/cjs/series/polar/polar.js +2 -1
  315. package/cjs/series/polar/polar.js.map +1 -1
  316. package/cjs/series/radar/interface.d.ts +1 -0
  317. package/cjs/series/radar/interface.js.map +1 -1
  318. package/cjs/series/range-area/range-area.d.ts +2 -0
  319. package/cjs/series/range-area/range-area.js +8 -2
  320. package/cjs/series/range-area/range-area.js.map +1 -1
  321. package/cjs/series/range-column/range-column.js +1 -1
  322. package/cjs/series/range-column/range-column.js.map +1 -1
  323. package/cjs/series/rose/interface.d.ts +3 -0
  324. package/cjs/series/rose/interface.js.map +1 -1
  325. package/cjs/series/rose/rose.d.ts +1 -2
  326. package/cjs/series/rose/rose.js +17 -36
  327. package/cjs/series/rose/rose.js.map +1 -1
  328. package/cjs/series/sankey/interface.d.ts +3 -2
  329. package/cjs/series/sankey/interface.js.map +1 -1
  330. package/cjs/series/sankey/sankey.d.ts +2 -0
  331. package/cjs/series/sankey/sankey.js +198 -79
  332. package/cjs/series/sankey/sankey.js.map +1 -1
  333. package/cjs/series/scatter/interface.d.ts +1 -2
  334. package/cjs/series/scatter/interface.js.map +1 -1
  335. package/cjs/series/scatter/scatter.d.ts +2 -3
  336. package/cjs/series/scatter/scatter.js +19 -13
  337. package/cjs/series/scatter/scatter.js.map +1 -1
  338. package/cjs/series/word-cloud/base.d.ts +1 -0
  339. package/cjs/series/word-cloud/base.js +1 -1
  340. package/cjs/series/word-cloud/base.js.map +1 -1
  341. package/cjs/series/word-cloud/interface.d.ts +3 -3
  342. package/cjs/series/word-cloud/interface.js.map +1 -1
  343. package/cjs/series/word-cloud/word-cloud-3d.js +1 -1
  344. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  345. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  346. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js +22 -0
  347. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  348. package/cjs/theme/buildin-theme/light/component/index.js +3 -2
  349. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -1
  350. package/cjs/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  351. package/cjs/theme/buildin-theme/light/component/total-label.js +24 -0
  352. package/cjs/theme/buildin-theme/light/component/total-label.js.map +1 -0
  353. package/cjs/theme/buildin-theme/light/series/rose.js +0 -1
  354. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -1
  355. package/cjs/theme/buildin-theme/light/series/sankey.js +0 -1
  356. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -1
  357. package/cjs/typings/spec/common.d.ts +2 -0
  358. package/cjs/typings/spec/common.js.map +1 -1
  359. package/cjs/typings/tooltip/label.d.ts +10 -0
  360. package/cjs/typings/tooltip/label.js +6 -0
  361. package/cjs/typings/tooltip/label.js.map +1 -0
  362. package/cjs/typings/tooltip/line.d.ts +3 -3
  363. package/cjs/typings/tooltip/line.js.map +1 -1
  364. package/cjs/typings/tooltip/shape.d.ts +3 -0
  365. package/cjs/typings/tooltip/shape.js.map +1 -1
  366. package/cjs/typings/visual.d.ts +11 -21
  367. package/cjs/typings/visual.js.map +1 -1
  368. package/cjs/util/data.d.ts +0 -8
  369. package/cjs/util/data.js +2 -9
  370. package/cjs/util/data.js.map +1 -1
  371. package/cjs/util/object.d.ts +0 -2
  372. package/cjs/util/object.js +2 -13
  373. package/cjs/util/object.js.map +1 -1
  374. package/cjs/util/scale.d.ts +2 -6
  375. package/cjs/util/scale.js +1 -6
  376. package/cjs/util/scale.js.map +1 -1
  377. package/cjs/util/space.d.ts +3 -9
  378. package/cjs/util/space.js +14 -30
  379. package/cjs/util/space.js.map +1 -1
  380. package/cjs/util/spec.d.ts +1 -0
  381. package/cjs/util/spec.js +13 -5
  382. package/cjs/util/spec.js.map +1 -1
  383. package/cjs/util/text.d.ts +1 -2
  384. package/cjs/util/text.js +1 -11
  385. package/cjs/util/text.js.map +1 -1
  386. package/cjs/vchart-all.js +1 -1
  387. package/cjs/vchart-all.js.map +1 -1
  388. package/cjs/vchart-simple.js +3 -4
  389. package/cjs/vchart-simple.js.map +1 -1
  390. package/esm/animation/spec.d.ts +1 -1
  391. package/esm/animation/spec.js.map +1 -1
  392. package/esm/chart/area/area.js +5 -5
  393. package/esm/chart/area/area.js.map +1 -1
  394. package/esm/chart/bar/bar-3d.js +2 -2
  395. package/esm/chart/bar/bar-3d.js.map +1 -1
  396. package/esm/chart/bar/bar.js +2 -2
  397. package/esm/chart/bar/bar.js.map +1 -1
  398. package/esm/chart/base-chart.d.ts +4 -2
  399. package/esm/chart/base-chart.js +36 -31
  400. package/esm/chart/base-chart.js.map +1 -1
  401. package/esm/chart/box-plot/box-plot.js +1 -1
  402. package/esm/chart/box-plot/box-plot.js.map +1 -1
  403. package/esm/chart/cartesian/cartesian.js +2 -1
  404. package/esm/chart/cartesian/cartesian.js.map +1 -1
  405. package/esm/chart/circle-packing/circle-packing.js +1 -1
  406. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  407. package/esm/chart/funnel/funnel-3d.js +1 -1
  408. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  409. package/esm/chart/funnel/funnel.js +1 -1
  410. package/esm/chart/funnel/funnel.js.map +1 -1
  411. package/esm/chart/gauge/gauge.js +2 -2
  412. package/esm/chart/gauge/gauge.js.map +1 -1
  413. package/esm/chart/heatmap/heatmap.js +1 -1
  414. package/esm/chart/heatmap/heatmap.js.map +1 -1
  415. package/esm/chart/histogram/histogram-3d.js +2 -2
  416. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  417. package/esm/chart/histogram/histogram.js +2 -2
  418. package/esm/chart/histogram/histogram.js.map +1 -1
  419. package/esm/chart/interface/chart.d.ts +4 -2
  420. package/esm/chart/interface/chart.js.map +1 -1
  421. package/esm/chart/line/line.js +3 -3
  422. package/esm/chart/line/line.js.map +1 -1
  423. package/esm/chart/map/map.js +2 -2
  424. package/esm/chart/map/map.js.map +1 -1
  425. package/esm/chart/pie/pie-3d.js +2 -2
  426. package/esm/chart/pie/pie-3d.js.map +1 -1
  427. package/esm/chart/pie/pie.js +2 -2
  428. package/esm/chart/pie/pie.js.map +1 -1
  429. package/esm/chart/progress/circular/circular.js +1 -1
  430. package/esm/chart/progress/circular/circular.js.map +1 -1
  431. package/esm/chart/progress/linear/linear.js +1 -1
  432. package/esm/chart/progress/linear/linear.js.map +1 -1
  433. package/esm/chart/radar/radar.js +4 -4
  434. package/esm/chart/radar/radar.js.map +1 -1
  435. package/esm/chart/range-area/range-area.js +1 -1
  436. package/esm/chart/range-area/range-area.js.map +1 -1
  437. package/esm/chart/range-column/range-column-3d.js +1 -1
  438. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  439. package/esm/chart/range-column/range-column.js +1 -1
  440. package/esm/chart/range-column/range-column.js.map +1 -1
  441. package/esm/chart/rose/rose.js +2 -2
  442. package/esm/chart/rose/rose.js.map +1 -1
  443. package/esm/chart/sankey/sankey.js +1 -1
  444. package/esm/chart/sankey/sankey.js.map +1 -1
  445. package/esm/chart/scatter/scatter.js +2 -2
  446. package/esm/chart/scatter/scatter.js.map +1 -1
  447. package/esm/chart/sequence/sequence.js +4 -2
  448. package/esm/chart/sequence/sequence.js.map +1 -1
  449. package/esm/chart/stack.d.ts +1 -0
  450. package/esm/chart/stack.js +16 -2
  451. package/esm/chart/stack.js.map +1 -1
  452. package/esm/chart/sunburst/sunburst.js +1 -1
  453. package/esm/chart/sunburst/sunburst.js.map +1 -1
  454. package/esm/chart/treemap/treemap.js +1 -1
  455. package/esm/chart/treemap/treemap.js.map +1 -1
  456. package/esm/chart/util.d.ts +8 -0
  457. package/esm/chart/util.js +33 -1
  458. package/esm/chart/util.js.map +1 -1
  459. package/esm/chart/waterfall/waterfall.js +1 -1
  460. package/esm/chart/waterfall/waterfall.js.map +1 -1
  461. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  462. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  463. package/esm/chart/word-cloud/word-cloud.js +1 -1
  464. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  465. package/esm/compile/compiler.d.ts +2 -1
  466. package/esm/compile/compiler.js +6 -1
  467. package/esm/compile/compiler.js.map +1 -1
  468. package/esm/compile/mark/compilable-mark.js +9 -11
  469. package/esm/compile/mark/compilable-mark.js.map +1 -1
  470. package/esm/compile/mark/interface.d.ts +2 -1
  471. package/esm/compile/mark/interface.js.map +1 -1
  472. package/esm/compile/mark/util.d.ts +2 -1
  473. package/esm/compile/mark/util.js +19 -3
  474. package/esm/compile/mark/util.js.map +1 -1
  475. package/esm/component/axis/base-axis.d.ts +1 -12
  476. package/esm/component/axis/base-axis.js +8 -18
  477. package/esm/component/axis/base-axis.js.map +1 -1
  478. package/esm/component/axis/cartesian/axis.js +10 -5
  479. package/esm/component/axis/cartesian/axis.js.map +1 -1
  480. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  481. package/esm/component/axis/cartesian/band-axis.js +1 -0
  482. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  483. package/esm/component/axis/cartesian/index.d.ts +1 -0
  484. package/esm/component/axis/cartesian/index.js +2 -0
  485. package/esm/component/axis/cartesian/index.js.map +1 -1
  486. package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
  487. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  488. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  489. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  490. package/esm/component/axis/cartesian/linear-axis.js +3 -4
  491. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  492. package/esm/component/axis/cartesian/symlog-axis.d.ts +15 -0
  493. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  494. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  495. package/esm/component/axis/interface.d.ts +1 -1
  496. package/esm/component/axis/interface.js.map +1 -1
  497. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  498. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  499. package/esm/component/axis/polar/axis.d.ts +1 -0
  500. package/esm/component/axis/polar/axis.js +6 -4
  501. package/esm/component/axis/polar/axis.js.map +1 -1
  502. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  503. package/esm/component/base/base-component.d.ts +3 -2
  504. package/esm/component/base/base-component.js +3 -3
  505. package/esm/component/base/base-component.js.map +1 -1
  506. package/esm/component/base/util.js +3 -0
  507. package/esm/component/base/util.js.map +1 -1
  508. package/esm/component/brush/brush.d.ts +11 -1
  509. package/esm/component/brush/brush.js +60 -51
  510. package/esm/component/brush/brush.js.map +1 -1
  511. package/esm/component/crosshair/base.d.ts +1 -0
  512. package/esm/component/crosshair/base.js +3 -2
  513. package/esm/component/crosshair/base.js.map +1 -1
  514. package/esm/component/crosshair/cartesian.js +1 -1
  515. package/esm/component/crosshair/cartesian.js.map +1 -1
  516. package/esm/component/crosshair/polar.js +3 -3
  517. package/esm/component/crosshair/polar.js.map +1 -1
  518. package/esm/component/custom-mark/custom-mark.d.ts +1 -0
  519. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
  520. package/esm/component/geo/geo-coordinate.d.ts +7 -2
  521. package/esm/component/geo/geo-coordinate.js +56 -14
  522. package/esm/component/geo/geo-coordinate.js.map +1 -1
  523. package/esm/component/index.d.ts +3 -2
  524. package/esm/component/index.js +4 -2
  525. package/esm/component/index.js.map +1 -1
  526. package/esm/component/indicator/indicator.js.map +1 -1
  527. package/esm/component/interface/theme.d.ts +2 -0
  528. package/esm/component/interface/theme.js.map +1 -1
  529. package/esm/component/interface/type.d.ts +2 -0
  530. package/esm/component/interface/type.js +13 -12
  531. package/esm/component/interface/type.js.map +1 -1
  532. package/esm/component/label/base-label.d.ts +40 -0
  533. package/esm/component/label/base-label.js +42 -0
  534. package/esm/component/label/base-label.js.map +1 -0
  535. package/esm/component/label/interface.d.ts +7 -0
  536. package/esm/component/label/interface.js.map +1 -1
  537. package/esm/component/label/label.d.ts +5 -27
  538. package/esm/component/label/label.js +34 -40
  539. package/esm/component/label/label.js.map +1 -1
  540. package/esm/component/label/pie.d.ts +5 -0
  541. package/esm/component/label/pie.js +13 -0
  542. package/esm/component/label/pie.js.map +1 -0
  543. package/esm/component/label/totalLabel.d.ts +27 -0
  544. package/esm/component/label/totalLabel.js +110 -0
  545. package/esm/component/label/totalLabel.js.map +1 -0
  546. package/esm/component/label/util.d.ts +3 -1
  547. package/esm/component/label/util.js +6 -4
  548. package/esm/component/label/util.js.map +1 -1
  549. package/esm/component/legend/base-legend.d.ts +1 -0
  550. package/esm/component/legend/continuous/legend.js +5 -2
  551. package/esm/component/legend/continuous/legend.js.map +1 -1
  552. package/esm/component/marker/base-marker.d.ts +6 -0
  553. package/esm/component/marker/base-marker.js +14 -0
  554. package/esm/component/marker/base-marker.js.map +1 -1
  555. package/esm/component/marker/interface.d.ts +1 -0
  556. package/esm/component/marker/interface.js.map +1 -1
  557. package/esm/component/marker/mark-area/mark-area.js +17 -6
  558. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  559. package/esm/component/marker/mark-line/mark-line.js +17 -6
  560. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  561. package/esm/component/marker/mark-point/mark-point.js +18 -7
  562. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  563. package/esm/component/title/title.d.ts +1 -0
  564. package/esm/component/title/title.js +3 -2
  565. package/esm/component/title/title.js.map +1 -1
  566. package/esm/component/tooltip/handler/base.js +6 -3
  567. package/esm/component/tooltip/handler/base.js.map +1 -1
  568. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  569. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  570. package/esm/component/tooltip/handler/dom/interface.d.ts +9 -12
  571. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  572. package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  573. package/esm/component/tooltip/handler/dom/model/content-column-model.js +16 -14
  574. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  575. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  576. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  577. package/esm/component/tooltip/handler/dom/util.js +18 -11
  578. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  579. package/esm/component/tooltip/handler/utils/attribute.js +24 -24
  580. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  581. package/esm/component/tooltip/handler/utils/common.js +2 -2
  582. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  583. package/esm/component/tooltip/handler/utils/compose.d.ts +2 -2
  584. package/esm/component/tooltip/handler/utils/compose.js +11 -10
  585. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  586. package/esm/component/tooltip/handler/utils/get-spec.js +70 -50
  587. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  588. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  589. package/esm/component/tooltip/handler/utils/style.js +16 -9
  590. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  591. package/esm/component/tooltip/interface/theme.d.ts +1 -0
  592. package/esm/component/tooltip/interface/theme.js.map +1 -1
  593. package/esm/component/tooltip/tooltip.d.ts +1 -1
  594. package/esm/component/tooltip/tooltip.js +10 -7
  595. package/esm/component/tooltip/tooltip.js.map +1 -1
  596. package/esm/constant/index.d.ts +3 -0
  597. package/esm/constant/index.js +6 -0
  598. package/esm/constant/index.js.map +1 -1
  599. package/esm/core/index.d.ts +1 -1
  600. package/esm/core/index.js +1 -1
  601. package/esm/core/index.js.map +1 -1
  602. package/esm/core/interface.d.ts +3 -0
  603. package/esm/core/interface.js.map +1 -1
  604. package/esm/core/vchart.d.ts +7 -1
  605. package/esm/core/vchart.js +66 -21
  606. package/esm/core/vchart.js.map +1 -1
  607. package/esm/data/initialize.js +10 -7
  608. package/esm/data/initialize.js.map +1 -1
  609. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  610. package/esm/data/transforms/dimension-statistics.js +33 -22
  611. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  612. package/esm/data/transforms/invalid-travel.js +1 -2
  613. package/esm/data/transforms/invalid-travel.js.map +1 -1
  614. package/esm/data/transforms/legend-data/continuous/continuous.js +1 -1
  615. package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
  616. package/esm/event/event-dispatcher.js +3 -2
  617. package/esm/event/event-dispatcher.js.map +1 -1
  618. package/esm/event/events/dimension/dimension-click.d.ts +1 -3
  619. package/esm/event/events/dimension/dimension-click.js +9 -10
  620. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  621. package/esm/event/events/dimension/dimension-hover.d.ts +2 -3
  622. package/esm/event/events/dimension/dimension-hover.js +25 -16
  623. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  624. package/esm/event/interface.d.ts +3 -3
  625. package/esm/event/interface.js.map +1 -1
  626. package/esm/interaction/trigger.js +4 -0
  627. package/esm/interaction/trigger.js.map +1 -1
  628. package/esm/layout/label/arc-label.js.map +1 -1
  629. package/esm/mark/base/base-mark.d.ts +1 -0
  630. package/esm/mark/base/base-mark.js +20 -3
  631. package/esm/mark/base/base-mark.js.map +1 -1
  632. package/esm/mark/symbol.js +1 -1
  633. package/esm/mark/symbol.js.map +1 -1
  634. package/esm/model/base-model.d.ts +2 -0
  635. package/esm/model/base-model.js +4 -2
  636. package/esm/model/base-model.js.map +1 -1
  637. package/esm/model/interface.d.ts +6 -1
  638. package/esm/model/interface.js.map +1 -1
  639. package/esm/model/layout-item.d.ts +4 -4
  640. package/esm/model/layout-item.js.map +1 -1
  641. package/esm/plugin/components/index.d.ts +0 -2
  642. package/esm/plugin/components/index.js +0 -3
  643. package/esm/plugin/components/index.js.map +1 -1
  644. package/esm/region/region.d.ts +1 -0
  645. package/esm/series/area/area.d.ts +6 -3
  646. package/esm/series/area/area.js +39 -10
  647. package/esm/series/area/area.js.map +1 -1
  648. package/esm/series/area/interface.d.ts +1 -0
  649. package/esm/series/area/interface.js.map +1 -1
  650. package/esm/series/area/tooltip-helpter.d.ts +5 -0
  651. package/esm/series/area/tooltip-helpter.js +18 -0
  652. package/esm/series/area/tooltip-helpter.js.map +1 -0
  653. package/esm/series/bar/bar.d.ts +1 -0
  654. package/esm/series/bar/bar.js +1 -1
  655. package/esm/series/bar/bar.js.map +1 -1
  656. package/esm/series/base/base-series.d.ts +4 -0
  657. package/esm/series/base/base-series.js +62 -17
  658. package/esm/series/base/base-series.js.map +1 -1
  659. package/esm/series/base/tooltip-helper.js +5 -2
  660. package/esm/series/base/tooltip-helper.js.map +1 -1
  661. package/esm/series/box-plot/box-plot.js +1 -1
  662. package/esm/series/box-plot/box-plot.js.map +1 -1
  663. package/esm/series/cartesian/cartesian.d.ts +7 -3
  664. package/esm/series/cartesian/cartesian.js +26 -17
  665. package/esm/series/cartesian/cartesian.js.map +1 -1
  666. package/esm/series/dot/dot.d.ts +1 -0
  667. package/esm/series/dot/dot.js +3 -0
  668. package/esm/series/dot/dot.js.map +1 -1
  669. package/esm/series/funnel/funnel.d.ts +1 -0
  670. package/esm/series/geo/geo.d.ts +2 -0
  671. package/esm/series/geo/geo.js +4 -1
  672. package/esm/series/geo/geo.js.map +1 -1
  673. package/esm/series/heatmap/heatmap.d.ts +1 -0
  674. package/esm/series/interface/common.d.ts +1 -0
  675. package/esm/series/interface/common.js.map +1 -1
  676. package/esm/series/interface/series.d.ts +3 -2
  677. package/esm/series/interface/series.js.map +1 -1
  678. package/esm/series/line/interface.d.ts +1 -2
  679. package/esm/series/line/interface.js.map +1 -1
  680. package/esm/series/line/line.d.ts +1 -2
  681. package/esm/series/line/line.js +3 -2
  682. package/esm/series/line/line.js.map +1 -1
  683. package/esm/series/link/link.js +1 -1
  684. package/esm/series/link/link.js.map +1 -1
  685. package/esm/series/map/interface.d.ts +1 -0
  686. package/esm/series/map/interface.js.map +1 -1
  687. package/esm/series/map/map.d.ts +1 -2
  688. package/esm/series/map/map.js +10 -8
  689. package/esm/series/map/map.js.map +1 -1
  690. package/esm/series/mixin/line-mixin.d.ts +14 -3
  691. package/esm/series/mixin/line-mixin.js +99 -24
  692. package/esm/series/mixin/line-mixin.js.map +1 -1
  693. package/esm/series/pie/interface.d.ts +4 -7
  694. package/esm/series/pie/interface.js.map +1 -1
  695. package/esm/series/pie/pie.d.ts +2 -0
  696. package/esm/series/pie/pie.js +22 -54
  697. package/esm/series/pie/pie.js.map +1 -1
  698. package/esm/series/polar/polar.d.ts +1 -0
  699. package/esm/series/polar/polar.js +2 -1
  700. package/esm/series/polar/polar.js.map +1 -1
  701. package/esm/series/radar/interface.d.ts +1 -0
  702. package/esm/series/radar/interface.js.map +1 -1
  703. package/esm/series/range-area/range-area.d.ts +2 -0
  704. package/esm/series/range-area/range-area.js +7 -3
  705. package/esm/series/range-area/range-area.js.map +1 -1
  706. package/esm/series/range-column/range-column.js +1 -1
  707. package/esm/series/range-column/range-column.js.map +1 -1
  708. package/esm/series/rose/interface.d.ts +3 -0
  709. package/esm/series/rose/interface.js.map +1 -1
  710. package/esm/series/rose/rose.d.ts +1 -2
  711. package/esm/series/rose/rose.js +17 -37
  712. package/esm/series/rose/rose.js.map +1 -1
  713. package/esm/series/sankey/interface.d.ts +3 -2
  714. package/esm/series/sankey/interface.js.map +1 -1
  715. package/esm/series/sankey/sankey.d.ts +2 -0
  716. package/esm/series/sankey/sankey.js +198 -80
  717. package/esm/series/sankey/sankey.js.map +1 -1
  718. package/esm/series/scatter/interface.d.ts +1 -2
  719. package/esm/series/scatter/interface.js.map +1 -1
  720. package/esm/series/scatter/scatter.d.ts +2 -3
  721. package/esm/series/scatter/scatter.js +20 -14
  722. package/esm/series/scatter/scatter.js.map +1 -1
  723. package/esm/series/word-cloud/base.d.ts +1 -0
  724. package/esm/series/word-cloud/base.js +1 -1
  725. package/esm/series/word-cloud/base.js.map +1 -1
  726. package/esm/series/word-cloud/interface.d.ts +3 -3
  727. package/esm/series/word-cloud/interface.js.map +1 -1
  728. package/esm/series/word-cloud/word-cloud-3d.js +1 -1
  729. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  730. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  731. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js +18 -0
  732. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  733. package/esm/theme/buildin-theme/light/component/index.js +4 -1
  734. package/esm/theme/buildin-theme/light/component/index.js.map +1 -1
  735. package/esm/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  736. package/esm/theme/buildin-theme/light/component/total-label.js +20 -0
  737. package/esm/theme/buildin-theme/light/component/total-label.js.map +1 -0
  738. package/esm/theme/buildin-theme/light/series/rose.js +0 -1
  739. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -1
  740. package/esm/theme/buildin-theme/light/series/sankey.js +0 -1
  741. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -1
  742. package/esm/typings/spec/common.d.ts +2 -0
  743. package/esm/typings/spec/common.js.map +1 -1
  744. package/esm/typings/tooltip/label.d.ts +10 -0
  745. package/esm/typings/tooltip/label.js +2 -0
  746. package/esm/typings/tooltip/label.js.map +1 -0
  747. package/esm/typings/tooltip/line.d.ts +3 -3
  748. package/esm/typings/tooltip/line.js.map +1 -1
  749. package/esm/typings/tooltip/shape.d.ts +3 -0
  750. package/esm/typings/tooltip/shape.js.map +1 -1
  751. package/esm/typings/visual.d.ts +11 -21
  752. package/esm/typings/visual.js.map +1 -1
  753. package/esm/util/data.d.ts +0 -8
  754. package/esm/util/data.js +1 -7
  755. package/esm/util/data.js.map +1 -1
  756. package/esm/util/object.d.ts +0 -2
  757. package/esm/util/object.js +0 -11
  758. package/esm/util/object.js.map +1 -1
  759. package/esm/util/scale.d.ts +2 -6
  760. package/esm/util/scale.js +1 -5
  761. package/esm/util/scale.js.map +1 -1
  762. package/esm/util/space.d.ts +3 -9
  763. package/esm/util/space.js +8 -26
  764. package/esm/util/space.js.map +1 -1
  765. package/esm/util/spec.d.ts +1 -0
  766. package/esm/util/spec.js +11 -3
  767. package/esm/util/spec.js.map +1 -1
  768. package/esm/util/text.d.ts +1 -2
  769. package/esm/util/text.js +1 -9
  770. package/esm/util/text.js.map +1 -1
  771. package/esm/vchart-all.js +2 -2
  772. package/esm/vchart-all.js.map +1 -1
  773. package/esm/vchart-simple.js +18 -2
  774. package/esm/vchart-simple.js.map +1 -1
  775. package/package.json +25 -17
  776. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  777. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  778. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  779. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  780. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  781. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
@@ -62,6 +62,7 @@ export declare class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IB
62
62
  updateSpec(spec: any): {
63
63
  change: boolean;
64
64
  reMake: boolean;
65
+ reMakeData: boolean;
65
66
  reRender: boolean;
66
67
  reSize: boolean;
67
68
  reCompile: boolean;
@@ -106,7 +106,7 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
106
106
  if (!(0, vutils_1.isValidNumber)(width) || !(0, vutils_1.isValidNumber)(height) || !(height > 0 && width > 0)) return;
107
107
  const wordCloudTransforms = [], valueField = this._valueField, valueScale = new vscale_1.LinearScale, fontWeightRange = this._fontWeightRange, rotateAngles = this._rotateAngles, fontWeightField = this._fontWeightField, fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;
108
108
  if (valueField) {
109
- const [minValue, maxValue] = (0, vgrammar_util_1.extent)(null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData.map((datum => datum[valueField])));
109
+ const [minValue, maxValue] = (0, vgrammar_util_1.extent)(null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData.map((datum => +datum[valueField])));
110
110
  valueScale.domain([ minValue, maxValue ], !0).range(fontWeightRange), wordCloudTransforms.push({
111
111
  type: "map",
112
112
  as: word_cloud_1.WORD_CLOUD_WEIGHT,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/base.ts"],"names":[],"mappings":";;;AAEA,6CAA0D;AAC1D,6CAA2C;AAC3C,6CAA6F;AAC7F,oDAAoD;AAGpD,4CAAkD;AAClD,qCAA2C;AAC3C,qCAWkB;AAOlB,qEAA2E;AAC3E,iFAAsF;AAEtF,mDAAgE;AAChE,iDAA6E;AAC7E,6CAA+C;AAC/C,2DAAiD;AACjD,0DAKmC;AACnC,wDAA8D;AAE9D,qDAAiD;AACjD,yEAAoE;AACpE,8CAA2C;AAC3C,0CAA2C;AAE3C,eAAM,CAAC,OAAO,CAAC,CAAC,eAAQ,CAAC,CAAC,CAAC;AAE3B,IAAA,gDAA2B,GAAE,CAAC;AAC9B,IAAA,2DAAgC,GAAE,CAAC;AAInC,MAAa,mBAAmF,SAAQ,wBAAa;IAArH;;QAyBY,mBAAc,GAAsB,CAAC,8BAAqB,EAAE,8BAAqB,CAAC,CAAC;QAQnF,sBAAiB,GAAY,KAAK,CAAC;IA8W/C,CAAC;IAtYC,aAAa,CAAC,KAAa;QACzB,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,+BAAsB,CAAC,CAAC;SAC/C;IACH,CAAC;IAYD,gBAAgB,CAAC,aAA+B;QAC9C,IAAI,IAAA,gBAAO,EAAC,aAAa,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;SACrC;IACH,CAAC;IAiBD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAGhD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,kCAAyB,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,mCAAI,8BAAqB,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,2BAAkB,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,uBAAc,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,0CAAE,OAAO,mCAAI,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,0CAAE,IAAI,0CAAE,OAAO,mCAAI,6BAAoB,CAAC;QAG/G,IAAI,CAAC,gBAAgB,mBACnB,cAAc,EAAE,kCAAyB,EACzC,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,4BAAmB,IAC3B,IAAI,CAAC,KAAK,CAAC,eAAe,CAC9B,CAAC;QAGF,IAAI,CAAC,qBAAqB,mBACxB,kBAAkB,EAAE,IAAI,CAAC,cAAc,EAAE,EACzC,mBAAmB,EAAE,8BAAqB,EAC1C,UAAU,EAAE,SAAS,IAClB,MAAA,IAAI,CAAC,KAAK,0CAAE,oBAAoB,CACpC,CAAC;QACF,IAAI,CAAC,mBAAmB;YACtB,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,0CAAE,OAAO,mCAAI,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,0CAAE,WAAW,0CAAE,OAAO,mCAAI,6BAAoB,CAAC;QAE3G,IAAI,CAAC,iBAAiB,GAAG,CAAC,mBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/D,sBAAsB,EAAE,IAAI,CAAC,YAAY;YACzC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,YAAY,EAAE,IAAI;SACnB,CAAc,CAAC;QAChB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAc,CAAC;SAC7F;IACH,CAAC;IAED,aAAa;;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpF,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,IAAI,EAAE,IAAI,CAAC,cAAc;oBACvB,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;gBACxD,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;gBACpC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;aAChD,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,YAAY,CACf,eAAe,EACf;gBACE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,oBAAoB;oBACnD,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC;gBACnF,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;gBACpC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa;aAC/C,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,IAAA,uBAAe,EAAC,+BAAsB,CAAC,SAAS,EAAE,EAAE,IAAA,2BAAmB,EAAC,8BAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC9G,CAAC;SACH;IACH,CAAC;IAES,wBAAwB,CAAC,KAAa,EAAE,aAAsB;;QACtE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAChG,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,MAAM,UAAU,GACd,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GACT,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,mCACnD,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAW,CAAC,CAAC;QACvE,OAAO,MAAA,MAAA,IAAI,uCAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,mDAAG,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,aAAsB;;QACzD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC;gBAC1D,KAAK,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,oCAAyB;aACtD,CAAC;SACH;QAID,IAAI,SAAS,GACX,MAAA,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,mCAC/E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C;QAID,OAAO,CAAC,KAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAEvD,IAAI,CAAC,IAAA,sBAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACjF,OAAO;SACR;QAED,MAAM,mBAAmB,GAAU,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,oBAAW,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;QAG3E,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,sBAAM,EAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3G,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrE,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,8BAAiB;gBACrB,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE;oBACvB,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACnC;oBACD,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;SACJ;QAGD,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,6BAAgB;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,CAAC,CAAC;QACH,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,qCAAwB;YAC5B,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,CAAC;SACF,CAAC,CAAC;QAGH,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAE;YACjC,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,4BAAe;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY;aACvC,CAAC,CAAC;SACJ;QAED,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAGpF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,WAAW;gBAEjB,UAAU,EAAE,CAAC,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU;gBACzF,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,YAAY,EAAE,2BAAgB;gBAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,6BAAgB,EAAE;gBACnC,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBAEpE,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,MAAM;gBACrD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM;gBAC9C,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO;gBAChD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,gBAAgB;gBAC7D,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;gBACtD,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;aACvD,CAAC,CAAC;YAEF,IAAI,CAAC,SAA6B,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;SACjF;aAEI;YACH,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,gBAAgB;gBAEtB,YAAY,EAAE,2BAAgB;gBAE9B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU;gBAEtB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClF,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBAEpE,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,cAAc,EAAE,IAAI,CAAC,mBAAmB;gBACxC,gBAAgB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBACxG,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,iBAAiB,EAAE,mBAAmB;gBAEtC,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,qBAAqB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB;gBACxE,mBAAmB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,mBAAmB;gBACpE,sBAAsB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,sBAAsB;gBAC1E,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBAEtE,KAAK,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,KAAK;gBACxC,YAAY,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,YAAY;gBACtD,iBAAiB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,iBAAiB;gBAChE,eAAe,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,eAAe;gBAC5D,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBACtE,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,kBAAkB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,kBAAkB;gBAClE,gBAAgB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,gBAAgB;gBAC9D,qBAAqB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,qBAAqB;gBACxE,0BAA0B,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,0BAA0B;aACnF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAmE,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,IAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,MAAW,EAAE,MAAY;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oCAAoC;IAEpC,CAAC;IAED,cAAc;QAEZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;QAEjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;QAEhB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;IAEpB,CAAC;IAED,sBAAsB;IAEtB,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,OAAO,MAAM,CAAC;SACf;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AA9YH,kDA+YC;AA9YiB,wBAAI,mCACf,wBAAU,CAAC,IAAI,KAClB,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,EACrF,CAAC,8BAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,IACnG","file":"base.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IPadding } from '@visactor/vutils';\nimport { isEqual, isValidNumber } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { isTrueBrowser } from '../../util';\nimport {\n DEFAULT_DRAW_OUT_OF_BOUND,\n DEFAULT_FONTSIZE_RANGE,\n DEFAULT_FONT_PADDING,\n DEFAULT_FONT_WEIGHT_RANGE,\n DEFAULT_MASK_SHAPE,\n DEFAULT_MIN_FONT_SIZE,\n DEFAULT_RANDOM,\n DEFAULT_ROTATE_ANGLES,\n DEFAULT_ZOOM_TO_FIT,\n SHAPE_TYPE\n} from './config';\nimport type {\n IWordCloudSeriesSpec,\n WordCloudConfigType,\n WordCloudShapeConfigType,\n WordCloudShapeType\n} from './interface';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { Datum, IPoint } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { VChart } from '../../core/vchart';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([TextMark]);\n\nregisterWordCloudTransforms();\nregisterWordCloudShapeTransforms();\n\nexport type IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & { type: string };\n\nexport class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.word]: { name: SeriesMarkNameEnum.word, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.fillingWord]: { name: SeriesMarkNameEnum.fillingWord, type: MarkTypeEnum.text }\n };\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n this.setFontSizeRange(DEFAULT_FONTSIZE_RANGE);\n }\n }\n\n protected _fontFamilyField: string;\n protected _fontWeightField: string;\n protected _fontStyleField: string;\n protected _colorHexField: string;\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n\n protected _fontSizeRange?: [number, number] = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number]) {\n if (isValid(fontSizeRange) && isValid(this._spec.valueField)) {\n this._fontSizeRange = fontSizeRange;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType;\n protected _isWordCloudShape: boolean = false;\n\n protected _keepAspect?: boolean;\n protected _random?: boolean;\n protected _fontPadding?: number;\n protected _fillingFontPadding?: number;\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _padding?: IPadding;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._padding = this._option.getChart().padding;\n\n // 普通词云 & 形状词云 共有spec相关\n this._nameField = this._spec.nameField;\n this._fontFamilyField = this._spec.fontFamilyField;\n this._fontWeightField = this._spec.fontWeightField;\n this._fontStyleField = this._spec.fontStyleField;\n this._colorHexField = this._spec.colorHexField;\n this._colorMode = this._spec.colorMode ?? 'ordinal';\n this._colorList = this._spec.colorList;\n this.setValueField(this._spec.valueField);\n this._fontWeightRange = this._spec.fontWeightRange ?? DEFAULT_FONT_WEIGHT_RANGE;\n this._rotateAngles = this._spec.rotateAngles ?? DEFAULT_ROTATE_ANGLES;\n this.setFontSizeRange(this._spec.fontSizeRange);\n this._maskShape = this._spec.maskShape ?? DEFAULT_MASK_SHAPE;\n this._keepAspect = this._spec.keepAspect;\n this._random = this._spec.random ?? DEFAULT_RANDOM;\n this._fontPadding = this._spec?.word?.padding ?? this._theme?.wordCloud?.word?.padding ?? DEFAULT_FONT_PADDING;\n\n // 普通词云spec相关\n this._wordCloudConfig = {\n drawOutOfBound: DEFAULT_DRAW_OUT_OF_BOUND,\n layoutMode: 'default',\n zoomToFit: DEFAULT_ZOOM_TO_FIT,\n ...this._spec.wordCloudConfig\n };\n\n // 形状词云spec相关\n this._wordCloudShapeConfig = {\n fillingSeriesField: this.getSeriesField(),\n fillingRotateAngles: DEFAULT_ROTATE_ANGLES,\n layoutMode: 'default',\n ...this._spec?.wordCloudShapeConfig\n };\n this._fillingFontPadding =\n this._spec?.fillingWord?.padding ?? this._theme?.wordCloud?.fillingWord?.padding ?? DEFAULT_FONT_PADDING;\n\n this._isWordCloudShape = !SHAPE_TYPE.includes(this._maskShape);\n }\n\n protected _wordMark: ITextMark;\n protected _fillingWordMark: ITextMark;\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n defaultMorphElementKey: this._seriesField,\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.wordCloud(), userAnimationConfig(SeriesMarkNameEnum.word, this._spec))\n );\n }\n }\n\n protected getWordOrdinalColorScale(field: string, isFillingWord: boolean) {\n const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList;\n const colorDomain = field ? this.getViewData()?.latestData.map((datum: Datum) => datum[field]) : [];\n const colorRange =\n colorList ??\n this._option.globalScale.getScale('color')?.range() ??\n getDataScheme(this._option.getTheme().colorScheme, this.type as any);\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n getWordColorAttribute(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n return {\n scale: this.getWordOrdinalColorScale(field, isFillingWord),\n field: this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n // const valueScale = new LinearScale()\n // .domain(extent(this.getViewData()?.latestData.map((datum: Datum) => datum[field])), true)\n // .range([0, 1]);\n let colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n // 如果用户只输入了一个 color,无法构成 colorRange,则进行兜底\n if (colorList.length === 1) {\n colorList = [colorList[0], colorList[0]];\n }\n // 颜色插值 todo@chensiji\n // const interpolate = interpolateColors(colorList)\n // return (datum: Datum) => interpolate(valueScale.scale(datum[field]))\n return (datum: Datum) => colorList[0];\n }\n\n compile(): void {\n super.compile();\n const { width, height } = this._region.getLayoutRect();\n // 非正常尺寸下不进行布局\n if (!isValidNumber(width) || !isValidNumber(height) || !(height > 0 && width > 0)) {\n return;\n }\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: !isTrueBrowser(this._option.mode) ? 'fast' : this._wordCloudConfig.layoutMode,\n size: [width, height],\n shape: this._maskShape,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的transform上\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n dataIndexKey: DEFAULT_DATA_KEY,\n\n size: [width, height],\n shape: this._maskShape,\n\n text: { field: this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: any): number {\n return null;\n }\n dataToPositionY(data: any): number {\n return null;\n }\n dataToPositionZ(data: any): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n setValueFieldToStack(): void {\n // do nothing\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.compile();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if (!isEqual(originalSpec, spec)) {\n result.reMake = true;\n result.reCompile = true;\n return result;\n }\n return result;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/base.ts"],"names":[],"mappings":";;;AAEA,6CAA0D;AAC1D,6CAA2C;AAC3C,6CAA6F;AAC7F,oDAAoD;AAGpD,4CAAkD;AAClD,qCAA2C;AAC3C,qCAWkB;AAOlB,qEAA2E;AAC3E,iFAAsF;AAEtF,mDAAgE;AAChE,iDAA6E;AAC7E,6CAA+C;AAC/C,2DAAiD;AACjD,0DAKmC;AACnC,wDAA8D;AAE9D,qDAAiD;AACjD,yEAAoE;AACpE,8CAA2C;AAC3C,0CAA2C;AAE3C,eAAM,CAAC,OAAO,CAAC,CAAC,eAAQ,CAAC,CAAC,CAAC;AAE3B,IAAA,gDAA2B,GAAE,CAAC;AAC9B,IAAA,2DAAgC,GAAE,CAAC;AAInC,MAAa,mBAAmF,SAAQ,wBAAa;IAArH;;QAyBY,mBAAc,GAAsB,CAAC,8BAAqB,EAAE,8BAAqB,CAAC,CAAC;QAQnF,sBAAiB,GAAY,KAAK,CAAC;IA8W/C,CAAC;IAtYC,aAAa,CAAC,KAAa;QACzB,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,+BAAsB,CAAC,CAAC;SAC/C;IACH,CAAC;IAYD,gBAAgB,CAAC,aAA+B;QAC9C,IAAI,IAAA,gBAAO,EAAC,aAAa,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;SACrC;IACH,CAAC;IAiBD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAGhD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,kCAAyB,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,mCAAI,8BAAqB,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,2BAAkB,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,uBAAc,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,0CAAE,OAAO,mCAAI,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,0CAAE,IAAI,0CAAE,OAAO,mCAAI,6BAAoB,CAAC;QAG/G,IAAI,CAAC,gBAAgB,mBACnB,cAAc,EAAE,kCAAyB,EACzC,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,4BAAmB,IAC3B,IAAI,CAAC,KAAK,CAAC,eAAe,CAC9B,CAAC;QAGF,IAAI,CAAC,qBAAqB,mBACxB,kBAAkB,EAAE,IAAI,CAAC,cAAc,EAAE,EACzC,mBAAmB,EAAE,8BAAqB,EAC1C,UAAU,EAAE,SAAS,IAClB,MAAA,IAAI,CAAC,KAAK,0CAAE,oBAAoB,CACpC,CAAC;QACF,IAAI,CAAC,mBAAmB;YACtB,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,0CAAE,OAAO,mCAAI,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,0CAAE,WAAW,0CAAE,OAAO,mCAAI,6BAAoB,CAAC;QAE3G,IAAI,CAAC,iBAAiB,GAAG,CAAC,mBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/D,sBAAsB,EAAE,IAAI,CAAC,YAAY;YACzC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,YAAY,EAAE,IAAI;SACnB,CAAc,CAAC;QAChB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAc,CAAC;SAC7F;IACH,CAAC;IAED,aAAa;;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpF,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,IAAI,EAAE,IAAI,CAAC,cAAc;oBACvB,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;gBACxD,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;gBACpC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;aAChD,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,YAAY,CACf,eAAe,EACf;gBACE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,oBAAoB;oBACnD,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC;gBACnF,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;gBACpC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa;aAC/C,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,IAAA,uBAAe,EAAC,+BAAsB,CAAC,SAAS,EAAE,EAAE,IAAA,2BAAmB,EAAC,8BAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC9G,CAAC;SACH;IACH,CAAC;IAES,wBAAwB,CAAC,KAAa,EAAE,aAAsB;;QACtE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAChG,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,MAAM,UAAU,GACd,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GACT,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,mCACnD,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAW,CAAC,CAAC;QACvE,OAAO,MAAA,MAAA,IAAI,uCAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,mDAAG,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,aAAsB;;QACzD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC;gBAC1D,KAAK,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,oCAAyB;aACtD,CAAC;SACH;QAID,IAAI,SAAS,GACX,MAAA,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,mCAC/E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C;QAID,OAAO,CAAC,KAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAEvD,IAAI,CAAC,IAAA,sBAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACjF,OAAO;SACR;QAED,MAAM,mBAAmB,GAAU,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,oBAAW,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;QAG3E,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,sBAAM,EAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5G,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrE,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,8BAAiB;gBACrB,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE;oBACvB,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACnC;oBACD,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;SACJ;QAGD,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,6BAAgB;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,CAAC,CAAC;QACH,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,qCAAwB;YAC5B,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,CAAC;SACF,CAAC,CAAC;QAGH,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAE;YACjC,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,4BAAe;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY;aACvC,CAAC,CAAC;SACJ;QAED,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAGpF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,WAAW;gBAEjB,UAAU,EAAE,CAAC,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU;gBACzF,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,YAAY,EAAE,2BAAgB;gBAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,6BAAgB,EAAE;gBACnC,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBAEpE,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,MAAM;gBACrD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM;gBAC9C,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO;gBAChD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,gBAAgB;gBAC7D,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;gBACtD,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;aACvD,CAAC,CAAC;YAEF,IAAI,CAAC,SAA6B,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;SACjF;aAEI;YACH,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,gBAAgB;gBAEtB,YAAY,EAAE,2BAAgB;gBAE9B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU;gBAEtB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClF,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBAEpE,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,cAAc,EAAE,IAAI,CAAC,mBAAmB;gBACxC,gBAAgB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBACxG,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,iBAAiB,EAAE,mBAAmB;gBAEtC,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,qBAAqB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB;gBACxE,mBAAmB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,mBAAmB;gBACpE,sBAAsB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,sBAAsB;gBAC1E,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBAEtE,KAAK,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,KAAK;gBACxC,YAAY,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,YAAY;gBACtD,iBAAiB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,iBAAiB;gBAChE,eAAe,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,eAAe;gBAC5D,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBACtE,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,kBAAkB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,kBAAkB;gBAClE,gBAAgB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,gBAAgB;gBAC9D,qBAAqB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,qBAAqB;gBACxE,0BAA0B,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,0BAA0B;aACnF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAmE,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,IAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,MAAW,EAAE,MAAY;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oCAAoC;IAEpC,CAAC;IAED,cAAc;QAEZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;QAEjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;QAEhB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;IAEpB,CAAC;IAED,sBAAsB;IAEtB,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,OAAO,MAAM,CAAC;SACf;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AA9YH,kDA+YC;AA9YiB,wBAAI,mCACf,wBAAU,CAAC,IAAI,KAClB,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,EACrF,CAAC,8BAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,IACnG","file":"base.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IPadding } from '@visactor/vutils';\nimport { isEqual, isValidNumber } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { isTrueBrowser } from '../../util';\nimport {\n DEFAULT_DRAW_OUT_OF_BOUND,\n DEFAULT_FONTSIZE_RANGE,\n DEFAULT_FONT_PADDING,\n DEFAULT_FONT_WEIGHT_RANGE,\n DEFAULT_MASK_SHAPE,\n DEFAULT_MIN_FONT_SIZE,\n DEFAULT_RANDOM,\n DEFAULT_ROTATE_ANGLES,\n DEFAULT_ZOOM_TO_FIT,\n SHAPE_TYPE\n} from './config';\nimport type {\n IWordCloudSeriesSpec,\n WordCloudConfigType,\n WordCloudShapeConfigType,\n WordCloudShapeType\n} from './interface';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { Datum, IPoint } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { VChart } from '../../core/vchart';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([TextMark]);\n\nregisterWordCloudTransforms();\nregisterWordCloudShapeTransforms();\n\nexport type IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & { type: string };\n\nexport class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.word]: { name: SeriesMarkNameEnum.word, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.fillingWord]: { name: SeriesMarkNameEnum.fillingWord, type: MarkTypeEnum.text }\n };\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n this.setFontSizeRange(DEFAULT_FONTSIZE_RANGE);\n }\n }\n\n protected _fontFamilyField: string;\n protected _fontWeightField: string;\n protected _fontStyleField: string;\n protected _colorHexField: string;\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n\n protected _fontSizeRange?: [number, number] = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number]) {\n if (isValid(fontSizeRange) && isValid(this._spec.valueField)) {\n this._fontSizeRange = fontSizeRange;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType;\n protected _isWordCloudShape: boolean = false;\n\n protected _keepAspect?: boolean;\n protected _random?: boolean;\n protected _fontPadding?: number;\n protected _fillingFontPadding?: number;\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _padding?: IPadding;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._padding = this._option.getChart().padding;\n\n // 普通词云 & 形状词云 共有spec相关\n this._nameField = this._spec.nameField;\n this._fontFamilyField = this._spec.fontFamilyField;\n this._fontWeightField = this._spec.fontWeightField;\n this._fontStyleField = this._spec.fontStyleField;\n this._colorHexField = this._spec.colorHexField;\n this._colorMode = this._spec.colorMode ?? 'ordinal';\n this._colorList = this._spec.colorList;\n this.setValueField(this._spec.valueField);\n this._fontWeightRange = this._spec.fontWeightRange ?? DEFAULT_FONT_WEIGHT_RANGE;\n this._rotateAngles = this._spec.rotateAngles ?? DEFAULT_ROTATE_ANGLES;\n this.setFontSizeRange(this._spec.fontSizeRange);\n this._maskShape = this._spec.maskShape ?? DEFAULT_MASK_SHAPE;\n this._keepAspect = this._spec.keepAspect;\n this._random = this._spec.random ?? DEFAULT_RANDOM;\n this._fontPadding = this._spec?.word?.padding ?? this._theme?.wordCloud?.word?.padding ?? DEFAULT_FONT_PADDING;\n\n // 普通词云spec相关\n this._wordCloudConfig = {\n drawOutOfBound: DEFAULT_DRAW_OUT_OF_BOUND,\n layoutMode: 'default',\n zoomToFit: DEFAULT_ZOOM_TO_FIT,\n ...this._spec.wordCloudConfig\n };\n\n // 形状词云spec相关\n this._wordCloudShapeConfig = {\n fillingSeriesField: this.getSeriesField(),\n fillingRotateAngles: DEFAULT_ROTATE_ANGLES,\n layoutMode: 'default',\n ...this._spec?.wordCloudShapeConfig\n };\n this._fillingFontPadding =\n this._spec?.fillingWord?.padding ?? this._theme?.wordCloud?.fillingWord?.padding ?? DEFAULT_FONT_PADDING;\n\n this._isWordCloudShape = !SHAPE_TYPE.includes(this._maskShape);\n }\n\n protected _wordMark: ITextMark;\n protected _fillingWordMark: ITextMark;\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n defaultMorphElementKey: this._seriesField,\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.wordCloud(), userAnimationConfig(SeriesMarkNameEnum.word, this._spec))\n );\n }\n }\n\n protected getWordOrdinalColorScale(field: string, isFillingWord: boolean) {\n const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList;\n const colorDomain = field ? this.getViewData()?.latestData.map((datum: Datum) => datum[field]) : [];\n const colorRange =\n colorList ??\n this._option.globalScale.getScale('color')?.range() ??\n getDataScheme(this._option.getTheme().colorScheme, this.type as any);\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n getWordColorAttribute(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n return {\n scale: this.getWordOrdinalColorScale(field, isFillingWord),\n field: this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n // const valueScale = new LinearScale()\n // .domain(extent(this.getViewData()?.latestData.map((datum: Datum) => datum[field])), true)\n // .range([0, 1]);\n let colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n // 如果用户只输入了一个 color,无法构成 colorRange,则进行兜底\n if (colorList.length === 1) {\n colorList = [colorList[0], colorList[0]];\n }\n // 颜色插值 todo@chensiji\n // const interpolate = interpolateColors(colorList)\n // return (datum: Datum) => interpolate(valueScale.scale(datum[field]))\n return (datum: Datum) => colorList[0];\n }\n\n compile(): void {\n super.compile();\n const { width, height } = this._region.getLayoutRect();\n // 非正常尺寸下不进行布局\n if (!isValidNumber(width) || !isValidNumber(height) || !(height > 0 && width > 0)) {\n return;\n }\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => +datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: !isTrueBrowser(this._option.mode) ? 'fast' : this._wordCloudConfig.layoutMode,\n size: [width, height],\n shape: this._maskShape,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的transform上\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n dataIndexKey: DEFAULT_DATA_KEY,\n\n size: [width, height],\n shape: this._maskShape,\n\n text: { field: this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: any): number {\n return null;\n }\n dataToPositionY(data: any): number {\n return null;\n }\n dataToPositionZ(data: any): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n setValueFieldToStack(): void {\n // do nothing\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.compile();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if (!isEqual(originalSpec, spec)) {\n result.reMake = true;\n result.reCompile = true;\n return result;\n }\n return result;\n }\n}\n"]}
@@ -79,7 +79,7 @@ export interface IWordCloudSeriesBaseSpec extends ISeriesSpec, IAnimationSpec<st
79
79
  wordCloudShapeConfig?: WordCloudShapeConfigType;
80
80
  [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {
81
81
  padding?: number;
82
- formatMethod?: (text: string | string[], datum?: any) => string | string[];
82
+ formatMethod?: (datum?: any) => string;
83
83
  };
84
84
  [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {
85
85
  padding?: number;
@@ -91,11 +91,11 @@ export interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {
91
91
  export interface IWordCloudSeriesTheme {
92
92
  [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {
93
93
  padding?: number;
94
- formatMethod?: (text: string | string[], datum?: any) => string | string[];
94
+ formatMethod?: (datum?: any) => string;
95
95
  };
96
96
  [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {
97
97
  padding?: number;
98
- formatMethod?: (text: string | string[], datum?: any) => string | string[];
98
+ formatMethod?: (datum?: any) => string;
99
99
  };
100
100
  }
101
101
  export interface IWordCloud3dSeriesSpec extends IWordCloudSeriesBaseSpec {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/interface.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,yDAAmC,CAAA;IACnC,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAS7B","file":"interface.js","sourcesContent":["import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, IChartPadding } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport enum WordCloudShapeEnum {\n triangleForward = 'triangleForward', // 右箭头\n triangle = 'triangle', // 三角形\n diamond = 'diamond', // 菱形\n square = 'square', // 方形\n star = 'star', // 星形\n cardioid = 'cardioid', // 心形\n circle = 'circle', // 圆形\n pentagon = 'pentagon' // 五角形\n}\n\nexport type WordCloudShapeType = keyof typeof WordCloudShapeEnum;\n\nexport type EllipsisType = {\n /**\n * 超长文本替代字符串\n * @default '...'\n */\n string?: string;\n /**\n * 限制长度\n * @description 超过该长度的部分展示用户指定字符串\n */\n limitLength?: number;\n};\n\nexport type ZoomToFitType = {\n /**\n * 是否缩小\n */\n shrink?: boolean;\n /**\n * 是否放大\n */\n enlarge?: boolean;\n /**\n * 缩小的最小字号\n * @description shrink: true时生效\n */\n fontSizeLimitMin?: number;\n /**\n * 放大的最大字号\n * @description enlarge: true时生效\n */\n fontSizeLimitMax?: number;\n};\n/**\n * 超出画布的超长文本处理方式\n * @description 'clip': 绘制超长文本,超出画布的部分裁剪掉; 'hidden': 不绘制超长文本; 'ellipsis'绘制超长文本,且使用用户指定的字符串代替超出的文本\n */\nexport type DrawOutOfBoundType = 'clip' | 'hidden' | 'ellipsis';\n\nexport type WordCloudConfigType = {\n /**\n * 超长文本省略策略, 超出画布\n * @default 'hidden'\n */\n drawOutOfBound?: DrawOutOfBoundType; // 默认hidden\n /**\n * TODO: 省略文本的配置\n */\n ellipsis?: EllipsisType;\n /**\n * 布局模式:\n * 'fast': 快速布局,用于小程序 & 小组件环境\n * 'grid': 基于grid像素布局\n * 'default': 基于像素布局\n */\n layoutMode?: 'fast' | 'grid' | 'default';\n /**\n * 自适应缩放配置\n */\n zoomToFit: ZoomToFitType;\n /**\n * 渐进式渲染配置 - 布局时间\n */\n progressiveTime?: number;\n /**\n * 渐进式渲染配置 - 布局次数\n */\n progressiveStep?: number;\n};\nexport type WordCloudShapeConfigType = {\n /**\n * 填充词 - 颜色通道\n */\n fillingSeriesField?: string;\n /**\n * 填充词 - 颜色列表\n */\n fillingColorList?: string[];\n /**\n * 填充词 - 字体字段\n */\n fillingFontFamilyField?: string;\n /**\n * 填充词 - 字重字段\n */\n fillingFontWeightField?: string;\n /**\n * 填充词 - 字体样式字段\n */\n fillingFontStyleField?: string;\n /**\n * 填充词 - 直接指定 hex 颜色字段\n */\n fillingColorHexField?: string;\n /**\n * 填充词 - 可旋转角度 随机取范围\n */\n fillingRotateAngles?: number[];\n /**\n * 整体布局 - 自动计算核心词时期望的比例\n */\n ratio?: number;\n /**\n * 整体布局 - 是否对输入图片去除白边\n */\n removeWhiteBorder?: boolean;\n /**\n * 整体布局 - 布局模式\n */\n layoutMode?: 'default' | 'ensureMapping' | 'ensureMappingEnlarge';\n /**\n * 填充布局 - 填充文字填充次数\n */\n fillingTimes?: number;\n /**\n * 填充布局 - 填充时 x 的前进范围\n */\n fillingXStep?: number;\n /**\n * 填充布局 - 填充时 y 的前进范围\n */\n fillingYStep?: number;\n /**\n * 填充布局 - 填充时 x 的前进范围(相对宽度比例)\n */\n fillingXRatioStep?: number;\n /**\n * 填充布局 - 填充时 y 的前进范围(相对高度比例)\n */\n fillingYRatioStep?: number;\n /**\n * 填充布局 - 填充文字初始大小\n */\n fillingInitialFontSize?: number;\n /**\n * 填充布局 - 填充文字每次填充大小缩小值\n */\n fillingDeltaFontSize?: number;\n /**\n * 填充布局 - 填充文字初始透明度\n */\n fillingInitialOpacity?: number;\n /**\n * 填充布局 - 填充文字每次透明度缩小值\n */\n fillingDeltaOpacity?: number;\n /**\n * 填充布局 - 单词尝试布局次数\n */\n textLayoutTimes?: number;\n /**\n * 填充布局 - 每次布局失败后,缩小字号的系数\n */\n fontSizeShrinkFactor?: number;\n /**\n * 填充布局 - 布局步长系数\n */\n stepFactor?: number;\n /**\n * 填充布局 - 重要词数\n */\n importantWordCount?: number;\n /**\n * 填充布局 - 字号缩小限制\n */\n globalShinkLimit?: number;\n /**\n * 填充布局 - 每次布局成功后,放大字号的系数\n */\n fontSizeEnlargeFactor?: number;\n /**\n * 填充布局 - 填充词自动计算字号后,每次迭代字号缩小的系数\n */\n fillingDeltaFontSizeFactor?: number;\n /**\n * 填充布局 - 自动计算填充词时期望的比例\n */\n fillingRatio?: number;\n};\n\nexport interface IWordCloudSeriesBaseSpec extends ISeriesSpec, IAnimationSpec<string, string> {\n /**\n * 文本字段\n */\n nameField: string;\n /**\n * 权重字段\n */\n valueField?: string;\n /**\n * 字体字段\n */\n fontFamilyField?: string;\n /**\n * 字重字段\n */\n fontWeightField?: string;\n /**\n * 字体样式字段\n */\n fontStyleField?: string;\n /**\n * 直接指定 hex 颜色字段\n */\n colorHexField?: string;\n /**\n * 颜色模式\n */\n colorMode?: 'linear' | 'ordinal';\n /**\n * 颜色列表\n */\n colorList?: string[];\n /**\n * 可旋转角度 随机取范围\n */\n rotateAngles?: number[];\n /**\n * 字重范围\n * @default [200,500]\n */\n fontWeightRange?: [number, number]; // 需要固定字重大小的话,数组里面的数就配置成一样的\n /**\n * 字体大小范围\n * @description 当valueField存在时,默认值[20,40]; 当valueField不存在时,默认值[10, 10]\n */\n fontSizeRange?: [number, number]; // 需要固定字体大小的话,数组里面的数就配置成一样的\n /**\n * 词云形状\n * @default 'circle'\n */\n maskShape?: string | WordCloudShapeType; // url 或 svg字符串 或 base64,或shape字符串\n /**\n * TODO: 缩放mask时是否保持比例\n */\n keepAspect?: boolean;\n /**\n * 是否开始随机摆放方向(顺时针|逆时针), 主要用于spec测试\n */\n random?: boolean;\n /**\n * 词云特殊配置\n */\n wordCloudConfig?: WordCloudConfigType;\n /**\n * 形状词云特殊配置\n */\n wordCloudShapeConfig?: WordCloudShapeConfigType;\n /**\n * 词云文字图元配置 或 形状词云核心词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距 和 formatMethod: 文本格式化\n */\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n /**\n * 形状词云填充词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距\n * @description 不增加formatMethod的原因:形状词云在做布局时,word和fillingWord用的是同一份数据,即text相同,所以fillingWords的format不会生效\n */\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n // formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n// TODO: 补充 IAnimationSpec 动画类型 @hefeifei\nexport interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud';\n}\nexport interface IWordCloudSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n\nexport interface IWordCloud3dSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud3d';\n depth_3d?: number; // 词云的半径深度\n postProjection?: 'StereographicProjection'; // 词云投影的算法\n}\n\nexport interface IWordCloud3dSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/interface.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,yDAAmC,CAAA;IACnC,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAS7B","file":"interface.js","sourcesContent":["import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, IChartPadding } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport enum WordCloudShapeEnum {\n triangleForward = 'triangleForward', // 右箭头\n triangle = 'triangle', // 三角形\n diamond = 'diamond', // 菱形\n square = 'square', // 方形\n star = 'star', // 星形\n cardioid = 'cardioid', // 心形\n circle = 'circle', // 圆形\n pentagon = 'pentagon' // 五角形\n}\n\nexport type WordCloudShapeType = keyof typeof WordCloudShapeEnum;\n\nexport type EllipsisType = {\n /**\n * 超长文本替代字符串\n * @default '...'\n */\n string?: string;\n /**\n * 限制长度\n * @description 超过该长度的部分展示用户指定字符串\n */\n limitLength?: number;\n};\n\nexport type ZoomToFitType = {\n /**\n * 是否缩小\n */\n shrink?: boolean;\n /**\n * 是否放大\n */\n enlarge?: boolean;\n /**\n * 缩小的最小字号\n * @description shrink: true时生效\n */\n fontSizeLimitMin?: number;\n /**\n * 放大的最大字号\n * @description enlarge: true时生效\n */\n fontSizeLimitMax?: number;\n};\n/**\n * 超出画布的超长文本处理方式\n * @description 'clip': 绘制超长文本,超出画布的部分裁剪掉; 'hidden': 不绘制超长文本; 'ellipsis'绘制超长文本,且使用用户指定的字符串代替超出的文本\n */\nexport type DrawOutOfBoundType = 'clip' | 'hidden' | 'ellipsis';\n\nexport type WordCloudConfigType = {\n /**\n * 超长文本省略策略, 超出画布\n * @default 'hidden'\n */\n drawOutOfBound?: DrawOutOfBoundType; // 默认hidden\n /**\n * TODO: 省略文本的配置\n */\n ellipsis?: EllipsisType;\n /**\n * 布局模式:\n * 'fast': 快速布局,用于小程序 & 小组件环境\n * 'grid': 基于grid像素布局\n * 'default': 基于像素布局\n */\n layoutMode?: 'fast' | 'grid' | 'default';\n /**\n * 自适应缩放配置\n */\n zoomToFit: ZoomToFitType;\n /**\n * 渐进式渲染配置 - 布局时间\n */\n progressiveTime?: number;\n /**\n * 渐进式渲染配置 - 布局次数\n */\n progressiveStep?: number;\n};\nexport type WordCloudShapeConfigType = {\n /**\n * 填充词 - 颜色通道\n */\n fillingSeriesField?: string;\n /**\n * 填充词 - 颜色列表\n */\n fillingColorList?: string[];\n /**\n * 填充词 - 字体字段\n */\n fillingFontFamilyField?: string;\n /**\n * 填充词 - 字重字段\n */\n fillingFontWeightField?: string;\n /**\n * 填充词 - 字体样式字段\n */\n fillingFontStyleField?: string;\n /**\n * 填充词 - 直接指定 hex 颜色字段\n */\n fillingColorHexField?: string;\n /**\n * 填充词 - 可旋转角度 随机取范围\n */\n fillingRotateAngles?: number[];\n /**\n * 整体布局 - 自动计算核心词时期望的比例\n */\n ratio?: number;\n /**\n * 整体布局 - 是否对输入图片去除白边\n */\n removeWhiteBorder?: boolean;\n /**\n * 整体布局 - 布局模式\n */\n layoutMode?: 'default' | 'ensureMapping' | 'ensureMappingEnlarge';\n /**\n * 填充布局 - 填充文字填充次数\n */\n fillingTimes?: number;\n /**\n * 填充布局 - 填充时 x 的前进范围\n */\n fillingXStep?: number;\n /**\n * 填充布局 - 填充时 y 的前进范围\n */\n fillingYStep?: number;\n /**\n * 填充布局 - 填充时 x 的前进范围(相对宽度比例)\n */\n fillingXRatioStep?: number;\n /**\n * 填充布局 - 填充时 y 的前进范围(相对高度比例)\n */\n fillingYRatioStep?: number;\n /**\n * 填充布局 - 填充文字初始大小\n */\n fillingInitialFontSize?: number;\n /**\n * 填充布局 - 填充文字每次填充大小缩小值\n */\n fillingDeltaFontSize?: number;\n /**\n * 填充布局 - 填充文字初始透明度\n */\n fillingInitialOpacity?: number;\n /**\n * 填充布局 - 填充文字每次透明度缩小值\n */\n fillingDeltaOpacity?: number;\n /**\n * 填充布局 - 单词尝试布局次数\n */\n textLayoutTimes?: number;\n /**\n * 填充布局 - 每次布局失败后,缩小字号的系数\n */\n fontSizeShrinkFactor?: number;\n /**\n * 填充布局 - 布局步长系数\n */\n stepFactor?: number;\n /**\n * 填充布局 - 重要词数\n */\n importantWordCount?: number;\n /**\n * 填充布局 - 字号缩小限制\n */\n globalShinkLimit?: number;\n /**\n * 填充布局 - 每次布局成功后,放大字号的系数\n */\n fontSizeEnlargeFactor?: number;\n /**\n * 填充布局 - 填充词自动计算字号后,每次迭代字号缩小的系数\n */\n fillingDeltaFontSizeFactor?: number;\n /**\n * 填充布局 - 自动计算填充词时期望的比例\n */\n fillingRatio?: number;\n};\n\nexport interface IWordCloudSeriesBaseSpec extends ISeriesSpec, IAnimationSpec<string, string> {\n /**\n * 文本字段\n */\n nameField: string;\n /**\n * 权重字段\n */\n valueField?: string;\n /**\n * 字体字段\n */\n fontFamilyField?: string;\n /**\n * 字重字段\n */\n fontWeightField?: string;\n /**\n * 字体样式字段\n */\n fontStyleField?: string;\n /**\n * 直接指定 hex 颜色字段\n */\n colorHexField?: string;\n /**\n * 颜色模式\n */\n colorMode?: 'linear' | 'ordinal';\n /**\n * 颜色列表\n */\n colorList?: string[];\n /**\n * 可旋转角度 随机取范围\n */\n rotateAngles?: number[];\n /**\n * 字重范围\n * @default [200,500]\n */\n fontWeightRange?: [number, number]; // 需要固定字重大小的话,数组里面的数就配置成一样的\n /**\n * 字体大小范围\n * @description 当valueField存在时,默认值[20,40]; 当valueField不存在时,默认值[10, 10]\n */\n fontSizeRange?: [number, number]; // 需要固定字体大小的话,数组里面的数就配置成一样的\n /**\n * 词云形状\n * @default 'circle'\n */\n maskShape?: string | WordCloudShapeType; // url 或 svg字符串 或 base64,或shape字符串\n /**\n * TODO: 缩放mask时是否保持比例\n */\n keepAspect?: boolean;\n /**\n * 是否开始随机摆放方向(顺时针|逆时针), 主要用于spec测试\n */\n random?: boolean;\n /**\n * 词云特殊配置\n */\n wordCloudConfig?: WordCloudConfigType;\n /**\n * 形状词云特殊配置\n */\n wordCloudShapeConfig?: WordCloudShapeConfigType;\n /**\n * 词云文字图元配置 或 形状词云核心词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距 和 formatMethod: 文本格式化\n */\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (datum?: any) => string;\n };\n /**\n * 形状词云填充词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距\n * @description 不增加formatMethod的原因:形状词云在做布局时,word和fillingWord用的是同一份数据,即text相同,所以fillingWords的format不会生效\n */\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n // formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n// TODO: 补充 IAnimationSpec 动画类型 @hefeifei\nexport interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud';\n}\nexport interface IWordCloudSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (datum?: any) => string;\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (datum?: any) => string;\n };\n}\n\nexport interface IWordCloud3dSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud3d';\n depth_3d?: number; // 词云的半径深度\n postProjection?: 'StereographicProjection'; // 词云投影的算法\n}\n\nexport interface IWordCloud3dSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n"]}
@@ -15,7 +15,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
15
15
  super.compile();
16
16
  const wordCloudTransforms = [], valueField = this._valueField, valueScale = new vscale_1.LinearScale, fontWeightRange = this._fontWeightRange, rotateAngles = this._rotateAngles, fontWeightField = this._fontWeightField, fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;
17
17
  if (valueField) {
18
- const [minValue, maxValue] = (0, vgrammar_util_1.extent)(null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData.map((datum => datum[valueField])));
18
+ const [minValue, maxValue] = (0, vgrammar_util_1.extent)(null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData.map((datum => +datum[valueField])));
19
19
  valueScale.domain([ minValue, maxValue ], !0).range(fontWeightRange), wordCloudTransforms.push({
20
20
  type: "map",
21
21
  as: word_cloud_1.WORD_CLOUD_WEIGHT,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport type { ITextMark } from '../../mark/text';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseWordCloudSeries } from './base';\n\nexport class WordCloud3dSeries extends BaseWordCloudSeries<IWordCloud3dSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport type { ITextMark } from '../../mark/text';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseWordCloudSeries } from './base';\n\nexport class WordCloud3dSeries extends BaseWordCloudSeries<IWordCloud3dSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => +datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { IAxisCommonTheme } from '../../../../../component/axis';
2
+ export declare const axisSymlog: IAxisCommonTheme;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.axisSymlog = void 0, exports.axisSymlog = {
6
+ domainLine: {
7
+ visible: !1
8
+ },
9
+ grid: {
10
+ visible: !0
11
+ },
12
+ subGrid: {
13
+ visible: !1
14
+ },
15
+ tick: {
16
+ visible: !1
17
+ },
18
+ subTick: {
19
+ visible: !1
20
+ }
21
+ };
22
+ //# sourceMappingURL=symlog-axis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/theme/buildin-theme/light/component/axis/symlog-axis.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAqB;IAC1C,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;KACf;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;CACF,CAAC","file":"symlog-axis.js","sourcesContent":["import type { IAxisCommonTheme } from '../../../../../component/axis';\n\nexport const axisSymlog: IAxisCommonTheme = {\n domainLine: {\n visible: false\n },\n grid: {\n visible: true\n },\n subGrid: {\n visible: false\n },\n tick: {\n visible: false\n },\n subTick: {\n visible: false\n }\n};\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.component = void 0;
6
6
 
7
- const band_axis_1 = require("./axis/band-axis"), cartesian_axis_1 = require("./axis/cartesian-axis"), common_axis_1 = require("./axis/common-axis"), linear_axis_1 = require("./axis/linear-axis"), polar_axis_1 = require("./axis/polar-axis"), brush_1 = require("./brush"), crosshair_1 = require("./crosshair"), data_zoom_1 = require("./data-zoom"), indicator_1 = require("./indicator"), color_legend_1 = require("./legend/color-legend"), discrete_legend_1 = require("./legend/discrete-legend"), size_legend_1 = require("./legend/size-legend"), map_label_1 = require("./map-label"), mark_area_1 = require("./mark-area"), mark_line_1 = require("./mark-line"), mark_point_1 = require("./mark-point"), player_1 = require("./player"), title_1 = require("./title"), tooltip_1 = require("./tooltip"), poptip_1 = require("./poptip");
7
+ const band_axis_1 = require("./axis/band-axis"), cartesian_axis_1 = require("./axis/cartesian-axis"), common_axis_1 = require("./axis/common-axis"), linear_axis_1 = require("./axis/linear-axis"), polar_axis_1 = require("./axis/polar-axis"), brush_1 = require("./brush"), crosshair_1 = require("./crosshair"), data_zoom_1 = require("./data-zoom"), indicator_1 = require("./indicator"), color_legend_1 = require("./legend/color-legend"), discrete_legend_1 = require("./legend/discrete-legend"), size_legend_1 = require("./legend/size-legend"), map_label_1 = require("./map-label"), mark_area_1 = require("./mark-area"), mark_line_1 = require("./mark-line"), mark_point_1 = require("./mark-point"), player_1 = require("./player"), title_1 = require("./title"), tooltip_1 = require("./tooltip"), poptip_1 = require("./poptip"), total_label_1 = require("./total-label");
8
8
 
9
9
  exports.component = {
10
10
  discreteLegend: discrete_legend_1.discreteLegend,
@@ -28,6 +28,7 @@ exports.component = {
28
28
  indicator: indicator_1.indicator,
29
29
  title: title_1.title,
30
30
  mapLabel: map_label_1.mapLabel,
31
- poptip: poptip_1.poptip
31
+ poptip: poptip_1.poptip,
32
+ totalLabel: total_label_1.totalLabel
32
33
  };
33
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/buildin-theme/light/component/index.ts"],"names":[],"mappings":";;;AACA,gDAA4C;AAC5C,0DAAqD;AACrD,oDAAgD;AAChD,oDAAgD;AAChD,kDAA0D;AAC1D,mCAAgC;AAChC,2CAAwC;AACxC,2CAAuC;AACvC,2CAAwC;AACxC,wDAAoD;AACpD,8DAA0D;AAC1D,sDAAkD;AAClD,2CAAuC;AACvC,2CAAuC;AACvC,2CAAuC;AACvC,6CAAyC;AACzC,qCAAkC;AAClC,mCAAgC;AAChC,uCAAoC;AACpC,qCAAkC;AAErB,QAAA,SAAS,GAAoB;IACxC,cAAc,EAAd,gCAAc;IACd,WAAW,EAAX,0BAAW;IACX,UAAU,EAAV,wBAAU;IACV,IAAI,EAAE,wBAAU;IAChB,QAAQ,EAAR,oBAAQ;IACR,UAAU,EAAV,wBAAU;IACV,KAAK,EAAL,sBAAK;IACL,KAAK,EAAL,sBAAK;IACL,SAAS,EAAT,sBAAS;IACT,UAAU,EAAV,uBAAU;IACV,QAAQ,EAAR,oBAAQ;IACR,QAAQ,EAAR,oBAAQ;IACR,SAAS,EAAT,sBAAS;IACT,OAAO,EAAP,iBAAO;IACP,QAAQ,EAAR,oBAAQ;IACR,SAAS,EAAT,qBAAS;IACT,MAAM,EAAN,eAAM;IACN,KAAK,EAAL,aAAK;IACL,SAAS,EAAT,qBAAS;IACT,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,oBAAQ;IACR,MAAM,EAAN,eAAM;CACP,CAAC","file":"index.js","sourcesContent":["import type { IComponentTheme } from '../../../../component/interface';\nimport { axisBand } from './axis/band-axis';\nimport { axisX, axisY } from './axis/cartesian-axis';\nimport { commonAxis } from './axis/common-axis';\nimport { axisLinear } from './axis/linear-axis';\nimport { axisAngle, axisRadius } from './axis/polar-axis';\nimport { brush } from './brush';\nimport { crosshair } from './crosshair';\nimport { dataZoom } from './data-zoom';\nimport { indicator } from './indicator';\nimport { colorLegend } from './legend/color-legend';\nimport { discreteLegend } from './legend/discrete-legend';\nimport { sizeLegend } from './legend/size-legend';\nimport { mapLabel } from './map-label';\nimport { markArea } from './mark-area';\nimport { markLine } from './mark-line';\nimport { markPoint } from './mark-point';\nimport { player } from './player';\nimport { title } from './title';\nimport { tooltip } from './tooltip';\nimport { poptip } from './poptip';\n\nexport const component: IComponentTheme = {\n discreteLegend,\n colorLegend,\n sizeLegend,\n axis: commonAxis,\n axisBand,\n axisLinear,\n axisX,\n axisY,\n axisAngle,\n axisRadius,\n markLine,\n markArea,\n markPoint,\n tooltip,\n dataZoom,\n crosshair,\n player,\n brush,\n indicator,\n title,\n mapLabel,\n poptip\n};\n"]}
1
+ {"version":3,"sources":["../src/theme/buildin-theme/light/component/index.ts"],"names":[],"mappings":";;;AACA,gDAA4C;AAC5C,0DAAqD;AACrD,oDAAgD;AAChD,oDAAgD;AAChD,kDAA0D;AAC1D,mCAAgC;AAChC,2CAAwC;AACxC,2CAAuC;AACvC,2CAAwC;AACxC,wDAAoD;AACpD,8DAA0D;AAC1D,sDAAkD;AAClD,2CAAuC;AACvC,2CAAuC;AACvC,2CAAuC;AACvC,6CAAyC;AACzC,qCAAkC;AAClC,mCAAgC;AAChC,uCAAoC;AACpC,qCAAkC;AAClC,+CAA2C;AAE9B,QAAA,SAAS,GAAoB;IACxC,cAAc,EAAd,gCAAc;IACd,WAAW,EAAX,0BAAW;IACX,UAAU,EAAV,wBAAU;IACV,IAAI,EAAE,wBAAU;IAChB,QAAQ,EAAR,oBAAQ;IACR,UAAU,EAAV,wBAAU;IACV,KAAK,EAAL,sBAAK;IACL,KAAK,EAAL,sBAAK;IACL,SAAS,EAAT,sBAAS;IACT,UAAU,EAAV,uBAAU;IACV,QAAQ,EAAR,oBAAQ;IACR,QAAQ,EAAR,oBAAQ;IACR,SAAS,EAAT,sBAAS;IACT,OAAO,EAAP,iBAAO;IACP,QAAQ,EAAR,oBAAQ;IACR,SAAS,EAAT,qBAAS;IACT,MAAM,EAAN,eAAM;IACN,KAAK,EAAL,aAAK;IACL,SAAS,EAAT,qBAAS;IACT,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,oBAAQ;IACR,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,wBAAU;CACX,CAAC","file":"index.js","sourcesContent":["import type { IComponentTheme } from '../../../../component/interface';\nimport { axisBand } from './axis/band-axis';\nimport { axisX, axisY } from './axis/cartesian-axis';\nimport { commonAxis } from './axis/common-axis';\nimport { axisLinear } from './axis/linear-axis';\nimport { axisAngle, axisRadius } from './axis/polar-axis';\nimport { brush } from './brush';\nimport { crosshair } from './crosshair';\nimport { dataZoom } from './data-zoom';\nimport { indicator } from './indicator';\nimport { colorLegend } from './legend/color-legend';\nimport { discreteLegend } from './legend/discrete-legend';\nimport { sizeLegend } from './legend/size-legend';\nimport { mapLabel } from './map-label';\nimport { markArea } from './mark-area';\nimport { markLine } from './mark-line';\nimport { markPoint } from './mark-point';\nimport { player } from './player';\nimport { title } from './title';\nimport { tooltip } from './tooltip';\nimport { poptip } from './poptip';\nimport { totalLabel } from './total-label';\n\nexport const component: IComponentTheme = {\n discreteLegend,\n colorLegend,\n sizeLegend,\n axis: commonAxis,\n axisBand,\n axisLinear,\n axisX,\n axisY,\n axisAngle,\n axisRadius,\n markLine,\n markArea,\n markPoint,\n tooltip,\n dataZoom,\n crosshair,\n player,\n brush,\n indicator,\n title,\n mapLabel,\n poptip,\n totalLabel\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { ITotalLabelTheme } from '../../../../component/label';
2
+ export declare const totalLabel: ITotalLabelTheme;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.totalLabel = void 0;
6
+
7
+ const constants_1 = require("../constants"), fontSize = constants_1.THEME_CONSTANTS.LABEL_FONT_SIZE, fontFamily = constants_1.THEME_CONSTANTS.FONT_FAMILY;
8
+
9
+ exports.totalLabel = {
10
+ visible: !1,
11
+ offset: 5,
12
+ overlap: {
13
+ clampForce: !0,
14
+ strategy: []
15
+ },
16
+ smartInvert: !1,
17
+ animation: !1,
18
+ style: {
19
+ fontSize: fontSize,
20
+ fontFamily: fontFamily,
21
+ fill: "black"
22
+ }
23
+ };
24
+ //# sourceMappingURL=total-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/theme/buildin-theme/light/component/total-label.ts"],"names":[],"mappings":";;;AACA,4CAA+C;AAE/C,MAAM,QAAQ,GAAG,2BAAe,CAAC,eAAe,CAAC;AACjD,MAAM,UAAU,GAAG,2BAAe,CAAC,WAAW,CAAC;AAElC,QAAA,UAAU,GAAqB;IAC1C,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,CAAC;IACT,OAAO,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE;KACb;IACD,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE;QACL,QAAQ;QACR,UAAU;QACV,IAAI,EAAE,OAAO;KACd;CACF,CAAC","file":"total-label.js","sourcesContent":["import type { ITotalLabelTheme } from '../../../../component/label';\nimport { THEME_CONSTANTS } from '../constants';\n\nconst fontSize = THEME_CONSTANTS.LABEL_FONT_SIZE;\nconst fontFamily = THEME_CONSTANTS.FONT_FAMILY;\n\nexport const totalLabel: ITotalLabelTheme = {\n visible: false,\n offset: 5,\n overlap: {\n clampForce: true,\n strategy: []\n },\n smartInvert: false,\n animation: false,\n style: {\n fontSize,\n fontFamily,\n fill: 'black'\n }\n};\n"]}
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "__esModule", {
10
10
  },
11
11
  label: {
12
12
  style: {
13
- fill: "white",
14
13
  textAlign: "center",
15
14
  textBaseline: "middle",
16
15
  fontSize: 12
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/buildin-theme/light/series/rose.ts"],"names":[],"mappings":";;;AAEa,QAAA,IAAI,GAAqB;IACpC,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,WAAW,EAAE,CAAC;SACf;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC","file":"rose.js","sourcesContent":["import type { IRoseSeriesTheme } from '../../../../series/rose/interface';\n\nexport const rose: IRoseSeriesTheme = {\n rose: {\n style: {\n fillOpacity: 1\n }\n },\n label: {\n style: {\n fill: 'white',\n textAlign: 'center',\n textBaseline: 'middle',\n fontSize: 12\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/theme/buildin-theme/light/series/rose.ts"],"names":[],"mappings":";;;AAEa,QAAA,IAAI,GAAqB;IACpC,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,WAAW,EAAE,CAAC;SACf;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YAEL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC","file":"rose.js","sourcesContent":["import type { IRoseSeriesTheme } from '../../../../series/rose/interface';\n\nexport const rose: IRoseSeriesTheme = {\n rose: {\n style: {\n fillOpacity: 1\n }\n },\n label: {\n style: {\n // fill: 'white',\n textAlign: 'center',\n textBaseline: 'middle',\n fontSize: 12\n }\n }\n};\n"]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  }), exports.sankey = void 0, exports.sankey = {
6
6
  link: {
7
7
  style: {
8
- lineWidth: 0,
9
8
  fillOpacity: .15,
10
9
  round: !0
11
10
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/buildin-theme/light/series/sankey.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAuB;IACxC,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI;SACZ;KACF;CACF,CAAC","file":"sankey.js","sourcesContent":["import type { ISankeySeriesTheme } from '../../../../series/sankey/interface';\n\nexport const sankey: ISankeySeriesTheme = {\n link: {\n style: {\n lineWidth: 0,\n fillOpacity: 0.15,\n round: true\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/theme/buildin-theme/light/series/sankey.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAuB;IACxC,IAAI,EAAE;QACJ,KAAK,EAAE;YAEL,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI;SACZ;KACF;CACF,CAAC","file":"sankey.js","sourcesContent":["import type { ISankeySeriesTheme } from '../../../../series/sankey/interface';\n\nexport const sankey: ISankeySeriesTheme = {\n link: {\n style: {\n // lineWidth: 0,\n fillOpacity: 0.15,\n round: true\n }\n }\n};\n"]}
@@ -23,6 +23,7 @@ import type { ICrosshairSpec } from '../../component/crosshair/interface';
23
23
  import type { ITheme } from '../../theme';
24
24
  import type { ITitleSpec } from '../../component/title/interface';
25
25
  import type { IBrushSpec } from '../../component/brush';
26
+ import type { ITotalLabelSpec } from '../../component/label';
26
27
  export type IChartPadding = ILayoutOrientPadding | number;
27
28
  export interface IInitOption extends Omit<IRenderOption, 'pluginList'> {
28
29
  dom?: string | HTMLElement;
@@ -140,6 +141,7 @@ export interface ISeriesSpec extends ITriggerSpec {
140
141
  seriesField?: string;
141
142
  seriesStyle?: ISeriesStyle;
142
143
  stack?: boolean;
144
+ totalLabel?: ITotalLabelSpec;
143
145
  percent?: boolean;
144
146
  stackOffsetSilhouette?: boolean;
145
147
  invalidType?: IInvalidType;