@visactor/vchart 1.1.0-beta.1 → 1.1.0-beta.3

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 (377) hide show
  1. package/build/index.js +29012 -39002
  2. package/build/index.min.js +15 -3
  3. package/cjs/animation/config.js +1 -1
  4. package/cjs/animation/config.js.map +1 -1
  5. package/cjs/animation/utils.d.ts +2 -0
  6. package/cjs/animation/utils.js +20 -6
  7. package/cjs/animation/utils.js.map +1 -1
  8. package/cjs/chart/bar/bar.d.ts +1 -0
  9. package/cjs/chart/bar/bar.js +7 -0
  10. package/cjs/chart/bar/bar.js.map +1 -1
  11. package/cjs/chart/base-chart.d.ts +2 -1
  12. package/cjs/chart/base-chart.js +12 -0
  13. package/cjs/chart/base-chart.js.map +1 -1
  14. package/cjs/chart/interface/chart.d.ts +3 -3
  15. package/cjs/chart/interface/chart.js.map +1 -1
  16. package/cjs/chart/polar/rose-like.js.map +1 -1
  17. package/cjs/chart/radar/radar.js +10 -1
  18. package/cjs/chart/radar/radar.js.map +1 -1
  19. package/cjs/chart/rose/rose.js +11 -2
  20. package/cjs/chart/rose/rose.js.map +1 -1
  21. package/cjs/chart/word-cloud/word-cloud-3d.js +1 -2
  22. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  23. package/cjs/chart/word-cloud/word-cloud.js +1 -2
  24. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  25. package/cjs/compile/compiler.d.ts +1 -0
  26. package/cjs/compile/compiler.js +12 -5
  27. package/cjs/compile/compiler.js.map +1 -1
  28. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  29. package/cjs/compile/interface/compilable-item.js.map +1 -1
  30. package/cjs/component/axis/base-axis.d.ts +6 -14
  31. package/cjs/component/axis/base-axis.js +10 -1
  32. package/cjs/component/axis/base-axis.js.map +1 -1
  33. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  34. package/cjs/component/axis/cartesian/axis.js +8 -3
  35. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  36. package/cjs/component/axis/cartesian/interface/spec.d.ts +9 -2
  37. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  38. package/cjs/component/axis/interface.d.ts +9 -0
  39. package/cjs/component/axis/interface.js.map +1 -1
  40. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
  41. package/cjs/component/axis/mixin/linear-axis-mixin.js +6 -1
  42. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  43. package/cjs/component/base/base-component.js +4 -2
  44. package/cjs/component/base/base-component.js.map +1 -1
  45. package/cjs/component/common/trigger/config.d.ts +0 -2
  46. package/cjs/component/common/trigger/config.js +0 -2
  47. package/cjs/component/common/trigger/config.js.map +1 -1
  48. package/cjs/component/common/trigger/desktop.js +1 -1
  49. package/cjs/component/common/trigger/desktop.js.map +1 -1
  50. package/cjs/component/crosshair/base.d.ts +13 -13
  51. package/cjs/component/crosshair/base.js +44 -36
  52. package/cjs/component/crosshair/base.js.map +1 -1
  53. package/cjs/component/crosshair/cartesian.d.ts +4 -4
  54. package/cjs/component/crosshair/cartesian.js +22 -8
  55. package/cjs/component/crosshair/cartesian.js.map +1 -1
  56. package/cjs/component/crosshair/polar.d.ts +4 -4
  57. package/cjs/component/crosshair/polar.js +8 -8
  58. package/cjs/component/crosshair/polar.js.map +1 -1
  59. package/cjs/component/crosshair/util.d.ts +2 -0
  60. package/cjs/component/crosshair/util.js +12 -1
  61. package/cjs/component/crosshair/util.js.map +1 -1
  62. package/cjs/component/data-zoom/data-zoom/interface.d.ts +13 -13
  63. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  64. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -3
  65. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  66. package/cjs/component/geo/geo-coordinate.js +2 -2
  67. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  68. package/cjs/component/index.js +1 -2
  69. package/cjs/component/label/bar.d.ts +4 -1
  70. package/cjs/component/label/bar.js +2 -2
  71. package/cjs/component/label/bar.js.map +1 -1
  72. package/cjs/component/label/label.js +5 -4
  73. package/cjs/component/label/label.js.map +1 -1
  74. package/cjs/component/label/symbol.d.ts +5 -1
  75. package/cjs/component/label/symbol.js +8 -11
  76. package/cjs/component/label/symbol.js.map +1 -1
  77. package/cjs/component/legend/discrete/interface.d.ts +2 -0
  78. package/cjs/component/legend/discrete/interface.js.map +1 -1
  79. package/cjs/component/legend/discrete/legend.d.ts +2 -0
  80. package/cjs/component/legend/discrete/legend.js +15 -2
  81. package/cjs/component/legend/discrete/legend.js.map +1 -1
  82. package/cjs/component/map-label/component.js +0 -1
  83. package/cjs/component/map-label/component.js.map +1 -1
  84. package/cjs/component/marker/base-marker.js +2 -1
  85. package/cjs/component/marker/base-marker.js.map +1 -1
  86. package/cjs/component/marker/interface.d.ts +6 -5
  87. package/cjs/component/marker/interface.js.map +1 -1
  88. package/cjs/component/marker/mark-area/interface/theme.d.ts +2 -2
  89. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  90. package/cjs/component/marker/mark-area/mark-area.js +10 -9
  91. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  92. package/cjs/component/marker/mark-line/interface/theme.d.ts +2 -2
  93. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  94. package/cjs/component/marker/mark-line/mark-line.js +16 -15
  95. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  96. package/cjs/component/marker/mark-point/interface/theme.d.ts +3 -3
  97. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  98. package/cjs/component/marker/mark-point/mark-point.js +14 -13
  99. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  100. package/cjs/component/tooltip/handler/base.js.map +1 -1
  101. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +1 -1
  102. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  103. package/cjs/component/tooltip/handler/dom/model/style-constants.d.ts +1 -0
  104. package/cjs/component/tooltip/handler/dom/model/style-constants.js +3 -1
  105. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  106. package/cjs/component/tooltip/handler/dom/util.js +7 -7
  107. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  108. package/cjs/component/tooltip/handler/utils/get-spec.js +22 -8
  109. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  110. package/cjs/component/tooltip/tooltip.d.ts +9 -9
  111. package/cjs/component/tooltip/tooltip.js +20 -20
  112. package/cjs/component/tooltip/tooltip.js.map +1 -1
  113. package/cjs/constant/box-plot.js +2 -1
  114. package/cjs/constant/event.d.ts +1 -0
  115. package/cjs/constant/event.js +4 -4
  116. package/cjs/constant/event.js.map +1 -1
  117. package/cjs/core/factory.js +1 -2
  118. package/cjs/core/index.d.ts +1 -1
  119. package/cjs/core/index.js +1 -1
  120. package/cjs/core/index.js.map +1 -1
  121. package/cjs/core/instance-manager.js +2 -1
  122. package/cjs/data/transforms/dimension-statistics.js +1 -0
  123. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  124. package/cjs/data/transforms/legend-data/discrete/discrete.js +5 -2
  125. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  126. package/cjs/data/transforms/legend-data/discrete/interface.d.ts +1 -0
  127. package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
  128. package/cjs/event/event-dispatcher.d.ts +2 -2
  129. package/cjs/event/event-dispatcher.js +23 -18
  130. package/cjs/event/event-dispatcher.js.map +1 -1
  131. package/cjs/event/event.d.ts +2 -2
  132. package/cjs/event/event.js +4 -3
  133. package/cjs/event/event.js.map +1 -1
  134. package/cjs/event/interface.d.ts +2 -2
  135. package/cjs/event/interface.js.map +1 -1
  136. package/cjs/interaction/drill/drillable.js +3 -2
  137. package/cjs/interaction/drill/drillable.js.map +1 -1
  138. package/cjs/interaction/zoom/zoomable.d.ts +1 -1
  139. package/cjs/interaction/zoom/zoomable.js +23 -25
  140. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  141. package/cjs/layout/base-layout.js +1 -2
  142. package/cjs/model/base-model.d.ts +1 -1
  143. package/cjs/model/base-model.js +2 -2
  144. package/cjs/model/base-model.js.map +1 -1
  145. package/cjs/plugin/components/axis-sync-plugin/axis-sync.d.ts +11 -0
  146. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js +53 -0
  147. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -0
  148. package/cjs/plugin/components/axis-sync-plugin/index.d.ts +1 -0
  149. package/cjs/plugin/components/axis-sync-plugin/index.js +21 -0
  150. package/cjs/plugin/components/axis-sync-plugin/index.js.map +1 -0
  151. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.d.ts +7 -0
  152. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js +36 -0
  153. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -0
  154. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.d.ts +15 -0
  155. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js +123 -0
  156. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js.map +1 -0
  157. package/cjs/plugin/components/index.d.ts +2 -0
  158. package/cjs/plugin/components/index.js +3 -2
  159. package/cjs/plugin/components/index.js.map +1 -1
  160. package/cjs/plugin/components/interface.d.ts +2 -0
  161. package/cjs/plugin/components/interface.js.map +1 -1
  162. package/cjs/series/base/base-series.d.ts +11 -1
  163. package/cjs/series/base/base-series.js +19 -13
  164. package/cjs/series/base/base-series.js.map +1 -1
  165. package/cjs/series/cartesian/cartesian.js +7 -1
  166. package/cjs/series/cartesian/cartesian.js.map +1 -1
  167. package/cjs/series/interface/series.d.ts +11 -4
  168. package/cjs/series/interface/series.js.map +1 -1
  169. package/cjs/series/line/interface.d.ts +1 -1
  170. package/cjs/series/line/interface.js.map +1 -1
  171. package/cjs/series/line/line.d.ts +2 -6
  172. package/cjs/series/line/line.js +6 -17
  173. package/cjs/series/line/line.js.map +1 -1
  174. package/cjs/series/progress/linear/linear.js +50 -30
  175. package/cjs/series/progress/linear/linear.js.map +1 -1
  176. package/cjs/series/scatter/interface.d.ts +1 -1
  177. package/cjs/series/scatter/interface.js.map +1 -1
  178. package/cjs/series/word-cloud/base.d.ts +2 -2
  179. package/cjs/series/word-cloud/base.js +42 -43
  180. package/cjs/series/word-cloud/base.js.map +1 -1
  181. package/cjs/series/word-cloud/interface.d.ts +1 -2
  182. package/cjs/series/word-cloud/interface.js.map +1 -1
  183. package/cjs/series/word-cloud/word-cloud-3d.js +37 -37
  184. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  185. package/cjs/theme/buildin-theme/light/component/tooltip.js +0 -1
  186. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  187. package/esm/animation/config.js +1 -1
  188. package/esm/animation/config.js.map +1 -1
  189. package/esm/animation/utils.d.ts +2 -0
  190. package/esm/animation/utils.js +18 -5
  191. package/esm/animation/utils.js.map +1 -1
  192. package/esm/chart/bar/bar.d.ts +1 -0
  193. package/esm/chart/bar/bar.js +7 -0
  194. package/esm/chart/bar/bar.js.map +1 -1
  195. package/esm/chart/base-chart.d.ts +2 -1
  196. package/esm/chart/base-chart.js +12 -0
  197. package/esm/chart/base-chart.js.map +1 -1
  198. package/esm/chart/interface/chart.d.ts +3 -3
  199. package/esm/chart/interface/chart.js.map +1 -1
  200. package/esm/chart/polar/rose-like.js.map +1 -1
  201. package/esm/chart/radar/radar.js +10 -2
  202. package/esm/chart/radar/radar.js.map +1 -1
  203. package/esm/chart/rose/rose.js +11 -1
  204. package/esm/chart/rose/rose.js.map +1 -1
  205. package/esm/chart/word-cloud/word-cloud-3d.js +1 -2
  206. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  207. package/esm/chart/word-cloud/word-cloud.js +1 -2
  208. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  209. package/esm/compile/compiler.d.ts +1 -0
  210. package/esm/compile/compiler.js +13 -6
  211. package/esm/compile/compiler.js.map +1 -1
  212. package/esm/compile/interface/compilable-item.d.ts +1 -0
  213. package/esm/compile/interface/compilable-item.js.map +1 -1
  214. package/esm/component/axis/base-axis.d.ts +6 -14
  215. package/esm/component/axis/base-axis.js +10 -1
  216. package/esm/component/axis/base-axis.js.map +1 -1
  217. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  218. package/esm/component/axis/cartesian/axis.js +8 -3
  219. package/esm/component/axis/cartesian/axis.js.map +1 -1
  220. package/esm/component/axis/cartesian/interface/spec.d.ts +9 -2
  221. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  222. package/esm/component/axis/interface.d.ts +9 -0
  223. package/esm/component/axis/interface.js.map +1 -1
  224. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
  225. package/esm/component/axis/mixin/linear-axis-mixin.js +6 -1
  226. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  227. package/esm/component/base/base-component.js +4 -2
  228. package/esm/component/base/base-component.js.map +1 -1
  229. package/esm/component/common/trigger/config.d.ts +0 -2
  230. package/esm/component/common/trigger/config.js +0 -2
  231. package/esm/component/common/trigger/config.js.map +1 -1
  232. package/esm/component/common/trigger/desktop.js +1 -1
  233. package/esm/component/common/trigger/desktop.js.map +1 -1
  234. package/esm/component/crosshair/base.d.ts +13 -13
  235. package/esm/component/crosshair/base.js +43 -35
  236. package/esm/component/crosshair/base.js.map +1 -1
  237. package/esm/component/crosshair/cartesian.d.ts +4 -4
  238. package/esm/component/crosshair/cartesian.js +23 -9
  239. package/esm/component/crosshair/cartesian.js.map +1 -1
  240. package/esm/component/crosshair/polar.d.ts +4 -4
  241. package/esm/component/crosshair/polar.js +8 -8
  242. package/esm/component/crosshair/polar.js.map +1 -1
  243. package/esm/component/crosshair/util.d.ts +2 -0
  244. package/esm/component/crosshair/util.js +10 -0
  245. package/esm/component/crosshair/util.js.map +1 -1
  246. package/esm/component/data-zoom/data-zoom/interface.d.ts +13 -13
  247. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  248. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -3
  249. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  250. package/esm/component/geo/geo-coordinate.js +2 -2
  251. package/esm/component/geo/geo-coordinate.js.map +1 -1
  252. package/esm/component/index.js +1 -2
  253. package/esm/component/label/bar.d.ts +4 -1
  254. package/esm/component/label/bar.js +3 -3
  255. package/esm/component/label/bar.js.map +1 -1
  256. package/esm/component/label/label.js +5 -4
  257. package/esm/component/label/label.js.map +1 -1
  258. package/esm/component/label/symbol.d.ts +5 -1
  259. package/esm/component/label/symbol.js +5 -6
  260. package/esm/component/label/symbol.js.map +1 -1
  261. package/esm/component/legend/discrete/interface.d.ts +2 -0
  262. package/esm/component/legend/discrete/interface.js.map +1 -1
  263. package/esm/component/legend/discrete/legend.d.ts +2 -0
  264. package/esm/component/legend/discrete/legend.js +16 -3
  265. package/esm/component/legend/discrete/legend.js.map +1 -1
  266. package/esm/component/map-label/component.js +0 -1
  267. package/esm/component/map-label/component.js.map +1 -1
  268. package/esm/component/marker/base-marker.js +2 -1
  269. package/esm/component/marker/base-marker.js.map +1 -1
  270. package/esm/component/marker/interface.d.ts +6 -5
  271. package/esm/component/marker/interface.js.map +1 -1
  272. package/esm/component/marker/mark-area/interface/theme.d.ts +2 -2
  273. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  274. package/esm/component/marker/mark-area/mark-area.js +10 -9
  275. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  276. package/esm/component/marker/mark-line/interface/theme.d.ts +2 -2
  277. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  278. package/esm/component/marker/mark-line/mark-line.js +16 -15
  279. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  280. package/esm/component/marker/mark-point/interface/theme.d.ts +3 -3
  281. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  282. package/esm/component/marker/mark-point/mark-point.js +14 -13
  283. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  284. package/esm/component/tooltip/handler/base.js.map +1 -1
  285. package/esm/component/tooltip/handler/dom/model/content-column-model.js +2 -2
  286. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  287. package/esm/component/tooltip/handler/dom/model/style-constants.d.ts +1 -0
  288. package/esm/component/tooltip/handler/dom/model/style-constants.js +4 -0
  289. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
  290. package/esm/component/tooltip/handler/dom/util.js +7 -7
  291. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  292. package/esm/component/tooltip/handler/utils/get-spec.js +22 -8
  293. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  294. package/esm/component/tooltip/tooltip.d.ts +9 -9
  295. package/esm/component/tooltip/tooltip.js +20 -20
  296. package/esm/component/tooltip/tooltip.js.map +1 -1
  297. package/esm/constant/box-plot.js +2 -1
  298. package/esm/constant/event.d.ts +1 -0
  299. package/esm/constant/event.js +4 -4
  300. package/esm/constant/event.js.map +1 -1
  301. package/esm/core/factory.js +1 -2
  302. package/esm/core/index.d.ts +1 -1
  303. package/esm/core/index.js +1 -1
  304. package/esm/core/index.js.map +1 -1
  305. package/esm/core/instance-manager.js +2 -1
  306. package/esm/data/transforms/dimension-statistics.js +2 -1
  307. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  308. package/esm/data/transforms/legend-data/discrete/discrete.js +5 -2
  309. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  310. package/esm/data/transforms/legend-data/discrete/interface.d.ts +1 -0
  311. package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
  312. package/esm/event/event-dispatcher.d.ts +2 -2
  313. package/esm/event/event-dispatcher.js +23 -18
  314. package/esm/event/event-dispatcher.js.map +1 -1
  315. package/esm/event/event.d.ts +2 -2
  316. package/esm/event/event.js +4 -3
  317. package/esm/event/event.js.map +1 -1
  318. package/esm/event/interface.d.ts +2 -2
  319. package/esm/event/interface.js.map +1 -1
  320. package/esm/interaction/drill/drillable.js +3 -2
  321. package/esm/interaction/drill/drillable.js.map +1 -1
  322. package/esm/interaction/zoom/zoomable.d.ts +1 -1
  323. package/esm/interaction/zoom/zoomable.js +23 -25
  324. package/esm/interaction/zoom/zoomable.js.map +1 -1
  325. package/esm/layout/base-layout.js +1 -2
  326. package/esm/model/base-model.d.ts +1 -1
  327. package/esm/model/base-model.js +2 -2
  328. package/esm/model/base-model.js.map +1 -1
  329. package/esm/plugin/components/axis-sync-plugin/axis-sync.d.ts +11 -0
  330. package/esm/plugin/components/axis-sync-plugin/axis-sync.js +55 -0
  331. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -0
  332. package/esm/plugin/components/axis-sync-plugin/index.d.ts +1 -0
  333. package/esm/plugin/components/axis-sync-plugin/index.js +2 -0
  334. package/esm/plugin/components/axis-sync-plugin/index.js.map +1 -0
  335. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.d.ts +7 -0
  336. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js +30 -0
  337. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -0
  338. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.d.ts +15 -0
  339. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js +115 -0
  340. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js.map +1 -0
  341. package/esm/plugin/components/index.d.ts +2 -0
  342. package/esm/plugin/components/index.js +4 -1
  343. package/esm/plugin/components/index.js.map +1 -1
  344. package/esm/plugin/components/interface.d.ts +2 -0
  345. package/esm/plugin/components/interface.js.map +1 -1
  346. package/esm/series/base/base-series.d.ts +11 -1
  347. package/esm/series/base/base-series.js +19 -13
  348. package/esm/series/base/base-series.js.map +1 -1
  349. package/esm/series/cartesian/cartesian.js +7 -1
  350. package/esm/series/cartesian/cartesian.js.map +1 -1
  351. package/esm/series/interface/series.d.ts +11 -4
  352. package/esm/series/interface/series.js.map +1 -1
  353. package/esm/series/line/interface.d.ts +1 -1
  354. package/esm/series/line/interface.js.map +1 -1
  355. package/esm/series/line/line.d.ts +2 -6
  356. package/esm/series/line/line.js +5 -18
  357. package/esm/series/line/line.js.map +1 -1
  358. package/esm/series/progress/linear/linear.js +51 -29
  359. package/esm/series/progress/linear/linear.js.map +1 -1
  360. package/esm/series/scatter/interface.d.ts +1 -1
  361. package/esm/series/scatter/interface.js.map +1 -1
  362. package/esm/series/word-cloud/base.d.ts +2 -2
  363. package/esm/series/word-cloud/base.js +42 -43
  364. package/esm/series/word-cloud/base.js.map +1 -1
  365. package/esm/series/word-cloud/interface.d.ts +1 -2
  366. package/esm/series/word-cloud/interface.js.map +1 -1
  367. package/esm/series/word-cloud/word-cloud-3d.js +37 -37
  368. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  369. package/esm/theme/buildin-theme/light/component/tooltip.js +0 -1
  370. package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
  371. package/package.json +12 -12
  372. package/cjs/series/treemap/config.d.ts +0 -44
  373. package/cjs/series/treemap/config.js +0 -51
  374. package/cjs/series/treemap/config.js.map +0 -1
  375. package/esm/series/treemap/config.d.ts +0 -44
  376. package/esm/series/treemap/config.js +0 -49
  377. package/esm/series/treemap/config.js.map +0 -1
