@visactor/vchart 1.13.1 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (792) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +1376 -1225
  3. package/build/index.js +1379 -1224
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/config.js.map +1 -1
  7. package/cjs/animation/utils.d.ts +2 -2
  8. package/cjs/chart/base/base-chart.d.ts +1 -2
  9. package/cjs/chart/base/base-chart.js.map +1 -1
  10. package/cjs/chart/common/interface.d.ts +5 -4
  11. package/cjs/chart/common/interface.js.map +1 -1
  12. package/cjs/chart/gauge/interface.d.ts +2 -2
  13. package/cjs/chart/gauge/interface.js.map +1 -1
  14. package/cjs/chart/index.js +2 -1
  15. package/cjs/chart/interface/common.d.ts +2 -2
  16. package/cjs/chart/interface/common.js.map +1 -1
  17. package/cjs/chart/polar/interface.d.ts +1 -1
  18. package/cjs/chart/polar/interface.js.map +1 -1
  19. package/cjs/chart/sequence/interface.d.ts +2 -1
  20. package/cjs/chart/sequence/interface.js.map +1 -1
  21. package/cjs/compile/compilable-base.d.ts +2 -3
  22. package/cjs/compile/compilable-base.js +1 -2
  23. package/cjs/compile/compilable-base.js.map +1 -1
  24. package/cjs/compile/compiler.d.ts +8 -8
  25. package/cjs/compile/compiler.js +23 -11
  26. package/cjs/compile/compiler.js.map +1 -1
  27. package/cjs/compile/interface/compilable-item.d.ts +63 -5
  28. package/cjs/compile/interface/compilable-item.js.map +1 -1
  29. package/cjs/compile/interface/compiler.d.ts +4 -20
  30. package/cjs/compile/interface/compiler.js.map +1 -1
  31. package/cjs/compile/mark/compilable-mark.d.ts +4 -5
  32. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  33. package/cjs/compile/mark/interface.d.ts +19 -7
  34. package/cjs/compile/mark/interface.js.map +1 -1
  35. package/cjs/compile/mark/mark-data.d.ts +2 -2
  36. package/cjs/compile/mark/mark-data.js.map +1 -1
  37. package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
  38. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  39. package/cjs/component/axis/base-axis.d.ts +1 -1
  40. package/cjs/component/axis/base-axis.js.map +1 -1
  41. package/cjs/component/axis/cartesian/axis.js +28 -59
  42. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  43. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  44. package/cjs/component/axis/interface/common.d.ts +2 -2
  45. package/cjs/component/axis/interface/common.js.map +1 -1
  46. package/cjs/component/axis/interface/spec.js.map +1 -1
  47. package/cjs/component/axis/polar/interface/common.d.ts +1 -1
  48. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  49. package/cjs/component/axis/util.js.map +1 -1
  50. package/cjs/component/base/base-component.js.map +1 -1
  51. package/cjs/component/crosshair/interface/cartesian.d.ts +1 -1
  52. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  53. package/cjs/component/crosshair/interface/common.d.ts +1 -1
  54. package/cjs/component/crosshair/interface/common.js.map +1 -1
  55. package/cjs/component/crosshair/interface/polar.d.ts +1 -1
  56. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  57. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  58. package/cjs/component/crosshair/interface/theme.d.ts +1 -1
  59. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  60. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  61. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  62. package/cjs/component/data-zoom/data-zoom/interface.d.ts +1 -2
  63. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  64. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +1 -2
  65. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  66. package/cjs/component/interface/theme.d.ts +13 -9
  67. package/cjs/component/interface/theme.js.map +1 -1
  68. package/cjs/component/label/interface.d.ts +14 -2
  69. package/cjs/component/label/interface.js.map +1 -1
  70. package/cjs/component/label/label.d.ts +2 -15
  71. package/cjs/component/label/label.js.map +1 -1
  72. package/cjs/component/label/total-label.js.map +1 -1
  73. package/cjs/component/label/util.d.ts +1 -2
  74. package/cjs/component/label/util.js.map +1 -1
  75. package/cjs/component/legend/interface.d.ts +5 -2
  76. package/cjs/component/legend/interface.js.map +1 -1
  77. package/cjs/component/legend/util.d.ts +2 -2
  78. package/cjs/component/marker/base-marker.d.ts +1 -1
  79. package/cjs/component/marker/base-marker.js.map +1 -1
  80. package/cjs/component/marker/interface.d.ts +3 -4
  81. package/cjs/component/marker/interface.js.map +1 -1
  82. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  83. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  84. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  85. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  86. package/cjs/component/marker/mark-line/interface/spec.d.ts +1 -1
  87. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  88. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  89. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  90. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  91. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  92. package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
  93. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  94. package/cjs/component/player/interface/theme.d.ts +1 -2
  95. package/cjs/component/player/interface/theme.js.map +1 -1
  96. package/cjs/component/poptip/interface.d.ts +1 -1
  97. package/cjs/component/poptip/interface.js.map +1 -1
  98. package/cjs/component/title/interface/theme.d.ts +1 -1
  99. package/cjs/component/title/interface/theme.js.map +1 -1
  100. package/cjs/component/tooltip/interface/theme.d.ts +1 -1
  101. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  102. package/cjs/core/factory.d.ts +1 -1
  103. package/cjs/core/index.d.ts +1 -1
  104. package/cjs/core/index.js +1 -1
  105. package/cjs/core/index.js.map +1 -1
  106. package/cjs/core/instance-manager.js +1 -2
  107. package/cjs/core/interface.d.ts +6 -7
  108. package/cjs/core/interface.js.map +1 -1
  109. package/cjs/core/util.js +2 -1
  110. package/cjs/core/vchart.d.ts +3 -3
  111. package/cjs/core/vchart.js.map +1 -1
  112. package/cjs/data/initialize.js +1 -1
  113. package/cjs/data/register.js +1 -1
  114. package/cjs/data/transforms/aggregation.d.ts +2 -29
  115. package/cjs/data/transforms/aggregation.js.map +1 -1
  116. package/cjs/data/transforms/dimension-statistics.d.ts +1 -13
  117. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  118. package/cjs/data/transforms/hierarchy-dimension-statistics.d.ts +1 -1
  119. package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  120. package/cjs/data/transforms/interface.d.ts +47 -0
  121. package/cjs/data/transforms/interface.js +6 -0
  122. package/cjs/data/transforms/interface.js.map +1 -0
  123. package/cjs/data/transforms/regression.d.ts +1 -4
  124. package/cjs/data/transforms/regression.js.map +1 -1
  125. package/cjs/event/event.js +1 -1
  126. package/cjs/event/events/dimension/interface.d.ts +1 -1
  127. package/cjs/event/events/dimension/interface.js.map +1 -1
  128. package/cjs/event/index.js +1 -1
  129. package/cjs/event/interface.d.ts +1 -2
  130. package/cjs/event/interface.js.map +1 -1
  131. package/cjs/interaction/interface.d.ts +1 -5
  132. package/cjs/interaction/interface.js.map +1 -1
  133. package/cjs/layout/interface.js.map +1 -1
  134. package/cjs/mark/arc-3d.d.ts +1 -2
  135. package/cjs/mark/arc-3d.js.map +1 -1
  136. package/cjs/mark/arc.d.ts +1 -2
  137. package/cjs/mark/arc.js.map +1 -1
  138. package/cjs/mark/area.d.ts +1 -2
  139. package/cjs/mark/area.js.map +1 -1
  140. package/cjs/mark/base/base-line.js.map +1 -1
  141. package/cjs/mark/box-plot.d.ts +1 -2
  142. package/cjs/mark/box-plot.js.map +1 -1
  143. package/cjs/mark/cell.d.ts +1 -2
  144. package/cjs/mark/cell.js.map +1 -1
  145. package/cjs/mark/component.d.ts +1 -2
  146. package/cjs/mark/component.js.map +1 -1
  147. package/cjs/mark/group.d.ts +1 -9
  148. package/cjs/mark/group.js.map +1 -1
  149. package/cjs/mark/image.d.ts +1 -2
  150. package/cjs/mark/image.js.map +1 -1
  151. package/cjs/mark/interface/common.d.ts +1 -1
  152. package/cjs/mark/interface/common.js.map +1 -1
  153. package/cjs/mark/interface/index.d.ts +1 -0
  154. package/cjs/mark/interface/index.js +2 -1
  155. package/cjs/mark/interface/index.js.map +1 -1
  156. package/cjs/mark/interface/mark.d.ts +44 -0
  157. package/cjs/mark/interface/mark.js +6 -0
  158. package/cjs/mark/interface/mark.js.map +1 -0
  159. package/cjs/mark/label.d.ts +2 -11
  160. package/cjs/mark/label.js.map +1 -1
  161. package/cjs/mark/line.d.ts +1 -2
  162. package/cjs/mark/line.js.map +1 -1
  163. package/cjs/mark/link-path.d.ts +1 -2
  164. package/cjs/mark/link-path.js.map +1 -1
  165. package/cjs/mark/path.d.ts +1 -2
  166. package/cjs/mark/path.js.map +1 -1
  167. package/cjs/mark/polygon/polygon.d.ts +1 -2
  168. package/cjs/mark/polygon/polygon.js.map +1 -1
  169. package/cjs/mark/polygon/pyramid-3d.d.ts +1 -2
  170. package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
  171. package/cjs/mark/rect-3d.d.ts +1 -2
  172. package/cjs/mark/rect-3d.js.map +1 -1
  173. package/cjs/mark/rect.d.ts +1 -2
  174. package/cjs/mark/rect.js.map +1 -1
  175. package/cjs/mark/ripple.d.ts +1 -2
  176. package/cjs/mark/ripple.js.map +1 -1
  177. package/cjs/mark/rule.d.ts +1 -2
  178. package/cjs/mark/rule.js.map +1 -1
  179. package/cjs/mark/symbol.d.ts +1 -2
  180. package/cjs/mark/symbol.js.map +1 -1
  181. package/cjs/mark/text.d.ts +2 -8
  182. package/cjs/mark/text.js.map +1 -1
  183. package/cjs/model/interface.d.ts +5 -5
  184. package/cjs/model/interface.js.map +1 -1
  185. package/cjs/plugin/chart/interface.d.ts +1 -2
  186. package/cjs/plugin/chart/interface.js.map +1 -1
  187. package/cjs/plugin/chart/media-query/interface/common.d.ts +2 -2
  188. package/cjs/plugin/chart/media-query/interface/common.js.map +1 -1
  189. package/cjs/plugin/chart/media-query/util/filter.js +1 -1
  190. package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
  191. package/cjs/plugin/components/tooltip-handler/base.d.ts +3 -3
  192. package/cjs/plugin/components/tooltip-handler/base.js +18 -16
  193. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  194. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  195. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -6
  196. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  197. package/cjs/region/interface.d.ts +1 -2
  198. package/cjs/region/interface.js.map +1 -1
  199. package/cjs/region/region.d.ts +1 -2
  200. package/cjs/region/region.js.map +1 -1
  201. package/cjs/scale/global-scale.d.ts +1 -1
  202. package/cjs/scale/global-scale.js.map +1 -1
  203. package/cjs/scale/interface.d.ts +1 -1
  204. package/cjs/scale/interface.js.map +1 -1
  205. package/cjs/series/area/animation.d.ts +1 -5
  206. package/cjs/series/area/animation.js.map +1 -1
  207. package/cjs/series/area/area.d.ts +1 -2
  208. package/cjs/series/area/area.js.map +1 -1
  209. package/cjs/series/area/interface.d.ts +7 -4
  210. package/cjs/series/area/interface.js.map +1 -1
  211. package/cjs/series/bar/animation.d.ts +1 -8
  212. package/cjs/series/bar/animation.js.map +1 -1
  213. package/cjs/series/bar/bar.d.ts +1 -3
  214. package/cjs/series/bar/bar.js.map +1 -1
  215. package/cjs/series/bar/interface.d.ts +10 -4
  216. package/cjs/series/bar/interface.js.map +1 -1
  217. package/cjs/series/base/base-series.d.ts +2 -3
  218. package/cjs/series/base/base-series.js.map +1 -1
  219. package/cjs/series/box-plot/box-plot.d.ts +1 -1
  220. package/cjs/series/box-plot/box-plot.js.map +1 -1
  221. package/cjs/series/cartesian/cartesian.d.ts +2 -2
  222. package/cjs/series/cartesian/cartesian.js.map +1 -1
  223. package/cjs/series/cartesian/interface.d.ts +1 -1
  224. package/cjs/series/cartesian/interface.js.map +1 -1
  225. package/cjs/series/circle-packing/animation.d.ts +1 -2
  226. package/cjs/series/circle-packing/animation.js.map +1 -1
  227. package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
  228. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  229. package/cjs/series/circle-packing/interface.d.ts +2 -1
  230. package/cjs/series/circle-packing/interface.js.map +1 -1
  231. package/cjs/series/correlation/animation.d.ts +1 -5
  232. package/cjs/series/correlation/animation.js.map +1 -1
  233. package/cjs/series/correlation/correlation.d.ts +1 -2
  234. package/cjs/series/correlation/correlation.js.map +1 -1
  235. package/cjs/series/correlation/interface.d.ts +7 -4
  236. package/cjs/series/correlation/interface.js.map +1 -1
  237. package/cjs/series/dot/dot.d.ts +1 -1
  238. package/cjs/series/dot/dot.js.map +1 -1
  239. package/cjs/series/funnel/3d/funnel-3d.d.ts +1 -1
  240. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  241. package/cjs/series/funnel/funnel.d.ts +1 -5
  242. package/cjs/series/funnel/funnel.js.map +1 -1
  243. package/cjs/series/funnel/interface.d.ts +1 -1
  244. package/cjs/series/funnel/interface.js.map +1 -1
  245. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  246. package/cjs/series/gauge/gauge.d.ts +2 -0
  247. package/cjs/series/gauge/gauge.js +14 -1
  248. package/cjs/series/gauge/gauge.js.map +1 -1
  249. package/cjs/series/gauge/interface.d.ts +1 -2
  250. package/cjs/series/gauge/interface.js.map +1 -1
  251. package/cjs/series/heatmap/animation.d.ts +1 -1
  252. package/cjs/series/heatmap/animation.js.map +1 -1
  253. package/cjs/series/heatmap/heatmap.d.ts +1 -3
  254. package/cjs/series/heatmap/heatmap.js.map +1 -1
  255. package/cjs/series/heatmap/interface.d.ts +2 -2
  256. package/cjs/series/heatmap/interface.js.map +1 -1
  257. package/cjs/series/index.d.ts +7 -3
  258. package/cjs/series/index.js +30 -2
  259. package/cjs/series/index.js.map +1 -1
  260. package/cjs/series/interface/common.d.ts +2 -3
  261. package/cjs/series/interface/common.js.map +1 -1
  262. package/cjs/series/interface/series.d.ts +6 -9
  263. package/cjs/series/interface/series.js.map +1 -1
  264. package/cjs/series/interface/theme.d.ts +1 -1
  265. package/cjs/series/interface/theme.js.map +1 -1
  266. package/cjs/series/line/animation.d.ts +1 -5
  267. package/cjs/series/line/animation.js.map +1 -1
  268. package/cjs/series/line/interface.d.ts +7 -4
  269. package/cjs/series/line/interface.js.map +1 -1
  270. package/cjs/series/line/line.js.map +1 -1
  271. package/cjs/series/link/link.d.ts +1 -1
  272. package/cjs/series/link/link.js.map +1 -1
  273. package/cjs/series/liquid/animation.d.ts +1 -11
  274. package/cjs/series/liquid/animation.js.map +1 -1
  275. package/cjs/series/liquid/interface.d.ts +12 -2
  276. package/cjs/series/liquid/interface.js.map +1 -1
  277. package/cjs/series/liquid/liquid.js.map +1 -1
  278. package/cjs/series/map/interface.d.ts +1 -1
  279. package/cjs/series/map/interface.js.map +1 -1
  280. package/cjs/series/map/map.d.ts +1 -2
  281. package/cjs/series/map/map.js.map +1 -1
  282. package/cjs/series/mixin/interface.d.ts +14 -0
  283. package/cjs/series/mixin/interface.js +6 -0
  284. package/cjs/series/mixin/interface.js.map +1 -0
  285. package/cjs/series/mixin/line-mixin.d.ts +3 -18
  286. package/cjs/series/mixin/line-mixin.js.map +1 -1
  287. package/cjs/series/mosaic/interface.js.map +1 -1
  288. package/cjs/series/pictogram/interface.js.map +1 -1
  289. package/cjs/series/pictogram/pictogram.d.ts +8 -7
  290. package/cjs/series/pictogram/pictogram.js.map +1 -1
  291. package/cjs/series/pie/3d/pie-3d.d.ts +1 -1
  292. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  293. package/cjs/series/pie/animation/animation.d.ts +1 -5
  294. package/cjs/series/pie/animation/animation.js.map +1 -1
  295. package/cjs/series/pie/animation/centerOffset.d.ts +1 -4
  296. package/cjs/series/pie/animation/centerOffset.js.map +1 -1
  297. package/cjs/series/pie/interface.d.ts +9 -2
  298. package/cjs/series/pie/interface.js.map +1 -1
  299. package/cjs/series/pie/pie.d.ts +1 -4
  300. package/cjs/series/pie/pie.js.map +1 -1
  301. package/cjs/series/polar/progress-like/animation.d.ts +1 -4
  302. package/cjs/series/polar/progress-like/animation.js.map +1 -1
  303. package/cjs/series/polar/progress-like/interface.d.ts +4 -0
  304. package/cjs/series/polar/progress-like/interface.js.map +1 -1
  305. package/cjs/series/polar/progress-like/progress-like.d.ts +1 -2
  306. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  307. package/cjs/series/progress/circular/circular.js.map +1 -1
  308. package/cjs/series/progress/circular/interface.d.ts +1 -2
  309. package/cjs/series/progress/circular/interface.js.map +1 -1
  310. package/cjs/series/progress/linear/animation.d.ts +1 -5
  311. package/cjs/series/progress/linear/animation.js.map +1 -1
  312. package/cjs/series/progress/linear/interface.d.ts +4 -1
  313. package/cjs/series/progress/linear/interface.js.map +1 -1
  314. package/cjs/series/progress/linear/linear.js.map +1 -1
  315. package/cjs/series/radar/animation.d.ts +2 -8
  316. package/cjs/series/radar/animation.js.map +1 -1
  317. package/cjs/series/radar/interface.d.ts +11 -4
  318. package/cjs/series/radar/interface.js.map +1 -1
  319. package/cjs/series/radar/radar.js.map +1 -1
  320. package/cjs/series/range-area/range-area.js.map +1 -1
  321. package/cjs/series/range-column/animation.d.ts +1 -5
  322. package/cjs/series/range-column/animation.js.map +1 -1
  323. package/cjs/series/range-column/interface.d.ts +6 -2
  324. package/cjs/series/range-column/interface.js.map +1 -1
  325. package/cjs/series/range-column/range-column.d.ts +1 -1
  326. package/cjs/series/range-column/range-column.js.map +1 -1
  327. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  328. package/cjs/series/rose/animation.d.ts +1 -5
  329. package/cjs/series/rose/animation.js.map +1 -1
  330. package/cjs/series/rose/interface.d.ts +7 -3
  331. package/cjs/series/rose/interface.js.map +1 -1
  332. package/cjs/series/rose/rose.d.ts +1 -3
  333. package/cjs/series/rose/rose.js.map +1 -1
  334. package/cjs/series/sankey/animation.d.ts +1 -7
  335. package/cjs/series/sankey/animation.js.map +1 -1
  336. package/cjs/series/sankey/interface.d.ts +7 -2
  337. package/cjs/series/sankey/interface.js.map +1 -1
  338. package/cjs/series/sankey/sankey.d.ts +2 -3
  339. package/cjs/series/sankey/sankey.js.map +1 -1
  340. package/cjs/series/scatter/animation.d.ts +1 -5
  341. package/cjs/series/scatter/animation.js.map +1 -1
  342. package/cjs/series/scatter/interface.d.ts +7 -3
  343. package/cjs/series/scatter/interface.js.map +1 -1
  344. package/cjs/series/scatter/scatter.d.ts +1 -2
  345. package/cjs/series/scatter/scatter.js.map +1 -1
  346. package/cjs/series/sunburst/interface.d.ts +1 -1
  347. package/cjs/series/sunburst/interface.js.map +1 -1
  348. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  349. package/cjs/series/sunburst/sunburst.js.map +1 -1
  350. package/cjs/series/treemap/animation.d.ts +1 -2
  351. package/cjs/series/treemap/animation.js.map +1 -1
  352. package/cjs/series/treemap/interface.d.ts +3 -2
  353. package/cjs/series/treemap/interface.js.map +1 -1
  354. package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
  355. package/cjs/series/treemap/tooltip-helper.js.map +1 -1
  356. package/cjs/series/treemap/treemap.d.ts +2 -3
  357. package/cjs/series/treemap/treemap.js.map +1 -1
  358. package/cjs/series/util/label-mark.d.ts +1 -1
  359. package/cjs/series/util/label-mark.js.map +1 -1
  360. package/cjs/series/util/utils.d.ts +1 -1
  361. package/cjs/series/util/utils.js.map +1 -1
  362. package/cjs/series/venn/animation.d.ts +1 -2
  363. package/cjs/series/venn/animation.js.map +1 -1
  364. package/cjs/series/venn/interface.d.ts +3 -2
  365. package/cjs/series/venn/interface.js.map +1 -1
  366. package/cjs/series/venn/venn.d.ts +3 -4
  367. package/cjs/series/venn/venn.js.map +1 -1
  368. package/cjs/series/waterfall/animation.d.ts +3 -3
  369. package/cjs/series/waterfall/animation.js.map +1 -1
  370. package/cjs/series/waterfall/interface.d.ts +3 -3
  371. package/cjs/series/waterfall/interface.js.map +1 -1
  372. package/cjs/series/waterfall/waterfall.d.ts +2 -4
  373. package/cjs/series/waterfall/waterfall.js.map +1 -1
  374. package/cjs/series/word-cloud/animation.d.ts +1 -8
  375. package/cjs/series/word-cloud/animation.js.map +1 -1
  376. package/cjs/series/word-cloud/base.d.ts +1 -3
  377. package/cjs/series/word-cloud/base.js.map +1 -1
  378. package/cjs/series/word-cloud/interface.d.ts +9 -1
  379. package/cjs/series/word-cloud/interface.js.map +1 -1
  380. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  381. package/cjs/theme/interface.d.ts +1 -1
  382. package/cjs/theme/interface.js.map +1 -1
  383. package/cjs/typings/layout.js.map +1 -1
  384. package/cjs/typings/params.d.ts +1 -1
  385. package/cjs/typings/params.js.map +1 -1
  386. package/cjs/typings/space.js.map +1 -1
  387. package/cjs/typings/spec/chart.d.ts +26 -26
  388. package/cjs/typings/spec/chart.js.map +1 -1
  389. package/cjs/typings/spec/common.d.ts +10 -9
  390. package/cjs/typings/spec/common.js.map +1 -1
  391. package/cjs/typings/spec/index.d.ts +1 -1
  392. package/cjs/typings/spec/index.js.map +1 -1
  393. package/cjs/typings/spec/media-query.d.ts +3 -2
  394. package/cjs/typings/spec/media-query.js.map +1 -1
  395. package/cjs/typings/visual.d.ts +3 -3
  396. package/cjs/typings/visual.js.map +1 -1
  397. package/cjs/util/data.d.ts +1 -1
  398. package/cjs/util/data.js.map +1 -1
  399. package/esm/animation/config.js.map +1 -1
  400. package/esm/animation/utils.d.ts +2 -2
  401. package/esm/chart/base/base-chart.d.ts +1 -2
  402. package/esm/chart/base/base-chart.js.map +1 -1
  403. package/esm/chart/common/interface.d.ts +5 -4
  404. package/esm/chart/common/interface.js.map +1 -1
  405. package/esm/chart/gauge/interface.d.ts +2 -2
  406. package/esm/chart/gauge/interface.js.map +1 -1
  407. package/esm/chart/index.js +2 -1
  408. package/esm/chart/interface/common.d.ts +2 -2
  409. package/esm/chart/interface/common.js.map +1 -1
  410. package/esm/chart/polar/interface.d.ts +1 -1
  411. package/esm/chart/polar/interface.js.map +1 -1
  412. package/esm/chart/sequence/interface.d.ts +2 -1
  413. package/esm/chart/sequence/interface.js.map +1 -1
  414. package/esm/compile/compilable-base.d.ts +2 -3
  415. package/esm/compile/compilable-base.js +1 -2
  416. package/esm/compile/compilable-base.js.map +1 -1
  417. package/esm/compile/compiler.d.ts +8 -8
  418. package/esm/compile/compiler.js +23 -9
  419. package/esm/compile/compiler.js.map +1 -1
  420. package/esm/compile/interface/compilable-item.d.ts +63 -5
  421. package/esm/compile/interface/compilable-item.js.map +1 -1
  422. package/esm/compile/interface/compiler.d.ts +4 -20
  423. package/esm/compile/interface/compiler.js.map +1 -1
  424. package/esm/compile/mark/compilable-mark.d.ts +4 -5
  425. package/esm/compile/mark/compilable-mark.js.map +1 -1
  426. package/esm/compile/mark/interface.d.ts +19 -7
  427. package/esm/compile/mark/interface.js.map +1 -1
  428. package/esm/compile/mark/mark-data.d.ts +2 -2
  429. package/esm/compile/mark/mark-data.js.map +1 -1
  430. package/esm/compile/mark/mark-state-manager.d.ts +2 -2
  431. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  432. package/esm/component/axis/base-axis.d.ts +1 -1
  433. package/esm/component/axis/base-axis.js.map +1 -1
  434. package/esm/component/axis/cartesian/axis.js +28 -59
  435. package/esm/component/axis/cartesian/axis.js.map +1 -1
  436. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  437. package/esm/component/axis/interface/common.d.ts +2 -2
  438. package/esm/component/axis/interface/common.js.map +1 -1
  439. package/esm/component/axis/interface/spec.js.map +1 -1
  440. package/esm/component/axis/polar/interface/common.d.ts +1 -1
  441. package/esm/component/axis/polar/interface/common.js.map +1 -1
  442. package/esm/component/axis/util.js.map +1 -1
  443. package/esm/component/base/base-component.js.map +1 -1
  444. package/esm/component/crosshair/interface/cartesian.d.ts +1 -1
  445. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  446. package/esm/component/crosshair/interface/common.d.ts +1 -1
  447. package/esm/component/crosshair/interface/common.js.map +1 -1
  448. package/esm/component/crosshair/interface/polar.d.ts +1 -1
  449. package/esm/component/crosshair/interface/polar.js.map +1 -1
  450. package/esm/component/crosshair/interface/spec.js.map +1 -1
  451. package/esm/component/crosshair/interface/theme.d.ts +1 -1
  452. package/esm/component/crosshair/interface/theme.js.map +1 -1
  453. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  454. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  455. package/esm/component/data-zoom/data-zoom/interface.d.ts +1 -2
  456. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  457. package/esm/component/data-zoom/scroll-bar/interface.d.ts +1 -2
  458. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  459. package/esm/component/interface/theme.d.ts +13 -9
  460. package/esm/component/interface/theme.js.map +1 -1
  461. package/esm/component/label/interface.d.ts +14 -2
  462. package/esm/component/label/interface.js.map +1 -1
  463. package/esm/component/label/label.d.ts +2 -15
  464. package/esm/component/label/label.js.map +1 -1
  465. package/esm/component/label/total-label.js.map +1 -1
  466. package/esm/component/label/util.d.ts +1 -2
  467. package/esm/component/label/util.js.map +1 -1
  468. package/esm/component/legend/interface.d.ts +5 -2
  469. package/esm/component/legend/interface.js.map +1 -1
  470. package/esm/component/legend/util.d.ts +2 -2
  471. package/esm/component/marker/base-marker.d.ts +1 -1
  472. package/esm/component/marker/base-marker.js.map +1 -1
  473. package/esm/component/marker/interface.d.ts +3 -4
  474. package/esm/component/marker/interface.js.map +1 -1
  475. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  476. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  477. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  478. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  479. package/esm/component/marker/mark-line/interface/spec.d.ts +1 -1
  480. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  481. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  482. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  483. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  484. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  485. package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
  486. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  487. package/esm/component/player/interface/theme.d.ts +1 -2
  488. package/esm/component/player/interface/theme.js.map +1 -1
  489. package/esm/component/poptip/interface.d.ts +1 -1
  490. package/esm/component/poptip/interface.js.map +1 -1
  491. package/esm/component/title/interface/theme.d.ts +1 -1
  492. package/esm/component/title/interface/theme.js.map +1 -1
  493. package/esm/component/tooltip/interface/theme.d.ts +1 -1
  494. package/esm/component/tooltip/interface/theme.js.map +1 -1
  495. package/esm/core/factory.d.ts +1 -1
  496. package/esm/core/index.d.ts +1 -1
  497. package/esm/core/index.js +1 -1
  498. package/esm/core/index.js.map +1 -1
  499. package/esm/core/instance-manager.js +1 -2
  500. package/esm/core/interface.d.ts +6 -7
  501. package/esm/core/interface.js.map +1 -1
  502. package/esm/core/util.js +2 -1
  503. package/esm/core/vchart.d.ts +3 -3
  504. package/esm/core/vchart.js.map +1 -1
  505. package/esm/data/initialize.js +1 -1
  506. package/esm/data/register.js +1 -1
  507. package/esm/data/transforms/aggregation.d.ts +2 -29
  508. package/esm/data/transforms/aggregation.js.map +1 -1
  509. package/esm/data/transforms/dimension-statistics.d.ts +1 -13
  510. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  511. package/esm/data/transforms/hierarchy-dimension-statistics.d.ts +1 -1
  512. package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
  513. package/esm/data/transforms/interface.d.ts +47 -0
  514. package/esm/data/transforms/interface.js +2 -0
  515. package/esm/data/transforms/interface.js.map +1 -0
  516. package/esm/data/transforms/regression.d.ts +1 -4
  517. package/esm/data/transforms/regression.js.map +1 -1
  518. package/esm/event/event.js +1 -1
  519. package/esm/event/events/dimension/interface.d.ts +1 -1
  520. package/esm/event/events/dimension/interface.js.map +1 -1
  521. package/esm/event/index.js +1 -1
  522. package/esm/event/interface.d.ts +1 -2
  523. package/esm/event/interface.js.map +1 -1
  524. package/esm/interaction/interface.d.ts +1 -5
  525. package/esm/interaction/interface.js.map +1 -1
  526. package/esm/layout/interface.js.map +1 -1
  527. package/esm/mark/arc-3d.d.ts +1 -2
  528. package/esm/mark/arc-3d.js.map +1 -1
  529. package/esm/mark/arc.d.ts +1 -2
  530. package/esm/mark/arc.js.map +1 -1
  531. package/esm/mark/area.d.ts +1 -2
  532. package/esm/mark/area.js.map +1 -1
  533. package/esm/mark/base/base-line.js.map +1 -1
  534. package/esm/mark/box-plot.d.ts +1 -2
  535. package/esm/mark/box-plot.js.map +1 -1
  536. package/esm/mark/cell.d.ts +1 -2
  537. package/esm/mark/cell.js.map +1 -1
  538. package/esm/mark/component.d.ts +1 -2
  539. package/esm/mark/component.js.map +1 -1
  540. package/esm/mark/group.d.ts +1 -9
  541. package/esm/mark/group.js.map +1 -1
  542. package/esm/mark/image.d.ts +1 -2
  543. package/esm/mark/image.js.map +1 -1
  544. package/esm/mark/interface/common.d.ts +1 -1
  545. package/esm/mark/interface/common.js.map +1 -1
  546. package/esm/mark/interface/index.d.ts +1 -0
  547. package/esm/mark/interface/index.js +2 -0
  548. package/esm/mark/interface/index.js.map +1 -1
  549. package/esm/mark/interface/mark.d.ts +44 -0
  550. package/esm/mark/interface/mark.js +2 -0
  551. package/esm/mark/interface/mark.js.map +1 -0
  552. package/esm/mark/label.d.ts +2 -11
  553. package/esm/mark/label.js.map +1 -1
  554. package/esm/mark/line.d.ts +1 -2
  555. package/esm/mark/line.js.map +1 -1
  556. package/esm/mark/link-path.d.ts +1 -2
  557. package/esm/mark/link-path.js.map +1 -1
  558. package/esm/mark/path.d.ts +1 -2
  559. package/esm/mark/path.js.map +1 -1
  560. package/esm/mark/polygon/polygon.d.ts +1 -2
  561. package/esm/mark/polygon/polygon.js.map +1 -1
  562. package/esm/mark/polygon/pyramid-3d.d.ts +1 -2
  563. package/esm/mark/polygon/pyramid-3d.js.map +1 -1
  564. package/esm/mark/rect-3d.d.ts +1 -2
  565. package/esm/mark/rect-3d.js.map +1 -1
  566. package/esm/mark/rect.d.ts +1 -2
  567. package/esm/mark/rect.js.map +1 -1
  568. package/esm/mark/ripple.d.ts +1 -2
  569. package/esm/mark/ripple.js.map +1 -1
  570. package/esm/mark/rule.d.ts +1 -2
  571. package/esm/mark/rule.js.map +1 -1
  572. package/esm/mark/symbol.d.ts +1 -2
  573. package/esm/mark/symbol.js.map +1 -1
  574. package/esm/mark/text.d.ts +2 -8
  575. package/esm/mark/text.js.map +1 -1
  576. package/esm/model/interface.d.ts +5 -5
  577. package/esm/model/interface.js.map +1 -1
  578. package/esm/plugin/chart/interface.d.ts +1 -2
  579. package/esm/plugin/chart/interface.js.map +1 -1
  580. package/esm/plugin/chart/media-query/interface/common.d.ts +2 -2
  581. package/esm/plugin/chart/media-query/interface/common.js.map +1 -1
  582. package/esm/plugin/chart/media-query/util/filter.js +1 -1
  583. package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
  584. package/esm/plugin/components/tooltip-handler/base.d.ts +3 -3
  585. package/esm/plugin/components/tooltip-handler/base.js +17 -15
  586. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  587. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  588. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -6
  589. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  590. package/esm/region/interface.d.ts +1 -2
  591. package/esm/region/interface.js.map +1 -1
  592. package/esm/region/region.d.ts +1 -2
  593. package/esm/region/region.js.map +1 -1
  594. package/esm/scale/global-scale.d.ts +1 -1
  595. package/esm/scale/global-scale.js.map +1 -1
  596. package/esm/scale/interface.d.ts +1 -1
  597. package/esm/scale/interface.js.map +1 -1
  598. package/esm/series/area/animation.d.ts +1 -5
  599. package/esm/series/area/animation.js.map +1 -1
  600. package/esm/series/area/area.d.ts +1 -2
  601. package/esm/series/area/area.js.map +1 -1
  602. package/esm/series/area/interface.d.ts +7 -4
  603. package/esm/series/area/interface.js.map +1 -1
  604. package/esm/series/bar/animation.d.ts +1 -8
  605. package/esm/series/bar/animation.js.map +1 -1
  606. package/esm/series/bar/bar.d.ts +1 -3
  607. package/esm/series/bar/bar.js.map +1 -1
  608. package/esm/series/bar/interface.d.ts +10 -4
  609. package/esm/series/bar/interface.js.map +1 -1
  610. package/esm/series/base/base-series.d.ts +2 -3
  611. package/esm/series/base/base-series.js.map +1 -1
  612. package/esm/series/box-plot/box-plot.d.ts +1 -1
  613. package/esm/series/box-plot/box-plot.js.map +1 -1
  614. package/esm/series/cartesian/cartesian.d.ts +2 -2
  615. package/esm/series/cartesian/cartesian.js.map +1 -1
  616. package/esm/series/cartesian/interface.d.ts +1 -1
  617. package/esm/series/cartesian/interface.js.map +1 -1
  618. package/esm/series/circle-packing/animation.d.ts +1 -2
  619. package/esm/series/circle-packing/animation.js.map +1 -1
  620. package/esm/series/circle-packing/circle-packing.d.ts +1 -1
  621. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  622. package/esm/series/circle-packing/interface.d.ts +2 -1
  623. package/esm/series/circle-packing/interface.js.map +1 -1
  624. package/esm/series/correlation/animation.d.ts +1 -5
  625. package/esm/series/correlation/animation.js.map +1 -1
  626. package/esm/series/correlation/correlation.d.ts +1 -2
  627. package/esm/series/correlation/correlation.js.map +1 -1
  628. package/esm/series/correlation/interface.d.ts +7 -4
  629. package/esm/series/correlation/interface.js.map +1 -1
  630. package/esm/series/dot/dot.d.ts +1 -1
  631. package/esm/series/dot/dot.js.map +1 -1
  632. package/esm/series/funnel/3d/funnel-3d.d.ts +1 -1
  633. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  634. package/esm/series/funnel/funnel.d.ts +1 -5
  635. package/esm/series/funnel/funnel.js.map +1 -1
  636. package/esm/series/funnel/interface.d.ts +1 -1
  637. package/esm/series/funnel/interface.js.map +1 -1
  638. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  639. package/esm/series/gauge/gauge.d.ts +2 -0
  640. package/esm/series/gauge/gauge.js +15 -0
  641. package/esm/series/gauge/gauge.js.map +1 -1
  642. package/esm/series/gauge/interface.d.ts +1 -2
  643. package/esm/series/gauge/interface.js.map +1 -1
  644. package/esm/series/heatmap/animation.d.ts +1 -1
  645. package/esm/series/heatmap/animation.js.map +1 -1
  646. package/esm/series/heatmap/heatmap.d.ts +1 -3
  647. package/esm/series/heatmap/heatmap.js.map +1 -1
  648. package/esm/series/heatmap/interface.d.ts +2 -2
  649. package/esm/series/heatmap/interface.js.map +1 -1
  650. package/esm/series/index.d.ts +7 -3
  651. package/esm/series/index.js +6 -2
  652. package/esm/series/index.js.map +1 -1
  653. package/esm/series/interface/common.d.ts +2 -3
  654. package/esm/series/interface/common.js.map +1 -1
  655. package/esm/series/interface/series.d.ts +6 -9
  656. package/esm/series/interface/series.js.map +1 -1
  657. package/esm/series/interface/theme.d.ts +1 -1
  658. package/esm/series/interface/theme.js.map +1 -1
  659. package/esm/series/line/animation.d.ts +1 -5
  660. package/esm/series/line/animation.js.map +1 -1
  661. package/esm/series/line/interface.d.ts +7 -4
  662. package/esm/series/line/interface.js.map +1 -1
  663. package/esm/series/line/line.js.map +1 -1
  664. package/esm/series/link/link.d.ts +1 -1
  665. package/esm/series/link/link.js.map +1 -1
  666. package/esm/series/liquid/animation.d.ts +1 -11
  667. package/esm/series/liquid/animation.js.map +1 -1
  668. package/esm/series/liquid/interface.d.ts +12 -2
  669. package/esm/series/liquid/interface.js.map +1 -1
  670. package/esm/series/liquid/liquid.js.map +1 -1
  671. package/esm/series/map/interface.d.ts +1 -1
  672. package/esm/series/map/interface.js.map +1 -1
  673. package/esm/series/map/map.d.ts +1 -2
  674. package/esm/series/map/map.js.map +1 -1
  675. package/esm/series/mixin/interface.d.ts +14 -0
  676. package/esm/series/mixin/interface.js +2 -0
  677. package/esm/series/mixin/interface.js.map +1 -0
  678. package/esm/series/mixin/line-mixin.d.ts +3 -18
  679. package/esm/series/mixin/line-mixin.js.map +1 -1
  680. package/esm/series/mosaic/interface.js.map +1 -1
  681. package/esm/series/pictogram/interface.js.map +1 -1
  682. package/esm/series/pictogram/pictogram.d.ts +8 -7
  683. package/esm/series/pictogram/pictogram.js.map +1 -1
  684. package/esm/series/pie/3d/pie-3d.d.ts +1 -1
  685. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  686. package/esm/series/pie/animation/animation.d.ts +1 -5
  687. package/esm/series/pie/animation/animation.js.map +1 -1
  688. package/esm/series/pie/animation/centerOffset.d.ts +1 -4
  689. package/esm/series/pie/animation/centerOffset.js.map +1 -1
  690. package/esm/series/pie/interface.d.ts +9 -2
  691. package/esm/series/pie/interface.js.map +1 -1
  692. package/esm/series/pie/pie.d.ts +1 -4
  693. package/esm/series/pie/pie.js.map +1 -1
  694. package/esm/series/polar/progress-like/animation.d.ts +1 -4
  695. package/esm/series/polar/progress-like/animation.js.map +1 -1
  696. package/esm/series/polar/progress-like/interface.d.ts +4 -0
  697. package/esm/series/polar/progress-like/interface.js.map +1 -1
  698. package/esm/series/polar/progress-like/progress-like.d.ts +1 -2
  699. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  700. package/esm/series/progress/circular/circular.js.map +1 -1
  701. package/esm/series/progress/circular/interface.d.ts +1 -2
  702. package/esm/series/progress/circular/interface.js.map +1 -1
  703. package/esm/series/progress/linear/animation.d.ts +1 -5
  704. package/esm/series/progress/linear/animation.js.map +1 -1
  705. package/esm/series/progress/linear/interface.d.ts +4 -1
  706. package/esm/series/progress/linear/interface.js.map +1 -1
  707. package/esm/series/progress/linear/linear.js.map +1 -1
  708. package/esm/series/radar/animation.d.ts +2 -8
  709. package/esm/series/radar/animation.js.map +1 -1
  710. package/esm/series/radar/interface.d.ts +11 -4
  711. package/esm/series/radar/interface.js.map +1 -1
  712. package/esm/series/radar/radar.js.map +1 -1
  713. package/esm/series/range-area/range-area.js.map +1 -1
  714. package/esm/series/range-column/animation.d.ts +1 -5
  715. package/esm/series/range-column/animation.js.map +1 -1
  716. package/esm/series/range-column/interface.d.ts +6 -2
  717. package/esm/series/range-column/interface.js.map +1 -1
  718. package/esm/series/range-column/range-column.d.ts +1 -1
  719. package/esm/series/range-column/range-column.js.map +1 -1
  720. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  721. package/esm/series/rose/animation.d.ts +1 -5
  722. package/esm/series/rose/animation.js.map +1 -1
  723. package/esm/series/rose/interface.d.ts +7 -3
  724. package/esm/series/rose/interface.js.map +1 -1
  725. package/esm/series/rose/rose.d.ts +1 -3
  726. package/esm/series/rose/rose.js.map +1 -1
  727. package/esm/series/sankey/animation.d.ts +1 -7
  728. package/esm/series/sankey/animation.js.map +1 -1
  729. package/esm/series/sankey/interface.d.ts +7 -2
  730. package/esm/series/sankey/interface.js.map +1 -1
  731. package/esm/series/sankey/sankey.d.ts +2 -3
  732. package/esm/series/sankey/sankey.js.map +1 -1
  733. package/esm/series/scatter/animation.d.ts +1 -5
  734. package/esm/series/scatter/animation.js.map +1 -1
  735. package/esm/series/scatter/interface.d.ts +7 -3
  736. package/esm/series/scatter/interface.js.map +1 -1
  737. package/esm/series/scatter/scatter.d.ts +1 -2
  738. package/esm/series/scatter/scatter.js.map +1 -1
  739. package/esm/series/sunburst/interface.d.ts +1 -1
  740. package/esm/series/sunburst/interface.js.map +1 -1
  741. package/esm/series/sunburst/sunburst.d.ts +1 -1
  742. package/esm/series/sunburst/sunburst.js.map +1 -1
  743. package/esm/series/treemap/animation.d.ts +1 -2
  744. package/esm/series/treemap/animation.js.map +1 -1
  745. package/esm/series/treemap/interface.d.ts +3 -2
  746. package/esm/series/treemap/interface.js.map +1 -1
  747. package/esm/series/treemap/tooltip-helper.d.ts +1 -1
  748. package/esm/series/treemap/tooltip-helper.js.map +1 -1
  749. package/esm/series/treemap/treemap.d.ts +2 -3
  750. package/esm/series/treemap/treemap.js.map +1 -1
  751. package/esm/series/util/label-mark.d.ts +1 -1
  752. package/esm/series/util/label-mark.js.map +1 -1
  753. package/esm/series/util/utils.d.ts +1 -1
  754. package/esm/series/util/utils.js.map +1 -1
  755. package/esm/series/venn/animation.d.ts +1 -2
  756. package/esm/series/venn/animation.js.map +1 -1
  757. package/esm/series/venn/interface.d.ts +3 -2
  758. package/esm/series/venn/interface.js.map +1 -1
  759. package/esm/series/venn/venn.d.ts +3 -4
  760. package/esm/series/venn/venn.js.map +1 -1
  761. package/esm/series/waterfall/animation.d.ts +3 -3
  762. package/esm/series/waterfall/animation.js.map +1 -1
  763. package/esm/series/waterfall/interface.d.ts +3 -3
  764. package/esm/series/waterfall/interface.js.map +1 -1
  765. package/esm/series/waterfall/waterfall.d.ts +2 -4
  766. package/esm/series/waterfall/waterfall.js.map +1 -1
  767. package/esm/series/word-cloud/animation.d.ts +1 -8
  768. package/esm/series/word-cloud/animation.js.map +1 -1
  769. package/esm/series/word-cloud/base.d.ts +1 -3
  770. package/esm/series/word-cloud/base.js.map +1 -1
  771. package/esm/series/word-cloud/interface.d.ts +9 -1
  772. package/esm/series/word-cloud/interface.js.map +1 -1
  773. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  774. package/esm/theme/interface.d.ts +1 -1
  775. package/esm/theme/interface.js.map +1 -1
  776. package/esm/typings/layout.js.map +1 -1
  777. package/esm/typings/params.d.ts +1 -1
  778. package/esm/typings/params.js.map +1 -1
  779. package/esm/typings/space.js.map +1 -1
  780. package/esm/typings/spec/chart.d.ts +26 -26
  781. package/esm/typings/spec/chart.js.map +1 -1
  782. package/esm/typings/spec/common.d.ts +10 -9
  783. package/esm/typings/spec/common.js.map +1 -1
  784. package/esm/typings/spec/index.d.ts +1 -1
  785. package/esm/typings/spec/index.js.map +1 -1
  786. package/esm/typings/spec/media-query.d.ts +3 -2
  787. package/esm/typings/spec/media-query.js.map +1 -1
  788. package/esm/typings/visual.d.ts +3 -3
  789. package/esm/typings/visual.js.map +1 -1
  790. package/esm/util/data.d.ts +1 -1
  791. package/esm/util/data.js.map +1 -1
  792. package/package.json +16 -15
@@ -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 type { IPadding } from '@visactor/vutils';\nimport { isNil, isObject, isValidNumber } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant/data';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface/type';\nimport { isTrueBrowser } from '../../util/env';\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 type { Datum, IMarkSpec, IPoint, ITextMarkSpec } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { WORD_CLOUD_TEXT } from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { wordCloudSeriesMark } from './constant';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport { LinearScale } from '@visactor/vscale';\nimport type { GeometricMaskShape, TextShapeMask } from '@visactor/vgrammar-util';\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 = wordCloudSeriesMark;\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n protected _textField?: string;\n protected _maskCanvas?: HTMLCanvasElement;\n protected _maskMark?: IRectMark;\n\n protected _fontSizeRange?: [number, number] | 'auto' = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number] | 'auto') {\n if (isValid(fontSizeRange)) {\n this._fontSizeRange = fontSizeRange;\n } else {\n this._fontSizeRange = DEFAULT_FONTSIZE_RANGE;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType | TextShapeMask | GeometricMaskShape;\n protected _isWordCloudShape: boolean = false;\n\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _padding?: IPadding;\n protected _defaultFontFamily: string;\n\n protected _keyWordColorCallback: (datum: Datum) => string;\n protected _fillingColorCallback: (datum: Datum) => string;\n protected _dataChange: boolean = true;\n\n protected handleMaskCanvasUpdate = (canvas: HTMLCanvasElement, imageUrl?: string) => {\n this._maskCanvas = canvas;\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._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._textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n const wordCloudConfig = this._spec.wordCloudConfig;\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 if ((!wordCloudConfig || isNil(wordCloudConfig.layoutMode)) && !isTrueBrowser(this._option.mode)) {\n this._wordCloudConfig.layoutMode = 'fast';\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\n this._isWordCloudShape =\n !SHAPE_TYPE.includes(this._maskShape as string) &&\n !['fast', 'grid', 'cloud'].includes(this._wordCloudConfig.layoutMode);\n this._defaultFontFamily = this._option.getTheme().fontFamily as string;\n }\n\n /**\n * @override\n */\n protected initData(): void {\n super.initData();\n // data改变时, 需要重新编译, 重新布局\n this.getViewData()?.target?.addListener('change', () => {\n this._dataChange = true;\n this.compile();\n });\n }\n\n protected _wordMark: ITextMark;\n\n initMark(): void {\n if (this._spec.wordMask?.visible) {\n this._maskMark = this._createMark(BaseWordCloudSeries.mark.wordMask, { dataView: false }) as IRectMark;\n }\n\n this._wordMark = this._createMark(\n BaseWordCloudSeries.mark.word,\n {\n key: DEFAULT_DATA_KEY,\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morphElementKey: this._seriesField\n }\n ) as ITextMark;\n }\n\n initMarkStyle() {\n this.initMarkStyleOfWord(this._wordMark, this._spec.word, this._spec.colorHexField, this._seriesField);\n\n if (this._maskMark) {\n this.setMarkStyle(\n this._maskMark,\n {\n width: () => {\n return this._region.getLayoutRect().width;\n },\n height: () => {\n return this._region.getLayoutRect().height;\n },\n background: () => {\n return this._maskCanvas;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initMarkStyleOfWord(\n wordMark: ITextMark,\n wordSpec?: IMarkSpec<ITextMarkSpec>,\n colorHexField?: string,\n seriesField?: string,\n isFillingWord?: boolean\n ): void {\n if (!wordMark) {\n return;\n }\n this.setMarkStyle(\n wordMark,\n {\n text: (wordSpec as any)?.formatMethod\n ? (datum: Datum) => {\n return (wordSpec as any).formatMethod(datum);\n }\n : (datum: Datum) => datum[this._textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.visible\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n wordMark,\n {\n fill: wordSpec?.style?.fill ?? this.getWordColor,\n // style和field相关的配置都已经传给vgrammar, 所以这里直接拿结果就可以\n fontWeight: (datum: Datum) => datum.fontWeight,\n fontFamily: (datum: Datum) => datum.fontFamily\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._wordMark && this._tooltipHelper.activeTriggerSet.mark.add(this._wordMark);\n }\n\n initAnimation() {\n [this._wordMark].forEach(mark => {\n if (mark) {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n const params = {\n animationConfig: () => mark.getAnimationConfig()?.appear?.[0]\n };\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud')(params, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec, this._markAttributeContext)\n )\n );\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 = colorList ?? this._option.globalScale.getScale('color')?.range() ?? this._getDataScheme();\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n protected initColorCallback(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n const scale = this.getWordOrdinalColorScale(field, isFillingWord);\n return (datum: Datum) => {\n return scale.scale(datum[field ?? DEFAULT_DATA_SERIES_FIELD]);\n };\n }\n\n const colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n\n if (colorList.length === 1) {\n return (datum: Datum) => colorList[0];\n }\n\n if (this._valueField) {\n const stats = this.getRawDataStatisticsByField(this._valueField, true);\n if (stats.min === stats.max) {\n return colorList[0];\n }\n const scale = new LinearScale().domain([stats.min, stats.max]).range(colorList);\n\n return (datum: Datum) => {\n return scale.scale(datum[this._valueField]);\n };\n }\n\n const scale = new LinearScale().domain([0, this.getViewData()?.latestData?.length ?? 1]).range(colorList);\n\n return (datum: Datum) => {\n return scale.scale(datum[DEFAULT_DATA_INDEX]);\n };\n }\n\n getWordColor = (datum: Datum) => {\n if (datum.isFillingWord) {\n if (!this._fillingColorCallback || this._dataChange) {\n // 如果updateData数据变更了, 颜色映射也需要重新计算\n this._fillingColorCallback = this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.initColorCallback(this._wordCloudShapeConfig.fillingSeriesField, true);\n }\n\n return this._fillingColorCallback(datum);\n }\n\n if (!this._keyWordColorCallback || this._dataChange) {\n // 如果updateData数据变更了, 颜色映射也需要重新计算\n this._keyWordColorCallback = this._spec.colorHexField\n ? datum => datum[this._spec.colorHexField]\n : this.initColorCallback(this._seriesField, false);\n }\n\n return this._keyWordColorCallback(datum);\n };\n\n private _calculateFontWeight = (datum: Datum) => {\n const stats = this.getRawDataStatisticsByField(this._valueField, true);\n\n if (stats.min === stats.max) {\n return this._fontWeightRange[0];\n }\n\n return (\n this._fontWeightRange[0] +\n ((this._fontWeightRange[this._fontWeightRange.length - 1] - this._fontWeightRange[0]) *\n (datum[this._valueField] - stats.min)) /\n (stats.max - stats.min)\n );\n };\n\n compile(): void {\n super.compile();\n const { width, height } = this._region.getLayoutRect();\n // 非正常尺寸下不进行布局\n if (!isValidNumber(width) || !isValidNumber(height) || !(height > 0 && width > 0)) {\n return;\n }\n\n const product = (this._wordMark as ICompilableMark).getProduct();\n\n if (product) {\n const wordCloudTransforms: any[] = [];\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n ...this._wordCloudTransformOption()\n });\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n ...this._wordCloudShapeTransformOption()\n });\n }\n\n // 挂到mark的transform上\n product.transform(wordCloudTransforms);\n }\n }\n\n protected _getCommonTransformOptions(): any {\n const { width, height } = this._region.getLayoutRect();\n const wordSpec = this._spec.word ?? {};\n const wordStyleSpec = wordSpec.style ?? {};\n\n return {\n size: [width, height],\n shape:\n isObject(this._maskShape) &&\n (this._maskShape as TextShapeMask).type === 'text' &&\n isNil((this._maskShape as TextShapeMask).fontFamily)\n ? {\n fontFamily: this._option.getTheme()?.fontFamily,\n ...this._maskShape\n }\n : this._maskShape,\n onUpdateMaskCanvas: this.handleMaskCanvasUpdate,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: wordSpec.formatMethod\n ? (datum: Datum) => {\n return wordSpec.formatMethod(datum);\n }\n : { field: this._textField },\n fontSize: this._valueField ? { field: this._valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange === 'auto' ? null : this._fontSizeRange,\n\n padding: this._spec.word?.padding ?? DEFAULT_FONT_PADDING,\n fontFamily: isValid(this._spec.fontFamilyField)\n ? { field: this._spec.fontFamilyField }\n : wordStyleSpec.fontFamily ?? this._defaultFontFamily,\n // 为了保持和旧版逻辑一致,优先级如下: spec field > mark style > default (根据valueField映射)\n fontWeight: isValid(this._spec.fontWeightField)\n ? { field: this._spec.fontWeightField }\n : isValid(wordStyleSpec.fontWeight)\n ? wordStyleSpec.fontWeight\n : isValid(this._valueField)\n ? this._calculateFontWeight\n : 'normal',\n fontStyle: isValid(this._spec.fontStyleField) ? { field: this._spec.fontStyleField } : wordStyleSpec.fontStyle\n };\n }\n\n protected _wordCloudTransformOption(): Object {\n return {\n ...this._getCommonTransformOptions(),\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: this._wordCloudConfig.layoutMode,\n\n rotate: this._rotateAngles,\n\n randomVisible: this._spec.random ?? DEFAULT_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 repeatFill: this._wordCloudConfig.zoomToFit.repeat\n };\n }\n\n protected _wordCloudShapeTransformOption(): Object {\n const fillingWordStyleSpec = this._spec.fillingWord?.style ?? {};\n const wordCloudShapeConfig = this._wordCloudShapeConfig ?? {};\n\n return {\n ...wordCloudShapeConfig,\n ...this._getCommonTransformOptions(),\n\n rotateList: this._rotateAngles,\n fillingRotateList: wordCloudShapeConfig.fillingRotateAngles,\n\n fillingFontFamily: isValid(wordCloudShapeConfig.fillingFontFamilyField)\n ? { field: wordCloudShapeConfig.fillingFontFamilyField }\n : fillingWordStyleSpec.fontFamily ?? this._defaultFontFamily,\n fillingPadding: this._spec.fillingWord?.padding ?? DEFAULT_FONT_PADDING,\n fillingFontStyle: isValid(wordCloudShapeConfig.fillingFontStyleField)\n ? { field: wordCloudShapeConfig.fillingFontStyleField }\n : fillingWordStyleSpec.fontStyle,\n // 如果配置了字段映射,优先按照映射进行展示\n fillingFontWeight: isValid(wordCloudShapeConfig.fillingFontWeightField)\n ? {\n field: wordCloudShapeConfig.fillingFontWeightField\n }\n : fillingWordStyleSpec.fontWeight // 填充词fontWeight默认不跟随valueField\n };\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: any): number {\n return null;\n }\n dataToPositionY(data: any): number {\n return null;\n }\n dataToPositionZ(data: any): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\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 onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.compile();\n this._dataChange = false;\n }\n\n getActiveMarks(): IMark[] {\n return [this._wordMark];\n }\n\n reInit() {\n super.reInit();\n if (this._keyWordColorCallback) {\n this._keyWordColorCallback = null;\n }\n\n if (this._fillingColorCallback) {\n this._fillingColorCallback = null;\n }\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 { isNil, isObject, isValidNumber } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant/data';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface/type';\nimport { isTrueBrowser } from '../../util/env';\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 type { Datum, IMarkSpec, IPoint, ITextMarkSpec } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { WORD_CLOUD_TEXT } from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { wordCloudSeriesMark } from './constant';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { Factory } from '../../core/factory';\nimport type { IMark, IRectMark, ITextMark } from '../../mark/interface';\nimport { LinearScale } from '@visactor/vscale';\nimport type { GeometricMaskShape, TextShapeMask } from '@visactor/vgrammar-util';\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 = wordCloudSeriesMark;\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n protected _textField?: string;\n protected _maskCanvas?: HTMLCanvasElement;\n protected _maskMark?: IRectMark;\n\n protected _fontSizeRange?: [number, number] | 'auto' = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number] | 'auto') {\n if (isValid(fontSizeRange)) {\n this._fontSizeRange = fontSizeRange;\n } else {\n this._fontSizeRange = DEFAULT_FONTSIZE_RANGE;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType | TextShapeMask | GeometricMaskShape;\n protected _isWordCloudShape: boolean = false;\n\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _padding?: IPadding;\n protected _defaultFontFamily: string;\n\n protected _keyWordColorCallback: (datum: Datum) => string;\n protected _fillingColorCallback: (datum: Datum) => string;\n protected _dataChange: boolean = true;\n\n protected handleMaskCanvasUpdate = (canvas: HTMLCanvasElement, imageUrl?: string) => {\n this._maskCanvas = canvas;\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._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._textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n const wordCloudConfig = this._spec.wordCloudConfig;\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 if ((!wordCloudConfig || isNil(wordCloudConfig.layoutMode)) && !isTrueBrowser(this._option.mode)) {\n this._wordCloudConfig.layoutMode = 'fast';\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\n this._isWordCloudShape =\n !SHAPE_TYPE.includes(this._maskShape as string) &&\n !['fast', 'grid', 'cloud'].includes(this._wordCloudConfig.layoutMode);\n this._defaultFontFamily = this._option.getTheme().fontFamily as string;\n }\n\n /**\n * @override\n */\n protected initData(): void {\n super.initData();\n // data改变时, 需要重新编译, 重新布局\n this.getViewData()?.target?.addListener('change', () => {\n this._dataChange = true;\n this.compile();\n });\n }\n\n protected _wordMark: ITextMark;\n\n initMark(): void {\n if (this._spec.wordMask?.visible) {\n this._maskMark = this._createMark(BaseWordCloudSeries.mark.wordMask, { dataView: false }) as IRectMark;\n }\n\n this._wordMark = this._createMark(\n BaseWordCloudSeries.mark.word,\n {\n key: DEFAULT_DATA_KEY,\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morphElementKey: this._seriesField\n }\n ) as ITextMark;\n }\n\n initMarkStyle() {\n this.initMarkStyleOfWord(this._wordMark, this._spec.word, this._spec.colorHexField, this._seriesField);\n\n if (this._maskMark) {\n this.setMarkStyle(\n this._maskMark,\n {\n width: () => {\n return this._region.getLayoutRect().width;\n },\n height: () => {\n return this._region.getLayoutRect().height;\n },\n background: () => {\n return this._maskCanvas;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initMarkStyleOfWord(\n wordMark: ITextMark,\n wordSpec?: IMarkSpec<ITextMarkSpec>,\n colorHexField?: string,\n seriesField?: string,\n isFillingWord?: boolean\n ): void {\n if (!wordMark) {\n return;\n }\n this.setMarkStyle(\n wordMark,\n {\n text: (wordSpec as any)?.formatMethod\n ? (datum: Datum) => {\n return (wordSpec as any).formatMethod(datum);\n }\n : (datum: Datum) => datum[this._textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.visible\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n wordMark,\n {\n fill: wordSpec?.style?.fill ?? this.getWordColor,\n // style和field相关的配置都已经传给vgrammar, 所以这里直接拿结果就可以\n fontWeight: (datum: Datum) => datum.fontWeight,\n fontFamily: (datum: Datum) => datum.fontFamily\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._wordMark && this._tooltipHelper.activeTriggerSet.mark.add(this._wordMark);\n }\n\n initAnimation() {\n [this._wordMark].forEach(mark => {\n if (mark) {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n const params = {\n animationConfig: () => mark.getAnimationConfig()?.appear?.[0]\n };\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud')(params, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec, this._markAttributeContext)\n )\n );\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 = colorList ?? this._option.globalScale.getScale('color')?.range() ?? this._getDataScheme();\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n protected initColorCallback(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n const scale = this.getWordOrdinalColorScale(field, isFillingWord);\n return (datum: Datum) => {\n return scale.scale(datum[field ?? DEFAULT_DATA_SERIES_FIELD]);\n };\n }\n\n const colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n\n if (colorList.length === 1) {\n return (datum: Datum) => colorList[0];\n }\n\n if (this._valueField) {\n const stats = this.getRawDataStatisticsByField(this._valueField, true);\n if (stats.min === stats.max) {\n return colorList[0];\n }\n const scale = new LinearScale().domain([stats.min, stats.max]).range(colorList);\n\n return (datum: Datum) => {\n return scale.scale(datum[this._valueField]);\n };\n }\n\n const scale = new LinearScale().domain([0, this.getViewData()?.latestData?.length ?? 1]).range(colorList);\n\n return (datum: Datum) => {\n return scale.scale(datum[DEFAULT_DATA_INDEX]);\n };\n }\n\n getWordColor = (datum: Datum) => {\n if (datum.isFillingWord) {\n if (!this._fillingColorCallback || this._dataChange) {\n // 如果updateData数据变更了, 颜色映射也需要重新计算\n this._fillingColorCallback = this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.initColorCallback(this._wordCloudShapeConfig.fillingSeriesField, true);\n }\n\n return this._fillingColorCallback(datum);\n }\n\n if (!this._keyWordColorCallback || this._dataChange) {\n // 如果updateData数据变更了, 颜色映射也需要重新计算\n this._keyWordColorCallback = this._spec.colorHexField\n ? datum => datum[this._spec.colorHexField]\n : this.initColorCallback(this._seriesField, false);\n }\n\n return this._keyWordColorCallback(datum);\n };\n\n private _calculateFontWeight = (datum: Datum) => {\n const stats = this.getRawDataStatisticsByField(this._valueField, true);\n\n if (stats.min === stats.max) {\n return this._fontWeightRange[0];\n }\n\n return (\n this._fontWeightRange[0] +\n ((this._fontWeightRange[this._fontWeightRange.length - 1] - this._fontWeightRange[0]) *\n (datum[this._valueField] - stats.min)) /\n (stats.max - stats.min)\n );\n };\n\n compile(): void {\n super.compile();\n const { width, height } = this._region.getLayoutRect();\n // 非正常尺寸下不进行布局\n if (!isValidNumber(width) || !isValidNumber(height) || !(height > 0 && width > 0)) {\n return;\n }\n\n const product = (this._wordMark as ICompilableMark).getProduct();\n\n if (product) {\n const wordCloudTransforms: any[] = [];\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n ...this._wordCloudTransformOption()\n });\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n ...this._wordCloudShapeTransformOption()\n });\n }\n\n // 挂到mark的transform上\n product.transform(wordCloudTransforms);\n }\n }\n\n protected _getCommonTransformOptions(): any {\n const { width, height } = this._region.getLayoutRect();\n const wordSpec = this._spec.word ?? {};\n const wordStyleSpec = wordSpec.style ?? {};\n\n return {\n size: [width, height],\n shape:\n isObject(this._maskShape) &&\n (this._maskShape as TextShapeMask).type === 'text' &&\n isNil((this._maskShape as TextShapeMask).fontFamily)\n ? {\n fontFamily: this._option.getTheme()?.fontFamily,\n ...this._maskShape\n }\n : this._maskShape,\n onUpdateMaskCanvas: this.handleMaskCanvasUpdate,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: wordSpec.formatMethod\n ? (datum: Datum) => {\n return wordSpec.formatMethod(datum);\n }\n : { field: this._textField },\n fontSize: this._valueField ? { field: this._valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange === 'auto' ? null : this._fontSizeRange,\n\n padding: this._spec.word?.padding ?? DEFAULT_FONT_PADDING,\n fontFamily: isValid(this._spec.fontFamilyField)\n ? { field: this._spec.fontFamilyField }\n : wordStyleSpec.fontFamily ?? this._defaultFontFamily,\n // 为了保持和旧版逻辑一致,优先级如下: spec field > mark style > default (根据valueField映射)\n fontWeight: isValid(this._spec.fontWeightField)\n ? { field: this._spec.fontWeightField }\n : isValid(wordStyleSpec.fontWeight)\n ? wordStyleSpec.fontWeight\n : isValid(this._valueField)\n ? this._calculateFontWeight\n : 'normal',\n fontStyle: isValid(this._spec.fontStyleField) ? { field: this._spec.fontStyleField } : wordStyleSpec.fontStyle\n };\n }\n\n protected _wordCloudTransformOption(): Object {\n return {\n ...this._getCommonTransformOptions(),\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: this._wordCloudConfig.layoutMode,\n\n rotate: this._rotateAngles,\n\n randomVisible: this._spec.random ?? DEFAULT_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 repeatFill: this._wordCloudConfig.zoomToFit.repeat\n };\n }\n\n protected _wordCloudShapeTransformOption(): Object {\n const fillingWordStyleSpec = this._spec.fillingWord?.style ?? {};\n const wordCloudShapeConfig = this._wordCloudShapeConfig ?? {};\n\n return {\n ...wordCloudShapeConfig,\n ...this._getCommonTransformOptions(),\n\n rotateList: this._rotateAngles,\n fillingRotateList: wordCloudShapeConfig.fillingRotateAngles,\n\n fillingFontFamily: isValid(wordCloudShapeConfig.fillingFontFamilyField)\n ? { field: wordCloudShapeConfig.fillingFontFamilyField }\n : fillingWordStyleSpec.fontFamily ?? this._defaultFontFamily,\n fillingPadding: this._spec.fillingWord?.padding ?? DEFAULT_FONT_PADDING,\n fillingFontStyle: isValid(wordCloudShapeConfig.fillingFontStyleField)\n ? { field: wordCloudShapeConfig.fillingFontStyleField }\n : fillingWordStyleSpec.fontStyle,\n // 如果配置了字段映射,优先按照映射进行展示\n fillingFontWeight: isValid(wordCloudShapeConfig.fillingFontWeightField)\n ? {\n field: wordCloudShapeConfig.fillingFontWeightField\n }\n : fillingWordStyleSpec.fontWeight // 填充词fontWeight默认不跟随valueField\n };\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: any): number {\n return null;\n }\n dataToPositionY(data: any): number {\n return null;\n }\n dataToPositionZ(data: any): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\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 onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.compile();\n this._dataChange = false;\n }\n\n getActiveMarks(): IMark[] {\n return [this._wordMark];\n }\n\n reInit() {\n super.reInit();\n if (this._keyWordColorCallback) {\n this._keyWordColorCallback = null;\n }\n\n if (this._fillingColorCallback) {\n this._fillingColorCallback = null;\n }\n }\n}\n"]}
@@ -1,9 +1,17 @@
1
1
  import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, ITextFormatMethod, IRectMarkSpec } from '../../typings';
2
2
  import type { IAnimationSpec, IMarkAnimateSpec, IStateAnimateSpec } from '../../animation/spec';
3
3
  import type { SeriesMarkNameEnum } from '../interface/type';
4
- import type { WordcloudAppearPreset } from './animation';
5
4
  import type { shapes } from '@visactor/vgrammar-wordcloud';
6
5
  import type { GeometricMaskShape, TextShapeMask } from '@visactor/vgrammar-util';
6
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
7
+ export interface IWordcloud3dAnimationParams {
8
+ radius: number;
9
+ depth_3d: number;
10
+ }
11
+ export interface IWordcloudAnimationParams {
12
+ animationConfig: () => IAnimationTypeConfig;
13
+ }
14
+ export type WordcloudAppearPreset = 'scaleIn' | 'fadeIn';
7
15
  export type WordCloudShapeType = keyof typeof shapes;
8
16
  export type EllipsisType = {
9
17
  string?: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, ITextFormatMethod, IRectMarkSpec } from '../../typings';\nimport type { IAnimationSpec, IMarkAnimateSpec, IStateAnimateSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { WordcloudAppearPreset } from './animation';\nimport type { shapes } from '@visactor/vgrammar-wordcloud';\nimport type { GeometricMaskShape, TextShapeMask } from '@visactor/vgrammar-util';\n\nexport type WordCloudShapeType = keyof typeof shapes;\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 repeat?: boolean;\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, WordcloudAppearPreset> {\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 * TODO: 'linear' 待支持\n */\n colorMode?: '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 * @since 1.8.7 如果配置为'auto', 则fontSizeRange不传入, 字体大小会随画布大小改变而改变\n */\n fontSizeRange?: [number, number] | 'auto'; // 需要固定字体大小的话,数组里面的数就配置成一样的\n /**\n * 词云形状\n * @default 'circle'\n *\n * 注意,文字类型和几何形状类型的shape自 1.12.0 版本开始支持\n */\n maskShape?: string | WordCloudShapeType | TextShapeMask | GeometricMaskShape; // 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?: ITextFormatMethod<[datum?: any]>;\n };\n /**\n * 形状词云填充词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距\n * @description 不增加formatMethod的原因:形状词云在做布局时,word和fillingWord用的是同一份数据,即text相同,所以fillingWords的format不会生效\n * @deprecated\n */\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n };\n\n /**\n * 当形状词云的形状为文字类型和几何形状类型的时候,支持绘制形状轮廓\n * @since 1.12.0\n */\n [SeriesMarkNameEnum.wordMask]?: IMarkSpec<IRectMarkSpec>;\n\n animationAppear?:\n | boolean\n | (IStateAnimateSpec<WordcloudAppearPreset> & {\n /**\n * 默认prest('scaleIn')时,duration为词云中单个词的动画参考时长。当单词数过多,会根据单词总数和总动画时长进行动态调整\n * prest为 'fadeIn' 时,则为总动画时长。\n */\n duration?: number;\n /**\n * 词云入场动画总时长,在默认prest('scaleIn')时生效。\n * @default 1000\n * @since 1.4.0\n */\n totalTime?: number;\n })\n | IMarkAnimateSpec<string>;\n}\n\nexport interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud';\n}\nexport interface IWordCloudSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\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 };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, ITextFormatMethod, IRectMarkSpec } from '../../typings';\nimport type { IAnimationSpec, IMarkAnimateSpec, IStateAnimateSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { shapes } from '@visactor/vgrammar-wordcloud';\nimport type { GeometricMaskShape, TextShapeMask } from '@visactor/vgrammar-util';\nimport type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\n\nexport interface IWordcloud3dAnimationParams {\n radius: number;\n depth_3d: number;\n}\n\nexport interface IWordcloudAnimationParams {\n animationConfig: () => IAnimationTypeConfig;\n}\n\nexport type WordcloudAppearPreset = 'scaleIn' | 'fadeIn';\n\nexport type WordCloudShapeType = keyof typeof shapes;\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 repeat?: boolean;\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, WordcloudAppearPreset> {\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 * TODO: 'linear' 待支持\n */\n colorMode?: '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 * @since 1.8.7 如果配置为'auto', 则fontSizeRange不传入, 字体大小会随画布大小改变而改变\n */\n fontSizeRange?: [number, number] | 'auto'; // 需要固定字体大小的话,数组里面的数就配置成一样的\n /**\n * 词云形状\n * @default 'circle'\n *\n * 注意,文字类型和几何形状类型的shape自 1.12.0 版本开始支持\n */\n maskShape?: string | WordCloudShapeType | TextShapeMask | GeometricMaskShape; // 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?: ITextFormatMethod<[datum?: any]>;\n };\n /**\n * 形状词云填充词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距\n * @description 不增加formatMethod的原因:形状词云在做布局时,word和fillingWord用的是同一份数据,即text相同,所以fillingWords的format不会生效\n * @deprecated\n */\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n };\n\n /**\n * 当形状词云的形状为文字类型和几何形状类型的时候,支持绘制形状轮廓\n * @since 1.12.0\n */\n [SeriesMarkNameEnum.wordMask]?: IMarkSpec<IRectMarkSpec>;\n\n animationAppear?:\n | boolean\n | (IStateAnimateSpec<WordcloudAppearPreset> & {\n /**\n * 默认prest('scaleIn')时,duration为词云中单个词的动画参考时长。当单词数过多,会根据单词总数和总动画时长进行动态调整\n * prest为 'fadeIn' 时,则为总动画时长。\n */\n duration?: number;\n /**\n * 词云入场动画总时长,在默认prest('scaleIn')时生效。\n * @default 1000\n * @since 1.4.0\n */\n totalTime?: number;\n })\n | IMarkAnimateSpec<string>;\n}\n\nexport interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud';\n}\nexport interface IWordCloudSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\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 };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel } from '../../constant/attribute';\nimport type { ITextMark } from '../../mark/text';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerTextMark } from '../../mark/text';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { BaseWordCloudSeries } from './base';\nimport { Factory } from '../../core/factory';\nimport { registerWordCloud3dAnimation } from './animation';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\n\nexport class WordCloud3dSeries<\n T extends IWordCloud3dSeriesSpec = IWordCloud3dSeriesSpec\n> extends BaseWordCloudSeries<T> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n protected _wordCloudTransformOption() {\n return {\n ...super._wordCloudTransformOption(),\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n depth_3d: this._spec.depth_3d\n };\n }\n\n protected _wordCloudShapeTransformOption() {\n return {\n ...super._wordCloudShapeTransformOption(),\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n depth_3d: this._spec.depth_3d\n };\n }\n\n initMark(): void {\n this._wordMark = this._createMark(\n BaseWordCloudSeries.mark.word,\n {\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n support3d: true\n }\n ) as ITextMark;\n }\n\n initMarkStyle() {\n super.initMarkStyle();\n const wordMark = this._wordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n z: (datum: Datum) => datum.z ?? 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n const padding = this._padding ?? {};\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud3d')?.(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - padding.left || 0 - padding.right || 0;\n const height = srView.height() - padding.top || 0 - padding.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: this._spec.depth_3d ?? r },\n r\n };\n }),\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n}\n\nexport const registerWordCloud3dSeries = () => {\n registerWordCloudTransforms();\n registerTextMark();\n registerWordCloud3dAnimation();\n Factory.registerSeries(WordCloud3dSeries.type, WordCloud3dSeries);\n};\n\nexport const registerWordCloudShape3dSeries = () => {\n registerWordCloudShapeTransforms();\n registerWordCloud3dSeries();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel } from '../../constant/attribute';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerTextMark } from '../../mark/text';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { BaseWordCloudSeries } from './base';\nimport { Factory } from '../../core/factory';\nimport { registerWordCloud3dAnimation } from './animation';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { ITextMark } from '../../mark/interface';\n\nexport class WordCloud3dSeries<\n T extends IWordCloud3dSeriesSpec = IWordCloud3dSeriesSpec\n> extends BaseWordCloudSeries<T> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n protected _wordCloudTransformOption() {\n return {\n ...super._wordCloudTransformOption(),\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n depth_3d: this._spec.depth_3d\n };\n }\n\n protected _wordCloudShapeTransformOption() {\n return {\n ...super._wordCloudShapeTransformOption(),\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n depth_3d: this._spec.depth_3d\n };\n }\n\n initMark(): void {\n this._wordMark = this._createMark(\n BaseWordCloudSeries.mark.word,\n {\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n support3d: true\n }\n ) as ITextMark;\n }\n\n initMarkStyle() {\n super.initMarkStyle();\n const wordMark = this._wordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n z: (datum: Datum) => datum.z ?? 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n const padding = this._padding ?? {};\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud3d')?.(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - padding.left || 0 - padding.right || 0;\n const height = srView.height() - padding.top || 0 - padding.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: this._spec.depth_3d ?? r },\n r\n };\n }),\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n}\n\nexport const registerWordCloud3dSeries = () => {\n registerWordCloudTransforms();\n registerTextMark();\n registerWordCloud3dAnimation();\n Factory.registerSeries(WordCloud3dSeries.type, WordCloud3dSeries);\n};\n\nexport const registerWordCloudShape3dSeries = () => {\n registerWordCloudShapeTransforms();\n registerWordCloud3dSeries();\n};\n"]}