@@ -21,18 +21,17 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
21
21
  (0, vutils_1.isValid)(fontSizeRange) && (0, vutils_1.isValid)(this._spec.valueField) && (this._fontSizeRange = fontSizeRange);
22
22
  }
23
23
  setAttrFromSpec() {
24
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
25
- super.setAttrFromSpec(), this._paddingLeft = null !== (_d = null !== (_c = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.chartPadding) || void 0 === _b ? void 0 : _b.left) && void 0 !== _c ? _c : this._spec.chartPadding) && void 0 !== _d ? _d : 0,
26
- this._paddingTop = null !== (_h = null !== (_g = null === (_f = null === (_e = this._spec) || void 0 === _e ? void 0 : _e.chartPadding) || void 0 === _f ? void 0 : _f.top) && void 0 !== _g ? _g : this._spec.chartPadding) && void 0 !== _h ? _h : 0,
27
- this._nameField = this._spec.nameField, this._fontFamilyField = this._spec.fontFamilyField,
28
- this._fontWeightField = this._spec.fontWeightField, this._fontStyleField = this._spec.fontStyleField,
29
- this._colorHexField = this._spec.colorHexField, this._colorMode = null !== (_j = this._spec.colorMode) && void 0 !== _j ? _j : "ordinal",
24
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
25
+ super.setAttrFromSpec(), this._padding = this._option.getChart().padding, this._nameField = this._spec.nameField,
26
+ this._fontFamilyField = this._spec.fontFamilyField, this._fontWeightField = this._spec.fontWeightField,
27
+ this._fontStyleField = this._spec.fontStyleField, this._colorHexField = this._spec.colorHexField,
28
+ this._colorMode = null !== (_a = this._spec.colorMode) && void 0 !== _a ? _a : "ordinal",
30
29
  this._colorList = this._spec.colorList, this.setValueField(this._spec.valueField),
31
- this._fontWeightRange = null !== (_k = this._spec.fontWeightRange) && void 0 !== _k ? _k : config_1.DEFAULT_FONT_WEIGHT_RANGE,
32
- this._rotateAngles = null !== (_l = this._spec.rotateAngles) && void 0 !== _l ? _l : config_1.DEFAULT_ROTATE_ANGLES,
33
- this.setFontSizeRange(this._spec.fontSizeRange), this._maskShape = null !== (_m = this._spec.maskShape) && void 0 !== _m ? _m : config_1.DEFAULT_MASK_SHAPE,
34
- this._keepAspect = this._spec.keepAspect, this._random = null !== (_o = this._spec.random) && void 0 !== _o ? _o : config_1.DEFAULT_RANDOM,
35
- this._fontPadding = null !== (_v = null !== (_r = null === (_q = null === (_p = this._spec) || void 0 === _p ? void 0 : _p.word) || void 0 === _q ? void 0 : _q.padding) && void 0 !== _r ? _r : null === (_u = null === (_t = null === (_s = this._theme) || void 0 === _s ? void 0 : _s.wordCloud) || void 0 === _t ? void 0 : _t.word) || void 0 === _u ? void 0 : _u.padding) && void 0 !== _v ? _v : config_1.DEFAULT_FONT_PADDING,
30
+ this._fontWeightRange = null !== (_b = this._spec.fontWeightRange) && void 0 !== _b ? _b : config_1.DEFAULT_FONT_WEIGHT_RANGE,
31
+ this._rotateAngles = null !== (_c = this._spec.rotateAngles) && void 0 !== _c ? _c : config_1.DEFAULT_ROTATE_ANGLES,
32
+ this.setFontSizeRange(this._spec.fontSizeRange), this._maskShape = null !== (_d = this._spec.maskShape) && void 0 !== _d ? _d : config_1.DEFAULT_MASK_SHAPE,
33
+ this._keepAspect = this._spec.keepAspect, this._random = null !== (_e = this._spec.random) && void 0 !== _e ? _e : config_1.DEFAULT_RANDOM,
34
+ this._fontPadding = null !== (_m = null !== (_h = null === (_g = null === (_f = this._spec) || void 0 === _f ? void 0 : _f.word) || void 0 === _g ? void 0 : _g.padding) && void 0 !== _h ? _h : null === (_l = null === (_k = null === (_j = this._theme) || void 0 === _j ? void 0 : _j.wordCloud) || void 0 === _k ? void 0 : _k.word) || void 0 === _l ? void 0 : _l.padding) && void 0 !== _m ? _m : config_1.DEFAULT_FONT_PADDING,
36
35
  this._wordCloudConfig = Object.assign({
37
36
  drawOutOfBound: config_1.DEFAULT_DRAW_OUT_OF_BOUND,
38
37
  layoutMode: "default",
@@ -41,8 +40,8 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
41
40
  fillingSeriesField: this.getSeriesField(),
42
41
  fillingRotateAngles: config_1.DEFAULT_ROTATE_ANGLES,
43
42
  layoutMode: "default"
44
- }, null === (_w = this._spec) || void 0 === _w ? void 0 : _w.wordCloudShapeConfig),
45
- this._fillingFontPadding = null !== (_3 = null !== (_z = null === (_y = null === (_x = this._spec) || void 0 === _x ? void 0 : _x.fillingWord) || void 0 === _y ? void 0 : _y.padding) && void 0 !== _z ? _z : null === (_2 = null === (_1 = null === (_0 = this._theme) || void 0 === _0 ? void 0 : _0.wordCloud) || void 0 === _1 ? void 0 : _1.fillingWord) || void 0 === _2 ? void 0 : _2.padding) && void 0 !== _3 ? _3 : config_1.DEFAULT_FONT_PADDING,
43
+ }, null === (_o = this._spec) || void 0 === _o ? void 0 : _o.wordCloudShapeConfig),
44
+ this._fillingFontPadding = null !== (_v = null !== (_r = null === (_q = null === (_p = this._spec) || void 0 === _p ? void 0 : _p.fillingWord) || void 0 === _q ? void 0 : _q.padding) && void 0 !== _r ? _r : null === (_u = null === (_t = null === (_s = this._theme) || void 0 === _s ? void 0 : _s.wordCloud) || void 0 === _t ? void 0 : _t.fillingWord) || void 0 === _u ? void 0 : _u.padding) && void 0 !== _v ? _v : config_1.DEFAULT_FONT_PADDING,
46
45
  this._isWordCloudShape = !config_1.SHAPE_TYPE.includes(this._maskShape);