@@ -5,7 +5,7 @@ import type { MarkTypeEnum } from '../mark/interface';
5
5
  import type { IColorKey, IThemeColorScheme } from './color-scheme/interface';
6
6
  import type { IColor } from '@visactor/vrender-core';
7
7
  import type { IComponentTheme } from '../component/interface';
8
- import type { ITokenKey, TokenMap } from './token';
8
+ import type { ITokenKey, TokenMap } from './token/interface';
9
9
  import type { ChartType } from '../chart/interface';
10
10
  export interface ITheme {
11
11
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesTheme } from '../series/interface';\nimport type { IMarkTheme } from '../typings/spec';\nimport type {\n IArcMarkSpec,\n IAreaMarkSpec,\n ILineMarkSpec,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n IPathMarkSpec,\n ILayoutPaddingSpec\n} from '../typings';\nimport type { MarkTypeEnum } from '../mark/interface';\nimport type { IColorKey, IThemeColorScheme } from './color-scheme/interface';\nimport type { IColor } from '@visactor/vrender-core';\nimport type { IComponentTheme } from '../component/interface';\nimport type { ITokenKey, TokenMap } from './token';\nimport type { ChartType } from '../chart/interface';\n\nexport interface ITheme {\n /**\n * 第 1 种配置:主题信息\n */\n /** 主题命名 */\n name?: string;\n /** 主题描述 */\n description?: string;\n /**\n * 主题类别:亮色或者暗色\n * 该配置用于指定该主题需要 merge 的是内置的亮色主题还是暗色主题\n */\n type?: 'light' | 'dark';\n\n /**\n * 第 2 种配置:图表层级的样式属性\n */\n /** 图表背景色 */\n background?: IColor | IColorKey;\n /** 图表内边距 */\n padding?: ILayoutPaddingSpec;\n /** 图表字体配置 */\n fontFamily?: string | ITokenKey;\n /**\n * 用户自定义的语义化 token,可以在主题中以 ITokenKey 的形式引用并作为常量赋值\n * @since 1.10.0\n */\n token?: TokenMap;\n\n /**\n * 第 3 种配置:色板\n */\n /** 全局色板 */\n colorScheme?: IThemeColorScheme;\n\n /**\n * 第 4 种配置:全局 mark 属性配置\n */\n /** 全局 mark 样式属性,按 mark 类别索引 */\n mark?: IGlobalMarkThemeByType;\n /** 全局 mark 样式属性,按 mark 名称索引,优先级更高 */\n markByName?: IGlobalMarkThemeByName;\n\n /**\n * 第 5 种配置:系列属性配置\n */\n /** 系列样式属性 */\n series?: ISeriesTheme;\n /**\n * 自动关闭动画的阀值,对应的是单系列data的长度\n */\n animationThreshold?: number;\n\n /**\n * 第 6 种配置:组件属性配置\n */\n /** 组件样式属性 */\n component?: IComponentTheme;\n /**\n * 第 7 种配置:根据图表类型配置不同主题样式\n */\n chart?: Record<ChartType, Omit<ITheme, 'name' | 'type' | 'description'>>;\n}\n\nexport interface IGlobalMarkThemeByType {\n [MarkTypeEnum.line]?: Partial<IMarkTheme<ILineMarkSpec>>;\n [MarkTypeEnum.symbol]?: Partial<IMarkTheme<ISymbolMarkSpec>>;\n [MarkTypeEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n [MarkTypeEnum.rect]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [MarkTypeEnum.arc]?: Partial<IMarkTheme<IArcMarkSpec>>;\n [MarkTypeEnum.text]?: Partial<IMarkTheme<ITextMarkSpec>>;\n [MarkTypeEnum.path]?: Partial<IMarkTheme<IPathMarkSpec>>;\n}\n\nexport interface IGlobalMarkThemeByName {\n /** used in lineSeries, areaSeries, radarSeries, etc. */\n line?: Partial<IMarkTheme<ILineMarkSpec>>;\n /** used in lineSeries, areaSeries, radarSeries, scatterSeries etc. */\n point?: Partial<IMarkTheme<ISymbolMarkSpec>>;\n /** used in lineSeries, areaSeries, radarSeries, etc. */\n area?: Partial<IMarkTheme<IAreaMarkSpec>>;\n /** used in barSeries, rangeColumnSeries etc. */\n bar?: Partial<IMarkTheme<IRectMarkSpec>>;\n /** used in many series */\n label?: Partial<IMarkTheme<ITextMarkSpec>>;\n\n [markName: string]: Partial<IMarkTheme<any>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/theme/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesTheme } from '../series/interface';\nimport type { IMarkTheme } from '../typings/spec';\nimport type {\n IArcMarkSpec,\n IAreaMarkSpec,\n ILineMarkSpec,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n IPathMarkSpec,\n ILayoutPaddingSpec\n} from '../typings';\nimport type { MarkTypeEnum } from '../mark/interface';\nimport type { IColorKey, IThemeColorScheme } from './color-scheme/interface';\nimport type { IColor } from '@visactor/vrender-core';\nimport type { IComponentTheme } from '../component/interface';\nimport type { ITokenKey, TokenMap } from './token/interface';\nimport type { ChartType } from '../chart/interface';\n\nexport interface ITheme {\n /**\n * 第 1 种配置:主题信息\n */\n /** 主题命名 */\n name?: string;\n /** 主题描述 */\n description?: string;\n /**\n * 主题类别:亮色或者暗色\n * 该配置用于指定该主题需要 merge 的是内置的亮色主题还是暗色主题\n */\n type?: 'light' | 'dark';\n\n /**\n * 第 2 种配置:图表层级的样式属性\n */\n /** 图表背景色 */\n background?: IColor | IColorKey;\n /** 图表内边距 */\n padding?: ILayoutPaddingSpec;\n /** 图表字体配置 */\n fontFamily?: string | ITokenKey;\n /**\n * 用户自定义的语义化 token,可以在主题中以 ITokenKey 的形式引用并作为常量赋值\n * @since 1.10.0\n */\n token?: TokenMap;\n\n /**\n * 第 3 种配置:色板\n */\n /** 全局色板 */\n colorScheme?: IThemeColorScheme;\n\n /**\n * 第 4 种配置:全局 mark 属性配置\n */\n /** 全局 mark 样式属性,按 mark 类别索引 */\n mark?: IGlobalMarkThemeByType;\n /** 全局 mark 样式属性,按 mark 名称索引,优先级更高 */\n markByName?: IGlobalMarkThemeByName;\n\n /**\n * 第 5 种配置:系列属性配置\n */\n /** 系列样式属性 */\n series?: ISeriesTheme;\n /**\n * 自动关闭动画的阀值,对应的是单系列data的长度\n */\n animationThreshold?: number;\n\n /**\n * 第 6 种配置:组件属性配置\n */\n /** 组件样式属性 */\n component?: IComponentTheme;\n /**\n * 第 7 种配置:根据图表类型配置不同主题样式\n */\n chart?: Record<ChartType, Omit<ITheme, 'name' | 'type' | 'description'>>;\n}\n\nexport interface IGlobalMarkThemeByType {\n [MarkTypeEnum.line]?: Partial<IMarkTheme<ILineMarkSpec>>;\n [MarkTypeEnum.symbol]?: Partial<IMarkTheme<ISymbolMarkSpec>>;\n [MarkTypeEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n [MarkTypeEnum.rect]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [MarkTypeEnum.arc]?: Partial<IMarkTheme<IArcMarkSpec>>;\n [MarkTypeEnum.text]?: Partial<IMarkTheme<ITextMarkSpec>>;\n [MarkTypeEnum.path]?: Partial<IMarkTheme<IPathMarkSpec>>;\n}\n\nexport interface IGlobalMarkThemeByName {\n /** used in lineSeries, areaSeries, radarSeries, etc. */\n line?: Partial<IMarkTheme<ILineMarkSpec>>;\n /** used in lineSeries, areaSeries, radarSeries, scatterSeries etc. */\n point?: Partial<IMarkTheme<ISymbolMarkSpec>>;\n /** used in lineSeries, areaSeries, radarSeries, etc. */\n area?: Partial<IMarkTheme<IAreaMarkSpec>>;\n /** used in barSeries, rangeColumnSeries etc. */\n bar?: Partial<IMarkTheme<IRectMarkSpec>>;\n /** used in many series */\n label?: Partial<IMarkTheme<ITextMarkSpec>>;\n\n [markName: string]: Partial<IMarkTheme<any>>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/layout.ts"],"names":[],"mappings":"","file":"layout.js","sourcesContent":["export type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset;\n\nexport interface ILayoutPoint {\n x: number;\n y: number;\n}\n\nexport interface ILayoutRect {\n width: number;\n height: number;\n}\n\nexport type IPercent = `${number}%`;\n\nexport type IPercentOffset = { percent?: number; offset?: number };\n\nexport type ILayoutPercent = IPercent | number;\n\n/**\n * 相对布局和绝对布局\n * 在相对布局结束后进行二次的绝对布局\n * 绝对布局会只根据 chart 进行相对处理\n */\n\nexport type ILayoutType =\n | 'region-relative' // 独立占位,不重合\n | 'region-relative-overlap' // 允许重合放置\n | 'region'\n | 'normal'\n | 'absolute'\n | 'normal-inline';\n\nexport type ILayoutOrientPadding = {\n left?: ILayoutNumber;\n right?: ILayoutNumber;\n top?: ILayoutNumber;\n bottom?: ILayoutNumber;\n};\n\n/** 布局 padding的配置 */\nexport type ILayoutPaddingSpec = ILayoutOrientPadding | ILayoutNumber | ILayoutNumber[];\n\nexport type ILayoutAlignSelf = 'start' | 'end' | 'middle';\n"]}
1
+ {"version":3,"sources":["../src/typings/layout.ts"],"names":[],"mappings":"","file":"layout.js","sourcesContent":["/**\n * 布局特定方向的大小配置,支持四种格式:\n * * 数值类型\n * * 以%结束的百分比字符串\n * * 返回类型为数值的函数\n * * 格式为{percent: number, offset: number}的对象\n */\nexport type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset;\n\nexport interface ILayoutPoint {\n x: number;\n y: number;\n}\n\nexport interface ILayoutRect {\n width: number;\n height: number;\n}\n\nexport type IPercent = `${number}%`;\n\nexport type IPercentOffset = { percent?: number; offset?: number };\n\nexport type ILayoutPercent = IPercent | number;\n\n/**\n * 相对布局和绝对布局\n * 在相对布局结束后进行二次的绝对布局\n * 绝对布局会只根据 chart 进行相对处理\n */\n\nexport type ILayoutType =\n | 'region-relative' // 独立占位,不重合\n | 'region-relative-overlap' // 允许重合放置\n | 'region'\n | 'normal'\n | 'absolute'\n | 'normal-inline';\n\n/**\n * 布局各个方向的padding配置\n */\nexport type ILayoutOrientPadding = {\n /**\n * 左侧边距配置\n */\n left?: ILayoutNumber;\n /**\n * 右侧边距配置\n */\n right?: ILayoutNumber;\n /**\n * 顶部边距配置\n */\n top?: ILayoutNumber;\n /**\n * 底部边距配置\n */\n bottom?: ILayoutNumber;\n};\n\n/** 布局 padding的配置 */\nexport type ILayoutPaddingSpec = ILayoutOrientPadding | ILayoutNumber | ILayoutNumber[];\n\nexport type ILayoutAlignSelf = 'start' | 'end' | 'middle';\n"]}
@@ -1,4 +1,4 @@
1
- import type { IChart } from '../chart/interface';
1
+ import type { IChart } from '../chart/interface/chart';
2
2
  import type { StringOrNumber } from './common';
3
3
  import type { TooltipActiveType } from './tooltip';
4
4
  export interface IRegionQuerier {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/params.ts"],"names":[],"mappings":"","file":"params.js","sourcesContent":["import type { IChart } from '../chart/interface';\nimport type { StringOrNumber } from './common';\nimport type { TooltipActiveType } from './tooltip';\n\nexport interface IRegionQuerier {\n regionId?: StringOrNumber;\n regionIndex?: number;\n}\n\nexport interface IShowTooltipOption extends IRegionQuerier {\n /* tooltip预期显示的x坐标(为空则在图元附近) */\n x?: number;\n /* tooltip预期显示的y坐标(为空则在图元附近) */\n y?: number;\n /* 是否常显(如果为false或空的话,手动触发tooltip之后,tooltip可能被自动触发的别的tooltip替代) */\n alwaysShow?: boolean;\n /* tooltip类型(为空则自动判断) */\n activeType?: TooltipActiveType;\n}\n\nexport interface utilFunctionCtx {\n chart?: IChart;\n onError?: (...args: any[]) => void;\n}\n"]}
1
+ {"version":3,"sources":["../src/typings/params.ts"],"names":[],"mappings":"","file":"params.js","sourcesContent":["import type { IChart } from '../chart/interface/chart';\nimport type { StringOrNumber } from './common';\nimport type { TooltipActiveType } from './tooltip';\n\nexport interface IRegionQuerier {\n regionId?: StringOrNumber;\n regionIndex?: number;\n}\n\nexport interface IShowTooltipOption extends IRegionQuerier {\n /* tooltip预期显示的x坐标(为空则在图元附近) */\n x?: number;\n /* tooltip预期显示的y坐标(为空则在图元附近) */\n y?: number;\n /* 是否常显(如果为false或空的话,手动触发tooltip之后,tooltip可能被自动触发的别的tooltip替代) */\n alwaysShow?: boolean;\n /* tooltip类型(为空则自动判断) */\n activeType?: TooltipActiveType;\n}\n\nexport interface utilFunctionCtx {\n chart?: IChart;\n onError?: (...args: any[]) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/space.ts"],"names":[],"mappings":";;;AAkBA,IAAkB,SAGjB;AAHD,WAAkB,SAAS;IACzB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;AAC3B,CAAC,EAHiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAG1B","file":"space.js","sourcesContent":["export interface IRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport type IOrientType = 'left' | 'top' | 'right' | 'bottom' | 'z';\n\nexport type IPolarOrientType = 'radius' | 'angle';\n\nexport interface IPadding {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport const enum Direction {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n\nexport type DirectionType = keyof typeof Direction;\n"]}
1
+ {"version":3,"sources":["../src/typings/space.ts"],"names":[],"mappings":";;;AAiCA,IAAkB,SAGjB;AAHD,WAAkB,SAAS;IACzB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;AAC3B,CAAC,EAHiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAG1B","file":"space.js","sourcesContent":["export interface IRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport type IOrientType = 'left' | 'top' | 'right' | 'bottom' | 'z';\n\nexport type IPolarOrientType = 'radius' | 'angle';\n\n/**\n * 内边距配置\n */\nexport interface IPadding {\n /**\n * 顶部边距\n */\n top?: number;\n /**\n * 底部边距\n */\n bottom?: number;\n /**\n * 左侧边距\n */\n left?: number;\n /**\n * 右侧边距\n */\n right?: number;\n}\n\nexport const enum Direction {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n\nexport type DirectionType = keyof typeof Direction;\n"]}
@@ -1,29 +1,29 @@
1
- import type { IAreaChartSpec } from '../../chart/area';
2
- import type { IBarChartSpec, IBar3dChartSpec } from '../../chart/bar';
3
- import type { IBoxPlotChartSpec } from '../../chart/box-plot';
4
- import type { ICirclePackingChartSpec } from '../../chart/circle-packing';
5
- import type { ICommonChartSpec } from '../../chart/common';
6
- import type { IFunnelChartSpec, IFunnel3dChartSpec } from '../../chart/funnel';
7
- import type { IGaugeChartSpec } from '../../chart/gauge';
8
- import type { IHeatmapChartSpec } from '../../chart/heatmap';
9
- import type { IHistogramChartSpec, IHistogram3dChartSpec } from '../../chart/histogram';
10
- import type { ILineChartSpec } from '../../chart/line';
11
- import type { IMapChartSpec } from '../../chart/map';
12
- import type { IPieChartSpec, IPie3dChartSpec } from '../../chart/pie';
13
- import type { ICircularProgressChartSpec } from '../../chart/progress/circular';
14
- import type { ILinearProgressChartSpec } from '../../chart/progress/linear';
15
- import type { IRadarChartSpec } from '../../chart/radar';
16
- import type { IRangeAreaChartSpec } from '../../chart/range-area';
17
- import type { IRangeColumnChartSpec, IRangeColumn3dChartSpec } from '../../chart/range-column';
18
- import type { IRoseChartSpec } from '../../chart/rose';
19
- import type { ISankeyChartSpec } from '../../chart/sankey';
20
- import type { IScatterChartSpec } from '../../chart/scatter';
21
- import type { ISequenceChartSpec } from '../../chart/sequence';
22
- import type { ISunburstChartSpec } from '../../chart/sunburst';
23
- import type { ITreemapChartSpec } from '../../chart/treemap';
24
- import type { IWaterfallChartSpec } from '../../chart/waterfall';
25
- import type { ICorrelationChartSpec } from '../../chart/correlation';
26
- import type { IWordCloudChartSpec, IWordCloud3dChartSpec } from '../../chart/word-cloud';
1
+ import type { IAreaChartSpec } from '../../chart/area/interface';
2
+ import type { IBarChartSpec, IBar3dChartSpec } from '../../chart/bar/interface';
3
+ import type { IBoxPlotChartSpec } from '../../chart/box-plot/interface';
4
+ import type { ICirclePackingChartSpec } from '../../chart/circle-packing/interface';
5
+ import type { ICommonChartSpec } from '../../chart/common/interface';
6
+ import type { IFunnelChartSpec, IFunnel3dChartSpec } from '../../chart/funnel/interface';
7
+ import type { IGaugeChartSpec } from '../../chart/gauge/interface';
8
+ import type { IHeatmapChartSpec } from '../../chart/heatmap/interface';
9
+ import type { IHistogramChartSpec, IHistogram3dChartSpec } from '../../chart/histogram/interface';
10
+ import type { ILineChartSpec } from '../../chart/line/interface';
11
+ import type { IMapChartSpec } from '../../chart/map/interface';
12
+ import type { IPieChartSpec, IPie3dChartSpec } from '../../chart/pie/interface';
13
+ import type { ICircularProgressChartSpec } from '../../chart/progress/circular/interface';
14
+ import type { ILinearProgressChartSpec } from '../../chart/progress/linear/interface';
15
+ import type { IRadarChartSpec } from '../../chart/radar/interface';
16
+ import type { IRangeAreaChartSpec } from '../../chart/range-area/interface';
17
+ import type { IRangeColumnChartSpec, IRangeColumn3dChartSpec } from '../../chart/range-column/interface';
18
+ import type { IRoseChartSpec } from '../../chart/rose/interface';
19
+ import type { ISankeyChartSpec } from '../../chart/sankey/interface';
20
+ import type { IScatterChartSpec } from '../../chart/scatter/interface';
21
+ import type { ISequenceChartSpec } from '../../chart/sequence/interface';
22
+ import type { ISunburstChartSpec } from '../../chart/sunburst/interface';
23
+ import type { ITreemapChartSpec } from '../../chart/treemap/interface';
24
+ import type { IWaterfallChartSpec } from '../../chart/waterfall/interface';
25
+ import type { ICorrelationChartSpec } from '../../chart/correlation/interface';
26
+ import type { IWordCloudChartSpec, IWordCloud3dChartSpec } from '../../chart/word-cloud/interface';
27
27
  import type { IChartSpec } from './common';
28
28
  import type { ILiquidChartSpec } from '../../chart/liquid/interface';
29
29
  export interface ChartSpecMap {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/spec/chart.ts"],"names":[],"mappings":"","file":"chart.js","sourcesContent":["import type { IAreaChartSpec } from '../../chart/area';\nimport type { IBarChartSpec, IBar3dChartSpec } from '../../chart/bar';\nimport type { IBoxPlotChartSpec } from '../../chart/box-plot';\nimport type { ICirclePackingChartSpec } from '../../chart/circle-packing';\nimport type { ICommonChartSpec } from '../../chart/common';\nimport type { IFunnelChartSpec, IFunnel3dChartSpec } from '../../chart/funnel';\nimport type { IGaugeChartSpec } from '../../chart/gauge';\nimport type { IHeatmapChartSpec } from '../../chart/heatmap';\nimport type { IHistogramChartSpec, IHistogram3dChartSpec } from '../../chart/histogram';\nimport type { ILineChartSpec } from '../../chart/line';\nimport type { IMapChartSpec } from '../../chart/map';\nimport type { IPieChartSpec, IPie3dChartSpec } from '../../chart/pie';\nimport type { ICircularProgressChartSpec } from '../../chart/progress/circular';\nimport type { ILinearProgressChartSpec } from '../../chart/progress/linear';\nimport type { IRadarChartSpec } from '../../chart/radar';\nimport type { IRangeAreaChartSpec } from '../../chart/range-area';\nimport type { IRangeColumnChartSpec, IRangeColumn3dChartSpec } from '../../chart/range-column';\nimport type { IRoseChartSpec } from '../../chart/rose';\nimport type { ISankeyChartSpec } from '../../chart/sankey';\nimport type { IScatterChartSpec } from '../../chart/scatter';\nimport type { ISequenceChartSpec } from '../../chart/sequence';\nimport type { ISunburstChartSpec } from '../../chart/sunburst';\nimport type { ITreemapChartSpec } from '../../chart/treemap';\nimport type { IWaterfallChartSpec } from '../../chart/waterfall';\nimport type { ICorrelationChartSpec } from '../../chart/correlation';\nimport type { IWordCloudChartSpec, IWordCloud3dChartSpec } from '../../chart/word-cloud';\nimport type { IChartSpec } from './common';\nimport type { ILiquidChartSpec } from '../../chart/liquid/interface';\n\nexport interface ChartSpecMap {\n readonly common: ICommonChartSpec;\n readonly area: IAreaChartSpec;\n readonly line: ILineChartSpec;\n readonly bar: IBarChartSpec;\n readonly bar3d: IBar3dChartSpec;\n readonly histogram: IHistogramChartSpec;\n readonly histogram3d: IHistogram3dChartSpec;\n readonly rangeColumn: IRangeColumnChartSpec;\n readonly rangeColumn3d: IRangeColumn3dChartSpec;\n readonly rangeArea: IRangeAreaChartSpec;\n readonly map: IMapChartSpec;\n readonly pie: IPieChartSpec;\n readonly pie3d: IPie3dChartSpec;\n readonly radar: IRadarChartSpec;\n readonly rose: IRoseChartSpec;\n readonly scatter: IScatterChartSpec;\n readonly sequence: ISequenceChartSpec;\n readonly circleProgress: ICircularProgressChartSpec;\n readonly linearProgress: ILinearProgressChartSpec;\n readonly wordCloud: IWordCloudChartSpec;\n readonly wordCloud3d: IWordCloud3dChartSpec;\n readonly funnel: IFunnelChartSpec;\n readonly funnel3d: IFunnel3dChartSpec;\n readonly waterfall: IWaterfallChartSpec;\n readonly boxplot: IBoxPlotChartSpec;\n readonly gauge: IGaugeChartSpec;\n readonly sankey: ISankeyChartSpec;\n readonly treemap: ITreemapChartSpec;\n readonly sunburst: ISunburstChartSpec;\n readonly circlePacking: ICirclePackingChartSpec;\n readonly heatmap: IHeatmapChartSpec;\n readonly correlation: ICorrelationChartSpec;\n readonly liquid: ILiquidChartSpec;\n}\n\nexport type ISpec = ChartSpecMap[keyof ChartSpecMap] | IChartSpec;\n"]}
1
+ {"version":3,"sources":["../src/typings/spec/chart.ts"],"names":[],"mappings":"","file":"chart.js","sourcesContent":["import type { IAreaChartSpec } from '../../chart/area/interface';\nimport type { IBarChartSpec, IBar3dChartSpec } from '../../chart/bar/interface';\nimport type { IBoxPlotChartSpec } from '../../chart/box-plot/interface';\nimport type { ICirclePackingChartSpec } from '../../chart/circle-packing/interface';\nimport type { ICommonChartSpec } from '../../chart/common/interface';\nimport type { IFunnelChartSpec, IFunnel3dChartSpec } from '../../chart/funnel/interface';\nimport type { IGaugeChartSpec } from '../../chart/gauge/interface';\nimport type { IHeatmapChartSpec } from '../../chart/heatmap/interface';\nimport type { IHistogramChartSpec, IHistogram3dChartSpec } from '../../chart/histogram/interface';\nimport type { ILineChartSpec } from '../../chart/line/interface';\nimport type { IMapChartSpec } from '../../chart/map/interface';\nimport type { IPieChartSpec, IPie3dChartSpec } from '../../chart/pie/interface';\nimport type { ICircularProgressChartSpec } from '../../chart/progress/circular/interface';\nimport type { ILinearProgressChartSpec } from '../../chart/progress/linear/interface';\nimport type { IRadarChartSpec } from '../../chart/radar/interface';\nimport type { IRangeAreaChartSpec } from '../../chart/range-area/interface';\nimport type { IRangeColumnChartSpec, IRangeColumn3dChartSpec } from '../../chart/range-column/interface';\nimport type { IRoseChartSpec } from '../../chart/rose/interface';\nimport type { ISankeyChartSpec } from '../../chart/sankey/interface';\nimport type { IScatterChartSpec } from '../../chart/scatter/interface';\nimport type { ISequenceChartSpec } from '../../chart/sequence/interface';\nimport type { ISunburstChartSpec } from '../../chart/sunburst/interface';\nimport type { ITreemapChartSpec } from '../../chart/treemap/interface';\nimport type { IWaterfallChartSpec } from '../../chart/waterfall/interface';\nimport type { ICorrelationChartSpec } from '../../chart/correlation/interface';\nimport type { IWordCloudChartSpec, IWordCloud3dChartSpec } from '../../chart/word-cloud/interface';\nimport type { IChartSpec } from './common';\nimport type { ILiquidChartSpec } from '../../chart/liquid/interface';\n\nexport interface ChartSpecMap {\n readonly common: ICommonChartSpec;\n readonly area: IAreaChartSpec;\n readonly line: ILineChartSpec;\n readonly bar: IBarChartSpec;\n readonly bar3d: IBar3dChartSpec;\n readonly histogram: IHistogramChartSpec;\n readonly histogram3d: IHistogram3dChartSpec;\n readonly rangeColumn: IRangeColumnChartSpec;\n readonly rangeColumn3d: IRangeColumn3dChartSpec;\n readonly rangeArea: IRangeAreaChartSpec;\n readonly map: IMapChartSpec;\n readonly pie: IPieChartSpec;\n readonly pie3d: IPie3dChartSpec;\n readonly radar: IRadarChartSpec;\n readonly rose: IRoseChartSpec;\n readonly scatter: IScatterChartSpec;\n readonly sequence: ISequenceChartSpec;\n readonly circleProgress: ICircularProgressChartSpec;\n readonly linearProgress: ILinearProgressChartSpec;\n readonly wordCloud: IWordCloudChartSpec;\n readonly wordCloud3d: IWordCloud3dChartSpec;\n readonly funnel: IFunnelChartSpec;\n readonly funnel3d: IFunnel3dChartSpec;\n readonly waterfall: IWaterfallChartSpec;\n readonly boxplot: IBoxPlotChartSpec;\n readonly gauge: IGaugeChartSpec;\n readonly sankey: ISankeyChartSpec;\n readonly treemap: ITreemapChartSpec;\n readonly sunburst: ISunburstChartSpec;\n readonly circlePacking: ICirclePackingChartSpec;\n readonly heatmap: IHeatmapChartSpec;\n readonly correlation: ICorrelationChartSpec;\n readonly liquid: ILiquidChartSpec;\n}\n\nexport type ISpec = ChartSpecMap[keyof ChartSpecMap] | IChartSpec;\n"]}
@@ -9,24 +9,25 @@ import type { IRenderOption } from '../../compile/interface';
9
9
  import type { ISeriesTooltipSpec, ITooltipSpec } from '../../component/tooltip/interface';
10
10
  import type { ILayoutSpec } from '../../layout/interface';
11
11
  import type { ConvertToMarkStyleSpec, IArc3dMarkSpec, IArcMarkSpec, IAreaMarkSpec, IBoxPlotMarkSpec, ICommonSpec, IGroupMarkSpec, ILineMarkSpec, ILinkPathMarkSpec, IPathMarkSpec, IPolygonMarkSpec, IPyramid3dMarkSpec, IRect3dMarkSpec, IRectMarkSpec, IRuleMarkSpec, ISymbolMarkSpec, IRippleMarkSpec, ITextMarkSpec, IVisualSpecScale } from '../visual';
12
- import type { StateValue } from '../../compile/mark';
12
+ import type { StateValue } from '../../compile/mark/interface';
13
13
  import type { ISeriesStyle, SeriesType } from '../../series/interface';
14
14
  import type { Datum, StringOrNumber } from '../common';
15
15
  import type { IInvalidType } from '../data';
16
16
  import type { IAnimationSpec, IMorphSeriesSpec } from '../../animation/spec';
17
- import type { IPlayer } from '../../component/player';
17
+ import type { IPlayer } from '../../component/player/interface';
18
18
  import type { IMarkProgressiveConfig, MarkTypeEnum } from '../../mark/interface';
19
- import type { IDataZoomSpec, IScrollBarSpec } from '../../component/data-zoom';
19
+ import type { IDataZoomSpec } from '../../component/data-zoom/data-zoom/interface';
20
+ import type { IScrollBarSpec } from '../../component/data-zoom/scroll-bar/interface';
20
21
  import type { ICrosshairSpec } from '../../component/crosshair/interface';
21
- import type { ITheme } from '../../theme';
22
+ import type { ITheme } from '../../theme/interface';
22
23
  import type { ITitleSpec } from '../../component/title/interface';
23
- import type { IBrushSpec } from '../../component/brush';
24
- import type { ITotalLabelSpec } from '../../component/label';
25
- import type { ILegendSpec } from '../../component/legend';
24
+ import type { IBrushSpec } from '../../component/brush/interface';
25
+ import type { ITotalLabelSpec } from '../../component/label/interface';
26
+ import type { ILegendSpec } from '../../component/legend/interface';
26
27
  import type { ILayoutOrientPadding, ILayoutPaddingSpec } from '../layout';
27
28
  import type { IColor, ICustomPath2D, IRichTextCharacter } from '@visactor/vrender-core';
28
- import type { ICommonAxisSpec } from '../../component/axis';
29
- import type { IMediaQuerySpec } from '..';
29
+ import type { ICommonAxisSpec } from '../../component/axis/interface';
30
+ import type { IMediaQuerySpec } from './media-query';
30
31
  import type { IModelSpec } from '../../model/interface';
31
32
  export type IChartPadding = ILayoutOrientPadding | number;
32
33
  export interface IInitOption extends Omit<IRenderOption, 'pluginList'> {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/spec/common.ts"],"names":[],"mappings":";;;AAiIA,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,qDAAqC,CAAA;IACrC,mDAAmC,CAAA;IACnC,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,qCAAqB,CAAA;IACrB,qDAAqC,CAAA;IACrC,+BAAe,CAAA;AACjB,CAAC,EAXW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAWzB","file":"common.js","sourcesContent":["import type { IVChart } from './../../core/interface';\nimport type { IFillMarkSpec, IImageMarkSpec } from '../visual';\nimport type { LayoutCallBack } from '../../layout/interface';\nimport type { IElement, srIOption3DType } from '@visactor/vgrammar-core';\nimport type {\n DataSet,\n DataView,\n ISimplifyOptions,\n IFieldsOptions,\n IFilterOptions,\n IFoldOptions,\n IDsvParserOptions\n} from '@visactor/vdataset';\nimport type { RegionSpec } from '../../region/interface';\nimport type { IHoverSpec, ISelectSpec, IInteractionSpec } from '../../interaction/interface';\nimport type { IRenderOption } from '../../compile/interface';\nimport type { ISeriesTooltipSpec, ITooltipSpec } from '../../component/tooltip/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILayoutSpec } from '../../layout/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n ConvertToMarkStyleSpec,\n IArc3dMarkSpec,\n IArcMarkSpec,\n IAreaMarkSpec,\n IBoxPlotMarkSpec,\n ICommonSpec,\n IGroupMarkSpec,\n ILineMarkSpec,\n ILinkPathMarkSpec,\n IPathMarkSpec,\n IPolygonMarkSpec,\n IPyramid3dMarkSpec,\n IRect3dMarkSpec,\n IRectMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec,\n IRippleMarkSpec,\n ITextMarkSpec,\n IVisualSpecScale\n} from '../visual';\nimport type { StateValue } from '../../compile/mark';\nimport type { ISeriesStyle, SeriesType } from '../../series/interface';\nimport type { Datum, StringOrNumber } from '../common';\nimport type { IInvalidType } from '../data';\nimport type { IAnimationSpec, IMorphSeriesSpec } from '../../animation/spec';\nimport type { IPlayer } from '../../component/player';\nimport type { IMarkProgressiveConfig, MarkTypeEnum } from '../../mark/interface';\nimport type { IDataZoomSpec, IScrollBarSpec } from '../../component/data-zoom';\nimport type { ICrosshairSpec } from '../../component/crosshair/interface';\nimport type { ITheme } from '../../theme';\nimport type { ITitleSpec } from '../../component/title/interface';\nimport type { IBrushSpec } from '../../component/brush';\nimport type { ITotalLabelSpec } from '../../component/label';\nimport type { ILegendSpec } from '../../component/legend';\nimport type { ILayoutOrientPadding, ILayoutPaddingSpec } from '../layout';\nimport type { IColor, ICustomPath2D, IRichTextCharacter } from '@visactor/vrender-core';\nimport type { ICommonAxisSpec } from '../../component/axis';\nimport type { IMediaQuerySpec } from '..';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type IChartPadding = ILayoutOrientPadding | number;\n\n/** chart option */\nexport interface IInitOption extends Omit<IRenderOption, 'pluginList'> {\n /**\n * **仅生效于浏览器环境。**\n * 图表挂载的父容器,可以直接指定容器 id,也可以传入 dom 对象\n */\n dom?: string | HTMLElement;\n /**\n * 除去选择 dom 属性进行挂载父容器,也可以使用 renderCanvas 属性直接传入 canvas 实例/ canvasId\n * 小程序/小组件环境请直接传入 id\n */\n renderCanvas?: string | HTMLCanvasElement;\n /** 数据集 */\n dataSet?: DataSet;\n /** 是否自适应容器大小 */\n autoFit?: boolean;\n /**\n * 性能测试钩子\n */\n performanceHook?: IPerformanceHook;\n /**\n * 是否开启动画\n */\n animation?: boolean;\n /**\n * 3d配置\n */\n options3d?: srIOption3DType;\n\n /**\n * 自定义布局函数\n */\n layout?: LayoutCallBack;\n\n /**\n * 当文本省略时,鼠标 hover 到文本上时是否显示 poptip\n * @default true\n */\n poptip?: boolean;\n\n /**\n * 报错的回调函数\n * @since 1.2.0\n */\n onError?: (...args: any[]) => void;\n\n /**\n * 默认主题(支持完整主题对象或者主题名称,主题名称需要提前在 `ThemeManager` 中注册)\n * @since 1.3.0\n */\n theme?: string | ITheme;\n\n /**\n * 是否关闭交互效果\n * @since 1.9.0\n * @default false\n */\n disableTriggerEvent?: boolean;\n /**\n * 当自动响应容器resize 事件时,触发resize 的间隔时长,单位毫秒\n * @since 1.12.5\n * @default 100\n */\n resizeDelay?: number;\n}\n\nexport enum RenderModeEnum {\n 'desktop-browser' = 'desktop-browser',\n 'mobile-browser' = 'mobile-browser',\n 'node' = 'node',\n 'worker' = 'worker',\n 'miniApp' = 'miniApp',\n 'wx' = 'wx',\n 'tt' = 'tt',\n 'harmony' = 'harmony',\n 'desktop-miniApp' = 'desktop-miniApp',\n 'lynx' = 'lynx'\n}\nexport type RenderMode = keyof typeof RenderModeEnum;\n\n/** chart spec */\nexport interface IChartSpec {\n /** 图表类型 */\n type: string;\n /** 数据 */\n data?: IData;\n /** 画布宽度 */\n width?: number;\n /** 画布高度 */\n height?: number;\n /**\n * 图表宽高是否自适应容器,浏览器环境下默认为 true。\n * 该配置的优先级高于构造函数中的 autoFit 配置。\n * 如果用户配置了 width,则以用户配置的 width 为准,height 同理。\n */\n autoFit?: boolean;\n /**\n * 图表整体 padding 设置\n */\n padding?: ILayoutPaddingSpec;\n /**\n * 图表色系配置\n */\n color?: string[] | Omit<IVisualSpecScale<unknown, string>, 'id'>;\n /**\n * 系列\n * @description 仅在组合图中使用, 文档中除组合图外均未透出该配置\n */\n series?: ISeriesSpec[];\n /**\n * 系列样式\n * @description 仅在图表配置了seriesField时生效\n */\n seriesStyle?: ISeriesStyle;\n\n /**\n * 自动关闭动画的阀值,对应的是单系列data的长度\n * @since 1.2.0\n */\n animationThreshold?: number;\n\n /** hover 交互 */\n hover?: boolean | IHoverSpec;\n /** select 交互 */\n select?: boolean | ISelectSpec;\n\n /** region配置 */\n region?: RegionSpec[];\n /** 图表标题配置 */\n title?: ITitleSpec;\n /** 布局配置 */\n layout?: ILayoutSpec;\n /** 图例配置 */\n legends?: ILegendSpec | ILegendSpec[];\n /** 十字辅助线配置 */\n crosshair?: ICrosshairSpec | ICrosshairSpec[];\n /** tooltip配置 */\n tooltip?: ITooltipSpec;\n /** 播放器配置 */\n player?: IPlayer;\n /** 缩略轴配置 */\n dataZoom?: IDataZoomSpec | IDataZoomSpec[];\n /** 滚动条配置 */\n scrollBar?: IScrollBarSpec | IScrollBarSpec[];\n /** 框选配置 */\n brush?: IBrushSpec;\n /** 全局 scale 配置 */\n scales?: IVisualSpecScale<unknown, unknown>[];\n /** 自定义mark */\n customMark?: ICustomMarkSpec<EnableMarkType>[];\n /** 轴 */\n axes?: ICommonAxisSpec[];\n /**\n * 图表上的主题定义。\n * 可以直接配置主题名,前提是该主题名已经注册\n */\n theme?: Omit<ITheme, 'name'> | string;\n /**\n * 图表背景色配置,优先级高于构造函数中的 background 配置\n * 自1.11.6版本支持渐变色对象的配置\n */\n background?: IBackgroundSpec;\n\n // TODO:后续开放,现在仍有问题\n // poptip?: PopTipAttributes;\n // TODO: 补充动画配置\n\n /**\n * 堆积时是否逆序\n * @default false\n * @since 1.4.0\n */\n stackInverse?: boolean;\n /**\n * 堆积时是否排序\n * @default false\n * @since 1.10.4\n */\n stackSort?: boolean;\n /**\n * 媒体查询配置\n * @since 1.8.0\n */\n media?: IMediaQuerySpec;\n}\n\nexport type IBackgroundStyleSpec = ConvertToMarkStyleSpec<Omit<IFillMarkSpec, 'width' | 'height' | 'background'>> & {\n image?: IRectMarkSpec['background'];\n cornerRadius?: IRectMarkSpec['cornerRadius'];\n};\n\nexport type IBackgroundSpec = IColor | IBackgroundStyleSpec;\n\n/** data */\nexport type IDataType = IDataValues | DataView;\nexport type IData = IDataType | IDataType[];\nexport type DataKeyType = string | string[] | ((data: Datum, index: number) => string);\nexport type BuildInTransformOptions =\n | {\n /** 地理数据简化 */\n type: 'simplify';\n options: ISimplifyOptions;\n }\n | {\n /** 数据维度处理,包括排序,逆序,数据筛选能力 */\n type: 'fields';\n options: IFieldsOptions;\n }\n | {\n /** 使用回调的自定义筛选 */\n type: 'filter';\n options: IFilterOptions;\n }\n | {\n /** 数据展开 */\n type: 'fold';\n options: IFoldOptions;\n };\n\nexport interface IFieldsMeta {\n /** TODO: 字段通用format, 暂时先不支持 */\n // format?: (datum: Datum, index: number) => unknown;\n /** 字段别名 */\n alias?: string;\n /** 字段取值范围 */\n domain?: StringOrNumber[];\n /** 是否使用 domain 锁定统计信息。默认为 false */\n lockStatisticsByDomain?: boolean;\n /** 连续型 还是 离散型 */\n type?: 'ordinal' | 'linear';\n /** 排序顺序 不设置的话当前维度不进行排序 */\n sortIndex?: number;\n /** 排序时是否反转 默认为 false */\n sortReverse?: boolean;\n}\n\nexport interface SheetParseOptions extends CommonParseOptions {\n type: 'csv' | 'dsv' | 'tsv';\n options?: IDsvParserOptions;\n}\n\nexport interface CommonParseOptions {\n /**\n * 是否需要对数据进行 clone,默认为 true。\n * 如果考虑性能,你可以将其关闭,但是这会带了一些副作用,即我们会对传入的数据进行修改(不会对原有字段及值修改,只会在原有数据基础上添加一些字段)。\n * @default true\n * @since 1.3.0\n */\n clone?: boolean;\n}\n\nexport interface IDataValues {\n /**\n * 数据唯一标识\n */\n id?: StringOrNumber;\n /**\n * 数据\n */\n values: Datum[] | string;\n /**\n * 引用的数据索引\n */\n fromDataIndex?: number;\n /**\n * 引用的数据 id\n */\n fromDataId?: StringOrNumber;\n /**\n * 数据 transform 配置\n */\n transforms?: BuildInTransformOptions[];\n /**\n * 数据字段相关配置\n */\n fields?: Record<\n /** 字段key */\n string,\n IFieldsMeta\n >;\n\n parser?: SheetParseOptions | CommonParseOptions;\n}\n\nexport type IHierarchyNodeData = {\n value?: number;\n children?: IHierarchyNodeData[];\n} & Datum;\n\nexport interface IHierarchyDataValues extends Omit<IDataValues, 'values'> {\n values: IHierarchyNodeData;\n}\n\nexport type IHierarchyData = DataView | IHierarchyDataValues;\n\n/** series */\nexport interface ISeriesSpec extends IInteractionSpec {\n /** 系列类型 */\n type: SeriesType;\n\n /** 系列名称 */\n name?: string;\n\n /** 用户自定义的 series id */\n id?: StringOrNumber;\n /**\n * 系列数据\n * @description 系列可以配置自身的数据,也可以从chart.data中获取数据\n */\n data?: IDataType;\n /**\n * 系列关联的数据索引\n * @default 0\n */\n dataIndex?: number;\n /**\n * 系列关联的数据id\n */\n dataId?: StringOrNumber;\n /**\n * dataKey用于绑定数据与Mark的关系, 该配置在动画中非常重要.\n */\n dataKey?: DataKeyType;\n\n /**\n * 系列关联的region索引\n * @default 0\n */\n regionIndex?: number;\n /** 系列关联的region id */\n regionId?: StringOrNumber;\n /**\n * 分组字段\n */\n seriesField?: string;\n /**\n * 系列样式\n * @description 仅在图表配置了seriesField时生效\n */\n seriesStyle?: ISeriesStyle;\n\n /** 是否对数据进行堆叠处理 */\n stack?: boolean;\n\n /**\n * 堆叠时的分组值\n * stackValue 相等的系列将在一起堆积。没有配置的系列将在一组\n * @since 1.4.0\n */\n stackValue?: StringOrNumber;\n\n /** 堆叠汇总标签\n * @since 1.3.0\n */\n totalLabel?: ITotalLabelSpec;\n\n /** 是否对数据进行百分比处理 */\n percent?: boolean;\n\n /** 是否围绕中心轴偏移轮廓 */\n stackOffsetSilhouette?: boolean;\n\n /**\n * 非合规数据点连接方式\n * @description null,undefined等非法数据点连接方式。\n * @default 'break'\n * 'break'指在该数据点处断开\n * 'link' 指忽略该点保持连续\n * 'zero' 指该点默认数值为0\n * 'ignore' 指不处理\n */\n invalidType?: IInvalidType;\n\n /** 提示信息 */\n tooltip?: ISeriesTooltipSpec;\n\n /**\n * 是否开启系列动画\n */\n animation?: boolean;\n /**\n * 自动关闭动画的阀值,对应的是单系列data的长度\n * @since 1.2.0\n */\n animationThreshold?: number;\n\n /**\n * 是否支持3d视角\n */\n support3d?: boolean;\n /**\n * morph 动画配置\n */\n morph?: IMorphSeriesSpec;\n\n /**\n * 扩展mark\n */\n extensionMark?: (IExtensionMarkSpec<Exclude<EnableMarkType, 'group'>> | IExtensionGroupMarkSpec)[];\n\n /**\n * 今当通过`series`配置的时候,才会生效\n */\n zIndex?: number;\n\n /**\n * series background\n * 作用是支持系列的图形对系列背景进行 mask,或者切分等效果。不是作为背景图\n * 暂时不开放api,避免出现break change\n */\n // background?: IBackgroundSpec;\n}\n\nexport type IChartExtendsSeriesSpec<T extends ISeriesSpec> = Omit<T, 'data' | 'morph' | 'stackValue' | 'tooltip'>;\n\nexport type AdaptiveSpec<T, K extends keyof any> = {\n [key in Exclude<keyof T, K>]: T[key];\n} & { [key in K]: any };\n\n/** markSpec */\nexport type IMarkSpec<T extends ICommonSpec = ICommonSpec> = {\n /**\n * 用户id\n */\n id?: StringOrNumber;\n /**\n * 是否响应交互\n */\n interactive?: boolean;\n // /**\n // * 是否会被region区域裁减\n // * @todo 暂未支持\n // */\n // clip?: boolean;\n /**\n * 与其他mark元素的层级\n */\n zIndex?: number;\n /**\n * mark 层 是否显示配置\n */\n visible?: boolean;\n /** 默认样式设置 */\n style?: ConvertToMarkStyleSpec<T>;\n /** 不同状态下的样式配置 */\n state?: Record<StateValue, IMarkStateSpec<T> | IMarkStateStyleSpec<T>>;\n /**\n * 状态排序方法,默认状态都是按照添加的顺序处理的,如果有特殊的需求,需要指定状态顺序,可以通过这个方法实现\n * @since 1.9.0\n */\n stateSort?: (stateA: string, stateB: string) => number;\n\n /* 是否是3d视角的mark */\n support3d?: boolean;\n /* customized shape of mark */\n customShape?: (datum: any[], attrs: any, path: ICustomPath2D) => ICustomPath2D;\n} & IMarkProgressiveConfig;\n\nexport type IMarkStateFilter =\n | {\n /** 维度筛选 */\n fields: { [key in string]: { type: 'ordinal' | 'linear'; domain: StringOrNumber[] } };\n }\n | {\n /** 筛选数据 */\n datums: Datum[];\n /** 筛选数据 */\n datumKeys: string[];\n }\n | {\n /** 筛选 item */\n items: IElement[];\n }\n /** 筛选函数 */\n | ((datum: Datum, options: Record<string, any>) => boolean);\n\nexport interface IMarkStateSpec<T> {\n /** 筛选器 */\n filter?: IMarkStateFilter;\n /** 状态优先级 */\n level?: number | undefined;\n style: ConvertToMarkStyleSpec<T>;\n}\n\nexport type IMarkStateStyleSpec<T> = ConvertToMarkStyleSpec<T>;\n\nexport type IMarkTheme<T> = {\n /**\n * mark 层 是否显示配置\n */\n visible?: boolean;\n /** 默认样式设置 */\n style?: T;\n /** 不同状态下的样式配置 */\n state?: Record<StateValue, T>;\n /**\n * 可交互的开关\n */\n interactive?: boolean;\n};\n\nexport interface IPerformanceHook {\n // constructor\n // 创建完成。在使用 vstory 的场景下,图表实例不由业务创建,业务想要获取图表时机非常靠后,因此补充一个钩子\n afterCreateVChart?: (vchart?: IVChart) => void;\n\n // InitRender\n // ├── InitializeChart\n // ├── CompileToVGrammar\n // ├── ParseView\n // | └── ParseExpression\n // ├── (new View)\n // | ├── CreateRuntime\n // | └── (view.initialize)\n // | └── CreateVRenderStage\n // └── SrViewEvaluateAsync / SrViewRunAsync\n // ├── MarkTransform\n // ├── FacetTransform\n // ├── CreateVRenderMark\n // └── VRenderDraw\n\n // 初始化图表配置\n beforeInitializeChart?: (vchart?: IVChart) => void;\n afterInitializeChart?: (vchart?: IVChart) => void;\n\n // 编译\n beforeCompileToVGrammar?: () => void;\n afterCompileToVGrammar?: () => void;\n // 各个图表模块编译\n beforeRegionCompile?: () => void;\n afterRegionCompile?: () => void;\n beforeSeriesCompile?: () => void;\n afterSeriesCompile?: () => void;\n beforeComponentCompile?: () => void;\n afterComponentCompile?: () => void;\n\n // resize的时候的钩子\n beforeResizeWithUpdate?: () => void;\n afterResizeWithUpdate?: () => void;\n\n // LayoutWithSceneGraph 二次布局\n beforeLayoutWithSceneGraph?: () => void;\n afterLayoutWithSceneGraph?: () => void;\n\n // VGrammar 解析spec\n beforeParseView?: () => void;\n afterParseView?: () => void;\n\n // 初始化runtime\n beforeCreateRuntime?: () => void;\n afterCreateRuntime?: () => void;\n\n // VGrammar EvaluateAsync 时间\n beforeSrViewEvaluateAsync?: () => void;\n afterSrViewEvaluateAsync?: () => void;\n\n // VGrammar RunAsync 时间\n beforeSrViewRunAsync?: () => void;\n afterSrViewRunAsync?: () => void;\n\n // transform测量\n beforeTransform?: (name: string) => void;\n afterTransform?: (name: string) => void;\n\n // Create VRender Stage 时间\n beforeCreateVRenderStage?: () => void;\n afterCreateVRenderStage?: () => void;\n\n // Create VRender Mark 时间\n beforeCreateVRenderMark?: () => void;\n afterCreateVRenderMark?: () => void;\n\n // VRender Draw 时间\n beforeVRenderDraw?: () => void;\n afterVRenderDraw?: () => void;\n}\n\nexport type IBuildinMarkSpec = {\n group: IGroupMarkSpec;\n symbol: ISymbolMarkSpec;\n rule: IRuleMarkSpec;\n line: ILineMarkSpec;\n text: ITextMarkSpec;\n rect: IRectMarkSpec;\n rect3d: IRect3dMarkSpec;\n image: IImageMarkSpec;\n path: IPathMarkSpec;\n area: IAreaMarkSpec;\n arc: IArcMarkSpec;\n arc3d: IArc3dMarkSpec;\n polygon: IPolygonMarkSpec;\n pyramid3d: IPyramid3dMarkSpec;\n boxPlot: IBoxPlotMarkSpec;\n linkPath: ILinkPathMarkSpec;\n ripple: IRippleMarkSpec;\n};\n\nexport type EnableMarkType = keyof IBuildinMarkSpec;\nexport interface ICustomMarkSpec<T extends EnableMarkType>\n extends IModelSpec,\n IMarkSpec<IBuildinMarkSpec[T]>,\n IAnimationSpec<string, string> {\n type: T;\n /**\n * mark对应的名称,主要用于事件过滤如: { markName: 'yourName' }\n * @since 1.12.5\n */\n name?: string;\n /**\n * 关联的数据索引\n * @default 与系列使用同一份数据\n */\n dataIndex?: number;\n /**\n * dataKey用于绑定数据与Mark的关系\n * 如果数据和系列数据一致,可以不配置,默认会读取系列中的配置\n *\n * @support since 1.9.5\n */\n dataKey?: string | ((datum: any) => string);\n /**\n * 关联的数据id\n */\n dataId?: StringOrNumber;\n /**\n * specify the component type\n * @support since 1.9.0\n */\n componentType?: string;\n /**\n * enable animation of custom-mark or not\n * @since 1.11.0\n */\n animation?: boolean;\n /**\n * 指定 parent Id\n * @since 1.13.0\n */\n parent?: string;\n}\nexport interface ICustomMarkGroupSpec extends ICustomMarkSpec<MarkTypeEnum.group> {\n children?: ICustomMarkSpec<EnableMarkType>[];\n}\n\nexport interface IExtensionMarkSpec<T extends Exclude<EnableMarkType, 'group'>> extends ICustomMarkSpec<T> {\n /**\n * 关联的数据索引\n * @default 与系列使用同一份数据\n */\n dataIndex?: number;\n /**\n * dataKey用于绑定数据与Mark的关系\n * 如果数据和系列数据一致,可以不配置,默认会读取系列中的配置\n *\n * @support since 1.9.5\n */\n dataKey?: string | ((datum: any) => string);\n /**\n * 关联的数据id\n */\n dataId?: StringOrNumber;\n /**\n * specify the component type\n * @support since 1.9.0\n */\n componentType?: string;\n}\n\nexport interface IExtensionGroupMarkSpec extends ICustomMarkSpec<MarkTypeEnum.group> {\n /**\n * 支持子节点\n */\n children?: ICustomMarkSpec<EnableMarkType>[];\n}\n\n/** 纯文本类型的 formatMethod */\nexport type ITextFormatMethod<T extends any[]> = (\n ...args: T\n) => ITextMarkSpec['text'] | { type: 'text'; text: ITextMarkSpec['text'] };\n\nexport type IRichTextFormatMethod<T extends any[]> = (...args: T) =>\n | {\n type: 'rich';\n text: IRichTextCharacter[];\n }\n | IRichTextCharacter[];\n\n/**\n * 常规 text.formatMethod 支持返回文字字符串,或统一的对象配置\n * (这里特指由 vgrammar 代理的 text 图元)\n */\nexport type IFormatMethod<T extends any[]> = (\n ...args: T\n) => ReturnType<ITextFormatMethod<T>> | ReturnType<IRichTextFormatMethod<T>>;\n"]}
1
+ {"version":3,"sources":["../src/typings/spec/common.ts"],"names":[],"mappings":";;;AAkIA,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,qDAAqC,CAAA;IACrC,mDAAmC,CAAA;IACnC,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,qCAAqB,CAAA;IACrB,qDAAqC,CAAA;IACrC,+BAAe,CAAA;AACjB,CAAC,EAXW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAWzB","file":"common.js","sourcesContent":["import type { IVChart } from './../../core/interface';\nimport type { IFillMarkSpec, IImageMarkSpec } from '../visual';\nimport type { LayoutCallBack } from '../../layout/interface';\nimport type { IElement, srIOption3DType } from '@visactor/vgrammar-core';\nimport type {\n DataSet,\n DataView,\n ISimplifyOptions,\n IFieldsOptions,\n IFilterOptions,\n IFoldOptions,\n IDsvParserOptions\n} from '@visactor/vdataset';\nimport type { RegionSpec } from '../../region/interface';\nimport type { IHoverSpec, ISelectSpec, IInteractionSpec } from '../../interaction/interface';\nimport type { IRenderOption } from '../../compile/interface';\nimport type { ISeriesTooltipSpec, ITooltipSpec } from '../../component/tooltip/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILayoutSpec } from '../../layout/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n ConvertToMarkStyleSpec,\n IArc3dMarkSpec,\n IArcMarkSpec,\n IAreaMarkSpec,\n IBoxPlotMarkSpec,\n ICommonSpec,\n IGroupMarkSpec,\n ILineMarkSpec,\n ILinkPathMarkSpec,\n IPathMarkSpec,\n IPolygonMarkSpec,\n IPyramid3dMarkSpec,\n IRect3dMarkSpec,\n IRectMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec,\n IRippleMarkSpec,\n ITextMarkSpec,\n IVisualSpecScale\n} from '../visual';\nimport type { StateValue } from '../../compile/mark/interface';\nimport type { ISeriesStyle, SeriesType } from '../../series/interface';\nimport type { Datum, StringOrNumber } from '../common';\nimport type { IInvalidType } from '../data';\nimport type { IAnimationSpec, IMorphSeriesSpec } from '../../animation/spec';\nimport type { IPlayer } from '../../component/player/interface';\nimport type { IMarkProgressiveConfig, MarkTypeEnum } from '../../mark/interface';\nimport type { IDataZoomSpec } from '../../component/data-zoom/data-zoom/interface';\nimport type { IScrollBarSpec } from '../../component/data-zoom/scroll-bar/interface';\nimport type { ICrosshairSpec } from '../../component/crosshair/interface';\nimport type { ITheme } from '../../theme/interface';\nimport type { ITitleSpec } from '../../component/title/interface';\nimport type { IBrushSpec } from '../../component/brush/interface';\nimport type { ITotalLabelSpec } from '../../component/label/interface';\nimport type { ILegendSpec } from '../../component/legend/interface';\nimport type { ILayoutOrientPadding, ILayoutPaddingSpec } from '../layout';\nimport type { IColor, ICustomPath2D, IRichTextCharacter } from '@visactor/vrender-core';\nimport type { ICommonAxisSpec } from '../../component/axis/interface';\nimport type { IMediaQuerySpec } from './media-query';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type IChartPadding = ILayoutOrientPadding | number;\n\n/** chart option */\nexport interface IInitOption extends Omit<IRenderOption, 'pluginList'> {\n /**\n * **仅生效于浏览器环境。**\n * 图表挂载的父容器,可以直接指定容器 id,也可以传入 dom 对象\n */\n dom?: string | HTMLElement;\n /**\n * 除去选择 dom 属性进行挂载父容器,也可以使用 renderCanvas 属性直接传入 canvas 实例/ canvasId\n * 小程序/小组件环境请直接传入 id\n */\n renderCanvas?: string | HTMLCanvasElement;\n /** 数据集 */\n dataSet?: DataSet;\n /** 是否自适应容器大小 */\n autoFit?: boolean;\n /**\n * 性能测试钩子\n */\n performanceHook?: IPerformanceHook;\n /**\n * 是否开启动画\n */\n animation?: boolean;\n /**\n * 3d配置\n */\n options3d?: srIOption3DType;\n\n /**\n * 自定义布局函数\n */\n layout?: LayoutCallBack;\n\n /**\n * 当文本省略时,鼠标 hover 到文本上时是否显示 poptip\n * @default true\n */\n poptip?: boolean;\n\n /**\n * 报错的回调函数\n * @since 1.2.0\n */\n onError?: (...args: any[]) => void;\n\n /**\n * 默认主题(支持完整主题对象或者主题名称,主题名称需要提前在 `ThemeManager` 中注册)\n * @since 1.3.0\n */\n theme?: string | ITheme;\n\n /**\n * 是否关闭交互效果\n * @since 1.9.0\n * @default false\n */\n disableTriggerEvent?: boolean;\n /**\n * 当自动响应容器resize 事件时,触发resize 的间隔时长,单位毫秒\n * @since 1.12.5\n * @default 100\n */\n resizeDelay?: number;\n}\n\nexport enum RenderModeEnum {\n 'desktop-browser' = 'desktop-browser',\n 'mobile-browser' = 'mobile-browser',\n 'node' = 'node',\n 'worker' = 'worker',\n 'miniApp' = 'miniApp',\n 'wx' = 'wx',\n 'tt' = 'tt',\n 'harmony' = 'harmony',\n 'desktop-miniApp' = 'desktop-miniApp',\n 'lynx' = 'lynx'\n}\nexport type RenderMode = keyof typeof RenderModeEnum;\n\n/** chart spec */\nexport interface IChartSpec {\n /** 图表类型 */\n type: string;\n /** 数据 */\n data?: IData;\n /** 画布宽度 */\n width?: number;\n /** 画布高度 */\n height?: number;\n /**\n * 图表宽高是否自适应容器,浏览器环境下默认为 true。\n * 该配置的优先级高于构造函数中的 autoFit 配置。\n * 如果用户配置了 width,则以用户配置的 width 为准,height 同理。\n */\n autoFit?: boolean;\n /**\n * 图表整体 padding 设置\n */\n padding?: ILayoutPaddingSpec;\n /**\n * 图表色系配置\n */\n color?: string[] | Omit<IVisualSpecScale<unknown, string>, 'id'>;\n /**\n * 系列\n * @description 仅在组合图中使用, 文档中除组合图外均未透出该配置\n */\n series?: ISeriesSpec[];\n /**\n * 系列样式\n * @description 仅在图表配置了seriesField时生效\n */\n seriesStyle?: ISeriesStyle;\n\n /**\n * 自动关闭动画的阀值,对应的是单系列data的长度\n * @since 1.2.0\n */\n animationThreshold?: number;\n\n /** hover 交互 */\n hover?: boolean | IHoverSpec;\n /** select 交互 */\n select?: boolean | ISelectSpec;\n\n /** region配置 */\n region?: RegionSpec[];\n /** 图表标题配置 */\n title?: ITitleSpec;\n /** 布局配置 */\n layout?: ILayoutSpec;\n /** 图例配置 */\n legends?: ILegendSpec | ILegendSpec[];\n /** 十字辅助线配置 */\n crosshair?: ICrosshairSpec | ICrosshairSpec[];\n /** tooltip配置 */\n tooltip?: ITooltipSpec;\n /** 播放器配置 */\n player?: IPlayer;\n /** 缩略轴配置 */\n dataZoom?: IDataZoomSpec | IDataZoomSpec[];\n /** 滚动条配置 */\n scrollBar?: IScrollBarSpec | IScrollBarSpec[];\n /** 框选配置 */\n brush?: IBrushSpec;\n /** 全局 scale 配置 */\n scales?: IVisualSpecScale<unknown, unknown>[];\n /** 自定义mark */\n customMark?: ICustomMarkSpec<EnableMarkType>[];\n /** 轴 */\n axes?: ICommonAxisSpec[];\n /**\n * 图表上的主题定义。\n * 可以直接配置主题名,前提是该主题名已经注册\n */\n theme?: Omit<ITheme, 'name'> | string;\n /**\n * 图表背景色配置,优先级高于构造函数中的 background 配置\n * 自1.11.6版本支持渐变色对象的配置\n */\n background?: IBackgroundSpec;\n\n // TODO:后续开放,现在仍有问题\n // poptip?: PopTipAttributes;\n // TODO: 补充动画配置\n\n /**\n * 堆积时是否逆序\n * @default false\n * @since 1.4.0\n */\n stackInverse?: boolean;\n /**\n * 堆积时是否排序\n * @default false\n * @since 1.10.4\n */\n stackSort?: boolean;\n /**\n * 媒体查询配置\n * @since 1.8.0\n */\n media?: IMediaQuerySpec;\n}\n\nexport type IBackgroundStyleSpec = ConvertToMarkStyleSpec<Omit<IFillMarkSpec, 'width' | 'height' | 'background'>> & {\n image?: IRectMarkSpec['background'];\n cornerRadius?: IRectMarkSpec['cornerRadius'];\n};\n\nexport type IBackgroundSpec = IColor | IBackgroundStyleSpec;\n\n/** data */\nexport type IDataType = IDataValues | DataView;\nexport type IData = IDataType | IDataType[];\nexport type DataKeyType = string | string[] | ((data: Datum, index: number) => string);\nexport type BuildInTransformOptions =\n | {\n /** 地理数据简化 */\n type: 'simplify';\n options: ISimplifyOptions;\n }\n | {\n /** 数据维度处理,包括排序,逆序,数据筛选能力 */\n type: 'fields';\n options: IFieldsOptions;\n }\n | {\n /** 使用回调的自定义筛选 */\n type: 'filter';\n options: IFilterOptions;\n }\n | {\n /** 数据展开 */\n type: 'fold';\n options: IFoldOptions;\n };\n\nexport interface IFieldsMeta {\n /** TODO: 字段通用format, 暂时先不支持 */\n // format?: (datum: Datum, index: number) => unknown;\n /** 字段别名 */\n alias?: string;\n /** 字段取值范围 */\n domain?: StringOrNumber[];\n /** 是否使用 domain 锁定统计信息。默认为 false */\n lockStatisticsByDomain?: boolean;\n /** 连续型 还是 离散型 */\n type?: 'ordinal' | 'linear';\n /** 排序顺序 不设置的话当前维度不进行排序 */\n sortIndex?: number;\n /** 排序时是否反转 默认为 false */\n sortReverse?: boolean;\n}\n\nexport interface SheetParseOptions extends CommonParseOptions {\n type: 'csv' | 'dsv' | 'tsv';\n options?: IDsvParserOptions;\n}\n\nexport interface CommonParseOptions {\n /**\n * 是否需要对数据进行 clone,默认为 true。\n * 如果考虑性能,你可以将其关闭,但是这会带了一些副作用,即我们会对传入的数据进行修改(不会对原有字段及值修改,只会在原有数据基础上添加一些字段)。\n * @default true\n * @since 1.3.0\n */\n clone?: boolean;\n}\n\nexport interface IDataValues {\n /**\n * 数据唯一标识\n */\n id?: StringOrNumber;\n /**\n * 数据\n */\n values: Datum[] | string;\n /**\n * 引用的数据索引\n */\n fromDataIndex?: number;\n /**\n * 引用的数据 id\n */\n fromDataId?: StringOrNumber;\n /**\n * 数据 transform 配置\n */\n transforms?: BuildInTransformOptions[];\n /**\n * 数据字段相关配置\n */\n fields?: Record<\n /** 字段key */\n string,\n IFieldsMeta\n >;\n\n parser?: SheetParseOptions | CommonParseOptions;\n}\n\nexport type IHierarchyNodeData = {\n value?: number;\n children?: IHierarchyNodeData[];\n} & Datum;\n\nexport interface IHierarchyDataValues extends Omit<IDataValues, 'values'> {\n values: IHierarchyNodeData;\n}\n\nexport type IHierarchyData = DataView | IHierarchyDataValues;\n\n/** series */\nexport interface ISeriesSpec extends IInteractionSpec {\n /** 系列类型 */\n type: SeriesType;\n\n /** 系列名称 */\n name?: string;\n\n /** 用户自定义的 series id */\n id?: StringOrNumber;\n /**\n * 系列数据\n * @description 系列可以配置自身的数据,也可以从chart.data中获取数据\n */\n data?: IDataType;\n /**\n * 系列关联的数据索引\n * @default 0\n */\n dataIndex?: number;\n /**\n * 系列关联的数据id\n */\n dataId?: StringOrNumber;\n /**\n * dataKey用于绑定数据与Mark的关系, 该配置在动画中非常重要.\n */\n dataKey?: DataKeyType;\n\n /**\n * 系列关联的region索引\n * @default 0\n */\n regionIndex?: number;\n /** 系列关联的region id */\n regionId?: StringOrNumber;\n /**\n * 分组字段\n */\n seriesField?: string;\n /**\n * 系列样式\n * @description 仅在图表配置了seriesField时生效\n */\n seriesStyle?: ISeriesStyle;\n\n /** 是否对数据进行堆叠处理 */\n stack?: boolean;\n\n /**\n * 堆叠时的分组值\n * stackValue 相等的系列将在一起堆积。没有配置的系列将在一组\n * @since 1.4.0\n */\n stackValue?: StringOrNumber;\n\n /** 堆叠汇总标签\n * @since 1.3.0\n */\n totalLabel?: ITotalLabelSpec;\n\n /** 是否对数据进行百分比处理 */\n percent?: boolean;\n\n /** 是否围绕中心轴偏移轮廓 */\n stackOffsetSilhouette?: boolean;\n\n /**\n * 非合规数据点连接方式\n * @description null,undefined等非法数据点连接方式。\n * @default 'break'\n * 'break'指在该数据点处断开\n * 'link' 指忽略该点保持连续\n * 'zero' 指该点默认数值为0\n * 'ignore' 指不处理\n */\n invalidType?: IInvalidType;\n\n /** 提示信息 */\n tooltip?: ISeriesTooltipSpec;\n\n /**\n * 是否开启系列动画\n */\n animation?: boolean;\n /**\n * 自动关闭动画的阀值,对应的是单系列data的长度\n * @since 1.2.0\n */\n animationThreshold?: number;\n\n /**\n * 是否支持3d视角\n */\n support3d?: boolean;\n /**\n * morph 动画配置\n */\n morph?: IMorphSeriesSpec;\n\n /**\n * 扩展mark\n */\n extensionMark?: (IExtensionMarkSpec<Exclude<EnableMarkType, 'group'>> | IExtensionGroupMarkSpec)[];\n\n /**\n * 今当通过`series`配置的时候,才会生效\n */\n zIndex?: number;\n\n /**\n * series background\n * 作用是支持系列的图形对系列背景进行 mask,或者切分等效果。不是作为背景图\n * 暂时不开放api,避免出现break change\n */\n // background?: IBackgroundSpec;\n}\n\nexport type IChartExtendsSeriesSpec<T extends ISeriesSpec> = Omit<T, 'data' | 'morph' | 'stackValue' | 'tooltip'>;\n\nexport type AdaptiveSpec<T, K extends keyof any> = {\n [key in Exclude<keyof T, K>]: T[key];\n} & { [key in K]: any };\n\n/** markSpec */\nexport type IMarkSpec<T extends ICommonSpec = ICommonSpec> = {\n /**\n * 用户id\n */\n id?: StringOrNumber;\n /**\n * 是否响应交互\n */\n interactive?: boolean;\n // /**\n // * 是否会被region区域裁减\n // * @todo 暂未支持\n // */\n // clip?: boolean;\n /**\n * 与其他mark元素的层级\n */\n zIndex?: number;\n /**\n * mark 层 是否显示配置\n */\n visible?: boolean;\n /** 默认样式设置 */\n style?: ConvertToMarkStyleSpec<T>;\n /** 不同状态下的样式配置 */\n state?: Record<StateValue, IMarkStateSpec<T> | IMarkStateStyleSpec<T>>;\n /**\n * 状态排序方法,默认状态都是按照添加的顺序处理的,如果有特殊的需求,需要指定状态顺序,可以通过这个方法实现\n * @since 1.9.0\n */\n stateSort?: (stateA: string, stateB: string) => number;\n\n /* 是否是3d视角的mark */\n support3d?: boolean;\n /* customized shape of mark */\n customShape?: (datum: any[], attrs: any, path: ICustomPath2D) => ICustomPath2D;\n} & IMarkProgressiveConfig;\n\nexport type IMarkStateFilter =\n | {\n /** 维度筛选 */\n fields: { [key in string]: { type: 'ordinal' | 'linear'; domain: StringOrNumber[] } };\n }\n | {\n /** 筛选数据 */\n datums: Datum[];\n /** 筛选数据 */\n datumKeys: string[];\n }\n | {\n /** 筛选 item */\n items: IElement[];\n }\n /** 筛选函数 */\n | ((datum: Datum, options: Record<string, any>) => boolean);\n\nexport interface IMarkStateSpec<T> {\n /** 筛选器 */\n filter?: IMarkStateFilter;\n /** 状态优先级 */\n level?: number | undefined;\n style: ConvertToMarkStyleSpec<T>;\n}\n\nexport type IMarkStateStyleSpec<T> = ConvertToMarkStyleSpec<T>;\n\nexport type IMarkTheme<T> = {\n /**\n * mark 层 是否显示配置\n */\n visible?: boolean;\n /** 默认样式设置 */\n style?: T;\n /** 不同状态下的样式配置 */\n state?: Record<StateValue, T>;\n /**\n * 可交互的开关\n */\n interactive?: boolean;\n};\n\nexport interface IPerformanceHook {\n // constructor\n // 创建完成。在使用 vstory 的场景下,图表实例不由业务创建,业务想要获取图表时机非常靠后,因此补充一个钩子\n afterCreateVChart?: (vchart?: IVChart) => void;\n\n // InitRender\n // ├── InitializeChart\n // ├── CompileToVGrammar\n // ├── ParseView\n // | └── ParseExpression\n // ├── (new View)\n // | ├── CreateRuntime\n // | └── (view.initialize)\n // | └── CreateVRenderStage\n // └── SrViewEvaluateAsync / SrViewRunAsync\n // ├── MarkTransform\n // ├── FacetTransform\n // ├── CreateVRenderMark\n // └── VRenderDraw\n\n // 初始化图表配置\n beforeInitializeChart?: (vchart?: IVChart) => void;\n afterInitializeChart?: (vchart?: IVChart) => void;\n\n // 编译\n beforeCompileToVGrammar?: () => void;\n afterCompileToVGrammar?: () => void;\n // 各个图表模块编译\n beforeRegionCompile?: () => void;\n afterRegionCompile?: () => void;\n beforeSeriesCompile?: () => void;\n afterSeriesCompile?: () => void;\n beforeComponentCompile?: () => void;\n afterComponentCompile?: () => void;\n\n // resize的时候的钩子\n beforeResizeWithUpdate?: () => void;\n afterResizeWithUpdate?: () => void;\n\n // LayoutWithSceneGraph 二次布局\n beforeLayoutWithSceneGraph?: () => void;\n afterLayoutWithSceneGraph?: () => void;\n\n // VGrammar 解析spec\n beforeParseView?: () => void;\n afterParseView?: () => void;\n\n // 初始化runtime\n beforeCreateRuntime?: () => void;\n afterCreateRuntime?: () => void;\n\n // VGrammar EvaluateAsync 时间\n beforeSrViewEvaluateAsync?: () => void;\n afterSrViewEvaluateAsync?: () => void;\n\n // VGrammar RunAsync 时间\n beforeSrViewRunAsync?: () => void;\n afterSrViewRunAsync?: () => void;\n\n // transform测量\n beforeTransform?: (name: string) => void;\n afterTransform?: (name: string) => void;\n\n // Create VRender Stage 时间\n beforeCreateVRenderStage?: () => void;\n afterCreateVRenderStage?: () => void;\n\n // Create VRender Mark 时间\n beforeCreateVRenderMark?: () => void;\n afterCreateVRenderMark?: () => void;\n\n // VRender Draw 时间\n beforeVRenderDraw?: () => void;\n afterVRenderDraw?: () => void;\n}\n\nexport type IBuildinMarkSpec = {\n group: IGroupMarkSpec;\n symbol: ISymbolMarkSpec;\n rule: IRuleMarkSpec;\n line: ILineMarkSpec;\n text: ITextMarkSpec;\n rect: IRectMarkSpec;\n rect3d: IRect3dMarkSpec;\n image: IImageMarkSpec;\n path: IPathMarkSpec;\n area: IAreaMarkSpec;\n arc: IArcMarkSpec;\n arc3d: IArc3dMarkSpec;\n polygon: IPolygonMarkSpec;\n pyramid3d: IPyramid3dMarkSpec;\n boxPlot: IBoxPlotMarkSpec;\n linkPath: ILinkPathMarkSpec;\n ripple: IRippleMarkSpec;\n};\n\nexport type EnableMarkType = keyof IBuildinMarkSpec;\nexport interface ICustomMarkSpec<T extends EnableMarkType>\n extends IModelSpec,\n IMarkSpec<IBuildinMarkSpec[T]>,\n IAnimationSpec<string, string> {\n type: T;\n /**\n * mark对应的名称,主要用于事件过滤如: { markName: 'yourName' }\n * @since 1.12.5\n */\n name?: string;\n /**\n * 关联的数据索引\n * @default 与系列使用同一份数据\n */\n dataIndex?: number;\n /**\n * dataKey用于绑定数据与Mark的关系\n * 如果数据和系列数据一致,可以不配置,默认会读取系列中的配置\n *\n * @support since 1.9.5\n */\n dataKey?: string | ((datum: any) => string);\n /**\n * 关联的数据id\n */\n dataId?: StringOrNumber;\n /**\n * specify the component type\n * @support since 1.9.0\n */\n componentType?: string;\n /**\n * enable animation of custom-mark or not\n * @since 1.11.0\n */\n animation?: boolean;\n /**\n * 指定 parent Id\n * @since 1.13.0\n */\n parent?: string;\n}\nexport interface ICustomMarkGroupSpec extends ICustomMarkSpec<MarkTypeEnum.group> {\n children?: ICustomMarkSpec<EnableMarkType>[];\n}\n\nexport interface IExtensionMarkSpec<T extends Exclude<EnableMarkType, 'group'>> extends ICustomMarkSpec<T> {\n /**\n * 关联的数据索引\n * @default 与系列使用同一份数据\n */\n dataIndex?: number;\n /**\n * dataKey用于绑定数据与Mark的关系\n * 如果数据和系列数据一致,可以不配置,默认会读取系列中的配置\n *\n * @support since 1.9.5\n */\n dataKey?: string | ((datum: any) => string);\n /**\n * 关联的数据id\n */\n dataId?: StringOrNumber;\n /**\n * specify the component type\n * @support since 1.9.0\n */\n componentType?: string;\n}\n\nexport interface IExtensionGroupMarkSpec extends ICustomMarkSpec<MarkTypeEnum.group> {\n /**\n * 支持子节点\n */\n children?: ICustomMarkSpec<EnableMarkType>[];\n}\n\n/** 纯文本类型的 formatMethod */\nexport type ITextFormatMethod<T extends any[]> = (\n ...args: T\n) => ITextMarkSpec['text'] | { type: 'text'; text: ITextMarkSpec['text'] };\n\nexport type IRichTextFormatMethod<T extends any[]> = (...args: T) =>\n | {\n type: 'rich';\n text: IRichTextCharacter[];\n }\n | IRichTextCharacter[];\n\n/**\n * 常规 text.formatMethod 支持返回文字字符串,或统一的对象配置\n * (这里特指由 vgrammar 代理的 text 图元)\n */\nexport type IFormatMethod<T extends any[]> = (\n ...args: T\n) => ReturnType<ITextFormatMethod<T>> | ReturnType<IRichTextFormatMethod<T>>;\n"]}
@@ -1,5 +1,5 @@
1
1
  export * from './common';
2
- export type { IStateSpec, StateValueType } from '../../compile/mark';
2
+ export type { IStateSpec, StateValueType } from '../../compile/mark/interface';
3
3
  export * from './chart';
4
4
  export type { IRegionSpec, IGeoRegionSpec, RegionSpec } from '../../region/interface';
5
5
  export * from './media-query';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/spec/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,0CAAwB;AAExB,gDAA8B","file":"index.js","sourcesContent":["export * from './common';\nexport type { IStateSpec, StateValueType } from '../../compile/mark';\nexport * from './chart';\nexport type { IRegionSpec, IGeoRegionSpec, RegionSpec } from '../../region/interface';\nexport * from './media-query';\n"]}
1
+ {"version":3,"sources":["../src/typings/spec/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,0CAAwB;AAExB,gDAA8B","file":"index.js","sourcesContent":["export * from './common';\nexport type { IStateSpec, StateValueType } from '../../compile/mark/interface';\nexport * from './chart';\nexport type { IRegionSpec, IGeoRegionSpec, RegionSpec } from '../../region/interface';\nexport * from './media-query';\n"]}
@@ -1,7 +1,8 @@
1
1
  import type { ComponentTypeEnum } from '../../component/interface';
2
- import type { IChartSpec, IVChart } from '../../core';
2
+ import type { IVChart } from '../../core/interface';
3
3
  import type { IModelSpecInfo } from '../../model/interface';
4
- import type { SeriesTypeEnum } from '../../series';
4
+ import type { SeriesTypeEnum } from '../../series/interface/type';
5
+ import type { IChartSpec } from './common';
5
6
  export interface IMediaInfo {
6
7
  width: number;
7
8
  height: number;