47
46
  }
48
47
  initMark() {
@@ -101,7 +100,7 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
101
100
  return 1 === colorList.length && (colorList = [ colorList[0], colorList[0] ]), datum => colorList[0];
102
101
  }
103
102
  compile() {
104
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23;
103
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27;
105
104
  super.compile();
106
105
  const wordCloudTransforms = [], valueField = this._valueField, valueScale = new vscale_1.LinearScale, fontWeightRange = this._fontWeightRange, rotateAngles = this._rotateAngles, fontWeightField = this._fontWeightField, fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;
107
106
  if (valueField) {
@@ -132,7 +131,7 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
132
131
  size: [ srView.width(), srView.height() ],
133
132
  shape: this._maskShape,
134
133
  text: {
135
- field: (null === (_k = this._spec.word) || void 0 === _k ? void 0 : _k.formatMethod) ? word_cloud_1.WORD_CLOUD_TEXT : this._nameField
134
+ field: (null === (_p = this._spec.word) || void 0 === _p ? void 0 : _p.formatMethod) ? word_cloud_1.WORD_CLOUD_TEXT : this._nameField
136
135
  },
137
136
  fontSize: valueField ? {
138
137
  field: valueField
@@ -140,42 +139,42 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
140
139
  fontSizeRange: this._fontSizeRange,
141
140
  padding: this._fontPadding,
142
141
  rotateList: rotateAngles,
143
- fontFamily: null !== (_l = this._fontFamilyField) && void 0 !== _l ? _l : null === (_o = null === (_m = this._spec.word) || void 0 === _m ? void 0 : _m.style) || void 0 === _o ? void 0 : _o.fontFamily,
142
+ fontFamily: null !== (_q = this._fontFamilyField) && void 0 !== _q ? _q : null === (_s = null === (_r = this._spec.word) || void 0 === _r ? void 0 : _r.style) || void 0 === _s ? void 0 : _s.fontFamily,
144
143
  fontWeight: fontWeightField ? {
145
144
  field: fontWeightField
146
145
  } : valueField ? {
147
146
  field: word_cloud_1.WORD_CLOUD_WEIGHT
148
147
  } : null,
149
- fontStyle: null !== (_p = this._fontStyleField) && void 0 !== _p ? _p : null === (_r = null === (_q = this._spec.word) || void 0 === _q ? void 0 : _q.style) || void 0 === _r ? void 0 : _r.fontStyle,
150
- fillingFontFamily: null !== (_t = null === (_s = this._wordCloudShapeConfig) || void 0 === _s ? void 0 : _s.fillingFontFamilyField) && void 0 !== _t ? _t : null === (_v = null === (_u = this._spec.word) || void 0 === _u ? void 0 : _u.style) || void 0 === _v ? void 0 : _v.fontFamily,
148
+ fontStyle: null !== (_t = this._fontStyleField) && void 0 !== _t ? _t : null === (_v = null === (_u = this._spec.word) || void 0 === _u ? void 0 : _u.style) || void 0 === _v ? void 0 : _v.fontStyle,
149
+ fillingFontFamily: null !== (_x = null === (_w = this._wordCloudShapeConfig) || void 0 === _w ? void 0 : _w.fillingFontFamilyField) && void 0 !== _x ? _x : null === (_z = null === (_y = this._spec.word) || void 0 === _y ? void 0 : _y.style) || void 0 === _z ? void 0 : _z.fontFamily,
151
150
  fillingPadding: this._fillingFontPadding,
152
- fillingFontStyle: null !== (_x = null === (_w = this._wordCloudShapeConfig) || void 0 === _w ? void 0 : _w.fillingFontStyleField) && void 0 !== _x ? _x : null === (_z = null === (_y = this._spec.word) || void 0 === _y ? void 0 : _y.style) || void 0 === _z ? void 0 : _z.fontStyle,
153
- fillingFontWeight: null !== (_1 = null === (_0 = this._wordCloudShapeConfig) || void 0 === _0 ? void 0 : _0.fillingFontWeightField) && void 0 !== _1 ? _1 : null === (_3 = null === (_2 = this._spec.word) || void 0 === _2 ? void 0 : _2.style) || void 0 === _3 ? void 0 : _3.fontWeight,
151
+ fillingFontStyle: null !== (_1 = null === (_0 = this._wordCloudShapeConfig) || void 0 === _0 ? void 0 : _0.fillingFontStyleField) && void 0 !== _1 ? _1 : null === (_3 = null === (_2 = this._spec.word) || void 0 === _2 ? void 0 : _2.style) || void 0 === _3 ? void 0 : _3.fontStyle,
152
+ fillingFontWeight: null !== (_5 = null === (_4 = this._wordCloudShapeConfig) || void 0 === _4 ? void 0 : _4.fillingFontWeightField) && void 0 !== _5 ? _5 : null === (_7 = null === (_6 = this._spec.word) || void 0 === _6 ? void 0 : _6.style) || void 0 === _7 ? void 0 : _7.fontWeight,
154
153
  fillingRotateList: fillingRotateAngles,
155
- fillingTimes: null === (_4 = this._wordCloudShapeConfig) || void 0 === _4 ? void 0 : _4.fillingTimes,
156
- fillingXStep: null === (_5 = this._wordCloudShapeConfig) || void 0 === _5 ? void 0 : _5.fillingXStep,
157
- fillingYStep: null === (_6 = this._wordCloudShapeConfig) || void 0 === _6 ? void 0 : _6.fillingYStep,
158
- fillingXRatioStep: null === (_7 = this._wordCloudShapeConfig) || void 0 === _7 ? void 0 : _7.fillingXRatioStep,
159
- fillingYRatioStep: null === (_8 = this._wordCloudShapeConfig) || void 0 === _8 ? void 0 : _8.fillingYRatioStep,
160
- fillingInitialOpacity: null === (_9 = this._wordCloudShapeConfig) || void 0 === _9 ? void 0 : _9.fillingInitialOpacity,
161
- fillingDeltaOpacity: null === (_10 = this._wordCloudShapeConfig) || void 0 === _10 ? void 0 : _10.fillingDeltaOpacity,
162
- fillingInitialFontSize: null === (_11 = this._wordCloudShapeConfig) || void 0 === _11 ? void 0 : _11.fillingInitialFontSize,
163
- fillingDeltaFontSize: null === (_12 = this._wordCloudShapeConfig) || void 0 === _12 ? void 0 : _12.fillingDeltaFontSize,
164
- ratio: null === (_13 = this._wordCloudShapeConfig) || void 0 === _13 ? void 0 : _13.ratio,
165
- fillingRatio: null === (_14 = this._wordCloudShapeConfig) || void 0 === _14 ? void 0 : _14.fillingRatio,
166
- removeWhiteBorder: null === (_15 = this._wordCloudShapeConfig) || void 0 === _15 ? void 0 : _15.removeWhiteBorder,
167
- textLayoutTimes: null === (_16 = this._wordCloudShapeConfig) || void 0 === _16 ? void 0 : _16.textLayoutTimes,
168
- fontSizeShrinkFactor: null === (_17 = this._wordCloudShapeConfig) || void 0 === _17 ? void 0 : _17.fontSizeShrinkFactor,
169
- stepFactor: null === (_18 = this._wordCloudShapeConfig) || void 0 === _18 ? void 0 : _18.stepFactor,
170
- layoutMode: null === (_19 = this._wordCloudShapeConfig) || void 0 === _19 ? void 0 : _19.layoutMode,
171
- importantWordCount: null === (_20 = this._wordCloudShapeConfig) || void 0 === _20 ? void 0 : _20.importantWordCount,
172
- globalShinkLimit: null === (_21 = this._wordCloudShapeConfig) || void 0 === _21 ? void 0 : _21.globalShinkLimit,
173
- fontSizeEnlargeFactor: null === (_22 = this._wordCloudShapeConfig) || void 0 === _22 ? void 0 : _22.fontSizeEnlargeFactor,
174
- fillingDeltaFontSizeFactor: null === (_23 = this._wordCloudShapeConfig) || void 0 === _23 ? void 0 : _23.fillingDeltaFontSizeFactor
154
+ fillingTimes: null === (_8 = this._wordCloudShapeConfig) || void 0 === _8 ? void 0 : _8.fillingTimes,
155
+ fillingXStep: null === (_9 = this._wordCloudShapeConfig) || void 0 === _9 ? void 0 : _9.fillingXStep,
156
+ fillingYStep: null === (_10 = this._wordCloudShapeConfig) || void 0 === _10 ? void 0 : _10.fillingYStep,
157
+ fillingXRatioStep: null === (_11 = this._wordCloudShapeConfig) || void 0 === _11 ? void 0 : _11.fillingXRatioStep,
158
+ fillingYRatioStep: null === (_12 = this._wordCloudShapeConfig) || void 0 === _12 ? void 0 : _12.fillingYRatioStep,
159
+ fillingInitialOpacity: null === (_13 = this._wordCloudShapeConfig) || void 0 === _13 ? void 0 : _13.fillingInitialOpacity,
160
+ fillingDeltaOpacity: null === (_14 = this._wordCloudShapeConfig) || void 0 === _14 ? void 0 : _14.fillingDeltaOpacity,
161
+ fillingInitialFontSize: null === (_15 = this._wordCloudShapeConfig) || void 0 === _15 ? void 0 : _15.fillingInitialFontSize,
162
+ fillingDeltaFontSize: null === (_16 = this._wordCloudShapeConfig) || void 0 === _16 ? void 0 : _16.fillingDeltaFontSize,
163
+ ratio: null === (_17 = this._wordCloudShapeConfig) || void 0 === _17 ? void 0 : _17.ratio,
164
+ fillingRatio: null === (_18 = this._wordCloudShapeConfig) || void 0 === _18 ? void 0 : _18.fillingRatio,
165
+ removeWhiteBorder: null === (_19 = this._wordCloudShapeConfig) || void 0 === _19 ? void 0 : _19.removeWhiteBorder,
166
+ textLayoutTimes: null === (_20 = this._wordCloudShapeConfig) || void 0 === _20 ? void 0 : _20.textLayoutTimes,
167
+ fontSizeShrinkFactor: null === (_21 = this._wordCloudShapeConfig) || void 0 === _21 ? void 0 : _21.fontSizeShrinkFactor,
168
+ stepFactor: null === (_22 = this._wordCloudShapeConfig) || void 0 === _22 ? void 0 : _22.stepFactor,
169
+ layoutMode: null === (_23 = this._wordCloudShapeConfig) || void 0 === _23 ? void 0 : _23.layoutMode,
170
+ importantWordCount: null === (_24 = this._wordCloudShapeConfig) || void 0 === _24 ? void 0 : _24.importantWordCount,
171
+ globalShinkLimit: null === (_25 = this._wordCloudShapeConfig) || void 0 === _25 ? void 0 : _25.globalShinkLimit,
172
+ fontSizeEnlargeFactor: null === (_26 = this._wordCloudShapeConfig) || void 0 === _26 ? void 0 : _26.fontSizeEnlargeFactor,
173
+ fillingDeltaFontSizeFactor: null === (_27 = this._wordCloudShapeConfig) || void 0 === _27 ? void 0 : _27.fillingDeltaFontSizeFactor
175
174
  }) : (wordCloudTransforms.push({
176
175
  type: "wordcloud",
177
176
  layoutType: (0, util_1.isTrueBrowser)(this._option.mode) ? this._wordCloudConfig.layoutMode : "fast",
178
- size: [ srView.width() - this._paddingLeft, srView.height() - this._paddingTop ],
177
+ size: [ srView.width() - (null === (_d = this._padding) || void 0 === _d ? void 0 : _d.left) || 0 - (null === (_e = this._padding) || void 0 === _e ? void 0 : _e.right) || 0, srView.height() - (null === (_f = this._padding) || void 0 === _f ? void 0 : _f.top) || 0 - (null === (_g = this._padding) || void 0 === _g ? void 0 : _g.bottom) || 0 ],
179
178
  shape: this._maskShape,
180
179
  dataIndexKey: constant_1.DEFAULT_DATA_KEY,
181
180
  text: {
@@ -189,13 +188,13 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
189
188
  rotate: {
190
189
  field: word_cloud_1.WORD_CLOUD_ANGLE
191
190
  },
192
- fontFamily: null !== (_d = this._fontFamilyField) && void 0 !== _d ? _d : null === (_f = null === (_e = this._spec.word) || void 0 === _e ? void 0 : _e.style) || void 0 === _f ? void 0 : _f.fontFamily,
191
+ fontFamily: null !== (_h = this._fontFamilyField) && void 0 !== _h ? _h : null === (_k = null === (_j = this._spec.word) || void 0 === _j ? void 0 : _j.style) || void 0 === _k ? void 0 : _k.fontFamily,
193
192
  fontWeight: fontWeightField ? {
194
193
  field: fontWeightField
195
194
  } : valueField ? {
196
195
  field: word_cloud_1.WORD_CLOUD_WEIGHT
197
196
  } : null,
198
- fontStyle: null !== (_g = this._fontStyleField) && void 0 !== _g ? _g : null === (_j = null === (_h = this._spec.word) || void 0 === _h ? void 0 : _h.style) || void 0 === _j ? void 0 : _j.fontStyle,
197
+ fontStyle: null !== (_l = this._fontStyleField) && void 0 !== _l ? _l : null === (_o = null === (_m = this._spec.word) || void 0 === _m ? void 0 : _m.style) || void 0 === _o ? void 0 : _o.fontStyle,
199
198
  randomVisible: this._random,
200
199
  clip: "clip" === this._wordCloudConfig.drawOutOfBound,
201
200
  shrink: this._wordCloudConfig.zoomToFit.shrink,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\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 type { ILayoutOrientPadding } from '../../model/interface';\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 _paddingLeft?: number;\n protected _paddingTop?: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._paddingLeft =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.left as number) ?? (this._spec.chartPadding as number) ?? 0;\n this._paddingTop =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.top as number) ?? (this._spec.chartPadding as number) ?? 0;\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\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 const srView = this.getCompiler().getVGrammarView();\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: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\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: [srView.width(), srView.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 throw new Error('Method not implemented.');\n }\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionZ(data: any): number {\n throw new Error('Method not implemented.');\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"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IPadding } 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\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 const srView = this.getCompiler().getVGrammarView();\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: [\n srView.width() - this._padding?.left || 0 - this._padding?.right || 0,\n srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0\n ],\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: [srView.width(), srView.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 throw new Error('Method not implemented.');\n }\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionZ(data: any): number {\n throw new Error('Method not implemented.');\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"]}
@@ -1,4 +1,4 @@
1
- import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, IChartPadding } from '../../typings';
1
+ import type { ITextMarkSpec, IMarkSpec, ISeriesSpec } from '../../typings';
2
2
  import type { IAnimationSpec } from '../../animation/spec';
3
3
  import type { SeriesMarkNameEnum } from '../interface';
4
4
  export declare enum WordCloudShapeEnum {
@@ -84,7 +84,6 @@ export interface IWordCloudSeriesBaseSpec extends ISeriesSpec, IAnimationSpec<st
84
84
  [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {
85
85
  padding?: number;
86
86
  };
87
- chartPadding?: IChartPadding;
88
87
  }
89
88
  export interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {
90
89
  type: 'wordCloud';
@@ -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 /**\n * 从chart配置中传过来的padding属性,用于transform的时候配置size\n */\n chartPadding?: IChartPadding;\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?: (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"]}
@@ -11,7 +11,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
11
11
  super(...arguments), this.type = interface_1.SeriesTypeEnum.wordCloud3d;
12
12
  }
13
13
  compile() {
14
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28;
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) {
@@ -40,7 +40,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
40
40
  type: "wordcloudShape",
41
41
  size: [ srView.width(), srView.height() ],
42
42
  shape: this._maskShape,
43
- postProjection: null !== (_l = this._spec.postProjection) && void 0 !== _l ? _l : "StereographicProjection",
43
+ postProjection: null !== (_q = this._spec.postProjection) && void 0 !== _q ? _q : "StereographicProjection",
44
44
  dataIndexKey: constant_1.DEFAULT_DATA_KEY,
45
45
  text: {
46
46
  field: textField
@@ -51,45 +51,45 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
51
51
  fontSizeRange: this._fontSizeRange,
52
52
  padding: this._fontPadding,
53
53
  rotateList: rotateAngles,
54
- fontFamily: null !== (_m = this._fontFamilyField) && void 0 !== _m ? _m : null === (_p = null === (_o = this._spec.word) || void 0 === _o ? void 0 : _o.style) || void 0 === _p ? void 0 : _p.fontFamily,
54
+ fontFamily: null !== (_r = this._fontFamilyField) && void 0 !== _r ? _r : null === (_t = null === (_s = this._spec.word) || void 0 === _s ? void 0 : _s.style) || void 0 === _t ? void 0 : _t.fontFamily,
55
55
  fontWeight: fontWeightField ? {
56
56
  field: fontWeightField
57
57
  } : valueField ? {
58
58
  field: word_cloud_1.WORD_CLOUD_WEIGHT
59
59
  } : null,
60
- fontStyle: null !== (_q = this._fontStyleField) && void 0 !== _q ? _q : null === (_s = null === (_r = this._spec.word) || void 0 === _r ? void 0 : _r.style) || void 0 === _s ? void 0 : _s.fontStyle,
60
+ fontStyle: null !== (_u = this._fontStyleField) && void 0 !== _u ? _u : null === (_w = null === (_v = this._spec.word) || void 0 === _v ? void 0 : _v.style) || void 0 === _w ? void 0 : _w.fontStyle,
61
61
  depth_3d: this._spec.depth_3d,
62
- fillingFontFamily: null !== (_u = null === (_t = this._wordCloudShapeConfig) || void 0 === _t ? void 0 : _t.fillingFontFamilyField) && void 0 !== _u ? _u : null === (_w = null === (_v = this._spec.word) || void 0 === _v ? void 0 : _v.style) || void 0 === _w ? void 0 : _w.fontFamily,
62
+ fillingFontFamily: null !== (_y = null === (_x = this._wordCloudShapeConfig) || void 0 === _x ? void 0 : _x.fillingFontFamilyField) && void 0 !== _y ? _y : null === (_0 = null === (_z = this._spec.word) || void 0 === _z ? void 0 : _z.style) || void 0 === _0 ? void 0 : _0.fontFamily,
63
63
  fillingPadding: this._fillingFontPadding,
64
- fillingFontStyle: null !== (_y = null === (_x = this._wordCloudShapeConfig) || void 0 === _x ? void 0 : _x.fillingFontStyleField) && void 0 !== _y ? _y : null === (_0 = null === (_z = this._spec.word) || void 0 === _z ? void 0 : _z.style) || void 0 === _0 ? void 0 : _0.fontStyle,
65
- fillingFontWeight: null !== (_2 = null === (_1 = this._wordCloudShapeConfig) || void 0 === _1 ? void 0 : _1.fillingFontWeightField) && void 0 !== _2 ? _2 : null === (_4 = null === (_3 = this._spec.word) || void 0 === _3 ? void 0 : _3.style) || void 0 === _4 ? void 0 : _4.fontWeight,
64
+ fillingFontStyle: null !== (_2 = null === (_1 = this._wordCloudShapeConfig) || void 0 === _1 ? void 0 : _1.fillingFontStyleField) && void 0 !== _2 ? _2 : null === (_4 = null === (_3 = this._spec.word) || void 0 === _3 ? void 0 : _3.style) || void 0 === _4 ? void 0 : _4.fontStyle,
65
+ fillingFontWeight: null !== (_6 = null === (_5 = this._wordCloudShapeConfig) || void 0 === _5 ? void 0 : _5.fillingFontWeightField) && void 0 !== _6 ? _6 : null === (_8 = null === (_7 = this._spec.word) || void 0 === _7 ? void 0 : _7.style) || void 0 === _8 ? void 0 : _8.fontWeight,
66
66
  fillingRotateList: fillingRotateAngles,
67
- fillingTimes: null === (_5 = this._wordCloudShapeConfig) || void 0 === _5 ? void 0 : _5.fillingTimes,
68
- fillingXStep: null === (_6 = this._wordCloudShapeConfig) || void 0 === _6 ? void 0 : _6.fillingXStep,
69
- fillingYStep: null === (_7 = this._wordCloudShapeConfig) || void 0 === _7 ? void 0 : _7.fillingYStep,
70
- fillingXRatioStep: null === (_8 = this._wordCloudShapeConfig) || void 0 === _8 ? void 0 : _8.fillingXRatioStep,
71
- fillingYRatioStep: null === (_9 = this._wordCloudShapeConfig) || void 0 === _9 ? void 0 : _9.fillingYRatioStep,
72
- fillingInitialOpacity: null === (_10 = this._wordCloudShapeConfig) || void 0 === _10 ? void 0 : _10.fillingInitialOpacity,
73
- fillingDeltaOpacity: null === (_11 = this._wordCloudShapeConfig) || void 0 === _11 ? void 0 : _11.fillingDeltaOpacity,
74
- fillingInitialFontSize: null === (_12 = this._wordCloudShapeConfig) || void 0 === _12 ? void 0 : _12.fillingInitialFontSize,
75
- fillingDeltaFontSize: null === (_13 = this._wordCloudShapeConfig) || void 0 === _13 ? void 0 : _13.fillingDeltaFontSize,
76
- ratio: null === (_14 = this._wordCloudShapeConfig) || void 0 === _14 ? void 0 : _14.ratio,
77
- fillingRatio: null === (_15 = this._wordCloudShapeConfig) || void 0 === _15 ? void 0 : _15.fillingRatio,
78
- removeWhiteBorder: null === (_16 = this._wordCloudShapeConfig) || void 0 === _16 ? void 0 : _16.removeWhiteBorder,
79
- textLayoutTimes: null === (_17 = this._wordCloudShapeConfig) || void 0 === _17 ? void 0 : _17.textLayoutTimes,
80
- fontSizeShrinkFactor: null === (_18 = this._wordCloudShapeConfig) || void 0 === _18 ? void 0 : _18.fontSizeShrinkFactor,
81
- stepFactor: null === (_19 = this._wordCloudShapeConfig) || void 0 === _19 ? void 0 : _19.stepFactor,
82
- layoutMode: null === (_20 = this._wordCloudShapeConfig) || void 0 === _20 ? void 0 : _20.layoutMode,
83
- importantWordCount: null === (_21 = this._wordCloudShapeConfig) || void 0 === _21 ? void 0 : _21.importantWordCount,
84
- globalShinkLimit: null === (_22 = this._wordCloudShapeConfig) || void 0 === _22 ? void 0 : _22.globalShinkLimit,
85
- fontSizeEnlargeFactor: null === (_23 = this._wordCloudShapeConfig) || void 0 === _23 ? void 0 : _23.fontSizeEnlargeFactor,
86
- fillingDeltaFontSizeFactor: null === (_24 = this._wordCloudShapeConfig) || void 0 === _24 ? void 0 : _24.fillingDeltaFontSizeFactor
67
+ fillingTimes: null === (_9 = this._wordCloudShapeConfig) || void 0 === _9 ? void 0 : _9.fillingTimes,
68
+ fillingXStep: null === (_10 = this._wordCloudShapeConfig) || void 0 === _10 ? void 0 : _10.fillingXStep,
69
+ fillingYStep: null === (_11 = this._wordCloudShapeConfig) || void 0 === _11 ? void 0 : _11.fillingYStep,
70
+ fillingXRatioStep: null === (_12 = this._wordCloudShapeConfig) || void 0 === _12 ? void 0 : _12.fillingXRatioStep,
71
+ fillingYRatioStep: null === (_13 = this._wordCloudShapeConfig) || void 0 === _13 ? void 0 : _13.fillingYRatioStep,
72
+ fillingInitialOpacity: null === (_14 = this._wordCloudShapeConfig) || void 0 === _14 ? void 0 : _14.fillingInitialOpacity,
73
+ fillingDeltaOpacity: null === (_15 = this._wordCloudShapeConfig) || void 0 === _15 ? void 0 : _15.fillingDeltaOpacity,
74
+ fillingInitialFontSize: null === (_16 = this._wordCloudShapeConfig) || void 0 === _16 ? void 0 : _16.fillingInitialFontSize,
75
+ fillingDeltaFontSize: null === (_17 = this._wordCloudShapeConfig) || void 0 === _17 ? void 0 : _17.fillingDeltaFontSize,
76
+ ratio: null === (_18 = this._wordCloudShapeConfig) || void 0 === _18 ? void 0 : _18.ratio,
77
+ fillingRatio: null === (_19 = this._wordCloudShapeConfig) || void 0 === _19 ? void 0 : _19.fillingRatio,
78
+ removeWhiteBorder: null === (_20 = this._wordCloudShapeConfig) || void 0 === _20 ? void 0 : _20.removeWhiteBorder,
79
+ textLayoutTimes: null === (_21 = this._wordCloudShapeConfig) || void 0 === _21 ? void 0 : _21.textLayoutTimes,
80
+ fontSizeShrinkFactor: null === (_22 = this._wordCloudShapeConfig) || void 0 === _22 ? void 0 : _22.fontSizeShrinkFactor,
81
+ stepFactor: null === (_23 = this._wordCloudShapeConfig) || void 0 === _23 ? void 0 : _23.stepFactor,
82
+ layoutMode: null === (_24 = this._wordCloudShapeConfig) || void 0 === _24 ? void 0 : _24.layoutMode,
83
+ importantWordCount: null === (_25 = this._wordCloudShapeConfig) || void 0 === _25 ? void 0 : _25.importantWordCount,
84
+ globalShinkLimit: null === (_26 = this._wordCloudShapeConfig) || void 0 === _26 ? void 0 : _26.globalShinkLimit,
85
+ fontSizeEnlargeFactor: null === (_27 = this._wordCloudShapeConfig) || void 0 === _27 ? void 0 : _27.fontSizeEnlargeFactor,
86
+ fillingDeltaFontSizeFactor: null === (_28 = this._wordCloudShapeConfig) || void 0 === _28 ? void 0 : _28.fillingDeltaFontSizeFactor
87
87
  }) : (wordCloudTransforms.push({
88
88
  type: "wordcloud",
89
89
  layoutType: this._wordCloudConfig.layoutMode,
90
- size: [ srView.width() - this._paddingLeft, srView.height() - this._paddingTop ],
90
+ size: [ srView.width() - (null === (_d = this._padding) || void 0 === _d ? void 0 : _d.left) || 0 - (null === (_e = this._padding) || void 0 === _e ? void 0 : _e.right) || 0, srView.height() - (null === (_f = this._padding) || void 0 === _f ? void 0 : _f.top) || 0 - (null === (_g = this._padding) || void 0 === _g ? void 0 : _g.bottom) || 0 ],
91
91
  shape: this._maskShape,
92
- postProjection: null !== (_d = this._spec.postProjection) && void 0 !== _d ? _d : "StereographicProjection",
92
+ postProjection: null !== (_h = this._spec.postProjection) && void 0 !== _h ? _h : "StereographicProjection",
93
93
  dataIndexKey: constant_1.DEFAULT_DATA_KEY,
94
94
  text: {
95
95
  field: textField
@@ -102,13 +102,13 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
102
102
  rotate: {
103
103
  field: word_cloud_1.WORD_CLOUD_ANGLE
104
104
  },
105
- fontFamily: null !== (_e = this._fontFamilyField) && void 0 !== _e ? _e : null === (_g = null === (_f = this._spec.word) || void 0 === _f ? void 0 : _f.style) || void 0 === _g ? void 0 : _g.fontFamily,
105
+ fontFamily: null !== (_j = this._fontFamilyField) && void 0 !== _j ? _j : null === (_l = null === (_k = this._spec.word) || void 0 === _k ? void 0 : _k.style) || void 0 === _l ? void 0 : _l.fontFamily,
106
106
  fontWeight: fontWeightField ? {
107
107
  field: fontWeightField
108
108
  } : valueField ? {
109
109
  field: word_cloud_1.WORD_CLOUD_WEIGHT
110
110
  } : null,
111
- fontStyle: null !== (_h = this._fontStyleField) && void 0 !== _h ? _h : null === (_k = null === (_j = this._spec.word) || void 0 === _j ? void 0 : _j.style) || void 0 === _k ? void 0 : _k.fontStyle,
111
+ fontStyle: null !== (_m = this._fontStyleField) && void 0 !== _m ? _m : null === (_p = null === (_o = this._spec.word) || void 0 === _o ? void 0 : _o.style) || void 0 === _p ? void 0 : _p.fontStyle,
112
112
  depth_3d: this._spec.depth_3d,
113
113
  randomVisible: this._random,
114
114
  clip: "clip" === this._wordCloudConfig.drawOutOfBound,
@@ -169,25 +169,25 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
169
169
  }
170
170
  initAnimation() {
171
171
  this._wordMark && this._wordMark.setAnimationConfig((0, utils_1.animationConfig)(config_1.DEFAULT_MARK_ANIMATION.wordCloud3d((() => {
172
- var _a;
173
- const srView = this.getCompiler().getVGrammarView(), width = srView.width() - this._paddingLeft, height = srView.height() - this._paddingTop, r = Math.max(width, height) / 2;
172
+ var _a, _b, _c, _d, _e;
173
+ const srView = this.getCompiler().getVGrammarView(), width = srView.width() - (null === (_a = this._padding) || void 0 === _a ? void 0 : _a.left) || 0 - (null === (_b = this._padding) || void 0 === _b ? void 0 : _b.right) || 0, height = srView.height() - (null === (_c = this._padding) || void 0 === _c ? void 0 : _c.top) || 0 - (null === (_d = this._padding) || void 0 === _d ? void 0 : _d.bottom) || 0, r = Math.max(width, height) / 2;
174
174
  return {
175
175
  center: {
176
176
  x: r,
177
177
  y: r,
178
- z: null !== (_a = this._spec.depth_3d) && void 0 !== _a ? _a : r
178
+ z: null !== (_e = this._spec.depth_3d) && void 0 !== _e ? _e : r
179
179
  },
180
180
  r: r
181
181
  };
182
182
  })), (0, utils_1.userAnimationConfig)(interface_1.SeriesMarkNameEnum.word, this._spec))),
183
183
  this._fillingWordMark && this._fillingWordMark.setAnimationConfig((0, utils_1.animationConfig)(config_1.DEFAULT_MARK_ANIMATION.wordCloud3d((() => {
184
- var _a;
185
- const srView = this.getCompiler().getVGrammarView(), width = srView.width() - this._paddingLeft, height = srView.height() - this._paddingTop, r = Math.max(width, height) / 2;
184
+ var _a, _b, _c, _d, _e;
185
+ const srView = this.getCompiler().getVGrammarView(), width = srView.width() - (null === (_a = this._padding) || void 0 === _a ? void 0 : _a.left) || 0 - (null === (_b = this._padding) || void 0 === _b ? void 0 : _b.right) || 0, height = srView.height() - (null === (_c = this._padding) || void 0 === _c ? void 0 : _c.top) || 0 - (null === (_d = this._padding) || void 0 === _d ? void 0 : _d.bottom) || 0, r = Math.max(width, height) / 2;
186
186
  return {
187
187
  center: {
188
188
  x: r,
189
189
  y: r,
190
- z: null !== (_a = this._spec.depth_3d) && void 0 !== _a ? _a : r
190
+ z: null !== (_e = this._spec.depth_3d) && void 0 !== _e ? _e : r
191
191
  },
192
192
  r: r
193
193
  };